From f0546fab8c705af4aa898e37a804b5a20dd07de3 Mon Sep 17 00:00:00 2001 From: 1technophile Date: Sun, 4 Mar 2018 13:47:37 +0100 Subject: [PATCH] publish libraries to avoid users to have to download them one by one --- lib/Arduino-INA226/CHANGELOG | 4 + lib/Arduino-INA226/INA226.cpp | 332 + lib/Arduino-INA226/INA226.h | 154 + .../INA226_alert/INA226_alert.ino | 67 + .../INA226_latch/INA226_latch.ino | 64 + .../INA226_simple/INA226_simple.ino | 132 + lib/Arduino-INA226/LICENSE | 674 + lib/Arduino-INA226/README.md | 8 + lib/Arduino-IRremote/.gitignore | 3 + lib/Arduino-IRremote/.travis.yml | 30 + lib/Arduino-IRremote/Contributing.md | 11 + lib/Arduino-IRremote/Contributors.md | 22 + lib/Arduino-IRremote/IRremote.cpp | 200 + lib/Arduino-IRremote/IRremote.h | 344 + lib/Arduino-IRremote/IRremoteInt.h | 113 + lib/Arduino-IRremote/ISSUE_TEMPLATE.md | 25 + lib/Arduino-IRremote/LICENSE.txt | 458 + lib/Arduino-IRremote/README.md | 89 + lib/Arduino-IRremote/boarddefs.h | 577 + lib/Arduino-IRremote/changelog.md | 78 + .../AiwaRCT501SendDemo/AiwaRCT501SendDemo.ino | 26 + .../examples/IRrecord/IRrecord.ino | 183 + .../examples/IRrecvDemo/IRrecvDemo.ino | 33 + .../examples/IRrecvDump/IRrecvDump.ino | 95 + .../examples/IRrecvDumpV2/IRrecvDumpV2.ino | 177 + .../examples/IRrelay/IRrelay.ino | 85 + .../examples/IRremoteInfo/IRremoteInfo.ino | 230 + .../examples/IRsendDemo/IRsendDemo.ino | 24 + .../examples/IRsendRawDemo/IRsendRawDemo.ino | 37 + .../examples/IRtest/IRtest.ino | 190 + .../examples/IRtest2/IRtest2.ino | 290 + .../JVCPanasonicSendDemo.ino | 29 + .../examples/LGACSendDemo/LGACSendDemo.ino | 263 + .../examples/LGACSendDemo/LGACSendDemo.md | 93 + .../LegoPowerFunctionsSendDemo.ino | 22 + .../LegoPowerFunctionsTests.ino | 193 + lib/Arduino-IRremote/irPronto.cpp | 513 + lib/Arduino-IRremote/irRecv.cpp | 235 + lib/Arduino-IRremote/irSend.cpp | 90 + lib/Arduino-IRremote/ir_Aiwa.cpp | 105 + lib/Arduino-IRremote/ir_Denon.cpp | 94 + lib/Arduino-IRremote/ir_Dish.cpp | 54 + lib/Arduino-IRremote/ir_JVC.cpp | 101 + lib/Arduino-IRremote/ir_LG.cpp | 80 + lib/Arduino-IRremote/ir_Lego_PF.cpp | 46 + .../ir_Lego_PF_BitStreamEncoder.h | 115 + lib/Arduino-IRremote/ir_Mitsubishi.cpp | 85 + lib/Arduino-IRremote/ir_NEC.cpp | 98 + lib/Arduino-IRremote/ir_Panasonic.cpp | 78 + lib/Arduino-IRremote/ir_RC5_RC6.cpp | 207 + lib/Arduino-IRremote/ir_Samsung.cpp | 92 + lib/Arduino-IRremote/ir_Sanyo.cpp | 76 + lib/Arduino-IRremote/ir_Sharp.cpp | 71 + lib/Arduino-IRremote/ir_Sony.cpp | 95 + lib/Arduino-IRremote/ir_Template.cpp | 179 + lib/Arduino-IRremote/ir_Whynter.cpp | 91 + lib/Arduino-IRremote/keywords.txt | 53 + lib/Arduino-IRremote/library.json | 24 + lib/Arduino-IRremote/library.properties | 9 + .../.github/ISSUE_TEMPLATE.md | 46 + .../.github/PULL_REQUEST_TEMPLATE.md | 26 + lib/DHT-sensor-library/DHT.cpp | 259 + lib/DHT-sensor-library/DHT.h | 75 + lib/DHT-sensor-library/DHT_U.cpp | 179 + lib/DHT-sensor-library/DHT_U.h | 78 + lib/DHT-sensor-library/README.md | 15 + .../DHT_Unified_Sensor/DHT_Unified_Sensor.ino | 84 + .../examples/DHTtester/DHTtester.ino | 69 + lib/DHT-sensor-library/keywords.txt | 22 + lib/DHT-sensor-library/library.properties | 9 + lib/ESP32_BLE_Arduino/README.md | 15 + .../examples/BLE_client/BLE_client.ino | 134 + .../examples/BLE_notify/BLE_notify.ino | 93 + .../examples/BLE_scan/BLE_scan.ino | 36 + .../examples/BLE_server/BLE_server.ino | 39 + .../examples/BLE_uart/BLE_uart.ino | 111 + .../examples/BLE_write/BLE_write.ino | 65 + lib/ESP32_BLE_Arduino/library.properties | 10 + lib/ESP32_BLE_Arduino/src/BLE2902.cpp | 69 + lib/ESP32_BLE_Arduino/src/BLE2902.h | 34 + lib/ESP32_BLE_Arduino/src/BLEAddress.cpp | 96 + lib/ESP32_BLE_Arduino/src/BLEAddress.h | 34 + .../src/BLEAdvertisedDevice.cpp | 513 + .../src/BLEAdvertisedDevice.h | 117 + lib/ESP32_BLE_Arduino/src/BLEAdvertising.cpp | 157 + lib/ESP32_BLE_Arduino/src/BLEAdvertising.h | 35 + .../src/BLECharacteristic.cpp | 719 + lib/ESP32_BLE_Arduino/src/BLECharacteristic.h | 132 + .../src/BLECharacteristicMap.cpp | 143 + lib/ESP32_BLE_Arduino/src/BLEClient.cpp | 414 + lib/ESP32_BLE_Arduino/src/BLEClient.h | 85 + lib/ESP32_BLE_Arduino/src/BLEDescriptor.cpp | 339 + lib/ESP32_BLE_Arduino/src/BLEDescriptor.h | 71 + .../src/BLEDescriptorMap.cpp | 152 + lib/ESP32_BLE_Arduino/src/BLEDevice.cpp | 279 + lib/ESP32_BLE_Arduino/src/BLEDevice.h | 62 + .../src/BLERemoteCharacteristic.cpp | 593 + .../src/BLERemoteCharacteristic.h | 85 + .../src/BLERemoteDescriptor.cpp | 162 + .../src/BLERemoteDescriptor.h | 55 + .../src/BLERemoteService.cpp | 356 + lib/ESP32_BLE_Arduino/src/BLERemoteService.h | 80 + lib/ESP32_BLE_Arduino/src/BLEScan.cpp | 271 + lib/ESP32_BLE_Arduino/src/BLEScan.h | 74 + lib/ESP32_BLE_Arduino/src/BLEServer.cpp | 365 + lib/ESP32_BLE_Arduino/src/BLEServer.h | 115 + lib/ESP32_BLE_Arduino/src/BLEService.cpp | 356 + lib/ESP32_BLE_Arduino/src/BLEService.h | 101 + lib/ESP32_BLE_Arduino/src/BLEServiceMap.cpp | 95 + lib/ESP32_BLE_Arduino/src/BLEUUID.cpp | 370 + lib/ESP32_BLE_Arduino/src/BLEUUID.h | 38 + lib/ESP32_BLE_Arduino/src/BLEUtils.cpp | 2136 + lib/ESP32_BLE_Arduino/src/BLEUtils.h | 63 + lib/ESP32_BLE_Arduino/src/BLEValue.cpp | 142 + lib/ESP32_BLE_Arduino/src/BLEValue.h | 38 + lib/ESP32_BLE_Arduino/src/FreeRTOS.cpp | 262 + lib/ESP32_BLE_Arduino/src/FreeRTOS.h | 70 + lib/ESP32_BLE_Arduino/src/GeneralUtils.cpp | 406 + lib/ESP32_BLE_Arduino/src/GeneralUtils.h | 28 + lib/IRremoteESP8266/CPPLINT.cfg | 3 + lib/IRremoteESP8266/LICENSE.txt | 458 + lib/IRremoteESP8266/README.md | 71 + .../examples/IRGCSendDemo/IRGCSendDemo.ino | 63 + .../examples/IRGCSendDemo/platformio.ini | 17 + .../examples/IRGCTCPServer/IRGCTCPServer.ino | 129 + .../examples/IRGCTCPServer/platformio.ini | 17 + .../examples/IRServer/IRServer.ino | 121 + .../examples/IRServer/platformio.ini | 17 + .../examples/IRrecvDemo/IRrecvDemo.ino | 44 + .../examples/IRrecvDemo/platformio.ini | 17 + .../examples/IRrecvDump/IRrecvDump.ino | 90 + .../examples/IRrecvDump/platformio.ini | 17 + .../examples/IRrecvDumpV2/IRrecvDumpV2.ino | 198 + .../examples/IRrecvDumpV2/platformio.ini | 17 + .../examples/IRsendDemo/IRsendDemo.ino | 62 + .../examples/IRsendDemo/platformio.ini | 17 + .../IRsendProntoDemo/IRsendProntoDemo.ino | 105 + .../examples/IRsendProntoDemo/platformio.ini | 17 + .../JVCPanasonicSendDemo.ino | 56 + .../JVCPanasonicSendDemo/platformio.ini | 17 + .../examples/LGACSend/LGACSend.ino | 259 + .../examples/TurnOnArgoAC/TurnOnArgoAC.ino | 52 + .../examples/TurnOnArgoAC/platformio.ini | 17 + .../TurnOnDaikinAC/TurnOnDaikinAC.ino | 56 + .../examples/TurnOnDaikinAC/platformio.ini | 17 + .../TurnOnFujitsuAC/TurnOnFujitsuAC.ino | 44 + .../examples/TurnOnFujitsuAC/platformio.ini | 17 + .../TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino | 80 + .../TurnOnKelvinatorAC/platformio.ini | 17 + .../TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino | 71 + .../TurnOnMitsubishiAC/platformio.ini | 17 + .../TurnOnTrotecAC/TurnOnTrotecAC.ino | 52 + .../examples/TurnOnTrotecAC/platformio.ini | 17 + lib/IRremoteESP8266/keywords.txt | 128 + lib/IRremoteESP8266/library.json | 44 + lib/IRremoteESP8266/library.properties | 9 + lib/IRremoteESP8266/platformio.ini | 26 + lib/IRremoteESP8266/src/CPPLINT.cfg | 1 + lib/IRremoteESP8266/src/IRrecv.cpp | 627 + lib/IRremoteESP8266/src/IRrecv.h | 203 + lib/IRremoteESP8266/src/IRremoteESP8266.h | 243 + lib/IRremoteESP8266/src/IRsend.cpp | 327 + lib/IRremoteESP8266/src/IRsend.h | 206 + lib/IRremoteESP8266/src/IRtimer.cpp | 33 + lib/IRremoteESP8266/src/IRtimer.h | 20 + lib/IRremoteESP8266/src/IRutils.cpp | 59 + lib/IRremoteESP8266/src/IRutils.h | 12 + lib/IRremoteESP8266/src/ir_Aiwa.cpp | 118 + lib/IRremoteESP8266/src/ir_Argo.cpp | 264 + lib/IRremoteESP8266/src/ir_Argo.h | 124 + lib/IRremoteESP8266/src/ir_Coolix.cpp | 167 + lib/IRremoteESP8266/src/ir_Daikin.cpp | 347 + lib/IRremoteESP8266/src/ir_Daikin.h | 107 + lib/IRremoteESP8266/src/ir_Denon.cpp | 153 + lib/IRremoteESP8266/src/ir_Dish.cpp | 144 + lib/IRremoteESP8266/src/ir_Fujitsu.cpp | 221 + lib/IRremoteESP8266/src/ir_Fujitsu.h | 80 + lib/IRremoteESP8266/src/ir_GlobalCache.cpp | 72 + lib/IRremoteESP8266/src/ir_Gree.cpp | 113 + lib/IRremoteESP8266/src/ir_JVC.cpp | 165 + lib/IRremoteESP8266/src/ir_Kelvinator.cpp | 329 + lib/IRremoteESP8266/src/ir_Kelvinator.h | 152 + lib/IRremoteESP8266/src/ir_LG.cpp | 233 + lib/IRremoteESP8266/src/ir_LG.h | 17 + lib/IRremoteESP8266/src/ir_Mitsubishi.cpp | 349 + lib/IRremoteESP8266/src/ir_Mitsubishi.h | 65 + lib/IRremoteESP8266/src/ir_NEC.cpp | 210 + lib/IRremoteESP8266/src/ir_Panasonic.cpp | 196 + lib/IRremoteESP8266/src/ir_Pronto.cpp | 109 + lib/IRremoteESP8266/src/ir_RC5_RC6.cpp | 514 + lib/IRremoteESP8266/src/ir_RCMM.cpp | 174 + lib/IRremoteESP8266/src/ir_Samsung.cpp | 175 + lib/IRremoteESP8266/src/ir_Sanyo.cpp | 239 + lib/IRremoteESP8266/src/ir_Sharp.cpp | 278 + lib/IRremoteESP8266/src/ir_Sherwood.cpp | 29 + lib/IRremoteESP8266/src/ir_Sony.cpp | 197 + lib/IRremoteESP8266/src/ir_Trotec.cpp | 151 + lib/IRremoteESP8266/src/ir_Trotec.h | 80 + lib/IRremoteESP8266/src/ir_Whynter.cpp | 144 + lib/IRremoteESP8266/test/IRrecv_test.cpp | 448 + lib/IRremoteESP8266/test/IRsend_test.cpp | 139 + lib/IRremoteESP8266/test/IRsend_test.h | 104 + lib/IRremoteESP8266/test/IRutils_test.cpp | 35 + lib/IRremoteESP8266/test/Makefile | 339 + lib/IRremoteESP8266/test/ir_Aiwa_test.cpp | 338 + lib/IRremoteESP8266/test/ir_Coolix_test.cpp | 290 + lib/IRremoteESP8266/test/ir_Daikin_test.cpp | 419 + lib/IRremoteESP8266/test/ir_Denon_test.cpp | 272 + lib/IRremoteESP8266/test/ir_Dish_test.cpp | 321 + lib/IRremoteESP8266/test/ir_Fujitsu_test.cpp | 207 + .../test/ir_GlobalCache_test.cpp | 68 + lib/IRremoteESP8266/test/ir_Gree_test.cpp | 192 + lib/IRremoteESP8266/test/ir_JVC_test.cpp | 299 + .../test/ir_Kelvinator_test.cpp | 432 + lib/IRremoteESP8266/test/ir_LG_test.cpp | 358 + .../test/ir_Mitsubishi_test.cpp | 694 + lib/IRremoteESP8266/test/ir_NEC_test.cpp | 320 + .../test/ir_Panasonic_test.cpp | 457 + lib/IRremoteESP8266/test/ir_Pronto_test.cpp | 358 + lib/IRremoteESP8266/test/ir_RC5_RC6_test.cpp | 873 + lib/IRremoteESP8266/test/ir_RCMM_test.cpp | 239 + lib/IRremoteESP8266/test/ir_Samsung_test.cpp | 276 + lib/IRremoteESP8266/test/ir_Sanyo_test.cpp | 242 + lib/IRremoteESP8266/test/ir_Sharp_test.cpp | 357 + lib/IRremoteESP8266/test/ir_Sherwood_test.cpp | 72 + lib/IRremoteESP8266/test/ir_Sony_test.cpp | 323 + lib/IRremoteESP8266/test/ir_Whynter_test.cpp | 247 + lib/NewRemoteSwitch/NewRemoteReceiver.cpp | 320 + lib/NewRemoteSwitch/NewRemoteReceiver.h | 120 + lib/NewRemoteSwitch/NewRemoteTransmitter.cpp | 168 + lib/NewRemoteSwitch/NewRemoteTransmitter.h | 115 + lib/NewRemoteSwitch/README.md | 55 + lib/NewRemoteSwitch/docs/hardware setup.jpg | Bin 0 -> 132303 bytes .../docs/new kaku protocol.txt | 23 + .../examples/LearnCode/LearnCode.ino | 64 + .../examples/LightShow/LightShow.ino | 55 + .../examples/Retransmitter/Retransmitter.ino | 63 + .../ShowReceivedCode/ShowReceivedCode.ino | 55 + lib/NewRemoteSwitch/keywords.txt | 12 + lib/NewRemoteSwitch/license.txt | 674 + lib/RFM69/.travis.yml | 63 + lib/RFM69/Examples/DeepSleep/DeepSleep.ino | 106 + .../DeepSleep_usingLowPowerLibrary.ino | 65 + .../Examples/DoorBellMote/DoorBellMote.ino | 228 + lib/RFM69/Examples/GarageMote/GarageMote.ino | 422 + lib/RFM69/Examples/Gateway/Gateway.ino | 212 + lib/RFM69/Examples/IOShield/IOShield.ino | 356 + .../MailboxNotifier/MailboxNotifier.ino | 216 + .../MightyBoostControl/MightyBoostControl.ino | 259 + lib/RFM69/Examples/MightyHat/MightyHat.ino | 756 + .../Examples/MotionMote/LasercutCase_R3.dxf | 438246 +++++++++++++++ lib/RFM69/Examples/MotionMote/MotionMote.ino | 249 + .../Examples/MotionMote/OLD/MotionMote.ino | 68 + .../Examples/MotionMote/OLD/MotionMote.jpg | Bin 0 -> 20602 bytes .../MotionMote/OLD/MotionMote_CC-BY-SA.svg | 26 + lib/RFM69/Examples/Node/Node.ino | 223 + lib/RFM69/Examples/OLEDMote/OLEDMote.ino | 237 + lib/RFM69/Examples/PiGateway/PiGateway.ino | 179 + .../Examples/PiGateway/PiGateway_withLCD.ino | 219 + lib/RFM69/Examples/PulseMeter/PulseMeter.ino | 281 + .../Examples/RandomNumbers/RandomNumbers.ino | 132 + .../SonarMote_DistanceReader.ino | 97 + .../SonarMote_DistanceTracker.ino | 270 + .../SonarMote_Parking/SonarMote_Parking.ino | 418 + .../SonarMote_Parking_Sound_OLED.ino | 512 + ...onarMote_lasercut plans_1.75mm acrylic.dxf | 35910 ++ .../Struct_receive/Struct_receive.ino | 142 + .../Examples/Struct_send/Struct_send.ino | 138 + lib/RFM69/Examples/SwitchMote/SwitchMote.ino | 692 + .../SwitchMote/SwitchMote_withPIR.ino | 775 + lib/RFM69/Examples/TxRxBlinky/TxRxBlinky.ino | 202 + .../Examples/WeatherNode/WeatherNode.ino | 260 + .../Examples/WirelessProgramming_OTA/OTA.py | 317 + .../Programmer/Programmer.ino | 164 + .../WirelessProgramming_OTA/README.md | 9 + .../WirelessProgramming_OTA/Target/Target.ino | 198 + .../WirelessProgramming_OTA/pythonLibs.zip | Bin 0 -> 2149069 bytes lib/RFM69/License.txt | 674 + lib/RFM69/README.md | 59 + lib/RFM69/RFM69.cpp | 819 + lib/RFM69/RFM69.h | 154 + lib/RFM69/RFM69_ATC.cpp | 271 + lib/RFM69/RFM69_ATC.h | 67 + lib/RFM69/RFM69registers.h | 1109 + lib/RFM69/keywords.txt | 79 + lib/RFM69/library.json | 19 + lib/SFE_BMP180/SFE_BMP180.cpp | 387 + lib/SFE_BMP180/SFE_BMP180.h | 121 + .../BMP180_altitude_example.ino | 168 + .../SFE_BMP180_example/SFE_BMP180_example.ino | 200 + lib/SFE_BMP180/keywords.txt | 27 + lib/SparkFun_BME280/LICENSE.md | 57 + lib/SparkFun_BME280/README.md | 61 + .../examples/CSV_Output/CSV_Output.ino | 116 + .../I2C_DeltaAltitude/CircularBuffer.cpp | 104 + .../I2C_DeltaAltitude/CircularBuffer.h | 33 + .../I2C_DeltaAltitude/I2C_DeltaAltitude.ino | 170 + .../I2C_ReadAllData/I2C_ReadAllData.ino | 214 + .../I2C_and_SPI_Multisensor.ino | 147 + .../LCD_DeltaAltitude/CircularBuffer.cpp | 104 + .../LCD_DeltaAltitude/CircularBuffer.h | 33 + .../LCD_DeltaAltitude/LCD_DeltaAltitude.ino | 181 + .../LCD_PressureTemperature.ino | 230 + lib/SparkFun_BME280/keywords.txt | 77 + lib/SparkFun_BME280/library.properties | 9 + lib/SparkFun_BME280/readme_picture.jpg | Bin 0 -> 26630 bytes lib/SparkFun_BME280/src/SparkFunBME280.cpp | 400 + lib/SparkFun_BME280/src/SparkFunBME280.h | 186 + lib/WiFiManager/.travis.yml | 35 + lib/WiFiManager/LICENSE | 22 + lib/WiFiManager/README.md | 369 + lib/WiFiManager/WiFiManager.cpp | 757 + lib/WiFiManager/WiFiManager.h | 192 + .../examples/AutoConnect/AutoConnect.ino | 38 + .../AutoConnectWithFSParameters.ino | 156 + ...AutoConnectWithFSParametersAndCustomIP.ino | 188 + .../AutoConnectWithFeedback.ino | 47 + .../AutoConnectWithFeedbackLED.ino | 68 + .../AutoConnectWithReset.ino | 49 + .../AutoConnectWithStaticIP.ino | 80 + .../AutoConnectWithTimeout.ino | 45 + .../OnDemandConfigPortal.ino | 60 + .../extras/WiFiManager.template.html | 38 + lib/WiFiManager/keywords.txt | 39 + lib/WiFiManager/library.json | 13 + lib/WiFiManager/library.properties | 9 + lib/WiFiManager/travis/common.sh | 51 + lib/esp8266_mdns/LICENCE.txt | 21 + lib/esp8266_mdns/README.md | 91 + lib/esp8266_mdns/examples/mdns_test/README.md | 5 + .../examples/mdns_test/mdns_test.ino | 226 + lib/esp8266_mdns/examples/simple/simple.ino | 78 + lib/esp8266_mdns/library.json | 12 + lib/esp8266_mdns/library.properties | 9 + lib/esp8266_mdns/mdns.cpp | 627 + lib/esp8266_mdns/mdns.h | 244 + lib/pubsubclient/.gitignore | 1 + lib/pubsubclient/.travis.yml | 7 + lib/pubsubclient/CHANGES.txt | 68 + lib/pubsubclient/LICENSE.txt | 20 + lib/pubsubclient/README.md | 47 + .../examples/mqtt_auth/mqtt_auth.ino | 43 + .../examples/mqtt_basic/mqtt_basic.ino | 77 + .../examples/mqtt_esp8266/mqtt_esp8266.ino | 132 + .../mqtt_publish_in_callback.ino | 60 + .../mqtt_reconnect_nonblocking.ino | 67 + .../examples/mqtt_stream/mqtt_stream.ino | 57 + lib/pubsubclient/keywords.txt | 30 + lib/pubsubclient/library.json | 17 + lib/pubsubclient/library.properties | 9 + lib/pubsubclient/src/PubSubClient.cpp | 588 + lib/pubsubclient/src/PubSubClient.h | 144 + lib/pubsubclient/tests/.gitignore | 4 + lib/pubsubclient/tests/Makefile | 25 + lib/pubsubclient/tests/README.md | 93 + lib/pubsubclient/tests/src/connect_spec.cpp | 273 + lib/pubsubclient/tests/src/keepalive_spec.cpp | 185 + lib/pubsubclient/tests/src/lib/Arduino.h | 23 + lib/pubsubclient/tests/src/lib/BDDTest.cpp | 50 + lib/pubsubclient/tests/src/lib/BDDTest.h | 23 + lib/pubsubclient/tests/src/lib/Buffer.cpp | 34 + lib/pubsubclient/tests/src/lib/Buffer.h | 23 + lib/pubsubclient/tests/src/lib/Client.h | 21 + lib/pubsubclient/tests/src/lib/IPAddress.cpp | 44 + lib/pubsubclient/tests/src/lib/IPAddress.h | 72 + lib/pubsubclient/tests/src/lib/ShimClient.cpp | 153 + lib/pubsubclient/tests/src/lib/ShimClient.h | 51 + lib/pubsubclient/tests/src/lib/Stream.cpp | 39 + lib/pubsubclient/tests/src/lib/Stream.h | 22 + lib/pubsubclient/tests/src/lib/trace.h | 10 + lib/pubsubclient/tests/src/publish_spec.cpp | 190 + lib/pubsubclient/tests/src/receive_spec.cpp | 249 + lib/pubsubclient/tests/src/subscribe_spec.cpp | 177 + lib/pubsubclient/tests/testcases/__init__.py | 0 .../tests/testcases/mqtt_basic.py | 39 + .../testcases/mqtt_publish_in_callback.py | 59 + lib/pubsubclient/tests/testcases/settings.py | 2 + lib/pubsubclient/tests/testsuite.py | 181 + lib/rc-switch/.gitignore | 17 + lib/rc-switch/.travis.yml | 69 + lib/rc-switch/RCSwitch.cpp | 701 + lib/rc-switch/RCSwitch.h | 184 + lib/rc-switch/README.md | 41 + .../ReceiveDemo_Advanced.ino | 24 + .../examples/ReceiveDemo_Advanced/output.ino | 70 + .../ReceiveDemo_Simple/ReceiveDemo_Simple.ino | 29 + lib/rc-switch/examples/SendDemo/SendDemo.ino | 57 + .../TypeA_WithDIPSwitches.ino | 40 + .../TypeA_WithDIPSwitches_Lightweight.ino | 43 + .../TypeB_WithRotaryOrSlidingSwitches.ino | 40 + .../TypeC_Intertechno/TypeC_Intertechno.ino | 40 + .../examples/TypeD_REV/TypeD_REV.ino | 41 + .../examples/Webserver/Webserver.ino | 154 + lib/rc-switch/keywords.txt | 57 + lib/rc-switch/library.json | 21 + lib/rc-switch/library.properties | 10 + 396 files changed, 536928 insertions(+) create mode 100644 lib/Arduino-INA226/CHANGELOG create mode 100644 lib/Arduino-INA226/INA226.cpp create mode 100644 lib/Arduino-INA226/INA226.h create mode 100644 lib/Arduino-INA226/INA226_alert/INA226_alert.ino create mode 100644 lib/Arduino-INA226/INA226_latch/INA226_latch.ino create mode 100644 lib/Arduino-INA226/INA226_simple/INA226_simple.ino create mode 100644 lib/Arduino-INA226/LICENSE create mode 100644 lib/Arduino-INA226/README.md create mode 100644 lib/Arduino-IRremote/.gitignore create mode 100644 lib/Arduino-IRremote/.travis.yml create mode 100644 lib/Arduino-IRremote/Contributing.md create mode 100644 lib/Arduino-IRremote/Contributors.md create mode 100644 lib/Arduino-IRremote/IRremote.cpp create mode 100644 lib/Arduino-IRremote/IRremote.h create mode 100644 lib/Arduino-IRremote/IRremoteInt.h create mode 100644 lib/Arduino-IRremote/ISSUE_TEMPLATE.md create mode 100644 lib/Arduino-IRremote/LICENSE.txt create mode 100644 lib/Arduino-IRremote/README.md create mode 100644 lib/Arduino-IRremote/boarddefs.h create mode 100644 lib/Arduino-IRremote/changelog.md create mode 100644 lib/Arduino-IRremote/examples/AiwaRCT501SendDemo/AiwaRCT501SendDemo.ino create mode 100644 lib/Arduino-IRremote/examples/IRrecord/IRrecord.ino create mode 100644 lib/Arduino-IRremote/examples/IRrecvDemo/IRrecvDemo.ino create mode 100644 lib/Arduino-IRremote/examples/IRrecvDump/IRrecvDump.ino create mode 100644 lib/Arduino-IRremote/examples/IRrecvDumpV2/IRrecvDumpV2.ino create mode 100644 lib/Arduino-IRremote/examples/IRrelay/IRrelay.ino create mode 100644 lib/Arduino-IRremote/examples/IRremoteInfo/IRremoteInfo.ino create mode 100644 lib/Arduino-IRremote/examples/IRsendDemo/IRsendDemo.ino create mode 100644 lib/Arduino-IRremote/examples/IRsendRawDemo/IRsendRawDemo.ino create mode 100644 lib/Arduino-IRremote/examples/IRtest/IRtest.ino create mode 100644 lib/Arduino-IRremote/examples/IRtest2/IRtest2.ino create mode 100644 lib/Arduino-IRremote/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino create mode 100644 lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.ino create mode 100644 lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.md create mode 100644 lib/Arduino-IRremote/examples/LegoPowerFunctionsSendDemo/LegoPowerFunctionsSendDemo.ino create mode 100644 lib/Arduino-IRremote/examples/LegoPowerFunctionsTests/LegoPowerFunctionsTests.ino create mode 100644 lib/Arduino-IRremote/irPronto.cpp create mode 100644 lib/Arduino-IRremote/irRecv.cpp create mode 100644 lib/Arduino-IRremote/irSend.cpp create mode 100644 lib/Arduino-IRremote/ir_Aiwa.cpp create mode 100644 lib/Arduino-IRremote/ir_Denon.cpp create mode 100644 lib/Arduino-IRremote/ir_Dish.cpp create mode 100644 lib/Arduino-IRremote/ir_JVC.cpp create mode 100644 lib/Arduino-IRremote/ir_LG.cpp create mode 100644 lib/Arduino-IRremote/ir_Lego_PF.cpp create mode 100644 lib/Arduino-IRremote/ir_Lego_PF_BitStreamEncoder.h create mode 100644 lib/Arduino-IRremote/ir_Mitsubishi.cpp create mode 100644 lib/Arduino-IRremote/ir_NEC.cpp create mode 100644 lib/Arduino-IRremote/ir_Panasonic.cpp create mode 100644 lib/Arduino-IRremote/ir_RC5_RC6.cpp create mode 100644 lib/Arduino-IRremote/ir_Samsung.cpp create mode 100644 lib/Arduino-IRremote/ir_Sanyo.cpp create mode 100644 lib/Arduino-IRremote/ir_Sharp.cpp create mode 100644 lib/Arduino-IRremote/ir_Sony.cpp create mode 100644 lib/Arduino-IRremote/ir_Template.cpp create mode 100644 lib/Arduino-IRremote/ir_Whynter.cpp create mode 100644 lib/Arduino-IRremote/keywords.txt create mode 100644 lib/Arduino-IRremote/library.json create mode 100644 lib/Arduino-IRremote/library.properties create mode 100644 lib/DHT-sensor-library/.github/ISSUE_TEMPLATE.md create mode 100644 lib/DHT-sensor-library/.github/PULL_REQUEST_TEMPLATE.md create mode 100644 lib/DHT-sensor-library/DHT.cpp create mode 100644 lib/DHT-sensor-library/DHT.h create mode 100644 lib/DHT-sensor-library/DHT_U.cpp create mode 100644 lib/DHT-sensor-library/DHT_U.h create mode 100644 lib/DHT-sensor-library/README.md create mode 100644 lib/DHT-sensor-library/examples/DHT_Unified_Sensor/DHT_Unified_Sensor.ino create mode 100644 lib/DHT-sensor-library/examples/DHTtester/DHTtester.ino create mode 100644 lib/DHT-sensor-library/keywords.txt create mode 100644 lib/DHT-sensor-library/library.properties create mode 100644 lib/ESP32_BLE_Arduino/README.md create mode 100644 lib/ESP32_BLE_Arduino/examples/BLE_client/BLE_client.ino create mode 100644 lib/ESP32_BLE_Arduino/examples/BLE_notify/BLE_notify.ino create mode 100644 lib/ESP32_BLE_Arduino/examples/BLE_scan/BLE_scan.ino create mode 100644 lib/ESP32_BLE_Arduino/examples/BLE_server/BLE_server.ino create mode 100644 lib/ESP32_BLE_Arduino/examples/BLE_uart/BLE_uart.ino create mode 100644 lib/ESP32_BLE_Arduino/examples/BLE_write/BLE_write.ino create mode 100644 lib/ESP32_BLE_Arduino/library.properties create mode 100644 lib/ESP32_BLE_Arduino/src/BLE2902.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLE2902.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEAddress.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEAddress.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEAdvertising.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEAdvertising.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLECharacteristic.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLECharacteristic.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLECharacteristicMap.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEClient.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEClient.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEDescriptor.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEDescriptor.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEDescriptorMap.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEDevice.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEDevice.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLERemoteService.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLERemoteService.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEScan.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEScan.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEServer.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEServer.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEService.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEService.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEServiceMap.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEUUID.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEUUID.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEUtils.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEUtils.h create mode 100644 lib/ESP32_BLE_Arduino/src/BLEValue.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/BLEValue.h create mode 100644 lib/ESP32_BLE_Arduino/src/FreeRTOS.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/FreeRTOS.h create mode 100644 lib/ESP32_BLE_Arduino/src/GeneralUtils.cpp create mode 100644 lib/ESP32_BLE_Arduino/src/GeneralUtils.h create mode 100644 lib/IRremoteESP8266/CPPLINT.cfg create mode 100644 lib/IRremoteESP8266/LICENSE.txt create mode 100644 lib/IRremoteESP8266/README.md create mode 100644 lib/IRremoteESP8266/examples/IRGCSendDemo/IRGCSendDemo.ino create mode 100644 lib/IRremoteESP8266/examples/IRGCSendDemo/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRGCTCPServer/IRGCTCPServer.ino create mode 100644 lib/IRremoteESP8266/examples/IRGCTCPServer/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRServer/IRServer.ino create mode 100644 lib/IRremoteESP8266/examples/IRServer/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRrecvDemo/IRrecvDemo.ino create mode 100644 lib/IRremoteESP8266/examples/IRrecvDemo/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRrecvDump/IRrecvDump.ino create mode 100644 lib/IRremoteESP8266/examples/IRrecvDump/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRrecvDumpV2/IRrecvDumpV2.ino create mode 100644 lib/IRremoteESP8266/examples/IRrecvDumpV2/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRsendDemo/IRsendDemo.ino create mode 100644 lib/IRremoteESP8266/examples/IRsendDemo/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/IRsendProntoDemo/IRsendProntoDemo.ino create mode 100644 lib/IRremoteESP8266/examples/IRsendProntoDemo/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino create mode 100644 lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/LGACSend/LGACSend.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnArgoAC/TurnOnArgoAC.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnArgoAC/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnDaikinAC/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnFujitsuAC/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/platformio.ini create mode 100644 lib/IRremoteESP8266/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino create mode 100644 lib/IRremoteESP8266/examples/TurnOnTrotecAC/platformio.ini create mode 100644 lib/IRremoteESP8266/keywords.txt create mode 100644 lib/IRremoteESP8266/library.json create mode 100644 lib/IRremoteESP8266/library.properties create mode 100644 lib/IRremoteESP8266/platformio.ini create mode 100644 lib/IRremoteESP8266/src/CPPLINT.cfg create mode 100644 lib/IRremoteESP8266/src/IRrecv.cpp create mode 100644 lib/IRremoteESP8266/src/IRrecv.h create mode 100644 lib/IRremoteESP8266/src/IRremoteESP8266.h create mode 100644 lib/IRremoteESP8266/src/IRsend.cpp create mode 100644 lib/IRremoteESP8266/src/IRsend.h create mode 100644 lib/IRremoteESP8266/src/IRtimer.cpp create mode 100644 lib/IRremoteESP8266/src/IRtimer.h create mode 100644 lib/IRremoteESP8266/src/IRutils.cpp create mode 100644 lib/IRremoteESP8266/src/IRutils.h create mode 100644 lib/IRremoteESP8266/src/ir_Aiwa.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Argo.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Argo.h create mode 100644 lib/IRremoteESP8266/src/ir_Coolix.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Daikin.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Daikin.h create mode 100644 lib/IRremoteESP8266/src/ir_Denon.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Dish.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Fujitsu.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Fujitsu.h create mode 100644 lib/IRremoteESP8266/src/ir_GlobalCache.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Gree.cpp create mode 100644 lib/IRremoteESP8266/src/ir_JVC.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Kelvinator.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Kelvinator.h create mode 100644 lib/IRremoteESP8266/src/ir_LG.cpp create mode 100644 lib/IRremoteESP8266/src/ir_LG.h create mode 100644 lib/IRremoteESP8266/src/ir_Mitsubishi.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Mitsubishi.h create mode 100644 lib/IRremoteESP8266/src/ir_NEC.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Panasonic.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Pronto.cpp create mode 100644 lib/IRremoteESP8266/src/ir_RC5_RC6.cpp create mode 100644 lib/IRremoteESP8266/src/ir_RCMM.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Samsung.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Sanyo.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Sharp.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Sherwood.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Sony.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Trotec.cpp create mode 100644 lib/IRremoteESP8266/src/ir_Trotec.h create mode 100644 lib/IRremoteESP8266/src/ir_Whynter.cpp create mode 100644 lib/IRremoteESP8266/test/IRrecv_test.cpp create mode 100644 lib/IRremoteESP8266/test/IRsend_test.cpp create mode 100644 lib/IRremoteESP8266/test/IRsend_test.h create mode 100644 lib/IRremoteESP8266/test/IRutils_test.cpp create mode 100644 lib/IRremoteESP8266/test/Makefile create mode 100644 lib/IRremoteESP8266/test/ir_Aiwa_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Coolix_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Daikin_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Denon_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Dish_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Fujitsu_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_GlobalCache_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Gree_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_JVC_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Kelvinator_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_LG_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Mitsubishi_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_NEC_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Panasonic_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Pronto_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_RC5_RC6_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_RCMM_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Samsung_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Sanyo_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Sharp_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Sherwood_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Sony_test.cpp create mode 100644 lib/IRremoteESP8266/test/ir_Whynter_test.cpp create mode 100644 lib/NewRemoteSwitch/NewRemoteReceiver.cpp create mode 100644 lib/NewRemoteSwitch/NewRemoteReceiver.h create mode 100644 lib/NewRemoteSwitch/NewRemoteTransmitter.cpp create mode 100644 lib/NewRemoteSwitch/NewRemoteTransmitter.h create mode 100644 lib/NewRemoteSwitch/README.md create mode 100644 lib/NewRemoteSwitch/docs/hardware setup.jpg create mode 100644 lib/NewRemoteSwitch/docs/new kaku protocol.txt create mode 100644 lib/NewRemoteSwitch/examples/LearnCode/LearnCode.ino create mode 100644 lib/NewRemoteSwitch/examples/LightShow/LightShow.ino create mode 100644 lib/NewRemoteSwitch/examples/Retransmitter/Retransmitter.ino create mode 100644 lib/NewRemoteSwitch/examples/ShowReceivedCode/ShowReceivedCode.ino create mode 100644 lib/NewRemoteSwitch/keywords.txt create mode 100644 lib/NewRemoteSwitch/license.txt create mode 100644 lib/RFM69/.travis.yml create mode 100644 lib/RFM69/Examples/DeepSleep/DeepSleep.ino create mode 100644 lib/RFM69/Examples/DeepSleep_usingLowPowerLibrary/DeepSleep_usingLowPowerLibrary.ino create mode 100644 lib/RFM69/Examples/DoorBellMote/DoorBellMote.ino create mode 100644 lib/RFM69/Examples/GarageMote/GarageMote.ino create mode 100644 lib/RFM69/Examples/Gateway/Gateway.ino create mode 100644 lib/RFM69/Examples/IOShield/IOShield.ino create mode 100644 lib/RFM69/Examples/MailboxNotifier/MailboxNotifier.ino create mode 100644 lib/RFM69/Examples/MightyBoostControl/MightyBoostControl.ino create mode 100644 lib/RFM69/Examples/MightyHat/MightyHat.ino create mode 100644 lib/RFM69/Examples/MotionMote/LasercutCase_R3.dxf create mode 100644 lib/RFM69/Examples/MotionMote/MotionMote.ino create mode 100644 lib/RFM69/Examples/MotionMote/OLD/MotionMote.ino create mode 100644 lib/RFM69/Examples/MotionMote/OLD/MotionMote.jpg create mode 100644 lib/RFM69/Examples/MotionMote/OLD/MotionMote_CC-BY-SA.svg create mode 100644 lib/RFM69/Examples/Node/Node.ino create mode 100644 lib/RFM69/Examples/OLEDMote/OLEDMote.ino create mode 100644 lib/RFM69/Examples/PiGateway/PiGateway.ino create mode 100644 lib/RFM69/Examples/PiGateway/PiGateway_withLCD.ino create mode 100644 lib/RFM69/Examples/PulseMeter/PulseMeter.ino create mode 100644 lib/RFM69/Examples/RandomNumbers/RandomNumbers.ino create mode 100644 lib/RFM69/Examples/SonarMote/SonarMote_DistanceReader/SonarMote_DistanceReader.ino create mode 100644 lib/RFM69/Examples/SonarMote/SonarMote_DistanceTracker/SonarMote_DistanceTracker.ino create mode 100644 lib/RFM69/Examples/SonarMote/SonarMote_Parking/SonarMote_Parking.ino create mode 100644 lib/RFM69/Examples/SonarMote/SonarMote_Parking_Sound_OLED/SonarMote_Parking_Sound_OLED.ino create mode 100644 lib/RFM69/Examples/SonarMote/SonarMote_lasercut plans_1.75mm acrylic.dxf create mode 100644 lib/RFM69/Examples/Struct_receive/Struct_receive.ino create mode 100644 lib/RFM69/Examples/Struct_send/Struct_send.ino create mode 100644 lib/RFM69/Examples/SwitchMote/SwitchMote.ino create mode 100644 lib/RFM69/Examples/SwitchMote/SwitchMote_withPIR.ino create mode 100644 lib/RFM69/Examples/TxRxBlinky/TxRxBlinky.ino create mode 100644 lib/RFM69/Examples/WeatherNode/WeatherNode.ino create mode 100644 lib/RFM69/Examples/WirelessProgramming_OTA/OTA.py create mode 100644 lib/RFM69/Examples/WirelessProgramming_OTA/Programmer/Programmer.ino create mode 100644 lib/RFM69/Examples/WirelessProgramming_OTA/README.md create mode 100644 lib/RFM69/Examples/WirelessProgramming_OTA/Target/Target.ino create mode 100644 lib/RFM69/Examples/WirelessProgramming_OTA/pythonLibs.zip create mode 100644 lib/RFM69/License.txt create mode 100644 lib/RFM69/README.md create mode 100644 lib/RFM69/RFM69.cpp create mode 100644 lib/RFM69/RFM69.h create mode 100644 lib/RFM69/RFM69_ATC.cpp create mode 100644 lib/RFM69/RFM69_ATC.h create mode 100644 lib/RFM69/RFM69registers.h create mode 100644 lib/RFM69/keywords.txt create mode 100644 lib/RFM69/library.json create mode 100644 lib/SFE_BMP180/SFE_BMP180.cpp create mode 100644 lib/SFE_BMP180/SFE_BMP180.h create mode 100644 lib/SFE_BMP180/examples/BMP180_altitude_example/BMP180_altitude_example.ino create mode 100644 lib/SFE_BMP180/examples/SFE_BMP180_example/SFE_BMP180_example.ino create mode 100644 lib/SFE_BMP180/keywords.txt create mode 100644 lib/SparkFun_BME280/LICENSE.md create mode 100644 lib/SparkFun_BME280/README.md create mode 100644 lib/SparkFun_BME280/examples/CSV_Output/CSV_Output.ino create mode 100644 lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.cpp create mode 100644 lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.h create mode 100644 lib/SparkFun_BME280/examples/I2C_DeltaAltitude/I2C_DeltaAltitude.ino create mode 100644 lib/SparkFun_BME280/examples/I2C_ReadAllData/I2C_ReadAllData.ino create mode 100644 lib/SparkFun_BME280/examples/I2C_and_SPI_Multisensor/I2C_and_SPI_Multisensor.ino create mode 100644 lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.cpp create mode 100644 lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.h create mode 100644 lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/LCD_DeltaAltitude.ino create mode 100644 lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_PressureTemperature/LCD_PressureTemperature.ino create mode 100644 lib/SparkFun_BME280/keywords.txt create mode 100644 lib/SparkFun_BME280/library.properties create mode 100644 lib/SparkFun_BME280/readme_picture.jpg create mode 100644 lib/SparkFun_BME280/src/SparkFunBME280.cpp create mode 100644 lib/SparkFun_BME280/src/SparkFunBME280.h create mode 100644 lib/WiFiManager/.travis.yml create mode 100644 lib/WiFiManager/LICENSE create mode 100644 lib/WiFiManager/README.md create mode 100644 lib/WiFiManager/WiFiManager.cpp create mode 100644 lib/WiFiManager/WiFiManager.h create mode 100644 lib/WiFiManager/examples/AutoConnect/AutoConnect.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino create mode 100644 lib/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino create mode 100644 lib/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino create mode 100644 lib/WiFiManager/extras/WiFiManager.template.html create mode 100644 lib/WiFiManager/keywords.txt create mode 100644 lib/WiFiManager/library.json create mode 100644 lib/WiFiManager/library.properties create mode 100644 lib/WiFiManager/travis/common.sh create mode 100644 lib/esp8266_mdns/LICENCE.txt create mode 100644 lib/esp8266_mdns/README.md create mode 100644 lib/esp8266_mdns/examples/mdns_test/README.md create mode 100644 lib/esp8266_mdns/examples/mdns_test/mdns_test.ino create mode 100644 lib/esp8266_mdns/examples/simple/simple.ino create mode 100644 lib/esp8266_mdns/library.json create mode 100644 lib/esp8266_mdns/library.properties create mode 100644 lib/esp8266_mdns/mdns.cpp create mode 100644 lib/esp8266_mdns/mdns.h create mode 100644 lib/pubsubclient/.gitignore create mode 100644 lib/pubsubclient/.travis.yml create mode 100644 lib/pubsubclient/CHANGES.txt create mode 100644 lib/pubsubclient/LICENSE.txt create mode 100644 lib/pubsubclient/README.md create mode 100644 lib/pubsubclient/examples/mqtt_auth/mqtt_auth.ino create mode 100644 lib/pubsubclient/examples/mqtt_basic/mqtt_basic.ino create mode 100644 lib/pubsubclient/examples/mqtt_esp8266/mqtt_esp8266.ino create mode 100644 lib/pubsubclient/examples/mqtt_publish_in_callback/mqtt_publish_in_callback.ino create mode 100644 lib/pubsubclient/examples/mqtt_reconnect_nonblocking/mqtt_reconnect_nonblocking.ino create mode 100644 lib/pubsubclient/examples/mqtt_stream/mqtt_stream.ino create mode 100644 lib/pubsubclient/keywords.txt create mode 100644 lib/pubsubclient/library.json create mode 100644 lib/pubsubclient/library.properties create mode 100644 lib/pubsubclient/src/PubSubClient.cpp create mode 100644 lib/pubsubclient/src/PubSubClient.h create mode 100644 lib/pubsubclient/tests/.gitignore create mode 100644 lib/pubsubclient/tests/Makefile create mode 100644 lib/pubsubclient/tests/README.md create mode 100644 lib/pubsubclient/tests/src/connect_spec.cpp create mode 100644 lib/pubsubclient/tests/src/keepalive_spec.cpp create mode 100644 lib/pubsubclient/tests/src/lib/Arduino.h create mode 100644 lib/pubsubclient/tests/src/lib/BDDTest.cpp create mode 100644 lib/pubsubclient/tests/src/lib/BDDTest.h create mode 100644 lib/pubsubclient/tests/src/lib/Buffer.cpp create mode 100644 lib/pubsubclient/tests/src/lib/Buffer.h create mode 100644 lib/pubsubclient/tests/src/lib/Client.h create mode 100644 lib/pubsubclient/tests/src/lib/IPAddress.cpp create mode 100644 lib/pubsubclient/tests/src/lib/IPAddress.h create mode 100644 lib/pubsubclient/tests/src/lib/ShimClient.cpp create mode 100644 lib/pubsubclient/tests/src/lib/ShimClient.h create mode 100644 lib/pubsubclient/tests/src/lib/Stream.cpp create mode 100644 lib/pubsubclient/tests/src/lib/Stream.h create mode 100644 lib/pubsubclient/tests/src/lib/trace.h create mode 100644 lib/pubsubclient/tests/src/publish_spec.cpp create mode 100644 lib/pubsubclient/tests/src/receive_spec.cpp create mode 100644 lib/pubsubclient/tests/src/subscribe_spec.cpp create mode 100644 lib/pubsubclient/tests/testcases/__init__.py create mode 100644 lib/pubsubclient/tests/testcases/mqtt_basic.py create mode 100644 lib/pubsubclient/tests/testcases/mqtt_publish_in_callback.py create mode 100644 lib/pubsubclient/tests/testcases/settings.py create mode 100644 lib/pubsubclient/tests/testsuite.py create mode 100644 lib/rc-switch/.gitignore create mode 100644 lib/rc-switch/.travis.yml create mode 100644 lib/rc-switch/RCSwitch.cpp create mode 100644 lib/rc-switch/RCSwitch.h create mode 100644 lib/rc-switch/README.md create mode 100644 lib/rc-switch/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino create mode 100644 lib/rc-switch/examples/ReceiveDemo_Advanced/output.ino create mode 100644 lib/rc-switch/examples/ReceiveDemo_Simple/ReceiveDemo_Simple.ino create mode 100644 lib/rc-switch/examples/SendDemo/SendDemo.ino create mode 100644 lib/rc-switch/examples/TypeA_WithDIPSwitches/TypeA_WithDIPSwitches.ino create mode 100644 lib/rc-switch/examples/TypeA_WithDIPSwitches_Lightweight/TypeA_WithDIPSwitches_Lightweight.ino create mode 100644 lib/rc-switch/examples/TypeB_WithRotaryOrSlidingSwitches/TypeB_WithRotaryOrSlidingSwitches.ino create mode 100644 lib/rc-switch/examples/TypeC_Intertechno/TypeC_Intertechno.ino create mode 100644 lib/rc-switch/examples/TypeD_REV/TypeD_REV.ino create mode 100644 lib/rc-switch/examples/Webserver/Webserver.ino create mode 100644 lib/rc-switch/keywords.txt create mode 100644 lib/rc-switch/library.json create mode 100644 lib/rc-switch/library.properties diff --git a/lib/Arduino-INA226/CHANGELOG b/lib/Arduino-INA226/CHANGELOG new file mode 100644 index 00000000..ea34876f --- /dev/null +++ b/lib/Arduino-INA226/CHANGELOG @@ -0,0 +1,4 @@ +INA226 Arduino Library 1.0.0 / 08.04.2014 +====================================================================== + + * First release diff --git a/lib/Arduino-INA226/INA226.cpp b/lib/Arduino-INA226/INA226.cpp new file mode 100644 index 00000000..3d37acaa --- /dev/null +++ b/lib/Arduino-INA226/INA226.cpp @@ -0,0 +1,332 @@ +/* +INA226.cpp - Class file for the INA226 Bi-directional Current/Power Monitor Arduino Library. + +Version: 1.0.0 +(c) 2014 Korneliusz Jarzebski +www.jarzebski.pl + +This program is free software: you can redistribute it and/or modify +it under the terms of the version 3 GNU General Public License as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#if ARDUINO >= 100 +#include "Arduino.h" +#else +#include "WProgram.h" +#endif + +#include + +#include "INA226.h" + +bool INA226::begin(uint8_t address) +{ + Wire.begin(); + inaAddress = address; + return true; +} + +bool INA226::configure(ina226_averages_t avg, ina226_busConvTime_t busConvTime, ina226_shuntConvTime_t shuntConvTime, ina226_mode_t mode) +{ + uint16_t config = 0; + + config |= (avg << 9 | busConvTime << 6 | shuntConvTime << 3 | mode); + + vBusMax = 36; + vShuntMax = 0.08192f; + + writeRegister16(INA226_REG_CONFIG, config); + + return true; +} + +bool INA226::calibrate(float rShuntValue, float iMaxExpected) +{ + uint16_t calibrationValue; + rShunt = rShuntValue; + + float iMaxPossible, minimumLSB; + + iMaxPossible = vShuntMax / rShunt; + + minimumLSB = iMaxExpected / 32767; + + currentLSB = (uint16_t)(minimumLSB * 100000000); + currentLSB /= 100000000; + currentLSB /= 0.0001; + currentLSB = ceil(currentLSB); + currentLSB *= 0.0001; + + powerLSB = currentLSB * 25; + + calibrationValue = (uint16_t)((0.00512) / (currentLSB * rShunt)); + + writeRegister16(INA226_REG_CALIBRATION, calibrationValue); + + return true; +} + +float INA226::getMaxPossibleCurrent(void) +{ + return (vShuntMax / rShunt); +} + +float INA226::getMaxCurrent(void) +{ + float maxCurrent = (currentLSB * 32767); + float maxPossible = getMaxPossibleCurrent(); + + if (maxCurrent > maxPossible) + { + return maxPossible; + } else + { + return maxCurrent; + } +} + +float INA226::getMaxShuntVoltage(void) +{ + float maxVoltage = getMaxCurrent() * rShunt; + + if (maxVoltage >= vShuntMax) + { + return vShuntMax; + } else + { + return maxVoltage; + } +} + +float INA226::getMaxPower(void) +{ + return (getMaxCurrent() * vBusMax); +} + +float INA226::readBusPower(void) +{ + return (readRegister16(INA226_REG_POWER) * powerLSB); +} + +float INA226::readShuntCurrent(void) +{ + return (readRegister16(INA226_REG_CURRENT) * currentLSB); +} + +float INA226::readShuntVoltage(void) +{ + float voltage; + + voltage = readRegister16(INA226_REG_SHUNTVOLTAGE); + + return (voltage * 0.0000025); +} + +float INA226::readBusVoltage(void) +{ + int16_t voltage; + + voltage = readRegister16(INA226_REG_BUSVOLTAGE); + + return (voltage * 0.00125); +} + +ina226_averages_t INA226::getAverages(void) +{ + uint16_t value; + + value = readRegister16(INA226_REG_CONFIG); + value &= 0b0000111000000000; + value >>= 9; + + return (ina226_averages_t)value; +} + +ina226_busConvTime_t INA226::getBusConversionTime(void) +{ + uint16_t value; + + value = readRegister16(INA226_REG_CONFIG); + value &= 0b0000000111000000; + value >>= 6; + + return (ina226_busConvTime_t)value; +} + +ina226_shuntConvTime_t INA226::getShuntConversionTime(void) +{ + uint16_t value; + + value = readRegister16(INA226_REG_CONFIG); + value &= 0b0000000000111000; + value >>= 3; + + return (ina226_shuntConvTime_t)value; +} + +ina226_mode_t INA226::getMode(void) +{ + uint16_t value; + + value = readRegister16(INA226_REG_CONFIG); + value &= 0b0000000000000111; + + return (ina226_mode_t)value; +} + +void INA226::setMaskEnable(uint16_t mask) +{ + writeRegister16(INA226_REG_MASKENABLE, mask); +} + +uint16_t INA226::getMaskEnable(void) +{ + return readRegister16(INA226_REG_MASKENABLE); +} + +void INA226::enableShuntOverLimitAlert(void) +{ + writeRegister16(INA226_REG_MASKENABLE, INA226_BIT_SOL); +} + +void INA226::enableShuntUnderLimitAlert(void) +{ + writeRegister16(INA226_REG_MASKENABLE, INA226_BIT_SUL); +} + +void INA226::enableBusOvertLimitAlert(void) +{ + writeRegister16(INA226_REG_MASKENABLE, INA226_BIT_BOL); +} + +void INA226::enableBusUnderLimitAlert(void) +{ + writeRegister16(INA226_REG_MASKENABLE, INA226_BIT_BUL); +} + +void INA226::enableOverPowerLimitAlert(void) +{ + writeRegister16(INA226_REG_MASKENABLE, INA226_BIT_POL); +} + +void INA226::enableConversionReadyAlert(void) +{ + writeRegister16(INA226_REG_MASKENABLE, INA226_BIT_CNVR); +} + +void INA226::setBusVoltageLimit(float voltage) +{ + uint16_t value = voltage / 0.00125; + writeRegister16(INA226_REG_ALERTLIMIT, value); +} + +void INA226::setShuntVoltageLimit(float voltage) +{ + uint16_t value = voltage * 25000; + writeRegister16(INA226_REG_ALERTLIMIT, value); +} + +void INA226::setPowerLimit(float watts) +{ + uint16_t value = watts / powerLSB; + writeRegister16(INA226_REG_ALERTLIMIT, value); +} + +void INA226::setAlertInvertedPolarity(bool inverted) +{ + uint16_t temp = getMaskEnable(); + + if (inverted) + { + temp |= INA226_BIT_APOL; + } else + { + temp &= ~INA226_BIT_APOL; + } + + setMaskEnable(temp); +} + +void INA226::setAlertLatch(bool latch) +{ + uint16_t temp = getMaskEnable(); + + if (latch) + { + temp |= INA226_BIT_LEN; + } else + { + temp &= ~INA226_BIT_LEN; + } + + setMaskEnable(temp); +} + +bool INA226::isMathOverflow(void) +{ + return ((getMaskEnable() & INA226_BIT_OVF) == INA226_BIT_OVF); +} + +bool INA226::isAlert(void) +{ + return ((getMaskEnable() & INA226_BIT_AFF) == INA226_BIT_AFF); +} + +int16_t INA226::readRegister16(uint8_t reg) +{ + int16_t value; + + Wire.beginTransmission(inaAddress); + #if ARDUINO >= 100 + Wire.write(reg); + #else + Wire.send(reg); + #endif + Wire.endTransmission(); + + delay(1); + + Wire.beginTransmission(inaAddress); + Wire.requestFrom(inaAddress, 2); + while(!Wire.available()) {}; + #if ARDUINO >= 100 + uint8_t vha = Wire.read(); + uint8_t vla = Wire.read(); + #else + uint8_t vha = Wire.receive(); + uint8_t vla = Wire.receive(); + #endif; + Wire.endTransmission(); + + value = vha << 8 | vla; + + return value; +} + +void INA226::writeRegister16(uint8_t reg, uint16_t val) +{ + uint8_t vla; + vla = (uint8_t)val; + val >>= 8; + + Wire.beginTransmission(inaAddress); + #if ARDUINO >= 100 + Wire.write(reg); + Wire.write((uint8_t)val); + Wire.write(vla); + #else + Wire.send(reg); + Wire.send((uint8_t)val); + Wire.send(vla); + #endif + Wire.endTransmission(); +} diff --git a/lib/Arduino-INA226/INA226.h b/lib/Arduino-INA226/INA226.h new file mode 100644 index 00000000..241c3606 --- /dev/null +++ b/lib/Arduino-INA226/INA226.h @@ -0,0 +1,154 @@ +/* +INA226.h - Header file for the Bi-directional Current/Power Monitor Arduino Library. + +Version: 1.0.0 +(c) 2014 Korneliusz Jarzebski +www.jarzebski.pl + +This program is free software: you can redistribute it and/or modify +it under the terms of the version 3 GNU General Public License as +published by the Free Software Foundation. + +This program is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +GNU General Public License for more details. + +You should have received a copy of the GNU General Public License +along with this program. If not, see . +*/ + +#ifndef INA226_h +#define INA226_h + +#if ARDUINO >= 100 +#include "Arduino.h" +#else +#include "WProgram.h" +#endif + +#define INA226_ADDRESS (0x40) + +#define INA226_REG_CONFIG (0x00) +#define INA226_REG_SHUNTVOLTAGE (0x01) +#define INA226_REG_BUSVOLTAGE (0x02) +#define INA226_REG_POWER (0x03) +#define INA226_REG_CURRENT (0x04) +#define INA226_REG_CALIBRATION (0x05) +#define INA226_REG_MASKENABLE (0x06) +#define INA226_REG_ALERTLIMIT (0x07) + +#define INA226_BIT_SOL (0x8000) +#define INA226_BIT_SUL (0x4000) +#define INA226_BIT_BOL (0x2000) +#define INA226_BIT_BUL (0x1000) +#define INA226_BIT_POL (0x0800) +#define INA226_BIT_CNVR (0x0400) +#define INA226_BIT_AFF (0x0010) +#define INA226_BIT_CVRF (0x0008) +#define INA226_BIT_OVF (0x0004) +#define INA226_BIT_APOL (0x0002) +#define INA226_BIT_LEN (0x0001) + +typedef enum +{ + INA226_AVERAGES_1 = 0b000, + INA226_AVERAGES_4 = 0b001, + INA226_AVERAGES_16 = 0b010, + INA226_AVERAGES_64 = 0b011, + INA226_AVERAGES_128 = 0b100, + INA226_AVERAGES_256 = 0b101, + INA226_AVERAGES_512 = 0b110, + INA226_AVERAGES_1024 = 0b111 +} ina226_averages_t; + +typedef enum +{ + INA226_BUS_CONV_TIME_140US = 0b000, + INA226_BUS_CONV_TIME_204US = 0b001, + INA226_BUS_CONV_TIME_332US = 0b010, + INA226_BUS_CONV_TIME_588US = 0b011, + INA226_BUS_CONV_TIME_1100US = 0b100, + INA226_BUS_CONV_TIME_2116US = 0b101, + INA226_BUS_CONV_TIME_4156US = 0b110, + INA226_BUS_CONV_TIME_8244US = 0b111 +} ina226_busConvTime_t; + +typedef enum +{ + INA226_SHUNT_CONV_TIME_140US = 0b000, + INA226_SHUNT_CONV_TIME_204US = 0b001, + INA226_SHUNT_CONV_TIME_332US = 0b010, + INA226_SHUNT_CONV_TIME_588US = 0b011, + INA226_SHUNT_CONV_TIME_1100US = 0b100, + INA226_SHUNT_CONV_TIME_2116US = 0b101, + INA226_SHUNT_CONV_TIME_4156US = 0b110, + INA226_SHUNT_CONV_TIME_8244US = 0b111 +} ina226_shuntConvTime_t; + +typedef enum +{ + INA226_MODE_POWER_DOWN = 0b000, + INA226_MODE_SHUNT_TRIG = 0b001, + INA226_MODE_BUS_TRIG = 0b010, + INA226_MODE_SHUNT_BUS_TRIG = 0b011, + INA226_MODE_ADC_OFF = 0b100, + INA226_MODE_SHUNT_CONT = 0b101, + INA226_MODE_BUS_CONT = 0b110, + INA226_MODE_SHUNT_BUS_CONT = 0b111, +} ina226_mode_t; + +class INA226 +{ + public: + + bool begin(uint8_t address = INA226_ADDRESS); + bool configure(ina226_averages_t avg = INA226_AVERAGES_1, ina226_busConvTime_t busConvTime = INA226_BUS_CONV_TIME_1100US, ina226_shuntConvTime_t shuntConvTime = INA226_SHUNT_CONV_TIME_1100US, ina226_mode_t mode = INA226_MODE_SHUNT_BUS_CONT); + bool calibrate(float rShuntValue = 0.1, float iMaxExcepted = 2); + + ina226_averages_t getAverages(void); + ina226_busConvTime_t getBusConversionTime(void); + ina226_shuntConvTime_t getShuntConversionTime(void); + ina226_mode_t getMode(void); + + void enableShuntOverLimitAlert(void); + void enableShuntUnderLimitAlert(void); + void enableBusOvertLimitAlert(void); + void enableBusUnderLimitAlert(void); + void enableOverPowerLimitAlert(void); + void enableConversionReadyAlert(void); + + void setBusVoltageLimit(float voltage); + void setShuntVoltageLimit(float voltage); + void setPowerLimit(float watts); + + void setAlertInvertedPolarity(bool inverted); + void setAlertLatch(bool latch); + + bool isMathOverflow(void); + bool isAlert(void); + + float readShuntCurrent(void); + float readShuntVoltage(void); + float readBusPower(void); + float readBusVoltage(void); + + float getMaxPossibleCurrent(void); + float getMaxCurrent(void); + float getMaxShuntVoltage(void); + float getMaxPower(void); + + private: + + int8_t inaAddress; + float currentLSB, powerLSB; + float vShuntMax, vBusMax, rShunt; + + void setMaskEnable(uint16_t mask); + uint16_t getMaskEnable(void); + + void writeRegister16(uint8_t reg, uint16_t val); + int16_t readRegister16(uint8_t reg); +}; + +#endif \ No newline at end of file diff --git a/lib/Arduino-INA226/INA226_alert/INA226_alert.ino b/lib/Arduino-INA226/INA226_alert/INA226_alert.ino new file mode 100644 index 00000000..d1719194 --- /dev/null +++ b/lib/Arduino-INA226/INA226_alert/INA226_alert.ino @@ -0,0 +1,67 @@ +/* + INA226 Bi-directional Current/Power Monitor. Alert Example. + Read more: http://www.jarzebski.pl/arduino/czujniki-i-sensory/cyfrowy-czujnik-pradu-mocy-ina226.html + GIT: https://github.com/jarzebski/Arduino-INA226 + Web: http://www.jarzebski.pl + (c) 2014 by Korneliusz Jarzebski +*/ + +#include +#include + +INA226 ina; + +void setup() +{ + Serial.begin(115200); + + Serial.println("Initialize INA226"); + Serial.println("-----------------------------------------------"); + + // Default INA226 address is 0x40 + ina.begin(); + + // Configure INA226 + ina.configure(INA226_AVERAGES_1, INA226_BUS_CONV_TIME_1100US, INA226_SHUNT_CONV_TIME_1100US, INA226_MODE_SHUNT_BUS_CONT); + + // Calibrate INA226. Rshunt = 0.01 ohm, Max excepted current = 4A + ina.calibrate(0.01, 4); + + // Enable Bus Over-Voltage Alert + // ina.enableBusOvertLimitAlert(); + // ina.enableBusUnderLimitAlert(); + // ina.setBusVoltageLimit(3.33); + + // Enable Shunt Over-Voltage Alert + // ina.enableShuntOverLimitAlert(); + // ina.enableShuntUnderLimitAlert(); + // ina.setShuntVoltageLimit(0.0055); + + // Enable Power Over-Limit Alert + ina.enableOverPowerLimitAlert(); + ina.setPowerLimit(0.130); + + // ina.setAlertInvertedPolarity(true) +} + +void loop() +{ + Serial.print("Bus voltage: "); + Serial.print(ina.readBusVoltage(), 5); + Serial.println(" V"); + + Serial.print("Bus power: "); + Serial.print(ina.readBusPower(), 5); + Serial.println(" W"); + + Serial.print("Shunt voltage: "); + Serial.print(ina.readShuntVoltage(), 5); + Serial.println(" V"); + + Serial.print("Shunt current: "); + Serial.print(ina.readShuntCurrent(), 5); + Serial.println(" A"); + + Serial.println(""); + delay(1000); +} diff --git a/lib/Arduino-INA226/INA226_latch/INA226_latch.ino b/lib/Arduino-INA226/INA226_latch/INA226_latch.ino new file mode 100644 index 00000000..1e168552 --- /dev/null +++ b/lib/Arduino-INA226/INA226_latch/INA226_latch.ino @@ -0,0 +1,64 @@ +/* + INA226 Bi-directional Current/Power Monitor. Alert with latch Example. + Read more: http://www.jarzebski.pl/arduino/czujniki-i-sensory/cyfrowy-czujnik-pradu-mocy-ina226.html + GIT: https://github.com/jarzebski/Arduino-INA226 + Web: http://www.jarzebski.pl + (c) 2014 by Korneliusz Jarzebski + */ + +#include +#include + +INA226 ina; + +void setup() +{ + Serial.begin(115200); + + Serial.println("Initialize INA226"); + Serial.println("-----------------------------------------------"); + + // Default INA226 address is 0x40 + ina.begin(); + + // Configure INA226 + ina.configure(INA226_AVERAGES_1, INA226_BUS_CONV_TIME_1100US, INA226_SHUNT_CONV_TIME_1100US, INA226_MODE_SHUNT_BUS_CONT); + + // Calibrate INA226. Rshunt = 0.01 ohm, Max excepted current = 4A + ina.calibrate(0.01, 4); + + // Enable Power Over-Limit Alert + ina.enableOverPowerLimitAlert(); + ina.setPowerLimit(0.130); + ina.setAlertLatch(true); +} + +void loop() +{ + Serial.print("Bus voltage: "); + Serial.print(ina.readBusVoltage(), 5); + Serial.println(" V"); + + Serial.print("Bus power: "); + Serial.print(ina.readBusPower(), 5); + Serial.println(" W"); + + + Serial.print("Shunt voltage: "); + Serial.print(ina.readShuntVoltage(), 5); + Serial.println(" V"); + + Serial.print("Shunt current: "); + Serial.print(ina.readShuntCurrent(), 5); + Serial.println(" A"); + + if (ina.isAlert()) + { + // Latch will be removed here + Serial.println("ALERT"); + } + + Serial.println(""); + delay(1000); +} + diff --git a/lib/Arduino-INA226/INA226_simple/INA226_simple.ino b/lib/Arduino-INA226/INA226_simple/INA226_simple.ino new file mode 100644 index 00000000..1bada92f --- /dev/null +++ b/lib/Arduino-INA226/INA226_simple/INA226_simple.ino @@ -0,0 +1,132 @@ +/* + INA226 Bi-directional Current/Power Monitor. Simple Example. + Read more: http://www.jarzebski.pl/arduino/czujniki-i-sensory/cyfrowy-czujnik-pradu-mocy-ina226.html + GIT: https://github.com/jarzebski/Arduino-INA226 + Web: http://www.jarzebski.pl + (c) 2014 by Korneliusz Jarzebski +*/ + +#include +#include + +INA226 ina; + +void checkConfig() +{ + Serial.print("Mode: "); + switch (ina.getMode()) + { + case INA226_MODE_POWER_DOWN: Serial.println("Power-Down"); break; + case INA226_MODE_SHUNT_TRIG: Serial.println("Shunt Voltage, Triggered"); break; + case INA226_MODE_BUS_TRIG: Serial.println("Bus Voltage, Triggered"); break; + case INA226_MODE_SHUNT_BUS_TRIG: Serial.println("Shunt and Bus, Triggered"); break; + case INA226_MODE_ADC_OFF: Serial.println("ADC Off"); break; + case INA226_MODE_SHUNT_CONT: Serial.println("Shunt Voltage, Continuous"); break; + case INA226_MODE_BUS_CONT: Serial.println("Bus Voltage, Continuous"); break; + case INA226_MODE_SHUNT_BUS_CONT: Serial.println("Shunt and Bus, Continuous"); break; + default: Serial.println("unknown"); + } + + Serial.print("Samples average: "); + switch (ina.getAverages()) + { + case INA226_AVERAGES_1: Serial.println("1 sample"); break; + case INA226_AVERAGES_4: Serial.println("4 samples"); break; + case INA226_AVERAGES_16: Serial.println("16 samples"); break; + case INA226_AVERAGES_64: Serial.println("64 samples"); break; + case INA226_AVERAGES_128: Serial.println("128 samples"); break; + case INA226_AVERAGES_256: Serial.println("256 samples"); break; + case INA226_AVERAGES_512: Serial.println("512 samples"); break; + case INA226_AVERAGES_1024: Serial.println("1024 samples"); break; + default: Serial.println("unknown"); + } + + Serial.print("Bus conversion time: "); + switch (ina.getBusConversionTime()) + { + case INA226_BUS_CONV_TIME_140US: Serial.println("140uS"); break; + case INA226_BUS_CONV_TIME_204US: Serial.println("204uS"); break; + case INA226_BUS_CONV_TIME_332US: Serial.println("332uS"); break; + case INA226_BUS_CONV_TIME_588US: Serial.println("558uS"); break; + case INA226_BUS_CONV_TIME_1100US: Serial.println("1.100ms"); break; + case INA226_BUS_CONV_TIME_2116US: Serial.println("2.116ms"); break; + case INA226_BUS_CONV_TIME_4156US: Serial.println("4.156ms"); break; + case INA226_BUS_CONV_TIME_8244US: Serial.println("8.244ms"); break; + default: Serial.println("unknown"); + } + + Serial.print("Shunt conversion time: "); + switch (ina.getShuntConversionTime()) + { + case INA226_SHUNT_CONV_TIME_140US: Serial.println("140uS"); break; + case INA226_SHUNT_CONV_TIME_204US: Serial.println("204uS"); break; + case INA226_SHUNT_CONV_TIME_332US: Serial.println("332uS"); break; + case INA226_SHUNT_CONV_TIME_588US: Serial.println("558uS"); break; + case INA226_SHUNT_CONV_TIME_1100US: Serial.println("1.100ms"); break; + case INA226_SHUNT_CONV_TIME_2116US: Serial.println("2.116ms"); break; + case INA226_SHUNT_CONV_TIME_4156US: Serial.println("4.156ms"); break; + case INA226_SHUNT_CONV_TIME_8244US: Serial.println("8.244ms"); break; + default: Serial.println("unknown"); + } + + Serial.print("Max possible current: "); + Serial.print(ina.getMaxPossibleCurrent()); + Serial.println(" A"); + + Serial.print("Max current: "); + Serial.print(ina.getMaxCurrent()); + Serial.println(" A"); + + Serial.print("Max shunt voltage: "); + Serial.print(ina.getMaxShuntVoltage()); + Serial.println(" V"); + + Serial.print("Max power: "); + Serial.print(ina.getMaxPower()); + Serial.println(" W"); +} + +void setup() +{ + Serial.begin(115200); + + Serial.println("Initialize INA226"); + Serial.println("-----------------------------------------------"); + + // Default INA226 address is 0x40 + ina.begin(); + + // Configure INA226 + ina.configure(INA226_AVERAGES_1, INA226_BUS_CONV_TIME_1100US, INA226_SHUNT_CONV_TIME_1100US, INA226_MODE_SHUNT_BUS_CONT); + + // Calibrate INA226. Rshunt = 0.01 ohm, Max excepted current = 4A + ina.calibrate(0.01, 4); + + // Display configuration + checkConfig(); + + Serial.println("-----------------------------------------------"); +} + +void loop() +{ + Serial.print("Bus voltage: "); + Serial.print(ina.readBusVoltage(), 5); + Serial.println(" V"); + + Serial.print("Bus power: "); + Serial.print(ina.readBusPower(), 5); + Serial.println(" W"); + + + Serial.print("Shunt voltage: "); + Serial.print(ina.readShuntVoltage(), 5); + Serial.println(" V"); + + Serial.print("Shunt current: "); + Serial.print(ina.readShuntCurrent(), 5); + Serial.println(" A"); + + Serial.println(""); + delay(1000); +} diff --git a/lib/Arduino-INA226/LICENSE b/lib/Arduino-INA226/LICENSE new file mode 100644 index 00000000..ef7e7efc --- /dev/null +++ b/lib/Arduino-INA226/LICENSE @@ -0,0 +1,674 @@ +GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + {one line to give the program's name and a brief idea of what it does.} + Copyright (C) {year} {name of author} + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + {project} Copyright (C) {year} {fullname} + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/lib/Arduino-INA226/README.md b/lib/Arduino-INA226/README.md new file mode 100644 index 00000000..43e2b756 --- /dev/null +++ b/lib/Arduino-INA226/README.md @@ -0,0 +1,8 @@ +Arduino-INA226 +============== + +INA226 Bi-directional Current/Power Monitor Arduino Library + +Tutorials: http://www.jarzebski.pl/arduino/czujniki-i-sensory/cyfrowy-czujnik-pradu-mocy-ina226.html + +This library use I2C to communicate, 2 pins are required to interface. diff --git a/lib/Arduino-IRremote/.gitignore b/lib/Arduino-IRremote/.gitignore new file mode 100644 index 00000000..e24b84cd --- /dev/null +++ b/lib/Arduino-IRremote/.gitignore @@ -0,0 +1,3 @@ +*.un~ +*.sublime-project +*.sublime-workspace \ No newline at end of file diff --git a/lib/Arduino-IRremote/.travis.yml b/lib/Arduino-IRremote/.travis.yml new file mode 100644 index 00000000..543a0a74 --- /dev/null +++ b/lib/Arduino-IRremote/.travis.yml @@ -0,0 +1,30 @@ +language: python +python: + - "2.7" + +# Cache PlatformIO packages using Travis CI container-based infrastructure +sudo: false +cache: + directories: + - "~/.platformio" + +env: + - PLATFORMIO_CI_SRC=examples/AiwaRCT501SendDemo PLATFORMIO_BUILD_FLAGS="-DSEND_AIWA_RC_T501" + - PLATFORMIO_CI_SRC=examples/IRrecord PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6" + - PLATFORMIO_CI_SRC=examples/IRrecvDemo + - PLATFORMIO_CI_SRC=examples/IRrecvDump + - PLATFORMIO_CI_SRC=examples/IRrecvDumpV2 + - PLATFORMIO_CI_SRC=examples/IRrelay + - PLATFORMIO_CI_SRC=examples/IRsendDemo PLATFORMIO_BUILD_FLAGS="-DSEND_SONY" + - PLATFORMIO_CI_SRC=examples/IRtest PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6" + - PLATFORMIO_CI_SRC=examples/IRtest2 PLATFORMIO_BUILD_FLAGS="-DSEND_NEC -DSEND_SONY -DSEND_RC5 -DSEND_RC6" + - PLATFORMIO_CI_SRC=examples/JVCPanasonicSendDemo PLATFORMIO_BUILD_FLAGS="-DSEND_JVC -DSEND_PANASONIC" + - PLATFORMIO_CI_SRC=examples/LegoPowerFunctionsSendDemo PLATFORMIO_BUILD_FLAGS="-DSEND_LEGO_PF" + - PLATFORMIO_CI_SRC=examples/LegoPowerFunctionsTests PLATFORMIO_BUILD_FLAGS="-DSEND_LEGO_PF" + - PLATFORMIO_CI_SRC=examples/IRremoteInfo + +install: + - pip install -U platformio + +script: + - platformio ci --lib="." --board=uno --board=leonardo --board=pro16MHzatmega168 --board=btatmega328 diff --git a/lib/Arduino-IRremote/Contributing.md b/lib/Arduino-IRremote/Contributing.md new file mode 100644 index 00000000..56409a9d --- /dev/null +++ b/lib/Arduino-IRremote/Contributing.md @@ -0,0 +1,11 @@ +# Contribution Guidlines + +This library is the culmination of the expertise of many members of the open source community who have dedicated their time and hard work. The best way to ask for help or propose a new idea is to [create a new issue](https://github.com/z3t0/Arduino-IRremote/issues/new) while creating a Pull Request with your code changes allows you to share your own innovations with the rest of the community. + +The following are some guidelines to observe when creating issues or PRs: +- Be friendly; it is important that we can all enjoy a safe space as we are all working on the same project and it is okay for people to have different ideas +- [Use code blocks](https://github.com/adam-p/markdown-here/wiki/Markdown-Cheatsheet#code); it helps us help you when we can read your code! On that note also refrain from pasting more than 30 lines of code in a post, instead [create a gist](https://gist.github.com/) if you need to share large snippets +- Use reasonable titles; refrain from using overly long or capitalized titles as they are usually annoying and do little to encourage others to help :smile: +- Be detailed; refrain from mentioning code problems without sharing your source code and always give information regarding your board and version of the library + +If there is any need to contact me then you can find my email on the README, I do not mind responding to emails but it would be in your own interests to create issues if you need help with the library as responses would be from a larger community with greater knowledge! \ No newline at end of file diff --git a/lib/Arduino-IRremote/Contributors.md b/lib/Arduino-IRremote/Contributors.md new file mode 100644 index 00000000..1bed7b6d --- /dev/null +++ b/lib/Arduino-IRremote/Contributors.md @@ -0,0 +1,22 @@ +## Contributors +These are the active contributors of this project that you may contact if there is anything you need help with or if you have suggestions. + +- [z3t0](https://github.com/z3t0) : Active Contributor and currently also the main contributor. + * Email: zetoslab@gmail.com +- [shirriff](https://github.com/shirriff) : An amazing person who worked to create this awesome library and provide unending support +- [AnalysIR](https:/github.com/AnalysIR): Active contributor and is amazing with providing support! +- [Informatic](https://github.com/Informatic) : Active contributor +- [fmeschia](https://github.com/fmeschia) : Active contributor +- [PaulStoffregen](https://github.com/paulstroffregen) : Active contributor +- [crash7](https://github.com/crash7) : Active contributor +- [Neco777](https://github.com/neco777) : Active contributor +- [Lauszus](https://github.com/lauszus) : Active contributor +- [csBlueChip](https://github.com/csbluechip) : Active contributor, who contributed major and vital changes to the code base. +- [Sebazzz](https://github.com/sebazz): Contributor +- [lumbric](https://github.com/lumbric): Contributor +- [ElectricRCAircraftGuy](https://github.com/electricrcaircraftguy): Active Contributor +- [philipphenkel](https://github.com/philipphenkel): Active Contributor +- [MCUdude](https://github.com/MCUdude): Contributor +- [marcmerlin](https://github.com/marcmerlin): Contributor (ESP32 port) + +Note: This list is being updated constantly so please let [z3t0](https://github.com/z3t0) know if you have been missed. diff --git a/lib/Arduino-IRremote/IRremote.cpp b/lib/Arduino-IRremote/IRremote.cpp new file mode 100644 index 00000000..e811cfc7 --- /dev/null +++ b/lib/Arduino-IRremote/IRremote.cpp @@ -0,0 +1,200 @@ +//****************************************************************************** +// IRremote +// Version 2.0.1 June, 2015 +// Copyright 2009 Ken Shirriff +// For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html +// +// Modified by Paul Stoffregen to support other boards and timers +// Modified by Mitra Ardron +// Added Sanyo and Mitsubishi controllers +// Modified Sony to spot the repeat codes that some Sony's send +// +// Interrupt code based on NECIRrcv by Joe Knapp +// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556 +// Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/ +// +// JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) +// LG added by Darryl Smith (based on the JVC protocol) +// Whynter A/C ARC-110WD added by Francesco Meschia +//****************************************************************************** + +// Defining IR_GLOBAL here allows us to declare the instantiation of global variables +#define IR_GLOBAL +# include "IRremote.h" +# include "IRremoteInt.h" +#undef IR_GLOBAL + +#ifndef IR_TIMER_USE_ESP32 +#include +#endif + + +//+============================================================================= +// The match functions were (apparently) originally MACROs to improve code speed +// (although this would have bloated the code) hence the names being CAPS +// A later release implemented debug output and so they needed to be converted +// to functions. +// I tried to implement a dual-compile mode (DEBUG/non-DEBUG) but for some +// reason, no matter what I did I could not get them to function as macros again. +// I have found a *lot* of bugs in the Arduino compiler over the last few weeks, +// and I am currently assuming that one of these bugs is my problem. +// I may revisit this code at a later date and look at the assembler produced +// in a hope of finding out what is going on, but for now they will remain as +// functions even in non-DEBUG mode +// +int MATCH (int measured, int desired) +{ + DBG_PRINT(F("Testing: ")); + DBG_PRINT(TICKS_LOW(desired), DEC); + DBG_PRINT(F(" <= ")); + DBG_PRINT(measured, DEC); + DBG_PRINT(F(" <= ")); + DBG_PRINT(TICKS_HIGH(desired), DEC); + + bool passed = ((measured >= TICKS_LOW(desired)) && (measured <= TICKS_HIGH(desired))); + if (passed) + DBG_PRINTLN(F("?; passed")); + else + DBG_PRINTLN(F("?; FAILED")); + return passed; +} + +//+======================================================== +// Due to sensor lag, when received, Marks tend to be 100us too long +// +int MATCH_MARK (int measured_ticks, int desired_us) +{ + DBG_PRINT(F("Testing mark (actual vs desired): ")); + DBG_PRINT(measured_ticks * USECPERTICK, DEC); + DBG_PRINT(F("us vs ")); + DBG_PRINT(desired_us, DEC); + DBG_PRINT("us"); + DBG_PRINT(": "); + DBG_PRINT(TICKS_LOW(desired_us + MARK_EXCESS) * USECPERTICK, DEC); + DBG_PRINT(F(" <= ")); + DBG_PRINT(measured_ticks * USECPERTICK, DEC); + DBG_PRINT(F(" <= ")); + DBG_PRINT(TICKS_HIGH(desired_us + MARK_EXCESS) * USECPERTICK, DEC); + + bool passed = ((measured_ticks >= TICKS_LOW (desired_us + MARK_EXCESS)) + && (measured_ticks <= TICKS_HIGH(desired_us + MARK_EXCESS))); + if (passed) + DBG_PRINTLN(F("?; passed")); + else + DBG_PRINTLN(F("?; FAILED")); + return passed; +} + +//+======================================================== +// Due to sensor lag, when received, Spaces tend to be 100us too short +// +int MATCH_SPACE (int measured_ticks, int desired_us) +{ + DBG_PRINT(F("Testing space (actual vs desired): ")); + DBG_PRINT(measured_ticks * USECPERTICK, DEC); + DBG_PRINT(F("us vs ")); + DBG_PRINT(desired_us, DEC); + DBG_PRINT("us"); + DBG_PRINT(": "); + DBG_PRINT(TICKS_LOW(desired_us - MARK_EXCESS) * USECPERTICK, DEC); + DBG_PRINT(F(" <= ")); + DBG_PRINT(measured_ticks * USECPERTICK, DEC); + DBG_PRINT(F(" <= ")); + DBG_PRINT(TICKS_HIGH(desired_us - MARK_EXCESS) * USECPERTICK, DEC); + + bool passed = ((measured_ticks >= TICKS_LOW (desired_us - MARK_EXCESS)) + && (measured_ticks <= TICKS_HIGH(desired_us - MARK_EXCESS))); + if (passed) + DBG_PRINTLN(F("?; passed")); + else + DBG_PRINTLN(F("?; FAILED")); + return passed; +} + +//+============================================================================= +// Interrupt Service Routine - Fires every 50uS +// TIMER2 interrupt code to collect raw data. +// Widths of alternating SPACE, MARK are recorded in rawbuf. +// Recorded in ticks of 50uS [microseconds, 0.000050 seconds] +// 'rawlen' counts the number of entries recorded so far. +// First entry is the SPACE between transmissions. +// As soon as a the first [SPACE] entry gets long: +// Ready is set; State switches to IDLE; Timing of SPACE continues. +// As soon as first MARK arrives: +// Gap width is recorded; Ready is cleared; New logging starts +// +#ifdef IR_TIMER_USE_ESP32 +void IRTimer() +#else +ISR (TIMER_INTR_NAME) +#endif +{ + TIMER_RESET; + + // Read if IR Receiver -> SPACE [xmt LED off] or a MARK [xmt LED on] + // digitalRead() is very slow. Optimisation is possible, but makes the code unportable + uint8_t irdata = (uint8_t)digitalRead(irparams.recvpin); + + irparams.timer++; // One more 50uS tick + if (irparams.rawlen >= RAWBUF) irparams.rcvstate = STATE_OVERFLOW ; // Buffer overflow + + switch(irparams.rcvstate) { + //...................................................................... + case STATE_IDLE: // In the middle of a gap + if (irdata == MARK) { + if (irparams.timer < GAP_TICKS) { // Not big enough to be a gap. + irparams.timer = 0; + + } else { + // Gap just ended; Record duration; Start recording transmission + irparams.overflow = false; + irparams.rawlen = 0; + irparams.rawbuf[irparams.rawlen++] = irparams.timer; + irparams.timer = 0; + irparams.rcvstate = STATE_MARK; + } + } + break; + //...................................................................... + case STATE_MARK: // Timing Mark + if (irdata == SPACE) { // Mark ended; Record time + irparams.rawbuf[irparams.rawlen++] = irparams.timer; + irparams.timer = 0; + irparams.rcvstate = STATE_SPACE; + } + break; + //...................................................................... + case STATE_SPACE: // Timing Space + if (irdata == MARK) { // Space just ended; Record time + irparams.rawbuf[irparams.rawlen++] = irparams.timer; + irparams.timer = 0; + irparams.rcvstate = STATE_MARK; + + } else if (irparams.timer > GAP_TICKS) { // Space + // A long Space, indicates gap between codes + // Flag the current code as ready for processing + // Switch to STOP + // Don't reset timer; keep counting Space width + irparams.rcvstate = STATE_STOP; + } + break; + //...................................................................... + case STATE_STOP: // Waiting; Measuring Gap + if (irdata == MARK) irparams.timer = 0 ; // Reset gap timer + break; + //...................................................................... + case STATE_OVERFLOW: // Flag up a read overflow; Stop the State Machine + irparams.overflow = true; + irparams.rcvstate = STATE_STOP; + break; + } + + // If requested, flash LED while receiving IR data + if (irparams.blinkflag) { + if (irdata == MARK) + if (irparams.blinkpin) digitalWrite(irparams.blinkpin, HIGH); // Turn user defined pin LED on + else BLINKLED_ON() ; // if no user defined LED pin, turn default LED pin for the hardware on + else if (irparams.blinkpin) digitalWrite(irparams.blinkpin, LOW); // Turn user defined pin LED on + else BLINKLED_OFF() ; // if no user defined LED pin, turn default LED pin for the hardware on + } +} diff --git a/lib/Arduino-IRremote/IRremote.h b/lib/Arduino-IRremote/IRremote.h new file mode 100644 index 00000000..fe1a8702 --- /dev/null +++ b/lib/Arduino-IRremote/IRremote.h @@ -0,0 +1,344 @@ + +//****************************************************************************** +// IRremote +// Version 2.0.1 June, 2015 +// Copyright 2009 Ken Shirriff +// For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html +// Edited by Mitra to add new controller SANYO +// +// Interrupt code based on NECIRrcv by Joe Knapp +// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556 +// Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/ +// +// JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) +// LG added by Darryl Smith (based on the JVC protocol) +// Whynter A/C ARC-110WD added by Francesco Meschia +//****************************************************************************** + +#ifndef IRremote_h +#define IRremote_h + +//------------------------------------------------------------------------------ +// The ISR header contains several useful macros the user may wish to use +// +#include "IRremoteInt.h" + +//------------------------------------------------------------------------------ +// Supported IR protocols +// Each protocol you include costs memory and, during decode, costs time +// Disable (set to 0) all the protocols you do not need/want! +// +#define DECODE_RC5 1 +#define SEND_RC5 1 + +#define DECODE_RC6 1 +#define SEND_RC6 1 + +#define DECODE_NEC 1 +#define SEND_NEC 1 + +#define DECODE_SONY 1 +#define SEND_SONY 1 + +#define DECODE_PANASONIC 1 +#define SEND_PANASONIC 1 + +#define DECODE_JVC 1 +#define SEND_JVC 1 + +#define DECODE_SAMSUNG 1 +#define SEND_SAMSUNG 1 + +#define DECODE_WHYNTER 1 +#define SEND_WHYNTER 1 + +#define DECODE_AIWA_RC_T501 1 +#define SEND_AIWA_RC_T501 1 + +#define DECODE_LG 1 +#define SEND_LG 1 + +#define DECODE_SANYO 1 +#define SEND_SANYO 0 // NOT WRITTEN + +#define DECODE_MITSUBISHI 1 +#define SEND_MITSUBISHI 0 // NOT WRITTEN + +#define DECODE_DISH 0 // NOT WRITTEN +#define SEND_DISH 1 + +#define DECODE_SHARP 0 // NOT WRITTEN +#define SEND_SHARP 1 + +#define DECODE_DENON 1 +#define SEND_DENON 1 + +#define DECODE_PRONTO 0 // This function doe not logically make sense +#define SEND_PRONTO 1 + +#define DECODE_LEGO_PF 0 // NOT WRITTEN +#define SEND_LEGO_PF 1 + +//------------------------------------------------------------------------------ +// When sending a Pronto code we request to send either the "once" code +// or the "repeat" code +// If the code requested does not exist we can request to fallback on the +// other code (the one we did not explicitly request) +// +// I would suggest that "fallback" will be the standard calling method +// The last paragraph on this page discusses the rationale of this idea: +// http://www.remotecentral.com/features/irdisp2.htm +// +#define PRONTO_ONCE false +#define PRONTO_REPEAT true +#define PRONTO_FALLBACK true +#define PRONTO_NOFALLBACK false + +//------------------------------------------------------------------------------ +// An enumerated list of all supported formats +// You do NOT need to remove entries from this list when disabling protocols! +// +typedef + enum { + UNKNOWN = -1, + UNUSED = 0, + RC5, + RC6, + NEC, + SONY, + PANASONIC, + JVC, + SAMSUNG, + WHYNTER, + AIWA_RC_T501, + LG, + SANYO, + MITSUBISHI, + DISH, + SHARP, + DENON, + PRONTO, + LEGO_PF, + } +decode_type_t; + +//------------------------------------------------------------------------------ +// Set DEBUG to 1 for lots of lovely debug output +// +#define DEBUG 0 + +//------------------------------------------------------------------------------ +// Debug directives +// +#if DEBUG +# define DBG_PRINT(...) Serial.print(__VA_ARGS__) +# define DBG_PRINTLN(...) Serial.println(__VA_ARGS__) +#else +# define DBG_PRINT(...) +# define DBG_PRINTLN(...) +#endif + +//------------------------------------------------------------------------------ +// Mark & Space matching functions +// +int MATCH (int measured, int desired) ; +int MATCH_MARK (int measured_ticks, int desired_us) ; +int MATCH_SPACE (int measured_ticks, int desired_us) ; + +//------------------------------------------------------------------------------ +// Results returned from the decoder +// +class decode_results +{ + public: + decode_type_t decode_type; // UNKNOWN, NEC, SONY, RC5, ... + unsigned int address; // Used by Panasonic & Sharp [16-bits] + unsigned long value; // Decoded value [max 32-bits] + int bits; // Number of bits in decoded value + volatile unsigned int *rawbuf; // Raw intervals in 50uS ticks + int rawlen; // Number of records in rawbuf + int overflow; // true iff IR raw code too long +}; + +//------------------------------------------------------------------------------ +// Decoded value for NEC when a repeat code is received +// +#define REPEAT 0xFFFFFFFF + +//------------------------------------------------------------------------------ +// Main class for receiving IR +// +class IRrecv +{ + public: + IRrecv (int recvpin) ; + IRrecv (int recvpin, int blinkpin); + + void blink13 (int blinkflag) ; + int decode (decode_results *results) ; + void enableIRIn ( ) ; + bool isIdle ( ) ; + void resume ( ) ; + + private: + long decodeHash (decode_results *results) ; + int compare (unsigned int oldval, unsigned int newval) ; + + //...................................................................... +# if (DECODE_RC5 || DECODE_RC6) + // This helper function is shared by RC5 and RC6 + int getRClevel (decode_results *results, int *offset, int *used, int t1) ; +# endif +# if DECODE_RC5 + bool decodeRC5 (decode_results *results) ; +# endif +# if DECODE_RC6 + bool decodeRC6 (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_NEC + bool decodeNEC (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_SONY + bool decodeSony (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_PANASONIC + bool decodePanasonic (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_JVC + bool decodeJVC (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_SAMSUNG + bool decodeSAMSUNG (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_WHYNTER + bool decodeWhynter (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_AIWA_RC_T501 + bool decodeAiwaRCT501 (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_LG + bool decodeLG (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_SANYO + bool decodeSanyo (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_MITSUBISHI + bool decodeMitsubishi (decode_results *results) ; +# endif + //...................................................................... +# if DECODE_DISH + bool decodeDish (decode_results *results) ; // NOT WRITTEN +# endif + //...................................................................... +# if DECODE_SHARP + bool decodeSharp (decode_results *results) ; // NOT WRITTEN +# endif + //...................................................................... +# if DECODE_DENON + bool decodeDenon (decode_results *results) ; +# endif +//...................................................................... +# if DECODE_LEGO_PF + bool decodeLegoPowerFunctions (decode_results *results) ; +# endif +} ; + +//------------------------------------------------------------------------------ +// Main class for sending IR +// +class IRsend +{ + public: + IRsend () { } + + void custom_delay_usec (unsigned long uSecs); + void enableIROut (int khz) ; + void mark (unsigned int usec) ; + void space (unsigned int usec) ; + void sendRaw (const unsigned int buf[], unsigned int len, unsigned int hz) ; + + //...................................................................... +# if SEND_RC5 + void sendRC5 (unsigned long data, int nbits) ; +# endif +# if SEND_RC6 + void sendRC6 (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_NEC + void sendNEC (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_SONY + void sendSony (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_PANASONIC + void sendPanasonic (unsigned int address, unsigned long data) ; +# endif + //...................................................................... +# if SEND_JVC + // JVC does NOT repeat by sending a separate code (like NEC does). + // The JVC protocol repeats by skipping the header. + // To send a JVC repeat signal, send the original code value + // and set 'repeat' to true + void sendJVC (unsigned long data, int nbits, bool repeat) ; +# endif + //...................................................................... +# if SEND_SAMSUNG + void sendSAMSUNG (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_WHYNTER + void sendWhynter (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_AIWA_RC_T501 + void sendAiwaRCT501 (int code) ; +# endif + //...................................................................... +# if SEND_LG + void sendLG (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_SANYO + void sendSanyo ( ) ; // NOT WRITTEN +# endif + //...................................................................... +# if SEND_MISUBISHI + void sendMitsubishi ( ) ; // NOT WRITTEN +# endif + //...................................................................... +# if SEND_DISH + void sendDISH (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_SHARP + void sendSharpRaw (unsigned long data, int nbits) ; + void sendSharp (unsigned int address, unsigned int command) ; +# endif + //...................................................................... +# if SEND_DENON + void sendDenon (unsigned long data, int nbits) ; +# endif + //...................................................................... +# if SEND_PRONTO + void sendPronto (char* code, bool repeat, bool fallback) ; +# endif +//...................................................................... +# if SEND_LEGO_PF + void sendLegoPowerFunctions (uint16_t data, bool repeat = true) ; +# endif +} ; + +#endif diff --git a/lib/Arduino-IRremote/IRremoteInt.h b/lib/Arduino-IRremote/IRremoteInt.h new file mode 100644 index 00000000..1c319acb --- /dev/null +++ b/lib/Arduino-IRremote/IRremoteInt.h @@ -0,0 +1,113 @@ +//****************************************************************************** +// IRremote +// Version 2.0.1 June, 2015 +// Copyright 2009 Ken Shirriff +// For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html +// +// Modified by Paul Stoffregen to support other boards and timers +// +// Interrupt code based on NECIRrcv by Joe Knapp +// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556 +// Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/ +// +// JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) +// Whynter A/C ARC-110WD added by Francesco Meschia +//****************************************************************************** + +#ifndef IRremoteint_h +#define IRremoteint_h + +//------------------------------------------------------------------------------ +// Include the right Arduino header +// +#if defined(ARDUINO) && (ARDUINO >= 100) +# include +#else +# if !defined(IRPRONTO) +# include +# endif +#endif + +//------------------------------------------------------------------------------ +// This handles definition and access to global variables +// +#ifdef IR_GLOBAL +# define EXTERN +#else +# define EXTERN extern +#endif + +//------------------------------------------------------------------------------ +// Information for the Interrupt Service Routine +// +#define RAWBUF 101 // Maximum length of raw duration buffer + +typedef + struct { + // The fields are ordered to reduce memory over caused by struct-padding + uint8_t rcvstate; // State Machine state + uint8_t recvpin; // Pin connected to IR data from detector + uint8_t blinkpin; + uint8_t blinkflag; // true -> enable blinking of pin on IR processing + uint8_t rawlen; // counter of entries in rawbuf + unsigned int timer; // State timer, counts 50uS ticks. + unsigned int rawbuf[RAWBUF]; // raw data + uint8_t overflow; // Raw buffer overflow occurred + } +irparams_t; + +// ISR State-Machine : Receiver States +#define STATE_IDLE 2 +#define STATE_MARK 3 +#define STATE_SPACE 4 +#define STATE_STOP 5 +#define STATE_OVERFLOW 6 + +// Allow all parts of the code access to the ISR data +// NB. The data can be changed by the ISR at any time, even mid-function +// Therefore we declare it as "volatile" to stop the compiler/CPU caching it +EXTERN volatile irparams_t irparams; + +//------------------------------------------------------------------------------ +// Defines for setting and clearing register bits +// +#ifndef cbi +# define cbi(sfr, bit) (_SFR_BYTE(sfr) &= ~_BV(bit)) +#endif + +#ifndef sbi +# define sbi(sfr, bit) (_SFR_BYTE(sfr) |= _BV(bit)) +#endif + +//------------------------------------------------------------------------------ +// Pulse parms are ((X*50)-100) for the Mark and ((X*50)+100) for the Space. +// First MARK is the one after the long gap +// Pulse parameters in uSec +// + +// Due to sensor lag, when received, Marks tend to be 100us too long and +// Spaces tend to be 100us too short +#define MARK_EXCESS 100 + +// Upper and Lower percentage tolerances in measurements +#define TOLERANCE 25 +#define LTOL (1.0 - (TOLERANCE/100.)) +#define UTOL (1.0 + (TOLERANCE/100.)) + +// Minimum gap between IR transmissions +#define _GAP 5000 +#define GAP_TICKS (_GAP/USECPERTICK) + +#define TICKS_LOW(us) ((int)(((us)*LTOL/USECPERTICK))) +#define TICKS_HIGH(us) ((int)(((us)*UTOL/USECPERTICK + 1))) + +//------------------------------------------------------------------------------ +// IR detector output is active low +// +#define MARK 0 +#define SPACE 1 + +// All board specific stuff has been moved to its own file, included here. +#include "boarddefs.h" + +#endif diff --git a/lib/Arduino-IRremote/ISSUE_TEMPLATE.md b/lib/Arduino-IRremote/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..98358d0e --- /dev/null +++ b/lib/Arduino-IRremote/ISSUE_TEMPLATE.md @@ -0,0 +1,25 @@ +**Board:** ARDUINO UNO +**Library Version:** 2.1.0 +**Protocol:** Sony (if any) + +**Code Block:** +```c + +#include + +..... + +``` + +Use [a gist](gist.github.com) if the code exceeds 30 lines + +**checklist:** +- [] I have **read** the README.md file thoroughly +- [] I have searched existing issues to see if there is anything I have missed. +- [] The latest [release](https://github.com/z3t0/Arduino-IRremote/releases/latest) is used +- [] Any code referenced is provided and if over 30 lines a gist is linked INSTEAD of it being pasted in here +- [] The title of the issue is helpful and relevant + +** We will start to close issues that do not follow these guidelines as it doesn't help the contributors who spend time trying to solve issues if the community ignores guidelines!** + +The above is a short template allowing you to make detailed issues! diff --git a/lib/Arduino-IRremote/LICENSE.txt b/lib/Arduino-IRremote/LICENSE.txt new file mode 100644 index 00000000..77cec6dd --- /dev/null +++ b/lib/Arduino-IRremote/LICENSE.txt @@ -0,0 +1,458 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + diff --git a/lib/Arduino-IRremote/README.md b/lib/Arduino-IRremote/README.md new file mode 100644 index 00000000..00a4b03b --- /dev/null +++ b/lib/Arduino-IRremote/README.md @@ -0,0 +1,89 @@ +# IRremote Arduino Library + +[![Build Status](https://travis-ci.org/z3t0/Arduino-IRremote.svg?branch=master)](https://travis-ci.org/z3t0/Arduino-IRremote) + +[![Join the chat at https://gitter.im/z3t0/Arduino-IRremote](https://badges.gitter.im/Join%20Chat.svg)](https://gitter.im/z3t0/Arduino-IRremote?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) + +This library enables you to send and receive using infra-red signals on an Arduino. + +Tutorials and more information will be made available on [the official homepage](http://z3t0.github.io/Arduino-IRremote/). + +## Version - 2.2.3 + +## Installation +1. Navigate to the [Releases](https://github.com/z3t0/Arduino-IRremote/releases) page. +2. Download the latest release. +3. Extract the zip file +4. Move the "IRremote" folder that has been extracted to your libraries directory. +5. Make sure to delete Arduino_Root/libraries/RobotIRremote. Where Arduino_Root refers to the install directory of Arduino. The library RobotIRremote has similar definitions to IRremote and causes errors. + + +## FAQ +- IR does not work right when I use Neopixels (aka WS2811/WS2812/WS2812B) +Whether you use the Adafruit Neopixel lib, or FastLED, interrupts get disabled on many lower end CPUs like the basic arduinos. In turn, this stops the IR interrupt handler from running when it needs to. There are some solutions to this on some processors, [see this page from Marc MERLIN](http://marc.merlins.org/perso/arduino/post_2017-04-03_Arduino-328P-Uno-Teensy3_1-ESP8266-ESP32-IR-and-Neopixels.html) + + +## Supported Boards +- Arduino Uno / Mega / Leonardo / Duemilanove / Diecimila / LilyPad / Mini / Fio / Nano etc. +- Teensy 1.0 / 1.0++ / 2.0 / 2++ / 3.0 / 3.1 / Teensy-LC; Credits: @PaulStoffregen (Teensy Team) +- Sanguino +- ATmega8, 48, 88, 168, 328 +- ATmega8535, 16, 32, 164, 324, 644, 1284, +- ATmega64, 128 +- ATtiny 84 / 85 +- ESP32 (receive only) +- ESP8266 is supported in a fork based on an old codebase that isn't as recent, but it works reasonably well given that perfectly timed sub millisecond interrupts are different on that chip. See https://github.com/markszabo/IRremoteESP8266 + +We are open to suggestions for adding support to new boards, however we highly recommend you contact your supplier first and ask them to provide support from their side. + +### Hardware specifications + +| Board/CPU | Send Pin | Timers | +|--------------------------------------------------------------------------|---------------------|-------------------| +| [ATtiny84](https://github.com/SpenceKonde/ATTinyCore) | **6** | **1** | +| [ATtiny85](https://github.com/SpenceKonde/ATTinyCore) | **1** | **TINY0** | +| [ATmega8](https://github.com/MCUdude/MiniCore) | **9** | **1** | +| Atmega32u4 | 5, 9, **13** | 1, 3, **4** | +| [ATmega48, ATmega88, ATmega168, ATmega328](https://github.com/MCUdude/MiniCore) | **3**, 9 | 1, **2** | +| [ATmega1284](https://github.com/MCUdude/MightyCore) | 13, 14, 6 | 1, **2**, 3 | +| [ATmega164, ATmega324, ATmega644](https://github.com/MCUdude/MightyCore) | 13, **14** | 1, **2** | +| [ATmega8535 ATmega16, ATmega32](https://github.com/MCUdude/MightyCore) | **13** | **1** | +| [ATmega64, ATmega128](https://github.com/MCUdude/MegaCore) | **13** | **1** | +| ATmega1280, ATmega2560 | 5, 6, **9**, 11, 46 | 1, **2**, 3, 4, 5 | +| [ESP32](http://esp32.net/) | N/A (not supported) | **1** | +| [Teensy 1.0](https://www.pjrc.com/teensy/) | **17** | **1** | +| [Teensy 2.0](https://www.pjrc.com/teensy/) | 9, **10**, 14 | 1, 3, **4_HS** | +| [Teensy++ 1.0 / 2.0](https://www.pjrc.com/teensy/) | **1**, 16, 25 | 1, **2**, 3 | +| [Teensy 3.0 / 3.1](https://www.pjrc.com/teensy/) | **5** | **CMT** | +| [Teensy-LC](https://www.pjrc.com/teensy/) | **16** | **TPM1** | + + +### Experimental patches +The following are strictly community supported patches that have yet to make it into mainstream. If you have issues feel free to ask here. If it works well then let us know! + +[Arduino 101](https://github.com/z3t0/Arduino-IRremote/pull/481#issuecomment-311243146) + +The table above lists the currently supported timers and corresponding send pins, many of these can have additional pins opened up and we are open to requests if a need arises for other pins. + +## Usage +- TODO (Check examples for now) + +## Contributing +If you want to contribute to this project: +- Report bugs and errors +- Ask for enhancements +- Create issues and pull requests +- Tell other people about this library +- Contribute new protocols + +Check [here](Contributing.md) for some guidelines. + +## Contact +Email: zetoslab@gmail.com +Please only email me if it is more appropriate than creating an Issue / PR. I **will** not respond to requests for adding support for particular boards, unless of course you are the creator of the board and would like to cooperate on the project. I will also **ignore** any emails asking me to tell you how to implement your ideas. However, if you have a private inquiry that you would only apply to you and you would prefer it to be via email, by all means. + +## Contributors +Check [here](Contributors.md) + +## Copyright +Copyright 2009-2012 Ken Shirriff diff --git a/lib/Arduino-IRremote/boarddefs.h b/lib/Arduino-IRremote/boarddefs.h new file mode 100644 index 00000000..17e25513 --- /dev/null +++ b/lib/Arduino-IRremote/boarddefs.h @@ -0,0 +1,577 @@ +//****************************************************************************** +// IRremote +// Version 2.0.1 June, 2015 +// Copyright 2009 Ken Shirriff +// For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html + +// This file contains all board specific information. It was previously contained within +// IRremoteInt.h + +// Modified by Paul Stoffregen to support other boards and timers +// +// Interrupt code based on NECIRrcv by Joe Knapp +// http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556 +// Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/ +// +// JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) +// Whynter A/C ARC-110WD added by Francesco Meschia +//****************************************************************************** + +#ifndef boarddefs_h +#define boarddefs_h + +//------------------------------------------------------------------------------ +// Defines for blinking the LED +// + +#if defined(CORE_LED0_PIN) +# define BLINKLED CORE_LED0_PIN +# define BLINKLED_ON() (digitalWrite(CORE_LED0_PIN, HIGH)) +# define BLINKLED_OFF() (digitalWrite(CORE_LED0_PIN, LOW)) + +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) +# define BLINKLED 13 +# define BLINKLED_ON() (PORTB |= B10000000) +# define BLINKLED_OFF() (PORTB &= B01111111) + +#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega644__) +# define BLINKLED 0 +# define BLINKLED_ON() (PORTD |= B00000001) +# define BLINKLED_OFF() (PORTD &= B11111110) + +// No system LED on ESP32, disable blinking +#elif defined(ESP32) +# define BLINKLED 255 +# define BLINKLED_ON() 1 +# define BLINKLED_OFF() 1 +#else +# define BLINKLED 13 +# define BLINKLED_ON() (PORTB |= B00100000) +# define BLINKLED_OFF() (PORTB &= B11011111) +#endif + +//------------------------------------------------------------------------------ +// CPU Frequency +// +#ifdef F_CPU +# define SYSCLOCK F_CPU // main Arduino clock +#else +# define SYSCLOCK 16000000 // main Arduino clock +#endif + +// microseconds per clock interrupt tick +#define USECPERTICK 50 + +//------------------------------------------------------------------------------ +// Define which timer to use +// +// Uncomment the timer you wish to use on your board. +// If you are using another library which uses timer2, you have options to +// switch IRremote to use a different timer. +// + +// Arduino Mega +#if defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) + //#define IR_USE_TIMER1 // tx = pin 11 + #define IR_USE_TIMER2 // tx = pin 9 + //#define IR_USE_TIMER3 // tx = pin 5 + //#define IR_USE_TIMER4 // tx = pin 6 + //#define IR_USE_TIMER5 // tx = pin 46 + +// Teensy 1.0 +#elif defined(__AVR_AT90USB162__) + #define IR_USE_TIMER1 // tx = pin 17 + +// Teensy 2.0 +#elif defined(__AVR_ATmega32U4__) + //#define IR_USE_TIMER1 // tx = pin 14 + //#define IR_USE_TIMER3 // tx = pin 9 + #define IR_USE_TIMER4_HS // tx = pin 10 + +// Teensy 3.0 / Teensy 3.1 +#elif defined(__MK20DX128__) || defined(__MK20DX256__) || defined(__MK64FX512__) || defined(__MK66FX1M0__) + #define IR_USE_TIMER_CMT // tx = pin 5 + +// Teensy-LC +#elif defined(__MKL26Z64__) + #define IR_USE_TIMER_TPM1 // tx = pin 16 + +// Teensy++ 1.0 & 2.0 +#elif defined(__AVR_AT90USB646__) || defined(__AVR_AT90USB1286__) + //#define IR_USE_TIMER1 // tx = pin 25 + #define IR_USE_TIMER2 // tx = pin 1 + //#define IR_USE_TIMER3 // tx = pin 16 + +// MightyCore - ATmega1284 +#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) + //#define IR_USE_TIMER1 // tx = pin 13 + #define IR_USE_TIMER2 // tx = pin 14 + //#define IR_USE_TIMER3 // tx = pin 6 + +// MightyCore - ATmega164, ATmega324, ATmega644 +#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) \ +|| defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) \ +|| defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega164A__) \ +|| defined(__AVR_ATmega164P__) + //#define IR_USE_TIMER1 // tx = pin 13 + #define IR_USE_TIMER2 // tx = pin 14 + +//MegaCore - ATmega64, ATmega128 +#elif defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) + #define IR_USE_TIMER1 // tx = pin 13 + +// MightyCore - ATmega8535, ATmega16, ATmega32 +#elif defined(__AVR_ATmega8535__) || defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__) + #define IR_USE_TIMER1 // tx = pin 13 + +// Atmega8 +#elif defined(__AVR_ATmega8__) + #define IR_USE_TIMER1 // tx = pin 9 + +// ATtiny84 +#elif defined(__AVR_ATtiny84__) + #define IR_USE_TIMER1 // tx = pin 6 + +//ATtiny85 +#elif defined(__AVR_ATtiny85__) + #define IR_USE_TIMER_TINY0 // tx = pin 1 + +#elif defined(ESP32) + #define IR_TIMER_USE_ESP32 +#else +// Arduino Duemilanove, Diecimila, LilyPad, Mini, Fio, Nano, etc +// ATmega48, ATmega88, ATmega168, ATmega328 + //#define IR_USE_TIMER1 // tx = pin 9 + #define IR_USE_TIMER2 // tx = pin 3 + +#endif + +//------------------------------------------------------------------------------ +// Defines for Timer + +//--------------------------------------------------------- +// Timer2 (8 bits) +// +#if defined(IR_USE_TIMER2) + +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR2A |= _BV(COM2B1)) +#define TIMER_DISABLE_PWM (TCCR2A &= ~(_BV(COM2B1))) +#define TIMER_ENABLE_INTR (TIMSK2 = _BV(OCIE2A)) +#define TIMER_DISABLE_INTR (TIMSK2 = 0) +#define TIMER_INTR_NAME TIMER2_COMPA_vect + +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint8_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR2A = _BV(WGM20); \ + TCCR2B = _BV(WGM22) | _BV(CS20); \ + OCR2A = pwmval; \ + OCR2B = pwmval / 3; \ +}) + +#define TIMER_COUNT_TOP (SYSCLOCK * USECPERTICK / 1000000) + +//----------------- +#if (TIMER_COUNT_TOP < 256) +# define TIMER_CONFIG_NORMAL() ({ \ + TCCR2A = _BV(WGM21); \ + TCCR2B = _BV(CS20); \ + OCR2A = TIMER_COUNT_TOP; \ + TCNT2 = 0; \ + }) +#else +# define TIMER_CONFIG_NORMAL() ({ \ + TCCR2A = _BV(WGM21); \ + TCCR2B = _BV(CS21); \ + OCR2A = TIMER_COUNT_TOP / 8; \ + TCNT2 = 0; \ + }) +#endif + +//----------------- +#if defined(CORE_OC2B_PIN) +# define TIMER_PWM_PIN CORE_OC2B_PIN // Teensy +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) +# define TIMER_PWM_PIN 9 // Arduino Mega +#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) \ +|| defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) \ +|| defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) \ +|| defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega164A__) \ +|| defined(__AVR_ATmega164P__) +# define TIMER_PWM_PIN 14 // MightyCore +#else +# define TIMER_PWM_PIN 3 // Arduino Duemilanove, Diecimila, LilyPad, etc +#endif // ATmega48, ATmega88, ATmega168, ATmega328 + +//--------------------------------------------------------- +// Timer1 (16 bits) +// +#elif defined(IR_USE_TIMER1) + +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR1A |= _BV(COM1A1)) +#define TIMER_DISABLE_PWM (TCCR1A &= ~(_BV(COM1A1))) + +//----------------- +#if defined(__AVR_ATmega8__) || defined(__AVR_ATmega8535__) \ +|| defined(__AVR_ATmega16__) || defined(__AVR_ATmega32__) \ +|| defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) +# define TIMER_ENABLE_INTR (TIMSK |= _BV(OCIE1A)) +# define TIMER_DISABLE_INTR (TIMSK &= ~_BV(OCIE1A)) +#else +# define TIMER_ENABLE_INTR (TIMSK1 = _BV(OCIE1A)) +# define TIMER_DISABLE_INTR (TIMSK1 = 0) +#endif + +//----------------- +#define TIMER_INTR_NAME TIMER1_COMPA_vect + +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint16_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR1A = _BV(WGM11); \ + TCCR1B = _BV(WGM13) | _BV(CS10); \ + ICR1 = pwmval; \ + OCR1A = pwmval / 3; \ +}) + +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR1A = 0; \ + TCCR1B = _BV(WGM12) | _BV(CS10); \ + OCR1A = SYSCLOCK * USECPERTICK / 1000000; \ + TCNT1 = 0; \ +}) + +//----------------- +#if defined(CORE_OC1A_PIN) +# define TIMER_PWM_PIN CORE_OC1A_PIN // Teensy +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) +# define TIMER_PWM_PIN 11 // Arduino Mega +#elif defined(__AVR_ATmega64__) || defined(__AVR_ATmega128__) +# define TIMER_PWM_PIN 13 // MegaCore +#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) \ +|| defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) \ +|| defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) \ +|| defined(__AVR_ATmega324PA__) || defined(__AVR_ATmega164A__) \ +|| defined(__AVR_ATmega164P__) || defined(__AVR_ATmega32__) \ +|| defined(__AVR_ATmega16__) || defined(__AVR_ATmega8535__) +# define TIMER_PWM_PIN 13 // MightyCore +#elif defined(__AVR_ATtiny84__) +# define TIMER_PWM_PIN 6 +#else +# define TIMER_PWM_PIN 9 // Arduino Duemilanove, Diecimila, LilyPad, etc +#endif // ATmega48, ATmega88, ATmega168, ATmega328 + +//--------------------------------------------------------- +// Timer3 (16 bits) +// +#elif defined(IR_USE_TIMER3) + +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR3A |= _BV(COM3A1)) +#define TIMER_DISABLE_PWM (TCCR3A &= ~(_BV(COM3A1))) +#define TIMER_ENABLE_INTR (TIMSK3 = _BV(OCIE3A)) +#define TIMER_DISABLE_INTR (TIMSK3 = 0) +#define TIMER_INTR_NAME TIMER3_COMPA_vect + +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint16_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR3A = _BV(WGM31); \ + TCCR3B = _BV(WGM33) | _BV(CS30); \ + ICR3 = pwmval; \ + OCR3A = pwmval / 3; \ +}) + +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR3A = 0; \ + TCCR3B = _BV(WGM32) | _BV(CS30); \ + OCR3A = SYSCLOCK * USECPERTICK / 1000000; \ + TCNT3 = 0; \ +}) + +//----------------- +#if defined(CORE_OC3A_PIN) +# define TIMER_PWM_PIN CORE_OC3A_PIN // Teensy +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) +# define TIMER_PWM_PIN 5 // Arduino Mega +#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) +# define TIMER_PWM_PIN 6 // MightyCore +#else +# error "Please add OC3A pin number here\n" +#endif + +//--------------------------------------------------------- +// Timer4 (10 bits, high speed option) +// +#elif defined(IR_USE_TIMER4_HS) + +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR4A |= _BV(COM4A1)) +#define TIMER_DISABLE_PWM (TCCR4A &= ~(_BV(COM4A1))) +#define TIMER_ENABLE_INTR (TIMSK4 = _BV(TOIE4)) +#define TIMER_DISABLE_INTR (TIMSK4 = 0) +#define TIMER_INTR_NAME TIMER4_OVF_vect + +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint16_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR4A = (1<> 8; \ + OCR4C = pwmval; \ + TC4H = (pwmval / 3) >> 8; \ + OCR4A = (pwmval / 3) & 255; \ +}) + +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR4A = 0; \ + TCCR4B = _BV(CS40); \ + TCCR4C = 0; \ + TCCR4D = 0; \ + TCCR4E = 0; \ + TC4H = (SYSCLOCK * USECPERTICK / 1000000) >> 8; \ + OCR4C = (SYSCLOCK * USECPERTICK / 1000000) & 255; \ + TC4H = 0; \ + TCNT4 = 0; \ +}) + +//----------------- +#if defined(CORE_OC4A_PIN) +# define TIMER_PWM_PIN CORE_OC4A_PIN // Teensy +#elif defined(__AVR_ATmega32U4__) +# define TIMER_PWM_PIN 13 // Leonardo +#else +# error "Please add OC4A pin number here\n" +#endif + +//--------------------------------------------------------- +// Timer4 (16 bits) +// +#elif defined(IR_USE_TIMER4) + +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR4A |= _BV(COM4A1)) +#define TIMER_DISABLE_PWM (TCCR4A &= ~(_BV(COM4A1))) +#define TIMER_ENABLE_INTR (TIMSK4 = _BV(OCIE4A)) +#define TIMER_DISABLE_INTR (TIMSK4 = 0) +#define TIMER_INTR_NAME TIMER4_COMPA_vect + +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint16_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR4A = _BV(WGM41); \ + TCCR4B = _BV(WGM43) | _BV(CS40); \ + ICR4 = pwmval; \ + OCR4A = pwmval / 3; \ +}) + +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR4A = 0; \ + TCCR4B = _BV(WGM42) | _BV(CS40); \ + OCR4A = SYSCLOCK * USECPERTICK / 1000000; \ + TCNT4 = 0; \ +}) + +//----------------- +#if defined(CORE_OC4A_PIN) +# define TIMER_PWM_PIN CORE_OC4A_PIN +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) +# define TIMER_PWM_PIN 6 // Arduino Mega +#else +# error "Please add OC4A pin number here\n" +#endif + +//--------------------------------------------------------- +// Timer5 (16 bits) +// +#elif defined(IR_USE_TIMER5) + +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR5A |= _BV(COM5A1)) +#define TIMER_DISABLE_PWM (TCCR5A &= ~(_BV(COM5A1))) +#define TIMER_ENABLE_INTR (TIMSK5 = _BV(OCIE5A)) +#define TIMER_DISABLE_INTR (TIMSK5 = 0) +#define TIMER_INTR_NAME TIMER5_COMPA_vect + +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint16_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR5A = _BV(WGM51); \ + TCCR5B = _BV(WGM53) | _BV(CS50); \ + ICR5 = pwmval; \ + OCR5A = pwmval / 3; \ +}) + +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR5A = 0; \ + TCCR5B = _BV(WGM52) | _BV(CS50); \ + OCR5A = SYSCLOCK * USECPERTICK / 1000000; \ + TCNT5 = 0; \ +}) + +//----------------- +#if defined(CORE_OC5A_PIN) +# define TIMER_PWM_PIN CORE_OC5A_PIN +#elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) +# define TIMER_PWM_PIN 46 // Arduino Mega +#else +# error "Please add OC5A pin number here\n" +#endif + +//--------------------------------------------------------- +// Special carrier modulator timer +// +#elif defined(IR_USE_TIMER_CMT) + +#define TIMER_RESET ({ \ + uint8_t tmp __attribute__((unused)) = CMT_MSC; \ + CMT_CMD2 = 30; \ +}) + +#define TIMER_ENABLE_PWM do { \ + CORE_PIN5_CONFIG = PORT_PCR_MUX(2) | PORT_PCR_DSE | PORT_PCR_SRE; \ +} while(0) + +#define TIMER_DISABLE_PWM do { \ + CORE_PIN5_CONFIG = PORT_PCR_MUX(1) | PORT_PCR_DSE | PORT_PCR_SRE; \ +} while(0) + +#define TIMER_ENABLE_INTR NVIC_ENABLE_IRQ(IRQ_CMT) +#define TIMER_DISABLE_INTR NVIC_DISABLE_IRQ(IRQ_CMT) +#define TIMER_INTR_NAME cmt_isr + +//----------------- +#ifdef ISR +# undef ISR +#endif +#define ISR(f) void f(void) + +//----------------- +#define CMT_PPS_DIV ((F_BUS + 7999999) / 8000000) +#if F_BUS < 8000000 +#error IRremote requires at least 8 MHz on Teensy 3.x +#endif + +//----------------- +#define TIMER_CONFIG_KHZ(val) ({ \ + SIM_SCGC4 |= SIM_SCGC4_CMT; \ + SIM_SOPT2 |= SIM_SOPT2_PTD7PAD; \ + CMT_PPS = CMT_PPS_DIV - 1; \ + CMT_CGH1 = ((F_BUS / CMT_PPS_DIV / 3000) + ((val)/2)) / (val); \ + CMT_CGL1 = ((F_BUS / CMT_PPS_DIV / 1500) + ((val)/2)) / (val); \ + CMT_CMD1 = 0; \ + CMT_CMD2 = 30; \ + CMT_CMD3 = 0; \ + CMT_CMD4 = 0; \ + CMT_OC = 0x60; \ + CMT_MSC = 0x01; \ +}) + +#define TIMER_CONFIG_NORMAL() ({ \ + SIM_SCGC4 |= SIM_SCGC4_CMT; \ + CMT_PPS = CMT_PPS_DIV - 1; \ + CMT_CGH1 = 1; \ + CMT_CGL1 = 1; \ + CMT_CMD1 = 0; \ + CMT_CMD2 = 30; \ + CMT_CMD3 = 0; \ + CMT_CMD4 = (F_BUS / 160000 + CMT_PPS_DIV / 2) / CMT_PPS_DIV - 31; \ + CMT_OC = 0; \ + CMT_MSC = 0x03; \ +}) + +#define TIMER_PWM_PIN 5 + +// defines for TPM1 timer on Teensy-LC +#elif defined(IR_USE_TIMER_TPM1) +#define TIMER_RESET FTM1_SC |= FTM_SC_TOF; +#define TIMER_ENABLE_PWM CORE_PIN16_CONFIG = PORT_PCR_MUX(3)|PORT_PCR_DSE|PORT_PCR_SRE +#define TIMER_DISABLE_PWM CORE_PIN16_CONFIG = PORT_PCR_MUX(1)|PORT_PCR_SRE +#define TIMER_ENABLE_INTR NVIC_ENABLE_IRQ(IRQ_FTM1) +#define TIMER_DISABLE_INTR NVIC_DISABLE_IRQ(IRQ_FTM1) +#define TIMER_INTR_NAME ftm1_isr +#ifdef ISR +#undef ISR +#endif +#define ISR(f) void f(void) +#define TIMER_CONFIG_KHZ(val) ({ \ + SIM_SCGC6 |= SIM_SCGC6_TPM1; \ + FTM1_SC = 0; \ + FTM1_CNT = 0; \ + FTM1_MOD = (F_PLL/2000) / val - 1; \ + FTM1_C0V = (F_PLL/6000) / val - 1; \ + FTM1_SC = FTM_SC_CLKS(1) | FTM_SC_PS(0); \ +}) +#define TIMER_CONFIG_NORMAL() ({ \ + SIM_SCGC6 |= SIM_SCGC6_TPM1; \ + FTM1_SC = 0; \ + FTM1_CNT = 0; \ + FTM1_MOD = (F_PLL/40000) - 1; \ + FTM1_C0V = 0; \ + FTM1_SC = FTM_SC_CLKS(1) | FTM_SC_PS(0) | FTM_SC_TOF | FTM_SC_TOIE; \ +}) +#define TIMER_PWM_PIN 16 + +// defines for timer_tiny0 (8 bits) +#elif defined(IR_USE_TIMER_TINY0) +#define TIMER_RESET +#define TIMER_ENABLE_PWM (TCCR0A |= _BV(COM0B1)) +#define TIMER_DISABLE_PWM (TCCR0A &= ~(_BV(COM0B1))) +#define TIMER_ENABLE_INTR (TIMSK |= _BV(OCIE0A)) +#define TIMER_DISABLE_INTR (TIMSK &= ~(_BV(OCIE0A))) +#define TIMER_INTR_NAME TIMER0_COMPA_vect +#define TIMER_CONFIG_KHZ(val) ({ \ + const uint8_t pwmval = SYSCLOCK / 2000 / (val); \ + TCCR0A = _BV(WGM00); \ + TCCR0B = _BV(WGM02) | _BV(CS00); \ + OCR0A = pwmval; \ + OCR0B = pwmval / 3; \ +}) +#define TIMER_COUNT_TOP (SYSCLOCK * USECPERTICK / 1000000) +#if (TIMER_COUNT_TOP < 256) +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR0A = _BV(WGM01); \ + TCCR0B = _BV(CS00); \ + OCR0A = TIMER_COUNT_TOP; \ + TCNT0 = 0; \ +}) +#else +#define TIMER_CONFIG_NORMAL() ({ \ + TCCR0A = _BV(WGM01); \ + TCCR0B = _BV(CS01); \ + OCR0A = TIMER_COUNT_TOP / 8; \ + TCNT0 = 0; \ +}) +#endif + +#define TIMER_PWM_PIN 1 /* ATtiny85 */ + +//--------------------------------------------------------- +// ESP32 (ESP8266 should likely be added here too) +// + +// ESP32 has it own timer API and does not use these macros, but to avoid ifdef'ing +// them out in the common code, they are defined to no-op. This allows the code to compile +// (which it wouldn't otherwise) but irsend will not work until ESP32 specific code is written +// for that -- merlin +// As a warning, sending timing specific code from an ESP32 can be challenging if you need 100% +// reliability because the arduino code may be interrupted and cause your sent waveform to be the +// wrong length. This is specifically an issue for neopixels which require 800Khz resolution. +// IR may just work as is with the common code since it's lower frequency, but if not, the other +// way to do this on ESP32 is using the RMT built in driver like in this incomplete library below +// https://github.com/ExploreEmbedded/ESP32_RMT +#elif defined(IR_TIMER_USE_ESP32) +#define TIMER_RESET +#define TIMER_ENABLE_PWM +#define TIMER_DISABLE_PWM Serial.println("IRsend not implemented for ESP32 yet"); +#define TIMER_ENABLE_INTR +#define TIMER_DISABLE_INTR +#define TIMER_INTR_NAME + +//--------------------------------------------------------- +// Unknown Timer +// +#else +# error "Internal code configuration error, no known IR_USE_TIMER# defined\n" +#endif + +#endif // ! boarddefs_h diff --git a/lib/Arduino-IRremote/changelog.md b/lib/Arduino-IRremote/changelog.md new file mode 100644 index 00000000..81339f2e --- /dev/null +++ b/lib/Arduino-IRremote/changelog.md @@ -0,0 +1,78 @@ +## 2.3.3 - 2017/03/31 +- Added ESP32 IR receive support [PR #427](https://github.com/z3t0/Arduino-IRremote/pull/425) + +## 2.2.3 - 2017/03/27 +- Fix calculation of pause length in LEGO PF protocol [PR #427](https://github.com/z3t0/Arduino-IRremote/pull/427) + +## 2.2.2 - 2017/01/20 +- Fixed naming bug [PR #398](https://github.com/z3t0/Arduino-IRremote/pull/398) + +## 2.2.1 - 2016/07/27 +- Added tests for Lego Power Functions Protocol [PR #336](https://github.com/z3t0/Arduino-IRremote/pull/336) + +## 2.2.0 - 2016/06/28 +- Added support for ATmega8535 +- Added support for ATmega16 +- Added support for ATmega32 +- Added support for ATmega164 +- Added support for ATmega324 +- Added support for ATmega644 +- Added support for ATmega1284 +- Added support for ATmega64 +- Added support for ATmega128 + +[PR](https://github.com/z3t0/Arduino-IRremote/pull/324) + +## 2.1.1 - 2016/05/04 +- Added Lego Power Functions Protocol [PR #309](https://github.com/z3t0/Arduino-IRremote/pull/309) + +## 2.1.0 - 2016/02/20 +- Improved Debugging [PR #258](https://github.com/z3t0/Arduino-IRremote/pull/258) +- Display TIME instead of TICKS [PR #258](https://github.com/z3t0/Arduino-IRremote/pull/258) + +## 2.0.4 - 2016/02/20 +- Add Panasonic and JVC to IRrecord example [PR](https://github.com/z3t0/Arduino-IRremote/pull/54) + +## 2.0.3 - 2016/02/20 +- Change IRSend Raw parameter to const [PR](https://github.com/z3t0/Arduino-IRremote/pull/227) + +## 2.0.2 - 2015/12/02 +- Added IRremoteInfo Sketch - [PR](https://github.com/z3t0/Arduino-IRremote/pull/241) +- Enforcing changelog.md + +## 2.0.1 - 2015/07/26 - [Release](https://github.com/shirriff/Arduino-IRremote/releases/tag/BETA) +### Changes +- Updated README +- Updated Contributors +- Fixed #110 Mess +- Created Gitter Room +- Added Gitter Badge +- Standardised Code Base +- Clean Debug Output +- Optimized Send Loops +- Modularized Design +- Optimized and Updated Examples +- Improved Documentation +- Fixed and Improved many coding errors +- Fixed Aiwa RC-T501 Decoding +- Fixed Interrupt on ATmega8 +- Switched to Stable Release of @PlatformIO + +### Additions +- Added Aiwa RC-T501 Protocol +- Added Denon Protocol +- Added Pronto Support +- Added Library Properties +- Added Template For New Protocols +- Added this changelog +- Added Teensy LC Support +- Added ATtiny84 Support +- Added ATtiny85 Support +- Added isIdle method + +### Deletions +- Removed (Fixed) #110 +- Broke Teensy 3 / 3.1 Support + +### Not Working +- Teensy 3 / 3.1 Support is in Development diff --git a/lib/Arduino-IRremote/examples/AiwaRCT501SendDemo/AiwaRCT501SendDemo.ino b/lib/Arduino-IRremote/examples/AiwaRCT501SendDemo/AiwaRCT501SendDemo.ino new file mode 100644 index 00000000..5a9862bf --- /dev/null +++ b/lib/Arduino-IRremote/examples/AiwaRCT501SendDemo/AiwaRCT501SendDemo.ino @@ -0,0 +1,26 @@ +/* + * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend + * An IR LED must be connected to Arduino PWM pin 3. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + */ + +#include "IRremote.h" + +#define POWER 0x7F80 +#define AIWA_RC_T501 + +IRsend irsend; + +void setup() { + Serial.begin(9600); + Serial.println("Arduino Ready"); +} + +void loop() { + if (Serial.read() != -1) { + irsend.sendAiwaRCT501(POWER); + delay(60); // Optional + } +} diff --git a/lib/Arduino-IRremote/examples/IRrecord/IRrecord.ino b/lib/Arduino-IRremote/examples/IRrecord/IRrecord.ino new file mode 100644 index 00000000..a121e590 --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRrecord/IRrecord.ino @@ -0,0 +1,183 @@ +/* + * IRrecord: record and play back IR signals as a minimal + * An IR detector/demodulator must be connected to the input RECV_PIN. + * An IR LED must be connected to the output PWM pin 3. + * A button must be connected to the input BUTTON_PIN; this is the + * send button. + * A visible LED can be connected to STATUS_PIN to provide status. + * + * The logic is: + * If the button is pressed, send the IR code. + * If an IR code is received, record it. + * + * Version 0.11 September, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + */ + +#include + +int RECV_PIN = 11; +int BUTTON_PIN = 12; +int STATUS_PIN = 13; + +IRrecv irrecv(RECV_PIN); +IRsend irsend; + +decode_results results; + +void setup() +{ + Serial.begin(9600); + irrecv.enableIRIn(); // Start the receiver + pinMode(BUTTON_PIN, INPUT); + pinMode(STATUS_PIN, OUTPUT); +} + +// Storage for the recorded code +int codeType = -1; // The type of code +unsigned long codeValue; // The code value if not raw +unsigned int rawCodes[RAWBUF]; // The durations if raw +int codeLen; // The length of the code +int toggle = 0; // The RC5/6 toggle state + +// Stores the code for later playback +// Most of this code is just logging +void storeCode(decode_results *results) { + codeType = results->decode_type; + //int count = results->rawlen; + if (codeType == UNKNOWN) { + Serial.println("Received unknown code, saving as raw"); + codeLen = results->rawlen - 1; + // To store raw codes: + // Drop first value (gap) + // Convert from ticks to microseconds + // Tweak marks shorter, and spaces longer to cancel out IR receiver distortion + for (int i = 1; i <= codeLen; i++) { + if (i % 2) { + // Mark + rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK - MARK_EXCESS; + Serial.print(" m"); + } + else { + // Space + rawCodes[i - 1] = results->rawbuf[i]*USECPERTICK + MARK_EXCESS; + Serial.print(" s"); + } + Serial.print(rawCodes[i - 1], DEC); + } + Serial.println(""); + } + else { + if (codeType == NEC) { + Serial.print("Received NEC: "); + if (results->value == REPEAT) { + // Don't record a NEC repeat value as that's useless. + Serial.println("repeat; ignoring."); + return; + } + } + else if (codeType == SONY) { + Serial.print("Received SONY: "); + } + else if (codeType == PANASONIC) { + Serial.print("Received PANASONIC: "); + } + else if (codeType == JVC) { + Serial.print("Received JVC: "); + } + else if (codeType == RC5) { + Serial.print("Received RC5: "); + } + else if (codeType == RC6) { + Serial.print("Received RC6: "); + } + else { + Serial.print("Unexpected codeType "); + Serial.print(codeType, DEC); + Serial.println(""); + } + Serial.println(results->value, HEX); + codeValue = results->value; + codeLen = results->bits; + } +} + +void sendCode(int repeat) { + if (codeType == NEC) { + if (repeat) { + irsend.sendNEC(REPEAT, codeLen); + Serial.println("Sent NEC repeat"); + } + else { + irsend.sendNEC(codeValue, codeLen); + Serial.print("Sent NEC "); + Serial.println(codeValue, HEX); + } + } + else if (codeType == SONY) { + irsend.sendSony(codeValue, codeLen); + Serial.print("Sent Sony "); + Serial.println(codeValue, HEX); + } + else if (codeType == PANASONIC) { + irsend.sendPanasonic(codeValue, codeLen); + Serial.print("Sent Panasonic"); + Serial.println(codeValue, HEX); + } + else if (codeType == JVC) { + irsend.sendJVC(codeValue, codeLen, false); + Serial.print("Sent JVC"); + Serial.println(codeValue, HEX); + } + else if (codeType == RC5 || codeType == RC6) { + if (!repeat) { + // Flip the toggle bit for a new button press + toggle = 1 - toggle; + } + // Put the toggle bit into the code to send + codeValue = codeValue & ~(1 << (codeLen - 1)); + codeValue = codeValue | (toggle << (codeLen - 1)); + if (codeType == RC5) { + Serial.print("Sent RC5 "); + Serial.println(codeValue, HEX); + irsend.sendRC5(codeValue, codeLen); + } + else { + irsend.sendRC6(codeValue, codeLen); + Serial.print("Sent RC6 "); + Serial.println(codeValue, HEX); + } + } + else if (codeType == UNKNOWN /* i.e. raw */) { + // Assume 38 KHz + irsend.sendRaw(rawCodes, codeLen, 38); + Serial.println("Sent raw"); + } +} + +int lastButtonState; + +void loop() { + // If button pressed, send the code. + int buttonState = digitalRead(BUTTON_PIN); + if (lastButtonState == HIGH && buttonState == LOW) { + Serial.println("Released"); + irrecv.enableIRIn(); // Re-enable receiver + } + + if (buttonState) { + Serial.println("Pressed, sending"); + digitalWrite(STATUS_PIN, HIGH); + sendCode(lastButtonState == buttonState); + digitalWrite(STATUS_PIN, LOW); + delay(50); // Wait a bit between retransmissions + } + else if (irrecv.decode(&results)) { + digitalWrite(STATUS_PIN, HIGH); + storeCode(&results); + irrecv.resume(); // resume receiver + digitalWrite(STATUS_PIN, LOW); + } + lastButtonState = buttonState; +} diff --git a/lib/Arduino-IRremote/examples/IRrecvDemo/IRrecvDemo.ino b/lib/Arduino-IRremote/examples/IRrecvDemo/IRrecvDemo.ino new file mode 100644 index 00000000..3e2d280e --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRrecvDemo/IRrecvDemo.ino @@ -0,0 +1,33 @@ +/* + * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + */ + +#include + +int RECV_PIN = 11; + +IRrecv irrecv(RECV_PIN); + +decode_results results; + +void setup() +{ + Serial.begin(9600); + // In case the interrupt driver crashes on setup, give a clue + // to the user what's going on. + Serial.println("Enabling IRin"); + irrecv.enableIRIn(); // Start the receiver + Serial.println("Enabled IRin"); +} + +void loop() { + if (irrecv.decode(&results)) { + Serial.println(results.value, HEX); + irrecv.resume(); // Receive the next value + } + delay(100); +} diff --git a/lib/Arduino-IRremote/examples/IRrecvDump/IRrecvDump.ino b/lib/Arduino-IRremote/examples/IRrecvDump/IRrecvDump.ino new file mode 100644 index 00000000..fa25cd8e --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRrecvDump/IRrecvDump.ino @@ -0,0 +1,95 @@ +/* + * IRremote: IRrecvDump - dump details of IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) + * LG added by Darryl Smith (based on the JVC protocol) + */ + +#include + +/* +* Default is Arduino pin D11. +* You can change this to another available Arduino Pin. +* Your IR receiver should be connected to the pin defined here +*/ +int RECV_PIN = 11; + +IRrecv irrecv(RECV_PIN); + +decode_results results; + +void setup() +{ + Serial.begin(9600); + irrecv.enableIRIn(); // Start the receiver +} + + +void dump(decode_results *results) { + // Dumps out the decode_results structure. + // Call this after IRrecv::decode() + int count = results->rawlen; + if (results->decode_type == UNKNOWN) { + Serial.print("Unknown encoding: "); + } + else if (results->decode_type == NEC) { + Serial.print("Decoded NEC: "); + + } + else if (results->decode_type == SONY) { + Serial.print("Decoded SONY: "); + } + else if (results->decode_type == RC5) { + Serial.print("Decoded RC5: "); + } + else if (results->decode_type == RC6) { + Serial.print("Decoded RC6: "); + } + else if (results->decode_type == PANASONIC) { + Serial.print("Decoded PANASONIC - Address: "); + Serial.print(results->address, HEX); + Serial.print(" Value: "); + } + else if (results->decode_type == LG) { + Serial.print("Decoded LG: "); + } + else if (results->decode_type == JVC) { + Serial.print("Decoded JVC: "); + } + else if (results->decode_type == AIWA_RC_T501) { + Serial.print("Decoded AIWA RC T501: "); + } + else if (results->decode_type == WHYNTER) { + Serial.print("Decoded Whynter: "); + } + Serial.print(results->value, HEX); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); + Serial.print("Raw ("); + Serial.print(count, DEC); + Serial.print("): "); + + for (int i = 1; i < count; i++) { + if (i & 1) { + Serial.print(results->rawbuf[i]*USECPERTICK, DEC); + } + else { + Serial.write('-'); + Serial.print((unsigned long) results->rawbuf[i]*USECPERTICK, DEC); + } + Serial.print(" "); + } + Serial.println(); +} + +void loop() { + if (irrecv.decode(&results)) { + Serial.println(results.value, HEX); + dump(&results); + irrecv.resume(); // Receive the next value + } +} diff --git a/lib/Arduino-IRremote/examples/IRrecvDumpV2/IRrecvDumpV2.ino b/lib/Arduino-IRremote/examples/IRrecvDumpV2/IRrecvDumpV2.ino new file mode 100644 index 00000000..72561273 --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRrecvDumpV2/IRrecvDumpV2.ino @@ -0,0 +1,177 @@ +//------------------------------------------------------------------------------ +// Include the IRremote library header +// +#include + +//------------------------------------------------------------------------------ +// Tell IRremote which Arduino pin is connected to the IR Receiver (TSOP4838) +// +int recvPin = 11; +IRrecv irrecv(recvPin); + +//+============================================================================= +// Configure the Arduino +// +void setup ( ) +{ + Serial.begin(9600); // Status message will be sent to PC at 9600 baud + irrecv.enableIRIn(); // Start the receiver +} + +//+============================================================================= +// Display IR code +// +void ircode (decode_results *results) +{ + // Panasonic has an Address + if (results->decode_type == PANASONIC) { + Serial.print(results->address, HEX); + Serial.print(":"); + } + + // Print Code + Serial.print(results->value, HEX); +} + +//+============================================================================= +// Display encoding type +// +void encoding (decode_results *results) +{ + switch (results->decode_type) { + default: + case UNKNOWN: Serial.print("UNKNOWN"); break ; + case NEC: Serial.print("NEC"); break ; + case SONY: Serial.print("SONY"); break ; + case RC5: Serial.print("RC5"); break ; + case RC6: Serial.print("RC6"); break ; + case DISH: Serial.print("DISH"); break ; + case SHARP: Serial.print("SHARP"); break ; + case JVC: Serial.print("JVC"); break ; + case SANYO: Serial.print("SANYO"); break ; + case MITSUBISHI: Serial.print("MITSUBISHI"); break ; + case SAMSUNG: Serial.print("SAMSUNG"); break ; + case LG: Serial.print("LG"); break ; + case WHYNTER: Serial.print("WHYNTER"); break ; + case AIWA_RC_T501: Serial.print("AIWA_RC_T501"); break ; + case PANASONIC: Serial.print("PANASONIC"); break ; + case DENON: Serial.print("Denon"); break ; + } +} + +//+============================================================================= +// Dump out the decode_results structure. +// +void dumpInfo (decode_results *results) +{ + // Check if the buffer overflowed + if (results->overflow) { + Serial.println("IR code too long. Edit IRremoteInt.h and increase RAWBUF"); + return; + } + + // Show Encoding standard + Serial.print("Encoding : "); + encoding(results); + Serial.println(""); + + // Show Code & length + Serial.print("Code : "); + ircode(results); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); +} + +//+============================================================================= +// Dump out the decode_results structure. +// +void dumpRaw (decode_results *results) +{ + // Print Raw data + Serial.print("Timing["); + Serial.print(results->rawlen-1, DEC); + Serial.println("]: "); + + for (int i = 1; i < results->rawlen; i++) { + unsigned long x = results->rawbuf[i] * USECPERTICK; + if (!(i & 1)) { // even + Serial.print("-"); + if (x < 1000) Serial.print(" ") ; + if (x < 100) Serial.print(" ") ; + Serial.print(x, DEC); + } else { // odd + Serial.print(" "); + Serial.print("+"); + if (x < 1000) Serial.print(" ") ; + if (x < 100) Serial.print(" ") ; + Serial.print(x, DEC); + if (i < results->rawlen-1) Serial.print(", "); //',' not needed for last one + } + if (!(i % 8)) Serial.println(""); + } + Serial.println(""); // Newline +} + +//+============================================================================= +// Dump out the decode_results structure. +// +void dumpCode (decode_results *results) +{ + // Start declaration + Serial.print("unsigned int "); // variable type + Serial.print("rawData["); // array name + Serial.print(results->rawlen - 1, DEC); // array size + Serial.print("] = {"); // Start declaration + + // Dump data + for (int i = 1; i < results->rawlen; i++) { + Serial.print(results->rawbuf[i] * USECPERTICK, DEC); + if ( i < results->rawlen-1 ) Serial.print(","); // ',' not needed on last one + if (!(i & 1)) Serial.print(" "); + } + + // End declaration + Serial.print("};"); // + + // Comment + Serial.print(" // "); + encoding(results); + Serial.print(" "); + ircode(results); + + // Newline + Serial.println(""); + + // Now dump "known" codes + if (results->decode_type != UNKNOWN) { + + // Some protocols have an address + if (results->decode_type == PANASONIC) { + Serial.print("unsigned int addr = 0x"); + Serial.print(results->address, HEX); + Serial.println(";"); + } + + // All protocols have data + Serial.print("unsigned int data = 0x"); + Serial.print(results->value, HEX); + Serial.println(";"); + } +} + +//+============================================================================= +// The repeating section of the code +// +void loop ( ) +{ + decode_results results; // Somewhere to store the results + + if (irrecv.decode(&results)) { // Grab an IR code + dumpInfo(&results); // Output the results + dumpRaw(&results); // Output the results in RAW format + dumpCode(&results); // Output the results as source code + Serial.println(""); // Blank line between entries + irrecv.resume(); // Prepare for the next value + } +} diff --git a/lib/Arduino-IRremote/examples/IRrelay/IRrelay.ino b/lib/Arduino-IRremote/examples/IRrelay/IRrelay.ino new file mode 100644 index 00000000..046fb5fa --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRrelay/IRrelay.ino @@ -0,0 +1,85 @@ +/* + * IRremote: IRrecvDemo - demonstrates receiving IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + */ + +#include + +int RECV_PIN = 11; +int RELAY_PIN = 4; + +IRrecv irrecv(RECV_PIN); +decode_results results; + +// Dumps out the decode_results structure. +// Call this after IRrecv::decode() +// void * to work around compiler issue +//void dump(void *v) { +// decode_results *results = (decode_results *)v +void dump(decode_results *results) { + int count = results->rawlen; + if (results->decode_type == UNKNOWN) { + Serial.println("Could not decode message"); + } + else { + if (results->decode_type == NEC) { + Serial.print("Decoded NEC: "); + } + else if (results->decode_type == SONY) { + Serial.print("Decoded SONY: "); + } + else if (results->decode_type == RC5) { + Serial.print("Decoded RC5: "); + } + else if (results->decode_type == RC6) { + Serial.print("Decoded RC6: "); + } + Serial.print(results->value, HEX); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); + } + Serial.print("Raw ("); + Serial.print(count, DEC); + Serial.print("): "); + + for (int i = 0; i < count; i++) { + if ((i % 2) == 1) { + Serial.print(results->rawbuf[i]*USECPERTICK, DEC); + } + else { + Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC); + } + Serial.print(" "); + } + Serial.println(""); +} + +void setup() +{ + pinMode(RELAY_PIN, OUTPUT); + pinMode(13, OUTPUT); + Serial.begin(9600); + irrecv.enableIRIn(); // Start the receiver +} + +int on = 0; +unsigned long last = millis(); + +void loop() { + if (irrecv.decode(&results)) { + // If it's been at least 1/4 second since the last + // IR received, toggle the relay + if (millis() - last > 250) { + on = !on; + digitalWrite(RELAY_PIN, on ? HIGH : LOW); + digitalWrite(13, on ? HIGH : LOW); + dump(&results); + } + last = millis(); + irrecv.resume(); // Receive the next value + } +} diff --git a/lib/Arduino-IRremote/examples/IRremoteInfo/IRremoteInfo.ino b/lib/Arduino-IRremote/examples/IRremoteInfo/IRremoteInfo.ino new file mode 100644 index 00000000..2a269d94 --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRremoteInfo/IRremoteInfo.ino @@ -0,0 +1,230 @@ +/* + * IRremote: IRremoteInfo - prints relevant config info & settings for IRremote over serial + * Intended to help identify & troubleshoot the various settings of IRremote + * For example, sometimes users are unsure of which pin is used for Tx or the RAWBUF values + * This example can be used to assist the user directly or with support. + * Intended to help identify & troubleshoot the various settings of IRremote + * Hopefully this utility will be a useful tool for support & troubleshooting for IRremote + * Check out the blog post describing the sketch via http://www.analysir.com/blog/2015/11/28/helper-utility-for-troubleshooting-irremote/ + * Version 1.0 November 2015 + * Original Author: AnalysIR - IR software & modules for Makers & Pros, visit http://www.AnalysIR.com + */ + + +#include + +void setup() +{ + Serial.begin(115200); //You may alter the BAUD rate here as needed + while (!Serial); //wait until Serial is established - required on some Platforms + + //Runs only once per restart of the Arduino. + dumpHeader(); + dumpRAWBUF(); + dumpTIMER(); + dumpTimerPin(); + dumpClock(); + dumpPlatform(); + dumpPulseParams(); + dumpSignalParams(); + dumpArduinoIDE(); + dumpDebugMode(); + dumpProtocols(); + dumpFooter(); +} + +void loop() { + //nothing to do! +} + +void dumpRAWBUF() { + Serial.print(F("RAWBUF: ")); + Serial.println(RAWBUF); +} + +void dumpTIMER() { + boolean flag = false; +#ifdef IR_USE_TIMER1 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer1")); flag = true; +#endif +#ifdef IR_USE_TIMER2 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer2")); flag = true; +#endif +#ifdef IR_USE_TIMER3 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer3")); flag = true; +#endif +#ifdef IR_USE_TIMER4 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer4")); flag = true; +#endif +#ifdef IR_USE_TIMER5 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer5")); flag = true; +#endif +#ifdef IR_USE_TIMER4_HS + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer4_HS")); flag = true; +#endif +#ifdef IR_USE_TIMER_CMT + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer_CMT")); flag = true; +#endif +#ifdef IR_USE_TIMER_TPM1 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer_TPM1")); flag = true; +#endif +#ifdef IR_USE_TIMER_TINY0 + Serial.print(F("Timer defined for use: ")); Serial.println(F("Timer_TINY0")); flag = true; +#endif + + if (!flag) { + Serial.print(F("Timer Error: ")); Serial.println(F("not defined")); + } +} + +void dumpTimerPin() { + Serial.print(F("IR Tx Pin: ")); + Serial.println(TIMER_PWM_PIN); +} + +void dumpClock() { + Serial.print(F("MCU Clock: ")); + Serial.println(F_CPU); +} + +void dumpPlatform() { + Serial.print(F("MCU Platform: ")); + +#if defined(__AVR_ATmega1280__) + Serial.println(F("Arduino Mega1280")); +#elif defined(__AVR_ATmega2560__) + Serial.println(F("Arduino Mega2560")); +#elif defined(__AVR_AT90USB162__) + Serial.println(F("Teensy 1.0 / AT90USB162")); + // Teensy 2.0 +#elif defined(__AVR_ATmega32U4__) + Serial.println(F("Arduino Leonardo / Yun / Teensy 1.0 / ATmega32U4")); +#elif defined(__MK20DX128__) || defined(__MK20DX256__) + Serial.println(F("Teensy 3.0 / Teensy 3.1 / MK20DX128 / MK20DX256")); +#elif defined(__MKL26Z64__) + Serial.println(F("Teensy-LC / MKL26Z64")); +#elif defined(__AVR_AT90USB646__) + Serial.println(F("Teensy++ 1.0 / AT90USB646")); +#elif defined(__AVR_AT90USB1286__) + Serial.println(F("Teensy++ 2.0 / AT90USB1286")); +#elif defined(__AVR_ATmega1284__) || defined(__AVR_ATmega1284P__) + Serial.println(F("ATmega1284")); +#elif defined(__AVR_ATmega644__) || defined(__AVR_ATmega644P__) + Serial.println(F("ATmega644")); +#elif defined(__AVR_ATmega324P__) || defined(__AVR_ATmega324A__) || defined(__AVR_ATmega324PA__) + Serial.println(F("ATmega324")); +#elif defined(__AVR_ATmega164A__) || defined(__AVR_ATmega164P__) + Serial.println(F("ATmega164")); +#elif defined(__AVR_ATmega128__) + Serial.println(F("ATmega128")); +#elif defined(__AVR_ATmega88__) || defined(__AVR_ATmega88P__) + Serial.println(F("ATmega88")); +#elif defined(__AVR_ATmega64__) + Serial.println(F("ATmega64")); +#elif defined(__AVR_ATmega48__) || defined(__AVR_ATmega48P__) + Serial.println(F("ATmega48")); +#elif defined(__AVR_ATmega32__) + Serial.println(F("ATmega32")); +#elif defined(__AVR_ATmega16__) + Serial.println(F("ATmega16")); +#elif defined(__AVR_ATmega8535__) + Serial.println(F("ATmega8535")); +#elif defined(__AVR_ATmega8__) + Serial.println(F("Atmega8")); +#elif defined(__AVR_ATtiny84__) + Serial.println(F("ATtiny84")); +#elif defined(__AVR_ATtiny85__) + Serial.println(F("ATtiny85")); +#else + Serial.println(F("ATmega328(P) / (Duemilanove, Diecimila, LilyPad, Mini, Micro, Fio, Nano, etc)")); +#endif +} + +void dumpPulseParams() { + Serial.print(F("Mark Excess: ")); Serial.print(MARK_EXCESS);; Serial.println(F(" uSecs")); + Serial.print(F("Microseconds per tick: ")); Serial.print(USECPERTICK);; Serial.println(F(" uSecs")); + Serial.print(F("Measurement tolerance: ")); Serial.print(TOLERANCE); Serial.println(F("%")); +} + +void dumpSignalParams() { + Serial.print(F("Minimum Gap between IR Signals: ")); Serial.print(_GAP); Serial.println(F(" uSecs")); +} + +void dumpDebugMode() { + Serial.print(F("Debug Mode: ")); +#if DEBUG + Serial.println(F("ON")); +#else + Serial.println(F("OFF (Normal)")); +#endif + +} + +void dumpArduinoIDE() { + Serial.print(F("Arduino IDE version: ")); + Serial.print(ARDUINO / 10000); + Serial.write('.'); + Serial.print((ARDUINO % 10000) / 100); + Serial.write('.'); + Serial.println(ARDUINO % 100); +} + +void dumpProtocols() { + + Serial.println(); Serial.print(F("IR PROTOCOLS ")); Serial.print(F("SEND ")); Serial.println(F("DECODE")); + Serial.print(F("============= ")); Serial.print(F("======== ")); Serial.println(F("========")); + Serial.print(F("RC5: ")); printSendEnabled(SEND_RC5); printDecodeEnabled(DECODE_RC6); + Serial.print(F("RC6: ")); printSendEnabled(SEND_RC6); printDecodeEnabled(DECODE_RC5); + Serial.print(F("NEC: ")); printSendEnabled(SEND_NEC); printDecodeEnabled(DECODE_NEC); + Serial.print(F("SONY: ")); printSendEnabled(SEND_SONY); printDecodeEnabled(DECODE_SONY); + Serial.print(F("PANASONIC: ")); printSendEnabled(SEND_PANASONIC); printDecodeEnabled(DECODE_PANASONIC); + Serial.print(F("JVC: ")); printSendEnabled(SEND_JVC); printDecodeEnabled(DECODE_JVC); + Serial.print(F("SAMSUNG: ")); printSendEnabled(SEND_SAMSUNG); printDecodeEnabled(DECODE_SAMSUNG); + Serial.print(F("WHYNTER: ")); printSendEnabled(SEND_WHYNTER); printDecodeEnabled(DECODE_WHYNTER); + Serial.print(F("AIWA_RC_T501: ")); printSendEnabled(SEND_AIWA_RC_T501); printDecodeEnabled(DECODE_AIWA_RC_T501); + Serial.print(F("LG: ")); printSendEnabled(SEND_LG); printDecodeEnabled(DECODE_LG); + Serial.print(F("SANYO: ")); printSendEnabled(SEND_SANYO); printDecodeEnabled(DECODE_SANYO); + Serial.print(F("MITSUBISHI: ")); printSendEnabled(SEND_MITSUBISHI); printDecodeEnabled(DECODE_MITSUBISHI); + Serial.print(F("DISH: ")); printSendEnabled(SEND_DISH); printDecodeEnabled(DECODE_DISH); + Serial.print(F("SHARP: ")); printSendEnabled(SEND_SHARP); printDecodeEnabled(DECODE_SHARP); + Serial.print(F("DENON: ")); printSendEnabled(SEND_DENON); printDecodeEnabled(DECODE_DENON); + Serial.print(F("PRONTO: ")); printSendEnabled(SEND_PRONTO); Serial.println(F("(Not Applicable)")); +} + +void printSendEnabled(int flag) { + if (flag) { + Serial.print(F("Enabled ")); + } + else { + Serial.print(F("Disabled ")); + } +} + +void printDecodeEnabled(int flag) { + if (flag) { + Serial.println(F("Enabled")); + } + else { + Serial.println(F("Disabled")); + } +} + +void dumpHeader() { + Serial.println(F("IRremoteInfo - by AnalysIR (http://www.AnalysIR.com/)")); + Serial.println(F(" - A helper sketch to assist in troubleshooting issues with the library by reviewing the settings within the IRremote library")); + Serial.println(F(" - Prints out the important settings within the library, which can be configured to suit the many supported platforms")); + Serial.println(F(" - When seeking on-line support, please post or upload the output of this sketch, where appropriate")); + Serial.println(); + Serial.println(F("IRremote Library Settings")); + Serial.println(F("=========================")); +} + +void dumpFooter() { + Serial.println(); + Serial.println(F("Notes: ")); + Serial.println(F(" - Most of the seetings above can be configured in the following files included as part of the library")); + Serial.println(F(" - IRremteInt.h")); + Serial.println(F(" - IRremote.h")); + Serial.println(F(" - You can save SRAM by disabling the Decode or Send features for any protocol (Near the top of IRremoteInt.h)")); + Serial.println(F(" - Some Timer conflicts, with other libraries, can be easily resolved by configuring a differnt Timer for your platform")); +} diff --git a/lib/Arduino-IRremote/examples/IRsendDemo/IRsendDemo.ino b/lib/Arduino-IRremote/examples/IRsendDemo/IRsendDemo.ino new file mode 100644 index 00000000..4f23af6c --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRsendDemo/IRsendDemo.ino @@ -0,0 +1,24 @@ +/* + * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend + * An IR LED must be connected to Arduino PWM pin 3. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + */ + + +#include + +IRsend irsend; + +void setup() +{ +} + +void loop() { + for (int i = 0; i < 3; i++) { + irsend.sendSony(0xa90, 12); + delay(40); + } + delay(5000); //5 second delay between each signal burst +} diff --git a/lib/Arduino-IRremote/examples/IRsendRawDemo/IRsendRawDemo.ino b/lib/Arduino-IRremote/examples/IRsendRawDemo/IRsendRawDemo.ino new file mode 100644 index 00000000..e83d6e6d --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRsendRawDemo/IRsendRawDemo.ino @@ -0,0 +1,37 @@ +/* + * IRremote: IRsendRawDemo - demonstrates sending IR codes with sendRaw + * An IR LED must be connected to Arduino PWM pin 3. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + * + * IRsendRawDemo - added by AnalysIR (via www.AnalysIR.com), 24 August 2015 + * + * This example shows how to send a RAW signal using the IRremote library. + * The example signal is actually a 32 bit NEC signal. + * Remote Control button: LGTV Power On/Off. + * Hex Value: 0x20DF10EF, 32 bits + * + * It is more efficient to use the sendNEC function to send NEC signals. + * Use of sendRaw here, serves only as an example of using the function. + * + */ + + +#include + +IRsend irsend; + +void setup() +{ + +} + +void loop() { + int khz = 38; // 38kHz carrier frequency for the NEC protocol + unsigned int irSignal[] = {9000, 4500, 560, 560, 560, 560, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 1690, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 560, 560, 560, 560, 560, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 560, 560, 1690, 560, 1690, 560, 1690, 560, 1690, 560, 39416, 9000, 2210, 560}; //AnalysIR Batch Export (IRremote) - RAW + + irsend.sendRaw(irSignal, sizeof(irSignal) / sizeof(irSignal[0]), khz); //Note the approach used to automatically calculate the size of the array. + + delay(5000); //In this example, the signal will be repeated every 5 seconds, approximately. +} diff --git a/lib/Arduino-IRremote/examples/IRtest/IRtest.ino b/lib/Arduino-IRremote/examples/IRtest/IRtest.ino new file mode 100644 index 00000000..4845a4a4 --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRtest/IRtest.ino @@ -0,0 +1,190 @@ +/* + * IRremote: IRtest unittest + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + * + * Note: to run these tests, edit IRremote/IRremote.h to add "#define TEST" + * You must then recompile the library by removing IRremote.o and restarting + * the arduino IDE. + */ + +#include +#include + +// Dumps out the decode_results structure. +// Call this after IRrecv::decode() +// void * to work around compiler issue +//void dump(void *v) { +// decode_results *results = (decode_results *)v +void dump(decode_results *results) { + int count = results->rawlen; + if (results->decode_type == UNKNOWN) { + Serial.println("Could not decode message"); + } + else { + if (results->decode_type == NEC) { + Serial.print("Decoded NEC: "); + } + else if (results->decode_type == SONY) { + Serial.print("Decoded SONY: "); + } + else if (results->decode_type == RC5) { + Serial.print("Decoded RC5: "); + } + else if (results->decode_type == RC6) { + Serial.print("Decoded RC6: "); + } + Serial.print(results->value, HEX); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); + } + Serial.print("Raw ("); + Serial.print(count, DEC); + Serial.print("): "); + + for (int i = 0; i < count; i++) { + if ((i % 2) == 1) { + Serial.print(results->rawbuf[i]*USECPERTICK, DEC); + } + else { + Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC); + } + Serial.print(" "); + } + Serial.println(""); +} + +IRrecv irrecv(0); +decode_results results; + +class IRsendDummy : +public IRsend +{ +public: + // For testing, just log the marks/spaces +#define SENDLOG_LEN 128 + int sendlog[SENDLOG_LEN]; + int sendlogcnt; + IRsendDummy() : + IRsend() { + } + void reset() { + sendlogcnt = 0; + } + void mark(int time) { + sendlog[sendlogcnt] = time; + if (sendlogcnt < SENDLOG_LEN) sendlogcnt++; + } + void space(int time) { + sendlog[sendlogcnt] = -time; + if (sendlogcnt < SENDLOG_LEN) sendlogcnt++; + } + // Copies the dummy buf into the interrupt buf + void useDummyBuf() { + int last = SPACE; + irparams.rcvstate = STATE_STOP; + irparams.rawlen = 1; // Skip the gap + for (int i = 0 ; i < sendlogcnt; i++) { + if (sendlog[i] < 0) { + if (last == MARK) { + // New space + irparams.rawbuf[irparams.rawlen++] = (-sendlog[i] - MARK_EXCESS) / USECPERTICK; + last = SPACE; + } + else { + // More space + irparams.rawbuf[irparams.rawlen - 1] += -sendlog[i] / USECPERTICK; + } + } + else if (sendlog[i] > 0) { + if (last == SPACE) { + // New mark + irparams.rawbuf[irparams.rawlen++] = (sendlog[i] + MARK_EXCESS) / USECPERTICK; + last = MARK; + } + else { + // More mark + irparams.rawbuf[irparams.rawlen - 1] += sendlog[i] / USECPERTICK; + } + } + } + if (irparams.rawlen % 2) { + irparams.rawlen--; // Remove trailing space + } + } +}; + +IRsendDummy irsenddummy; + +void verify(unsigned long val, int bits, int type) { + irsenddummy.useDummyBuf(); + irrecv.decode(&results); + Serial.print("Testing "); + Serial.print(val, HEX); + if (results.value == val && results.bits == bits && results.decode_type == type) { + Serial.println(": OK"); + } + else { + Serial.println(": Error"); + dump(&results); + } +} + +void testNEC(unsigned long val, int bits) { + irsenddummy.reset(); + irsenddummy.sendNEC(val, bits); + verify(val, bits, NEC); +} +void testSony(unsigned long val, int bits) { + irsenddummy.reset(); + irsenddummy.sendSony(val, bits); + verify(val, bits, SONY); +} +void testRC5(unsigned long val, int bits) { + irsenddummy.reset(); + irsenddummy.sendRC5(val, bits); + verify(val, bits, RC5); +} +void testRC6(unsigned long val, int bits) { + irsenddummy.reset(); + irsenddummy.sendRC6(val, bits); + verify(val, bits, RC6); +} + +void test() { + Serial.println("NEC tests"); + testNEC(0x00000000, 32); + testNEC(0xffffffff, 32); + testNEC(0xaaaaaaaa, 32); + testNEC(0x55555555, 32); + testNEC(0x12345678, 32); + Serial.println("Sony tests"); + testSony(0xfff, 12); + testSony(0x000, 12); + testSony(0xaaa, 12); + testSony(0x555, 12); + testSony(0x123, 12); + Serial.println("RC5 tests"); + testRC5(0xfff, 12); + testRC5(0x000, 12); + testRC5(0xaaa, 12); + testRC5(0x555, 12); + testRC5(0x123, 12); + Serial.println("RC6 tests"); + testRC6(0xfffff, 20); + testRC6(0x00000, 20); + testRC6(0xaaaaa, 20); + testRC6(0x55555, 20); + testRC6(0x12345, 20); +} + +void setup() +{ + Serial.begin(9600); + test(); +} + +void loop() { +} diff --git a/lib/Arduino-IRremote/examples/IRtest2/IRtest2.ino b/lib/Arduino-IRremote/examples/IRtest2/IRtest2.ino new file mode 100644 index 00000000..22a8fa2f --- /dev/null +++ b/lib/Arduino-IRremote/examples/IRtest2/IRtest2.ino @@ -0,0 +1,290 @@ +/* + * Test send/receive functions of IRremote, using a pair of Arduinos. + * + * Arduino #1 should have an IR LED connected to the send pin (3). + * Arduino #2 should have an IR detector/demodulator connected to the + * receive pin (11) and a visible LED connected to pin 3. + * + * The cycle: + * Arduino #1 will wait 2 seconds, then run through the tests. + * It repeats this forever. + * Arduino #2 will wait for at least one second of no signal + * (to synchronize with #1). It will then wait for the same test + * signals. It will log all the status to the serial port. It will + * also indicate status through the LED, which will flash each time a test + * is completed. If there is an error, it will light up for 5 seconds. + * + * The test passes if the LED flashes 19 times, pauses, and then repeats. + * The test fails if the LED lights for 5 seconds. + * + * The test software automatically decides which board is the sender and which is + * the receiver by looking for an input on the send pin, which will indicate + * the sender. You should hook the serial port to the receiver for debugging. + * + * Copyright 2010 Ken Shirriff + * http://arcfn.com + */ + +#include + +int RECV_PIN = 11; +int LED_PIN = 3; + +IRrecv irrecv(RECV_PIN); +IRsend irsend; + +decode_results results; + +#define RECEIVER 1 +#define SENDER 2 +#define ERROR 3 + +int mode; + +void setup() +{ + Serial.begin(9600); + // Check RECV_PIN to decide if we're RECEIVER or SENDER + if (digitalRead(RECV_PIN) == HIGH) { + mode = RECEIVER; + irrecv.enableIRIn(); + pinMode(LED_PIN, OUTPUT); + digitalWrite(LED_PIN, LOW); + Serial.println("Receiver mode"); + } + else { + mode = SENDER; + Serial.println("Sender mode"); + } +} + +// Wait for the gap between tests, to synchronize with +// the sender. +// Specifically, wait for a signal followed by a gap of at last gap ms. +void waitForGap(unsigned long gap) { + Serial.println("Waiting for gap"); + while (1) { + while (digitalRead(RECV_PIN) == LOW) { + } + unsigned long time = millis(); + while (digitalRead(RECV_PIN) == HIGH) { + if (millis() - time > gap) { + return; + } + } + } +} + +// Dumps out the decode_results structure. +// Call this after IRrecv::decode() +void dump(decode_results *results) { + int count = results->rawlen; + if (results->decode_type == UNKNOWN) { + Serial.println("Could not decode message"); + } + else { + if (results->decode_type == NEC) { + Serial.print("Decoded NEC: "); + } + else if (results->decode_type == SONY) { + Serial.print("Decoded SONY: "); + } + else if (results->decode_type == RC5) { + Serial.print("Decoded RC5: "); + } + else if (results->decode_type == RC6) { + Serial.print("Decoded RC6: "); + } + Serial.print(results->value, HEX); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); + } + Serial.print("Raw ("); + Serial.print(count, DEC); + Serial.print("): "); + + for (int i = 0; i < count; i++) { + if ((i % 2) == 1) { + Serial.print(results->rawbuf[i]*USECPERTICK, DEC); + } + else { + Serial.print(-(int)results->rawbuf[i]*USECPERTICK, DEC); + } + Serial.print(" "); + } + Serial.println(""); +} + + +// Test send or receive. +// If mode is SENDER, send a code of the specified type, value, and bits +// If mode is RECEIVER, receive a code and verify that it is of the +// specified type, value, and bits. For success, the LED is flashed; +// for failure, the mode is set to ERROR. +// The motivation behind this method is that the sender and the receiver +// can do the same test calls, and the mode variable indicates whether +// to send or receive. +void test(const char *label, int type, unsigned long value, int bits) { + if (mode == SENDER) { + Serial.println(label); + if (type == NEC) { + irsend.sendNEC(value, bits); + } + else if (type == SONY) { + irsend.sendSony(value, bits); + } + else if (type == RC5) { + irsend.sendRC5(value, bits); + } + else if (type == RC6) { + irsend.sendRC6(value, bits); + } + else { + Serial.print(label); + Serial.println("Bad type!"); + } + delay(200); + } + else if (mode == RECEIVER) { + irrecv.resume(); // Receive the next value + unsigned long max_time = millis() + 30000; + Serial.print(label); + + // Wait for decode or timeout + while (!irrecv.decode(&results)) { + if (millis() > max_time) { + Serial.println("Timeout receiving data"); + mode = ERROR; + return; + } + } + if (type == results.decode_type && value == results.value && bits == results.bits) { + Serial.println (": OK"); + digitalWrite(LED_PIN, HIGH); + delay(20); + digitalWrite(LED_PIN, LOW); + } + else { + Serial.println(": BAD"); + dump(&results); + mode = ERROR; + } + } +} + +// Test raw send or receive. This is similar to the test method, +// except it send/receives raw data. +void testRaw(const char *label, unsigned int *rawbuf, int rawlen) { + if (mode == SENDER) { + Serial.println(label); + irsend.sendRaw(rawbuf, rawlen, 38 /* kHz */); + delay(200); + } + else if (mode == RECEIVER ) { + irrecv.resume(); // Receive the next value + unsigned long max_time = millis() + 30000; + Serial.print(label); + + // Wait for decode or timeout + while (!irrecv.decode(&results)) { + if (millis() > max_time) { + Serial.println("Timeout receiving data"); + mode = ERROR; + return; + } + } + + // Received length has extra first element for gap + if (rawlen != results.rawlen - 1) { + Serial.print("Bad raw length "); + Serial.println(results.rawlen, DEC); + mode = ERROR; + return; + } + for (int i = 0; i < rawlen; i++) { + long got = results.rawbuf[i+1] * USECPERTICK; + // Adjust for extra duration of marks + if (i % 2 == 0) { + got -= MARK_EXCESS; + } + else { + got += MARK_EXCESS; + } + // See if close enough, within 25% + if (rawbuf[i] * 1.25 < got || got * 1.25 < rawbuf[i]) { + Serial.println(": BAD"); + dump(&results); + mode = ERROR; + return; + } + + } + Serial.println (": OK"); + digitalWrite(LED_PIN, HIGH); + delay(20); + digitalWrite(LED_PIN, LOW); + } +} + +// This is the raw data corresponding to NEC 0x12345678 +unsigned int sendbuf[] = { /* NEC format */ + 9000, 4500, + 560, 560, 560, 560, 560, 560, 560, 1690, /* 1 */ + 560, 560, 560, 560, 560, 1690, 560, 560, /* 2 */ + 560, 560, 560, 560, 560, 1690, 560, 1690, /* 3 */ + 560, 560, 560, 1690, 560, 560, 560, 560, /* 4 */ + 560, 560, 560, 1690, 560, 560, 560, 1690, /* 5 */ + 560, 560, 560, 1690, 560, 1690, 560, 560, /* 6 */ + 560, 560, 560, 1690, 560, 1690, 560, 1690, /* 7 */ + 560, 1690, 560, 560, 560, 560, 560, 560, /* 8 */ + 560}; + +void loop() { + if (mode == SENDER) { + delay(2000); // Delay for more than gap to give receiver a better chance to sync. + } + else if (mode == RECEIVER) { + waitForGap(1000); + } + else if (mode == ERROR) { + // Light up for 5 seconds for error + digitalWrite(LED_PIN, HIGH); + delay(5000); + digitalWrite(LED_PIN, LOW); + mode = RECEIVER; // Try again + return; + } + + // The test suite. + test("SONY1", SONY, 0x123, 12); + test("SONY2", SONY, 0x000, 12); + test("SONY3", SONY, 0xfff, 12); + test("SONY4", SONY, 0x12345, 20); + test("SONY5", SONY, 0x00000, 20); + test("SONY6", SONY, 0xfffff, 20); + test("NEC1", NEC, 0x12345678, 32); + test("NEC2", NEC, 0x00000000, 32); + test("NEC3", NEC, 0xffffffff, 32); + test("NEC4", NEC, REPEAT, 32); + test("RC51", RC5, 0x12345678, 32); + test("RC52", RC5, 0x0, 32); + test("RC53", RC5, 0xffffffff, 32); + test("RC61", RC6, 0x12345678, 32); + test("RC62", RC6, 0x0, 32); + test("RC63", RC6, 0xffffffff, 32); + + // Tests of raw sending and receiving. + // First test sending raw and receiving raw. + // Then test sending raw and receiving decoded NEC + // Then test sending NEC and receiving raw + testRaw("RAW1", sendbuf, 67); + if (mode == SENDER) { + testRaw("RAW2", sendbuf, 67); + test("RAW3", NEC, 0x12345678, 32); + } + else { + test("RAW2", NEC, 0x12345678, 32); + testRaw("RAW3", sendbuf, 67); + } +} diff --git a/lib/Arduino-IRremote/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino b/lib/Arduino-IRremote/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino new file mode 100644 index 00000000..33c167c5 --- /dev/null +++ b/lib/Arduino-IRremote/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino @@ -0,0 +1,29 @@ +/* + * IRremote: IRsendDemo - demonstrates sending IR codes with IRsend + * An IR LED must be connected to Arduino PWM pin 3. + * Version 0.1 July, 2009 + * Copyright 2009 Ken Shirriff + * http://arcfn.com + * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) + */ +#include + +#define PanasonicAddress 0x4004 // Panasonic address (Pre data) +#define PanasonicPower 0x100BCBD // Panasonic Power button + +#define JVCPower 0xC5E8 + +IRsend irsend; + +void setup() +{ +} + +void loop() { + irsend.sendPanasonic(PanasonicAddress,PanasonicPower); // This should turn your TV on and off + + irsend.sendJVC(JVCPower, 16,0); // hex value, 16 bits, no repeat + delayMicroseconds(50); // see http://www.sbprojects.com/knowledge/ir/jvc.php for information + irsend.sendJVC(JVCPower, 16,1); // hex value, 16 bits, repeat + delayMicroseconds(50); +} diff --git a/lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.ino b/lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.ino new file mode 100644 index 00000000..e3c7dfa3 --- /dev/null +++ b/lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.ino @@ -0,0 +1,263 @@ +#include +#include + + +IRsend irsend; +// not used +int RECV_PIN = 11; +IRrecv irrecv (RECV_PIN); + +const int AC_TYPE = 0; +// 0 : TOWER +// 1 : WALL +// + +int AC_HEAT = 0; +// 0 : cooling +// 1 : heating + +int AC_POWER_ON = 0; +// 0 : off +// 1 : on + +int AC_AIR_ACLEAN = 0; +// 0 : off +// 1 : on --> power on + +int AC_TEMPERATURE = 27; +// temperature : 18 ~ 30 + +int AC_FLOW = 1; +// 0 : low +// 1 : mid +// 2 : high +// if AC_TYPE =1, 3 : change +// + + +const int AC_FLOW_TOWER[3] = {0, 4, 6}; +const int AC_FLOW_WALL[4] = {0, 2, 4, 5}; + +unsigned long AC_CODE_TO_SEND; + +int r = LOW; +int o_r = LOW; + +byte a, b; + +void ac_send_code(unsigned long code) +{ + Serial.print("code to send : "); + Serial.print(code, BIN); + Serial.print(" : "); + Serial.println(code, HEX); + + irsend.sendLG(code, 28); +} + +void ac_activate(int temperature, int air_flow) +{ + + int AC_MSBITS1 = 8; + int AC_MSBITS2 = 8; + int AC_MSBITS3 = 0; + int AC_MSBITS4 ; + if ( AC_HEAT == 1 ) { + // heating + AC_MSBITS4 = 4; + } else { + // cooling + AC_MSBITS4 = 0; + } + int AC_MSBITS5 = temperature - 15; + int AC_MSBITS6 ; + + if ( AC_TYPE == 0) { + AC_MSBITS6 = AC_FLOW_TOWER[air_flow]; + } else { + AC_MSBITS6 = AC_FLOW_WALL[air_flow]; + } + + int AC_MSBITS7 = (AC_MSBITS3 + AC_MSBITS4 + AC_MSBITS5 + AC_MSBITS6) & B00001111; + + AC_CODE_TO_SEND = AC_MSBITS1 << 4 ; + AC_CODE_TO_SEND = (AC_CODE_TO_SEND + AC_MSBITS2) << 4; + AC_CODE_TO_SEND = (AC_CODE_TO_SEND + AC_MSBITS3) << 4; + AC_CODE_TO_SEND = (AC_CODE_TO_SEND + AC_MSBITS4) << 4; + AC_CODE_TO_SEND = (AC_CODE_TO_SEND + AC_MSBITS5) << 4; + AC_CODE_TO_SEND = (AC_CODE_TO_SEND + AC_MSBITS6) << 4; + AC_CODE_TO_SEND = (AC_CODE_TO_SEND + AC_MSBITS7); + + ac_send_code(AC_CODE_TO_SEND); + + AC_POWER_ON = 1; + AC_TEMPERATURE = temperature; + AC_FLOW = air_flow; +} + +void ac_change_air_swing(int air_swing) +{ + if ( AC_TYPE == 0) { + if ( air_swing == 1) { + AC_CODE_TO_SEND = 0x881316B; + } else { + AC_CODE_TO_SEND = 0x881317C; + } + } else { + if ( air_swing == 1) { + AC_CODE_TO_SEND = 0x8813149; + } else { + AC_CODE_TO_SEND = 0x881315A; + } + } + + ac_send_code(AC_CODE_TO_SEND); +} + +void ac_power_down() +{ + AC_CODE_TO_SEND = 0x88C0051; + + ac_send_code(AC_CODE_TO_SEND); + + AC_POWER_ON = 0; +} + +void ac_air_clean(int air_clean) +{ + if ( air_clean == 1) { + AC_CODE_TO_SEND = 0x88C000C; + } else { + AC_CODE_TO_SEND = 0x88C0084; + } + + ac_send_code(AC_CODE_TO_SEND); + + AC_AIR_ACLEAN = air_clean; +} + +void setup() +{ + Serial.begin(38400); + delay(1000); + Wire.begin(7); + Wire.onReceive(receiveEvent); + + Serial.println(" - - - T E S T - - - "); + + /* test + ac_activate(25, 1); + delay(5000); + ac_activate(27, 2); + delay(5000); + + */ +} + +void loop() +{ + + + ac_activate(25, 1); + delay(5000); + ac_activate(27, 0); + delay(5000); + + + if ( r != o_r) { + + /* + # a : mode or temp b : air_flow, temp, swing, clean, cooling/heating + # 18 ~ 30 : temp 0 ~ 2 : flow // on + # 0 : off 0 + # 1 : on 0 + # 2 : air_swing 0 or 1 + # 3 : air_clean 0 or 1 + # 4 : air_flow 0 ~ 2 : flow + # 5 : temp 18 ~ 30 + # + : temp + 1 + # - : temp - 1 + # m : change cooling to air clean, air clean to cooling + */ + Serial.print("a : "); + Serial.print(a); + Serial.print(" b : "); + Serial.println(b); + + switch (a) { + case 0: // off + ac_power_down(); + break; + case 1: // on + ac_activate(AC_TEMPERATURE, AC_FLOW); + break; + case 2: + if ( b == 0 || b == 1 ) { + ac_change_air_swing(b); + } + break; + case 3: // 1 : clean on, power on + if ( b == 0 || b == 1 ) { + ac_air_clean(b); + } + break; + case 4: + if ( 0 <= b && b <= 2 ) { + ac_activate(AC_TEMPERATURE, b); + } + break; + case 5: + if (18 <= b && b <= 30 ) { + ac_activate(b, AC_FLOW); + } + break; + case '+': + if ( 18 <= AC_TEMPERATURE && AC_TEMPERATURE <= 29 ) { + ac_activate((AC_TEMPERATURE + 1), AC_FLOW); + } + break; + case '-': + if ( 19 <= AC_TEMPERATURE && AC_TEMPERATURE <= 30 ) { + ac_activate((AC_TEMPERATURE - 1), AC_FLOW); + } + break; + case 'm': + /* + if ac is on, 1) turn off, 2) turn on ac_air_clean(1) + if ac is off, 1) turn on, 2) turn off ac_air_clean(0) + */ + if ( AC_POWER_ON == 1 ) { + ac_power_down(); + delay(100); + ac_air_clean(1); + } else { + if ( AC_AIR_ACLEAN == 1) { + ac_air_clean(0); + delay(100); + } + ac_activate(AC_TEMPERATURE, AC_FLOW); + } + break; + default: + if ( 18 <= a && a <= 30 ) { + if ( 0 <= b && b <= 2 ) { + ac_activate(a, b); + } + } + } + + o_r = r ; + } + delay(100); +} + + + +void receiveEvent(int howMany) +{ + a = Wire.read(); + b = Wire.read(); + r = !r ; +} + + diff --git a/lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.md b/lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.md new file mode 100644 index 00000000..62c70731 --- /dev/null +++ b/lib/Arduino-IRremote/examples/LGACSendDemo/LGACSendDemo.md @@ -0,0 +1,93 @@ +=== decoding for LG A/C ==== +- 1) remote of LG AC has two type of HDR mark/space, 8000/4000 and 3100/10000 +- 2) HDR 8000/4000 is decoded using decodeLG(IRrecvDumpV2) without problem +- 3) for HDR 3100/10000, use AnalysIR's code : http://www.analysir.com/blog/2014/03/19/air-conditioners-problems-recording-long-infrared-remote-control-signals-arduino/ +- 4) for bin output based on AnalysIR's code : https://gist.github.com/chaeplin/a3a4b4b6b887c663bfe8 +- 5) remove first two byte(11) +- 6) sample rawcode with bin output : https://gist.github.com/chaeplin/134d232e0b8cfb898860 + + +=== *** === +- 1) Sample raw code : https://gist.github.com/chaeplin/ab2a7ad1533c41260f0d +- 2) send raw code : https://gist.github.com/chaeplin/7c800d3166463bb51be4 + + +=== *** === +- (0) : Cooling or Heating +- (1) : fixed +- (2) : fixed +- (3) : special(power, swing, air clean) +- (4) : change air flow, temperature, cooling(0)/heating(4) +- (5) : temperature ( 15 + (5) = ) +- (6) : air flow +- (7) : crc ( 3 + 4 + 5 + 6 ) & B00001111 + + +°F = °C × 1.8 + 32 +°C = (°F − 32) / 1.8 + + +=== *** === +* remote / Korea / without heating + +| status |(0)| (1)| (2)| (3)| (4)| (5)| (6)| (7) +|----------------|---|----|----|----|----|----|----|---- +| on / 25 / mid | C |1000|1000|0000|0000|1010|0010|1100 +| on / 26 / mid | C |1000|1000|0000|0000|1011|0010|1101 +| on / 27 / mid | C |1000|1000|0000|0000|1100|0010|1110 +| on / 28 / mid | C |1000|1000|0000|0000|1101|0010|1111 +| on / 25 / high | C |1000|1000|0000|0000|1010|0100|1110 +| on / 26 / high | C |1000|1000|0000|0000|1011|0100|1111 +| on / 27 / high | C |1000|1000|0000|0000|1100|0100|0000 +| on / 28 / high | C |1000|1000|0000|0000|1101|0100|0001 +|----------------|---|----|----|----|----|----|----|---- +| 1 up | C |1000|1000|0000|1000|1101|0100|1001 +|----------------|---|----|----|----|----|----|----|---- +| Cool power | C |1000|1000|0001|0000|0000|1100|1101 +| energy saving | C |1000|1000|0001|0000|0000|0100|0101 +| power | C |1000|1000|0001|0000|0000|1000|1001 +| flow/up/down | C |1000|1000|0001|0011|0001|0100|1001 +| up/down off | C |1000|1000|0001|0011|0001|0101|1010 +| flow/left/right| C |1000|1000|0001|0011|0001|0110|1011 +| left/right off | C |1000|1000|0001|0011|0001|0111|1100 +|----------------|---|----|----|----|----|----|----|---- +| Air clean | C |1000|1000|1100|0000|0000|0000|1100 +|----------------|---|----|----|----|----|----|----|---- +| off | C |1000|1000|1100|0000|0000|0101|0001 + + + +* remote / with heating +* converted using raw code at https://github.com/chaeplin/RaspAC/blob/master/lircd.conf + +| status |(0)| (1)| (2)| (3)| (4)| (5)| (6)| (7) +|----------------|---|----|----|----|----|----|----|---- +| on | C |1000|1000|0000|0000|1011|0010|1101 +|----------------|---|----|----|----|----|----|----|---- +| off | C |1000|1000|1100|0000|0000|0101|0001 +|----------------|---|----|----|----|----|----|----|---- +| 64 / 18 | C |1000|1000|0000|0000|0011|0100|0111 +| 66 / 19 | C |1000|1000|0000|0000|0100|0100|1000 +| 68 / 20 | C |1000|1000|0000|0000|0101|0100|1001 +| 70 / 21 | C |1000|1000|0000|0000|0110|0100|1010 +| 72 / 22 | C |1000|1000|0000|0000|0111|0100|1011 +| 74 / 23 | C |1000|1000|0000|0000|1000|0100|1100 +| 76 / 25 | C |1000|1000|0000|0000|1010|0100|1110 +| 78 / 26 | C |1000|1000|0000|0000|1011|0100|1111 +| 80 / 27 | C |1000|1000|0000|0000|1100|0100|0000 +| 82 / 28 | C |1000|1000|0000|0000|1101|0100|0001 +| 84 / 29 | C |1000|1000|0000|0000|1110|0100|0010 +| 86 / 30 | C |1000|1000|0000|0000|1111|0100|0011 +|----------------|---|----|----|----|----|----|----|---- +| heat64 | H |1000|1000|0000|0100|0011|0100|1011 +| heat66 | H |1000|1000|0000|0100|0100|0100|1100 +| heat68 | H |1000|1000|0000|0100|0101|0100|1101 +| heat70 | H |1000|1000|0000|0100|0110|0100|1110 +| heat72 | H |1000|1000|0000|0100|0111|0100|1111 +| heat74 | H |1000|1000|0000|0100|1000|0100|0000 +| heat76 | H |1000|1000|0000|0100|1001|0100|0001 +| heat78 | H |1000|1000|0000|0100|1011|0100|0011 +| heat80 | H |1000|1000|0000|0100|1100|0100|0100 +| heat82 | H |1000|1000|0000|0100|1101|0100|0101 +| heat84 | H |1000|1000|0000|0100|1110|0100|0110 +| heat86 | H |1000|1000|0000|0100|1111|0100|0111 diff --git a/lib/Arduino-IRremote/examples/LegoPowerFunctionsSendDemo/LegoPowerFunctionsSendDemo.ino b/lib/Arduino-IRremote/examples/LegoPowerFunctionsSendDemo/LegoPowerFunctionsSendDemo.ino new file mode 100644 index 00000000..e43d06c2 --- /dev/null +++ b/lib/Arduino-IRremote/examples/LegoPowerFunctionsSendDemo/LegoPowerFunctionsSendDemo.ino @@ -0,0 +1,22 @@ +/* + * LegoPowerFunctionsSendDemo: LEGO Power Functions + * Copyright (c) 2016 Philipp Henkel + */ + +#include +#include + +IRsend irsend; + +void setup() { +} + +void loop() { + // Send repeated command "channel 1, blue forward, red backward" + irsend.sendLegoPowerFunctions(0x197); + delay(2000); + + // Send single command "channel 1, blue forward, red backward" + irsend.sendLegoPowerFunctions(0x197, false); + delay(2000); +} diff --git a/lib/Arduino-IRremote/examples/LegoPowerFunctionsTests/LegoPowerFunctionsTests.ino b/lib/Arduino-IRremote/examples/LegoPowerFunctionsTests/LegoPowerFunctionsTests.ino new file mode 100644 index 00000000..65760e2f --- /dev/null +++ b/lib/Arduino-IRremote/examples/LegoPowerFunctionsTests/LegoPowerFunctionsTests.ino @@ -0,0 +1,193 @@ +/* + * LegoPowerFunctionsTest: LEGO Power Functions Tests + * Copyright (c) 2016, 2017 Philipp Henkel + */ + +#include + +void setup() { + Serial.begin(9600); + delay(1000); // wait for reset triggered by serial connection + runBitStreamEncoderTests(); +} + +void loop() { +} + +void runBitStreamEncoderTests() { + Serial.println(); + Serial.println("BitStreamEncoder Tests"); + static LegoPfBitStreamEncoder bitStreamEncoder; + testStartBit(bitStreamEncoder); + testLowBit(bitStreamEncoder); + testHighBit(bitStreamEncoder); + testMessageBitCount(bitStreamEncoder); + testMessageBitCountRepeat(bitStreamEncoder); + testMessage407(bitStreamEncoder); + testMessage407Repeated(bitStreamEncoder); + testGetChannelId1(bitStreamEncoder); + testGetChannelId2(bitStreamEncoder); + testGetChannelId3(bitStreamEncoder); + testGetChannelId4(bitStreamEncoder); + testGetMessageLengthAllHigh(bitStreamEncoder); + testGetMessageLengthAllLow(bitStreamEncoder); +} + +void logTestResult(bool testPassed) { + if (testPassed) { + Serial.println("OK"); + } + else { + Serial.println("FAIL ############"); + } +} + +void testStartBit(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testStartBit "); + bitStreamEncoder.reset(0, false); + int startMark = bitStreamEncoder.getMarkDuration(); + int startPause = bitStreamEncoder.getPauseDuration(); + logTestResult(startMark == 158 && startPause == 1184-158); +} + +void testLowBit(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testLowBit "); + bitStreamEncoder.reset(0, false); + bitStreamEncoder.next(); + int lowMark = bitStreamEncoder.getMarkDuration(); + int lowPause = bitStreamEncoder.getPauseDuration(); + logTestResult(lowMark == 158 && lowPause == 421-158); +} + +void testHighBit(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testHighBit "); + bitStreamEncoder.reset(0xFFFF, false); + bitStreamEncoder.next(); + int highMark = bitStreamEncoder.getMarkDuration(); + int highPause = bitStreamEncoder.getPauseDuration(); + logTestResult(highMark == 158 && highPause == 711-158); +} + +void testMessageBitCount(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testMessageBitCount "); + bitStreamEncoder.reset(0xFFFF, false); + int bitCount = 1; + while (bitStreamEncoder.next()) { + bitCount++; + } + logTestResult(bitCount == 18); +} + +boolean check(LegoPfBitStreamEncoder& bitStreamEncoder, unsigned long markDuration, unsigned long pauseDuration) { + bool result = true; + result = result && bitStreamEncoder.getMarkDuration() == markDuration; + result = result && bitStreamEncoder.getPauseDuration() == pauseDuration; + return result; +} + +boolean checkNext(LegoPfBitStreamEncoder& bitStreamEncoder, unsigned long markDuration, unsigned long pauseDuration) { + bool result = bitStreamEncoder.next(); + result = result && check(bitStreamEncoder, markDuration, pauseDuration); + return result; +} + +boolean checkDataBitsOfMessage407(LegoPfBitStreamEncoder& bitStreamEncoder) { + bool result = true; + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 553); + result = result && checkNext(bitStreamEncoder, 158, 553); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 553); + result = result && checkNext(bitStreamEncoder, 158, 263); + result = result && checkNext(bitStreamEncoder, 158, 553); + result = result && checkNext(bitStreamEncoder, 158, 553); + result = result && checkNext(bitStreamEncoder, 158, 553); + return result; +} + +void testMessage407(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testMessage407 "); + bitStreamEncoder.reset(407, false); + bool result = true; + result = result && check(bitStreamEncoder, 158, 1026); + result = result && checkDataBitsOfMessage407(bitStreamEncoder); + result = result && checkNext(bitStreamEncoder, 158, 1026); + result = result && !bitStreamEncoder.next(); + logTestResult(result); +} + +void testMessage407Repeated(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testMessage407Repeated "); + bitStreamEncoder.reset(407, true); + bool result = true; + result = result && check(bitStreamEncoder, 158, 1026); + result = result && checkDataBitsOfMessage407(bitStreamEncoder); + result = result && checkNext(bitStreamEncoder, 158, 1026L + 5L * 16000L - 10844L); + result = result && checkNext(bitStreamEncoder, 158, 1026); + result = result && checkDataBitsOfMessage407(bitStreamEncoder); + result = result && checkNext(bitStreamEncoder, 158, 1026L + 5L * 16000L - 10844L); + result = result && checkNext(bitStreamEncoder, 158, 1026); + result = result && checkDataBitsOfMessage407(bitStreamEncoder); + result = result && checkNext(bitStreamEncoder, 158, 1026L + 8L * 16000L - 10844L); + result = result && checkNext(bitStreamEncoder, 158, 1026); + result = result && checkDataBitsOfMessage407(bitStreamEncoder); + result = result && checkNext(bitStreamEncoder, 158, 1026L + 8L * 16000L - 10844L); + result = result && checkNext(bitStreamEncoder, 158, 1026); + result = result && checkDataBitsOfMessage407(bitStreamEncoder); + result = result && checkNext(bitStreamEncoder, 158, 1026); + result = result && !bitStreamEncoder.next(); + logTestResult(result); +} + +void testMessageBitCountRepeat(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testMessageBitCountRepeat "); + bitStreamEncoder.reset(0xFFFF, true); + int bitCount = 1; + while (bitStreamEncoder.next()) { + bitCount++; + } + logTestResult(bitCount == 5*18); +} + +void testGetChannelId1(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testGetChannelId1 "); + bitStreamEncoder.reset(407, false); + logTestResult(bitStreamEncoder.getChannelId() == 1); +} + +void testGetChannelId2(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testGetChannelId2 "); + bitStreamEncoder.reset(4502, false); + logTestResult(bitStreamEncoder.getChannelId() == 2); +} + +void testGetChannelId3(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testGetChannelId3 "); + bitStreamEncoder.reset(8597, false); + logTestResult(bitStreamEncoder.getChannelId() == 3); +} + +void testGetChannelId4(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testGetChannelId4 "); + bitStreamEncoder.reset(12692, false); + logTestResult(bitStreamEncoder.getChannelId() == 4); +} + +void testGetMessageLengthAllHigh(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testGetMessageLengthAllHigh "); + bitStreamEncoder.reset(0xFFFF, false); + logTestResult(bitStreamEncoder.getMessageLength() == 13744); +} + +void testGetMessageLengthAllLow(LegoPfBitStreamEncoder& bitStreamEncoder) { + Serial.print(" testGetMessageLengthAllLow "); + bitStreamEncoder.reset(0x0, false); + logTestResult(bitStreamEncoder.getMessageLength() == 9104); +} diff --git a/lib/Arduino-IRremote/irPronto.cpp b/lib/Arduino-IRremote/irPronto.cpp new file mode 100644 index 00000000..49d2685f --- /dev/null +++ b/lib/Arduino-IRremote/irPronto.cpp @@ -0,0 +1,513 @@ +#define TEST 0 + +#if TEST +# define SEND_PRONTO 1 +# define PRONTO_ONCE false +# define PRONTO_REPEAT true +# define PRONTO_FALLBACK true +# define PRONTO_NOFALLBACK false +#endif + +#if SEND_PRONTO + +//****************************************************************************** +#if TEST +# include + void enableIROut (int freq) { printf("\nFreq = %d KHz\n", freq); } + void mark (int t) { printf("+%d," , t); } + void space (int t) { printf("-%d, ", t); } +#else +# include "IRremote.h" +#endif // TEST + +//+============================================================================= +// Check for a valid hex digit +// +bool ishex (char ch) +{ + return ( ((ch >= '0') && (ch <= '9')) || + ((ch >= 'A') && (ch <= 'F')) || + ((ch >= 'a') && (ch <= 'f')) ) ? true : false ; +} + +//+============================================================================= +// Check for a valid "blank" ... '\0' is a valid "blank" +// +bool isblank (char ch) +{ + return ((ch == ' ') || (ch == '\t') || (ch == '\0')) ? true : false ; +} + +//+============================================================================= +// Bypass spaces +// +bool byp (char** pcp) +{ + while (isblank(**pcp)) (*pcp)++ ; +} + +//+============================================================================= +// Hex-to-Byte : Decode a hex digit +// We assume the character has already been validated +// +uint8_t htob (char ch) +{ + if ((ch >= '0') && (ch <= '9')) return ch - '0' ; + if ((ch >= 'A') && (ch <= 'F')) return ch - 'A' + 10 ; + if ((ch >= 'a') && (ch <= 'f')) return ch - 'a' + 10 ; +} + +//+============================================================================= +// Hex-to-Word : Decode a block of 4 hex digits +// We assume the string has already been validated +// and the pointer being passed points at the start of a block of 4 hex digits +// +uint16_t htow (char* cp) +{ + return ( (htob(cp[0]) << 12) | (htob(cp[1]) << 8) | + (htob(cp[2]) << 4) | (htob(cp[3]) ) ) ; +} + +//+============================================================================= +// +bool sendPronto (char* s, bool repeat, bool fallback) +{ + int i; + int len; + int skip; + char* cp; + uint16_t freq; // Frequency in KHz + uint8_t usec; // pronto uSec/tick + uint8_t once; + uint8_t rpt; + + // Validate the string + for (cp = s; *cp; cp += 4) { + byp(&cp); + if ( !ishex(cp[0]) || !ishex(cp[1]) || + !ishex(cp[2]) || !ishex(cp[3]) || !isblank(cp[4]) ) return false ; + } + + // We will use cp to traverse the string + cp = s; + + // Check mode = Oscillated/Learned + byp(&cp); + if (htow(cp) != 0000) return false; + cp += 4; + + // Extract & set frequency + byp(&cp); + freq = (int)(1000000 / (htow(cp) * 0.241246)); // Rounding errors will occur, tolerance is +/- 10% + usec = (int)(((1.0 / freq) * 1000000) + 0.5); // Another rounding error, thank Cod for analogue electronics + freq /= 1000; // This will introduce a(nother) rounding error which we do not want in the usec calcualtion + cp += 4; + + // Get length of "once" code + byp(&cp); + once = htow(cp); + cp += 4; + + // Get length of "repeat" code + byp(&cp); + rpt = htow(cp); + cp += 4; + + // Which code are we sending? + if (fallback) { // fallback on the "other" code if "this" code is not present + if (!repeat) { // requested 'once' + if (once) len = once * 2, skip = 0 ; // if once exists send it + else len = rpt * 2, skip = 0 ; // else send repeat code + } else { // requested 'repeat' + if (rpt) len = rpt * 2, skip = 0 ; // if rpt exists send it + else len = once * 2, skip = 0 ; // else send once code + } + } else { // Send what we asked for, do not fallback if the code is empty! + if (!repeat) len = once * 2, skip = 0 ; // 'once' starts at 0 + else len = rpt * 2, skip = once ; // 'repeat' starts where 'once' ends + } + + // Skip to start of code + for (i = 0; i < skip; i++, cp += 4) byp(&cp) ; + + // Send code + enableIROut(freq); + for (i = 0; i < len; i++) { + byp(&cp); + if (i & 1) space(htow(cp) * usec); + else mark (htow(cp) * usec); + cp += 4; + } +} + +//+============================================================================= +#if TEST + +int main ( ) +{ + char prontoTest[] = + "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 " // 10 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 20 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 30 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 " // 40 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 50 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 " // 60 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 70 + "0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 " // 80 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 " // 90 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 " // 100 + "0010 0030 0010 0aa6"; // 104 + + sendPronto(prontoTest, PRONTO_ONCE, PRONTO_FALLBACK); // once code + sendPronto(prontoTest, PRONTO_REPEAT, PRONTO_FALLBACK); // repeat code + sendPronto(prontoTest, PRONTO_ONCE, PRONTO_NOFALLBACK); // once code + sendPronto(prontoTest, PRONTO_REPEAT, PRONTO_NOFALLBACK); // repeat code + + return 0; +} + +#endif // TEST + +#endif // SEND_PRONTO + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +#if 0 +//****************************************************************************** +// Sources: +// http://www.remotecentral.com/features/irdisp2.htm +// http://www.hifi-remote.com/wiki/index.php?title=Working_With_Pronto_Hex +//****************************************************************************** + +#include +#include + +#define IRPRONTO +#include "IRremoteInt.h" // The Arduino IRremote library defines USECPERTICK + +//------------------------------------------------------------------------------ +// Source: https://www.google.co.uk/search?q=DENON+MASTER+IR+Hex+Command+Sheet +// -> http://assets.denon.com/documentmaster/us/denon%20master%20ir%20hex.xls +// +char prontoTest[] = + "0000 0070 0000 0032 0080 0040 0010 0010 0010 0030 " // 10 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 20 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 30 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 " // 40 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 50 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 " // 60 + "0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 " // 70 + "0010 0010 0010 0030 0010 0010 0010 0030 0010 0010 " // 80 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 " // 90 + "0010 0010 0010 0030 0010 0010 0010 0010 0010 0030 " // 100 + "0010 0030 0010 0aa6"; // 104 + +//------------------------------------------------------------------------------ +// This is the longest code we can support +#define CODEMAX 200 + +//------------------------------------------------------------------------------ +// This is the data we pull out of the pronto code +typedef + struct { + int freq; // Carrier frequency (in Hz) + int usec; // uSec per tick (based on freq) + + int codeLen; // Length of code + uint16_t code[CODEMAX]; // Code in hex + + int onceLen; // Length of "once" transmit + uint16_t* once; // Pointer to start within 'code' + + int rptLen; // Length of "repeat" transmit + uint16_t* rpt; // Pointer to start within 'code' + } +pronto_t; + +//------------------------------------------------------------------------------ +// From what I have seen, the only time we go over 8-bits is the 'space' +// on the end which creates the lead-out/inter-code gap. Assuming I'm right, +// we can code this up as a special case and otherwise halve the size of our +// data! +// Ignoring the first four values (the config data) and the last value +// (the lead-out), if you find a protocol that uses values greater than 00fe +// we are going to have to revisit this code! +// +// +// So, the 0th byte will be the carrier frequency in Khz (NOT Hz) +// " 1st " " " " length of the "once" code +// " 2nd " " " " length of the "repeat" code +// +// Thereafter, odd bytes will be Mark lengths as a multiple of USECPERTICK uS +// even " " " Space " " " " " " " +// +// Any occurence of "FF" in either a Mark or a Space will indicate +// "Use the 16-bit FF value" which will also be a multiple of USECPERTICK uS +// +// +// As a point of comparison, the test code (prontoTest[]) is 520 bytes +// (yes, more than 0.5KB of our Arduino's precious 32KB) ... after conversion +// to pronto hex that goes down to ((520/5)*2) = 208 bytes ... once converted to +// our format we are down to ((208/2) -1 -1 +2) = 104 bytes +// +// In fariness this is still very memory-hungry +// ...As a rough guide: +// 10 codes cost 1K of memory (this will vary depending on the protocol). +// +// So if you're building a complex remote control, you will probably need to +// keep the codes on an external memory device (not in the Arduino sketch) and +// load them as you need them. Hmmm. +// +// This dictates that "Oscillated Pronto Codes" are probably NOT the way forward +// +// For example, prontoTest[] happens to be: A 48-bit IR code in Denon format +// So we know it starts with 80/40 (Denon header) +// and ends with 10/aa6 (Denon leadout) +// and all (48) bits in between are either 10/10 (Denon 0) +// or 10/30 (Denon 1) +// So we could easily store this data in 1-byte ("Denon") +// + 1-byte (Length=48) +// + 6-bytes (IR code) +// At 8-bytes per code, we can store 128 codes in 1KB or memory - that's a lot +// better than the 2 (two) we started off with! +// +// And serendipitously, by reducing the amount of data, our program will run +// a LOT faster! +// +// Again, I repeat, even after you have spent time converting the "Oscillated +// Pronto Codes" in to IRremote format, it will be a LOT more memory-hungry +// than using sendDenon() (or whichever) ...BUT these codes are easily +// available on the internet, so we'll support them! +// +typedef + struct { + uint16_t FF; + uint8_t code[CODEMAX]; + } +irCode_t; + +//------------------------------------------------------------------------------ +#define DEBUGF(...) printf(__VA_ARGS__) + +//+============================================================================= +// String must be block of 4 hex digits separated with blanks +// +bool validate (char* cp, int* len) +{ + for (*len = 0; *cp; (*len)++, cp += 4) { + byp(&cp); + if ( !ishex(cp[0]) || !ishex(cp[1]) || + !ishex(cp[2]) || !ishex(cp[3]) || !isblank(cp[4]) ) return false ; + } + + return true; +} + +//+============================================================================= +// Hex-to-Byte : Decode a hex digit +// We assume the character has already been validated +// +uint8_t htob (char ch) +{ + if ((ch >= '0') && (ch <= '9')) return ch - '0' ; + if ((ch >= 'A') && (ch <= 'F')) return ch - 'A' + 10 ; + if ((ch >= 'a') && (ch <= 'f')) return ch - 'a' + 10 ; +} + +//+============================================================================= +// Hex-to-Word : Decode a block of 4 hex digits +// We assume the string has already been validated +// and the pointer being passed points at the start of a block of 4 hex digits +// +uint16_t htow (char* cp) +{ + return ( (htob(cp[0]) << 12) | (htob(cp[1]) << 8) | + (htob(cp[2]) << 4) | (htob(cp[3]) ) ) ; +} + +//+============================================================================= +// Convert the pronto string in to data +// +bool decode (char* s, pronto_t* p, irCode_t* ir) +{ + int i, len; + char* cp; + + // Validate the Pronto string + if (!validate(s, &p->codeLen)) { + DEBUGF("Invalid pronto string\n"); + return false ; + } + DEBUGF("Found %d hex codes\n", p->codeLen); + + // Allocate memory to store the decoded string + //if (!(p->code = malloc(p->len))) { + // DEBUGF("Memory allocation failed\n"); + // return false ; + //} + + // Check in case our code is too long + if (p->codeLen > CODEMAX) { + DEBUGF("Code too long, edit CODEMAX and recompile\n"); + return false ; + } + + // Decode the string + cp = s; + for (i = 0; i < p->codeLen; i++, cp += 4) { + byp(&cp); + p->code[i] = htow(cp); + } + + // Announce our findings + DEBUGF("Input: |%s|\n", s); + DEBUGF("Found: |"); + for (i = 0; i < p->codeLen; i++) DEBUGF("%04x ", p->code[i]) ; + DEBUGF("|\n"); + + DEBUGF("Form [%04X] : ", p->code[0]); + if (p->code[0] == 0x0000) DEBUGF("Oscillated (Learned)\n"); + else if (p->code[0] == 0x0100) DEBUGF("Unmodulated\n"); + else DEBUGF("Unknown\n"); + if (p->code[0] != 0x0000) return false ; // Can only handle Oscillated + + // Calculate the carrier frequency (+/- 10%) & uSecs per pulse + // Pronto uses a crystal which generates a timeabse of 0.241246 + p->freq = (int)(1000000 / (p->code[1] * 0.241246)); + p->usec = (int)(((1.0 / p->freq) * 1000000) + 0.5); + ir->code[0] = p->freq / 1000; + DEBUGF("Freq [%04X] : %d Hz (%d uS/pluse) -> %d KHz\n", + p->code[1], p->freq, p->usec, ir->code[0]); + + // Set the length & start pointer for the "once" code + p->onceLen = p->code[2]; + p->once = &p->code[4]; + ir->code[1] = p->onceLen; + DEBUGF("Once [%04X] : %d\n", p->code[2], p->onceLen); + + // Set the length & start pointer for the "repeat" code + p->rptLen = p->code[3]; + p->rpt = &p->code[4 + p->onceLen]; + ir->code[2] = p->rptLen; + DEBUGF("Rpt [%04X] : %d\n", p->code[3], p->rptLen); + + // Check everything tallies + if (1 + 1 + 1 + 1 + (p->onceLen * 2) + (p->rptLen * 2) != p->codeLen) { + DEBUGF("Bad code length\n"); + return false; + } + + // Convert the IR data to our new format + ir->FF = p->code[p->codeLen - 1]; + + len = (p->onceLen * 2) + (p->rptLen * 2); + DEBUGF("Encoded: |"); + for (i = 0; i < len; i++) { + if (p->code[i+4] == ir->FF) { + ir->code[i+3] = 0xFF; + } else if (p->code[i+4] > 0xFE) { + DEBUGF("\n%04X : Mark/Space overflow\n", p->code[i+4]); + return false; + } else { + ir->code[i+3] = (p->code[i+4] * p->usec) / USECPERTICK; + } + DEBUGF("%s%d", !i ? "" : (i&1 ? "," : ", "), ir->code[i+3]); + } + DEBUGF("|\n"); + + ir->FF = (ir->FF * p->usec) / USECPERTICK; + DEBUGF("FF -> %d\n", ir->FF); + + return true; +} + +//+============================================================================= +// +void irDump (irCode_t* ir) +{ + int i, len; + + printf("uint8_t buttonName[%d] = {", len); + + printf("%d,%d, ", (ir->FF >> 8), ir->FF & 0xFF); + printf("%d,%d,%d, ", ir->code[0], ir->code[1], ir->code[2]); + + len = (ir->code[1] * 2) + (ir->code[2] * 2); + for (i = 0; i < len; i++) { + printf("%s%d", !i ? "" : (i&1 ? "," : ", "), ir->code[i+3]); + } + + printf("};\n"); + +} + +//+============================================================================= +// +int main ( ) +{ + pronto_t pCode; + irCode_t irCode; + + decode(prontoTest, &pCode, &irCode); + + irDump(&irCode); + + return 0; +} + +#endif //0 diff --git a/lib/Arduino-IRremote/irRecv.cpp b/lib/Arduino-IRremote/irRecv.cpp new file mode 100644 index 00000000..de3d3b1b --- /dev/null +++ b/lib/Arduino-IRremote/irRecv.cpp @@ -0,0 +1,235 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +#ifdef IR_TIMER_USE_ESP32 +hw_timer_t *timer; +void IRTimer(); // defined in IRremote.cpp +#endif + +//+============================================================================= +// Decodes the received IR message +// Returns 0 if no data ready, 1 if data ready. +// Results of decoding are stored in results +// +int IRrecv::decode (decode_results *results) +{ + results->rawbuf = irparams.rawbuf; + results->rawlen = irparams.rawlen; + + results->overflow = irparams.overflow; + + if (irparams.rcvstate != STATE_STOP) return false ; + +#if DECODE_NEC + DBG_PRINTLN("Attempting NEC decode"); + if (decodeNEC(results)) return true ; +#endif + +#if DECODE_SONY + DBG_PRINTLN("Attempting Sony decode"); + if (decodeSony(results)) return true ; +#endif + +#if DECODE_SANYO + DBG_PRINTLN("Attempting Sanyo decode"); + if (decodeSanyo(results)) return true ; +#endif + +#if DECODE_MITSUBISHI + DBG_PRINTLN("Attempting Mitsubishi decode"); + if (decodeMitsubishi(results)) return true ; +#endif + +#if DECODE_RC5 + DBG_PRINTLN("Attempting RC5 decode"); + if (decodeRC5(results)) return true ; +#endif + +#if DECODE_RC6 + DBG_PRINTLN("Attempting RC6 decode"); + if (decodeRC6(results)) return true ; +#endif + +#if DECODE_PANASONIC + DBG_PRINTLN("Attempting Panasonic decode"); + if (decodePanasonic(results)) return true ; +#endif + +#if DECODE_LG + DBG_PRINTLN("Attempting LG decode"); + if (decodeLG(results)) return true ; +#endif + +#if DECODE_JVC + DBG_PRINTLN("Attempting JVC decode"); + if (decodeJVC(results)) return true ; +#endif + +#if DECODE_SAMSUNG + DBG_PRINTLN("Attempting SAMSUNG decode"); + if (decodeSAMSUNG(results)) return true ; +#endif + +#if DECODE_WHYNTER + DBG_PRINTLN("Attempting Whynter decode"); + if (decodeWhynter(results)) return true ; +#endif + +#if DECODE_AIWA_RC_T501 + DBG_PRINTLN("Attempting Aiwa RC-T501 decode"); + if (decodeAiwaRCT501(results)) return true ; +#endif + +#if DECODE_DENON + DBG_PRINTLN("Attempting Denon decode"); + if (decodeDenon(results)) return true ; +#endif + +#if DECODE_LEGO_PF + DBG_PRINTLN("Attempting Lego Power Functions"); + if (decodeLegoPowerFunctions(results)) return true ; +#endif + + // decodeHash returns a hash on any input. + // Thus, it needs to be last in the list. + // If you add any decodes, add them before this. + if (decodeHash(results)) return true ; + + // Throw away and start over + resume(); + return false; +} + +//+============================================================================= +IRrecv::IRrecv (int recvpin) +{ + irparams.recvpin = recvpin; + irparams.blinkflag = 0; +} + +IRrecv::IRrecv (int recvpin, int blinkpin) +{ + irparams.recvpin = recvpin; + irparams.blinkpin = blinkpin; + pinMode(blinkpin, OUTPUT); + irparams.blinkflag = 0; +} + + + +//+============================================================================= +// initialization +// +void IRrecv::enableIRIn ( ) +{ +// Interrupt Service Routine - Fires every 50uS +#ifdef ESP32 + // ESP32 has a proper API to setup timers, no weird chip macros needed + // simply call the readable API versions :) + // 3 timers, choose #1, 80 divider nanosecond precision, 1 to count up + timer = timerBegin(1, 80, 1); + timerAttachInterrupt(timer, &IRTimer, 1); + // every 50ns, autoreload = true + timerAlarmWrite(timer, 50, true); + timerAlarmEnable(timer); +#else + cli(); + // Setup pulse clock timer interrupt + // Prescale /8 (16M/8 = 0.5 microseconds per tick) + // Therefore, the timer interval can range from 0.5 to 128 microseconds + // Depending on the reset value (255 to 0) + TIMER_CONFIG_NORMAL(); + + // Timer2 Overflow Interrupt Enable + TIMER_ENABLE_INTR; + + TIMER_RESET; + + sei(); // enable interrupts +#endif + + // Initialize state machine variables + irparams.rcvstate = STATE_IDLE; + irparams.rawlen = 0; + + // Set pin modes + pinMode(irparams.recvpin, INPUT); +} + +//+============================================================================= +// Enable/disable blinking of pin 13 on IR processing +// +void IRrecv::blink13 (int blinkflag) +{ + irparams.blinkflag = blinkflag; + if (blinkflag) pinMode(BLINKLED, OUTPUT) ; +} + +//+============================================================================= +// Return if receiving new IR signals +// +bool IRrecv::isIdle ( ) +{ + return (irparams.rcvstate == STATE_IDLE || irparams.rcvstate == STATE_STOP) ? true : false; +} +//+============================================================================= +// Restart the ISR state machine +// +void IRrecv::resume ( ) +{ + irparams.rcvstate = STATE_IDLE; + irparams.rawlen = 0; +} + +//+============================================================================= +// hashdecode - decode an arbitrary IR code. +// Instead of decoding using a standard encoding scheme +// (e.g. Sony, NEC, RC5), the code is hashed to a 32-bit value. +// +// The algorithm: look at the sequence of MARK signals, and see if each one +// is shorter (0), the same length (1), or longer (2) than the previous. +// Do the same with the SPACE signals. Hash the resulting sequence of 0's, +// 1's, and 2's to a 32-bit value. This will give a unique value for each +// different code (probably), for most code systems. +// +// http://arcfn.com/2010/01/using-arbitrary-remotes-with-arduino.html +// +// Compare two tick values, returning 0 if newval is shorter, +// 1 if newval is equal, and 2 if newval is longer +// Use a tolerance of 20% +// +int IRrecv::compare (unsigned int oldval, unsigned int newval) +{ + if (newval < oldval * .8) return 0 ; + else if (oldval < newval * .8) return 2 ; + else return 1 ; +} + +//+============================================================================= +// Use FNV hash algorithm: http://isthe.com/chongo/tech/comp/fnv/#FNV-param +// Converts the raw code values into a 32-bit hash code. +// Hopefully this code is unique for each button. +// This isn't a "real" decoding, just an arbitrary value. +// +#define FNV_PRIME_32 16777619 +#define FNV_BASIS_32 2166136261 + +long IRrecv::decodeHash (decode_results *results) +{ + long hash = FNV_BASIS_32; + + // Require at least 6 samples to prevent triggering on noise + if (results->rawlen < 6) return false ; + + for (int i = 1; (i + 2) < results->rawlen; i++) { + int value = compare(results->rawbuf[i], results->rawbuf[i+2]); + // Add value into the hash + hash = (hash * FNV_PRIME_32) ^ value; + } + + results->value = hash; + results->bits = 32; + results->decode_type = UNKNOWN; + + return true; +} diff --git a/lib/Arduino-IRremote/irSend.cpp b/lib/Arduino-IRremote/irSend.cpp new file mode 100644 index 00000000..c3ef3ffa --- /dev/null +++ b/lib/Arduino-IRremote/irSend.cpp @@ -0,0 +1,90 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//+============================================================================= +void IRsend::sendRaw (const unsigned int buf[], unsigned int len, unsigned int hz) +{ + // Set IR carrier frequency + enableIROut(hz); + + for (unsigned int i = 0; i < len; i++) { + if (i & 1) space(buf[i]) ; + else mark (buf[i]) ; + } + + space(0); // Always end with the LED off +} + +//+============================================================================= +// Sends an IR mark for the specified number of microseconds. +// The mark output is modulated at the PWM frequency. +// +void IRsend::mark (unsigned int time) +{ + TIMER_ENABLE_PWM; // Enable pin 3 PWM output + if (time > 0) custom_delay_usec(time); +} + +//+============================================================================= +// Leave pin off for time (given in microseconds) +// Sends an IR space for the specified number of microseconds. +// A space is no output, so the PWM output is disabled. +// +void IRsend::space (unsigned int time) +{ + TIMER_DISABLE_PWM; // Disable pin 3 PWM output + if (time > 0) IRsend::custom_delay_usec(time); +} + + + + + +//+============================================================================= +// Enables IR output. The khz value controls the modulation frequency in kilohertz. +// The IR output will be on pin 3 (OC2B). +// This routine is designed for 36-40KHz; if you use it for other values, it's up to you +// to make sure it gives reasonable results. (Watch out for overflow / underflow / rounding.) +// TIMER2 is used in phase-correct PWM mode, with OCR2A controlling the frequency and OCR2B +// controlling the duty cycle. +// There is no prescaling, so the output frequency is 16MHz / (2 * OCR2A) +// To turn the output on and off, we leave the PWM running, but connect and disconnect the output pin. +// A few hours staring at the ATmega documentation and this will all make sense. +// See my Secrets of Arduino PWM at http://arcfn.com/2009/07/secrets-of-arduino-pwm.html for details. +// +void IRsend::enableIROut (int khz) +{ +// FIXME: implement ESP32 support, see IR_TIMER_USE_ESP32 in boarddefs.h +#ifndef ESP32 + // Disable the Timer2 Interrupt (which is used for receiving IR) + TIMER_DISABLE_INTR; //Timer2 Overflow Interrupt + + pinMode(TIMER_PWM_PIN, OUTPUT); + digitalWrite(TIMER_PWM_PIN, LOW); // When not sending PWM, we want it low + + // COM2A = 00: disconnect OC2A + // COM2B = 00: disconnect OC2B; to send signal set to 10: OC2B non-inverted + // WGM2 = 101: phase-correct PWM with OCRA as top + // CS2 = 000: no prescaling + // The top value for the timer. The modulation frequency will be SYSCLOCK / 2 / OCR2A. + TIMER_CONFIG_KHZ(khz); +#endif +} + +//+============================================================================= +// Custom delay function that circumvents Arduino's delayMicroseconds limit + +void IRsend::custom_delay_usec(unsigned long uSecs) { + if (uSecs > 4) { + unsigned long start = micros(); + unsigned long endMicros = start + uSecs - 4; + if (endMicros < start) { // Check if overflow + while ( micros() > start ) {} // wait until overflow + } + while ( micros() < endMicros ) {} // normal wait + } + //else { + // __asm__("nop\n\t"); // must have or compiler optimizes out + //} +} + diff --git a/lib/Arduino-IRremote/ir_Aiwa.cpp b/lib/Arduino-IRremote/ir_Aiwa.cpp new file mode 100644 index 00000000..ee4d46e8 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Aiwa.cpp @@ -0,0 +1,105 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// AAA IIIII W W AAA +// A A I W W A A +// AAAAA I W W W AAAAA +// A A I W W W A A +// A A IIIII WWW A A +//============================================================================== + +// Based off the RC-T501 RCU +// Lirc file http://lirc.sourceforge.net/remotes/aiwa/RC-T501 + +#define AIWA_RC_T501_HZ 38 +#define AIWA_RC_T501_BITS 15 +#define AIWA_RC_T501_PRE_BITS 26 +#define AIWA_RC_T501_POST_BITS 1 +#define AIWA_RC_T501_SUM_BITS (AIWA_RC_T501_PRE_BITS + AIWA_RC_T501_BITS + AIWA_RC_T501_POST_BITS) +#define AIWA_RC_T501_HDR_MARK 8800 +#define AIWA_RC_T501_HDR_SPACE 4500 +#define AIWA_RC_T501_BIT_MARK 500 +#define AIWA_RC_T501_ONE_SPACE 600 +#define AIWA_RC_T501_ZERO_SPACE 1700 + +//+============================================================================= +#if SEND_AIWA_RC_T501 +void IRsend::sendAiwaRCT501 (int code) +{ + unsigned long pre = 0x0227EEC0; // 26-bits + + // Set IR carrier frequency + enableIROut(AIWA_RC_T501_HZ); + + // Header + mark(AIWA_RC_T501_HDR_MARK); + space(AIWA_RC_T501_HDR_SPACE); + + // Send "pre" data + for (unsigned long mask = 1UL << (26 - 1); mask; mask >>= 1) { + mark(AIWA_RC_T501_BIT_MARK); + if (pre & mask) space(AIWA_RC_T501_ONE_SPACE) ; + else space(AIWA_RC_T501_ZERO_SPACE) ; + } + +//-v- THIS CODE LOOKS LIKE IT MIGHT BE WRONG - CHECK! +// it only send 15bits and ignores the top bit +// then uses TOPBIT which is 0x80000000 to check the bit code +// I suspect TOPBIT should be changed to 0x00008000 + + // Skip first code bit + code <<= 1; + // Send code + for (int i = 0; i < 15; i++) { + mark(AIWA_RC_T501_BIT_MARK); + if (code & 0x80000000) space(AIWA_RC_T501_ONE_SPACE) ; + else space(AIWA_RC_T501_ZERO_SPACE) ; + code <<= 1; + } + +//-^- THIS CODE LOOKS LIKE IT MIGHT BE WRONG - CHECK! + + // POST-DATA, 1 bit, 0x0 + mark(AIWA_RC_T501_BIT_MARK); + space(AIWA_RC_T501_ZERO_SPACE); + + mark(AIWA_RC_T501_BIT_MARK); + space(0); +} +#endif + +//+============================================================================= +#if DECODE_AIWA_RC_T501 +bool IRrecv::decodeAiwaRCT501 (decode_results *results) +{ + int data = 0; + int offset = 1; + + // Check SIZE + if (irparams.rawlen < 2 * (AIWA_RC_T501_SUM_BITS) + 4) return false ; + + // Check HDR Mark/Space + if (!MATCH_MARK (results->rawbuf[offset++], AIWA_RC_T501_HDR_MARK )) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], AIWA_RC_T501_HDR_SPACE)) return false ; + + offset += 26; // skip pre-data - optional + while(offset < irparams.rawlen - 4) { + if (MATCH_MARK(results->rawbuf[offset], AIWA_RC_T501_BIT_MARK)) offset++ ; + else return false ; + + // ONE & ZERO + if (MATCH_SPACE(results->rawbuf[offset], AIWA_RC_T501_ONE_SPACE)) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], AIWA_RC_T501_ZERO_SPACE)) data = (data << 1) | 0 ; + else break ; // End of one & zero detected + offset++; + } + + results->bits = (offset - 1) / 2; + if (results->bits < 42) return false ; + + results->value = data; + results->decode_type = AIWA_RC_T501; + return true; +} +#endif diff --git a/lib/Arduino-IRremote/ir_Denon.cpp b/lib/Arduino-IRremote/ir_Denon.cpp new file mode 100644 index 00000000..4c9a502a --- /dev/null +++ b/lib/Arduino-IRremote/ir_Denon.cpp @@ -0,0 +1,94 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +// Reverse Engineered by looking at RAW dumps generated by IRremote + +// I have since discovered that Denon publish all their IR codes: +// https://www.google.co.uk/search?q=DENON+MASTER+IR+Hex+Command+Sheet +// -> http://assets.denon.com/documentmaster/us/denon%20master%20ir%20hex.xls + +// Having looked at the official Denon Pronto sheet and reverse engineered +// the timing values from it, it is obvious that Denon have a range of +// different timings and protocols ...the values here work for my AVR-3801 Amp! + +//============================================================================== +// DDDD EEEEE N N OOO N N +// D D E NN N O O NN N +// D D EEE N N N O O N N N +// D D E N NN O O N NN +// DDDD EEEEE N N OOO N N +//============================================================================== + +#define BITS 14 // The number of bits in the command + +#define HDR_MARK 300 // The length of the Header:Mark +#define HDR_SPACE 750 // The lenght of the Header:Space + +#define BIT_MARK 300 // The length of a Bit:Mark +#define ONE_SPACE 1800 // The length of a Bit:Space for 1's +#define ZERO_SPACE 750 // The length of a Bit:Space for 0's + +//+============================================================================= +// +#if SEND_DENON +void IRsend::sendDenon (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(38); + + // Header + mark (HDR_MARK); + space(HDR_SPACE); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark (BIT_MARK); + space(ONE_SPACE); + } else { + mark (BIT_MARK); + space(ZERO_SPACE); + } + } + + // Footer + mark(BIT_MARK); + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +// +#if DECODE_DENON +bool IRrecv::decodeDenon (decode_results *results) +{ + unsigned long data = 0; // Somewhere to build our code + int offset = 1; // Skip the Gap reading + + // Check we have the right amount of data + if (irparams.rawlen != 1 + 2 + (2 * BITS) + 1) return false ; + + // Check initial Mark+Space match + if (!MATCH_MARK (results->rawbuf[offset++], HDR_MARK )) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], HDR_SPACE)) return false ; + + // Read the bits in + for (int i = 0; i < BITS; i++) { + // Each bit looks like: MARK + SPACE_1 -> 1 + // or : MARK + SPACE_0 -> 0 + if (!MATCH_MARK(results->rawbuf[offset++], BIT_MARK)) return false ; + + // IR data is big-endian, so we shuffle it in from the right: + if (MATCH_SPACE(results->rawbuf[offset], ONE_SPACE)) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Success + results->bits = BITS; + results->value = data; + results->decode_type = DENON; + return true; +} +#endif diff --git a/lib/Arduino-IRremote/ir_Dish.cpp b/lib/Arduino-IRremote/ir_Dish.cpp new file mode 100644 index 00000000..0a17a603 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Dish.cpp @@ -0,0 +1,54 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// DDDD IIIII SSSS H H +// D D I S H H +// D D I SSS HHHHH +// D D I S H H +// DDDD IIIII SSSS H H +//============================================================================== + +// Sharp and DISH support by Todd Treece ( http://unionbridge.org/design/ircommand ) +// +// The sned function needs to be repeated 4 times +// +// Only send the last for characters of the hex. +// I.E. Use 0x1C10 instead of 0x0000000000001C10 as listed in the LIRC file. +// +// Here is the LIRC file I found that seems to match the remote codes from the +// oscilloscope: +// DISH NETWORK (echostar 301): +// http://lirc.sourceforge.net/remotes/echostar/301_501_3100_5100_58xx_59xx + +#define DISH_BITS 16 +#define DISH_HDR_MARK 400 +#define DISH_HDR_SPACE 6100 +#define DISH_BIT_MARK 400 +#define DISH_ONE_SPACE 1700 +#define DISH_ZERO_SPACE 2800 +#define DISH_RPT_SPACE 6200 + +//+============================================================================= +#if SEND_DISH +void IRsend::sendDISH (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(56); + + mark(DISH_HDR_MARK); + space(DISH_HDR_SPACE); + + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(DISH_BIT_MARK); + space(DISH_ONE_SPACE); + } else { + mark(DISH_BIT_MARK); + space(DISH_ZERO_SPACE); + } + } + mark(DISH_HDR_MARK); //added 26th March 2016, by AnalysIR ( https://www.AnalysIR.com ) +} +#endif + diff --git a/lib/Arduino-IRremote/ir_JVC.cpp b/lib/Arduino-IRremote/ir_JVC.cpp new file mode 100644 index 00000000..03d5e7c0 --- /dev/null +++ b/lib/Arduino-IRremote/ir_JVC.cpp @@ -0,0 +1,101 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// JJJJJ V V CCCC +// J V V C +// J V V C +// J J V V C +// J V CCCC +//============================================================================== + +#define JVC_BITS 16 +#define JVC_HDR_MARK 8000 +#define JVC_HDR_SPACE 4000 +#define JVC_BIT_MARK 600 +#define JVC_ONE_SPACE 1600 +#define JVC_ZERO_SPACE 550 +#define JVC_RPT_LENGTH 60000 + +//+============================================================================= +// JVC does NOT repeat by sending a separate code (like NEC does). +// The JVC protocol repeats by skipping the header. +// To send a JVC repeat signal, send the original code value +// and set 'repeat' to true +// +#if SEND_JVC +void IRsend::sendJVC (unsigned long data, int nbits, bool repeat) +{ + // Set IR carrier frequency + enableIROut(38); + + // Only send the Header if this is NOT a repeat command + if (!repeat){ + mark(JVC_HDR_MARK); + space(JVC_HDR_SPACE); + } + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(JVC_BIT_MARK); + space(JVC_ONE_SPACE); + } else { + mark(JVC_BIT_MARK); + space(JVC_ZERO_SPACE); + } + } + + // Footer + mark(JVC_BIT_MARK); + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +#if DECODE_JVC +bool IRrecv::decodeJVC (decode_results *results) +{ + long data = 0; + int offset = 1; // Skip first space + + // Check for repeat + if ( (irparams.rawlen - 1 == 33) + && MATCH_MARK(results->rawbuf[offset], JVC_BIT_MARK) + && MATCH_MARK(results->rawbuf[irparams.rawlen-1], JVC_BIT_MARK) + ) { + results->bits = 0; + results->value = REPEAT; + results->decode_type = JVC; + return true; + } + + // Initial mark + if (!MATCH_MARK(results->rawbuf[offset++], JVC_HDR_MARK)) return false ; + + if (irparams.rawlen < (2 * JVC_BITS) + 1 ) return false ; + + // Initial space + if (!MATCH_SPACE(results->rawbuf[offset++], JVC_HDR_SPACE)) return false ; + + for (int i = 0; i < JVC_BITS; i++) { + if (!MATCH_MARK(results->rawbuf[offset++], JVC_BIT_MARK)) return false ; + + if (MATCH_SPACE(results->rawbuf[offset], JVC_ONE_SPACE)) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], JVC_ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Stop bit + if (!MATCH_MARK(results->rawbuf[offset], JVC_BIT_MARK)) return false ; + + // Success + results->bits = JVC_BITS; + results->value = data; + results->decode_type = JVC; + + return true; +} +#endif + diff --git a/lib/Arduino-IRremote/ir_LG.cpp b/lib/Arduino-IRremote/ir_LG.cpp new file mode 100644 index 00000000..27bea287 --- /dev/null +++ b/lib/Arduino-IRremote/ir_LG.cpp @@ -0,0 +1,80 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// L GGGG +// L G +// L G GG +// L G G +// LLLLL GGG +//============================================================================== + +#define LG_BITS 28 + +#define LG_HDR_MARK 8000 +#define LG_HDR_SPACE 4000 +#define LG_BIT_MARK 600 +#define LG_ONE_SPACE 1600 +#define LG_ZERO_SPACE 550 +#define LG_RPT_LENGTH 60000 + +//+============================================================================= +#if DECODE_LG +bool IRrecv::decodeLG (decode_results *results) +{ + long data = 0; + int offset = 1; // Skip first space + + // Check we have the right amount of data + if (irparams.rawlen < (2 * LG_BITS) + 1 ) return false ; + + // Initial mark/space + if (!MATCH_MARK(results->rawbuf[offset++], LG_HDR_MARK)) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], LG_HDR_SPACE)) return false ; + + for (int i = 0; i < LG_BITS; i++) { + if (!MATCH_MARK(results->rawbuf[offset++], LG_BIT_MARK)) return false ; + + if (MATCH_SPACE(results->rawbuf[offset], LG_ONE_SPACE)) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], LG_ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Stop bit + if (!MATCH_MARK(results->rawbuf[offset], LG_BIT_MARK)) return false ; + + // Success + results->bits = LG_BITS; + results->value = data; + results->decode_type = LG; + return true; +} +#endif + +//+============================================================================= +#if SEND_LG +void IRsend::sendLG (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(38); + + // Header + mark(LG_HDR_MARK); + space(LG_HDR_SPACE); + mark(LG_BIT_MARK); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + space(LG_ONE_SPACE); + mark(LG_BIT_MARK); + } else { + space(LG_ZERO_SPACE); + mark(LG_BIT_MARK); + } + } + space(0); // Always end with the LED off +} +#endif + diff --git a/lib/Arduino-IRremote/ir_Lego_PF.cpp b/lib/Arduino-IRremote/ir_Lego_PF.cpp new file mode 100644 index 00000000..91902c50 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Lego_PF.cpp @@ -0,0 +1,46 @@ +#include "IRremote.h" +#include "IRremoteInt.h" +#include "ir_Lego_PF_BitStreamEncoder.h" + +//============================================================================== +// L EEEEEE EEEE OOOO +// L E E O O +// L EEEE E EEE O O +// L E E E O O LEGO Power Functions +// LLLLLL EEEEEE EEEE OOOO Copyright (c) 2016 Philipp Henkel +//============================================================================== + +// Supported Devices +// LEGO® Power Functions IR Receiver 8884 + +//+============================================================================= +// +#if SEND_LEGO_PF + +#if DEBUG +namespace { +void logFunctionParameters(uint16_t data, bool repeat) { + DBG_PRINT("sendLegoPowerFunctions(data="); + DBG_PRINT(data); + DBG_PRINT(", repeat="); + DBG_PRINTLN(repeat?"true)" : "false)"); +} +} // anonymous namespace +#endif // DEBUG + +void IRsend::sendLegoPowerFunctions(uint16_t data, bool repeat) +{ +#if DEBUG + ::logFunctionParameters(data, repeat); +#endif // DEBUG + + enableIROut(38); + static LegoPfBitStreamEncoder bitStreamEncoder; + bitStreamEncoder.reset(data, repeat); + do { + mark(bitStreamEncoder.getMarkDuration()); + space(bitStreamEncoder.getPauseDuration()); + } while (bitStreamEncoder.next()); +} + +#endif // SEND_LEGO_PF diff --git a/lib/Arduino-IRremote/ir_Lego_PF_BitStreamEncoder.h b/lib/Arduino-IRremote/ir_Lego_PF_BitStreamEncoder.h new file mode 100644 index 00000000..3cd6fb5e --- /dev/null +++ b/lib/Arduino-IRremote/ir_Lego_PF_BitStreamEncoder.h @@ -0,0 +1,115 @@ + +//============================================================================== +// L EEEEEE EEEE OOOO +// L E E O O +// L EEEE E EEE O O +// L E E E O O LEGO Power Functions +// LLLLLL EEEEEE EEEE OOOO Copyright (c) 2016, 2017 Philipp Henkel +//============================================================================== + +//+============================================================================= +// + +class LegoPfBitStreamEncoder { + private: + uint16_t data; + bool repeatMessage; + uint8_t messageBitIdx; + uint8_t repeatCount; + uint16_t messageLength; + + public: + // HIGH data bit = IR mark + high pause + // LOW data bit = IR mark + low pause + static const uint16_t LOW_BIT_DURATION = 421; + static const uint16_t HIGH_BIT_DURATION = 711; + static const uint16_t START_BIT_DURATION = 1184; + static const uint16_t STOP_BIT_DURATION = 1184; + static const uint8_t IR_MARK_DURATION = 158; + static const uint16_t HIGH_PAUSE_DURATION = HIGH_BIT_DURATION - IR_MARK_DURATION; + static const uint16_t LOW_PAUSE_DURATION = LOW_BIT_DURATION - IR_MARK_DURATION; + static const uint16_t START_PAUSE_DURATION = START_BIT_DURATION - IR_MARK_DURATION; + static const uint16_t STOP_PAUSE_DURATION = STOP_BIT_DURATION - IR_MARK_DURATION; + static const uint8_t MESSAGE_BITS = 18; + static const uint16_t MAX_MESSAGE_LENGTH = 16000; + + void reset(uint16_t data, bool repeatMessage) { + this->data = data; + this->repeatMessage = repeatMessage; + messageBitIdx = 0; + repeatCount = 0; + messageLength = getMessageLength(); + } + + int getChannelId() const { return 1 + ((data >> 12) & 0x3); } + + uint16_t getMessageLength() const { + // Sum up all marks + uint16_t length = MESSAGE_BITS * IR_MARK_DURATION; + + // Sum up all pauses + length += START_PAUSE_DURATION; + for (unsigned long mask = 1UL << 15; mask; mask >>= 1) { + if (data & mask) { + length += HIGH_PAUSE_DURATION; + } else { + length += LOW_PAUSE_DURATION; + } + } + length += STOP_PAUSE_DURATION; + return length; + } + + boolean next() { + messageBitIdx++; + if (messageBitIdx >= MESSAGE_BITS) { + repeatCount++; + messageBitIdx = 0; + } + if (repeatCount >= 1 && !repeatMessage) { + return false; + } else if (repeatCount >= 5) { + return false; + } else { + return true; + } + } + + uint8_t getMarkDuration() const { return IR_MARK_DURATION; } + + uint32_t getPauseDuration() const { + if (messageBitIdx == 0) + return START_PAUSE_DURATION; + else if (messageBitIdx < MESSAGE_BITS - 1) { + return getDataBitPause(); + } else { + return getStopPause(); + } + } + + private: + uint16_t getDataBitPause() const { + const int pos = MESSAGE_BITS - 2 - messageBitIdx; + const bool isHigh = data & (1 << pos); + return isHigh ? HIGH_PAUSE_DURATION : LOW_PAUSE_DURATION; + } + + uint32_t getStopPause() const { + if (repeatMessage) { + return getRepeatStopPause(); + } else { + return STOP_PAUSE_DURATION; + } + } + + uint32_t getRepeatStopPause() const { + if (repeatCount == 0 || repeatCount == 1) { + return STOP_PAUSE_DURATION + (uint32_t)5 * MAX_MESSAGE_LENGTH - messageLength; + } else if (repeatCount == 2 || repeatCount == 3) { + return STOP_PAUSE_DURATION + + (uint32_t)(6 + 2 * getChannelId()) * MAX_MESSAGE_LENGTH - messageLength; + } else { + return STOP_PAUSE_DURATION; + } + } +}; diff --git a/lib/Arduino-IRremote/ir_Mitsubishi.cpp b/lib/Arduino-IRremote/ir_Mitsubishi.cpp new file mode 100644 index 00000000..5068a262 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Mitsubishi.cpp @@ -0,0 +1,85 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// MMMMM IIIII TTTTT SSSS U U BBBB IIIII SSSS H H IIIII +// M M M I T S U U B B I S H H I +// M M M I T SSS U U BBBB I SSS HHHHH I +// M M I T S U U B B I S H H I +// M M IIIII T SSSS UUU BBBBB IIIII SSSS H H IIIII +//============================================================================== + +// Looks like Sony except for timings, 48 chars of data and time/space different + +#define MITSUBISHI_BITS 16 + +// Mitsubishi RM 75501 +// 14200 7 41 7 42 7 42 7 17 7 17 7 18 7 41 7 18 7 17 7 17 7 18 7 41 8 17 7 17 7 18 7 17 7 +// #define MITSUBISHI_HDR_MARK 250 // seen range 3500 +#define MITSUBISHI_HDR_SPACE 350 // 7*50+100 +#define MITSUBISHI_ONE_MARK 1950 // 41*50-100 +#define MITSUBISHI_ZERO_MARK 750 // 17*50-100 +// #define MITSUBISHI_DOUBLE_SPACE_USECS 800 // usually ssee 713 - not using ticks as get number wrapround +// #define MITSUBISHI_RPT_LENGTH 45000 + +//+============================================================================= +#if DECODE_MITSUBISHI +bool IRrecv::decodeMitsubishi (decode_results *results) +{ + // Serial.print("?!? decoding Mitsubishi:");Serial.print(irparams.rawlen); Serial.print(" want "); Serial.println( 2 * MITSUBISHI_BITS + 2); + long data = 0; + if (irparams.rawlen < 2 * MITSUBISHI_BITS + 2) return false ; + int offset = 0; // Skip first space + // Initial space + +#if 0 + // Put this back in for debugging - note can't use #DEBUG as if Debug on we don't see the repeat cos of the delay + Serial.print("IR Gap: "); + Serial.println( results->rawbuf[offset]); + Serial.println( "test against:"); + Serial.println(results->rawbuf[offset]); +#endif + +#if 0 + // Not seeing double keys from Mitsubishi + if (results->rawbuf[offset] < MITSUBISHI_DOUBLE_SPACE_USECS) { + // Serial.print("IR Gap found: "); + results->bits = 0; + results->value = REPEAT; + results->decode_type = MITSUBISHI; + return true; + } +#endif + + offset++; + + // Typical + // 14200 7 41 7 42 7 42 7 17 7 17 7 18 7 41 7 18 7 17 7 17 7 18 7 41 8 17 7 17 7 18 7 17 7 + + // Initial Space + if (!MATCH_MARK(results->rawbuf[offset], MITSUBISHI_HDR_SPACE)) return false ; + offset++; + + while (offset + 1 < irparams.rawlen) { + if (MATCH_MARK(results->rawbuf[offset], MITSUBISHI_ONE_MARK)) data = (data << 1) | 1 ; + else if (MATCH_MARK(results->rawbuf[offset], MITSUBISHI_ZERO_MARK)) data <<= 1 ; + else return false ; + offset++; + + if (!MATCH_SPACE(results->rawbuf[offset], MITSUBISHI_HDR_SPACE)) break ; + offset++; + } + + // Success + results->bits = (offset - 1) / 2; + if (results->bits < MITSUBISHI_BITS) { + results->bits = 0; + return false; + } + + results->value = data; + results->decode_type = MITSUBISHI; + return true; +} +#endif + diff --git a/lib/Arduino-IRremote/ir_NEC.cpp b/lib/Arduino-IRremote/ir_NEC.cpp new file mode 100644 index 00000000..4443a4de --- /dev/null +++ b/lib/Arduino-IRremote/ir_NEC.cpp @@ -0,0 +1,98 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// N N EEEEE CCCC +// NN N E C +// N N N EEE C +// N NN E C +// N N EEEEE CCCC +//============================================================================== + +#define NEC_BITS 32 +#define NEC_HDR_MARK 9000 +#define NEC_HDR_SPACE 4500 +#define NEC_BIT_MARK 560 +#define NEC_ONE_SPACE 1690 +#define NEC_ZERO_SPACE 560 +#define NEC_RPT_SPACE 2250 + +//+============================================================================= +#if SEND_NEC +void IRsend::sendNEC (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(38); + + // Header + mark(NEC_HDR_MARK); + space(NEC_HDR_SPACE); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(NEC_BIT_MARK); + space(NEC_ONE_SPACE); + } else { + mark(NEC_BIT_MARK); + space(NEC_ZERO_SPACE); + } + } + + // Footer + mark(NEC_BIT_MARK); + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +// NECs have a repeat only 4 items long +// +#if DECODE_NEC +bool IRrecv::decodeNEC (decode_results *results) +{ + long data = 0; // We decode in to here; Start with nothing + int offset = 1; // Index in to results; Skip first entry!? + + // Check header "mark" + if (!MATCH_MARK(results->rawbuf[offset], NEC_HDR_MARK)) return false ; + offset++; + + // Check for repeat + if ( (irparams.rawlen == 4) + && MATCH_SPACE(results->rawbuf[offset ], NEC_RPT_SPACE) + && MATCH_MARK (results->rawbuf[offset+1], NEC_BIT_MARK ) + ) { + results->bits = 0; + results->value = REPEAT; + results->decode_type = NEC; + return true; + } + + // Check we have enough data + if (irparams.rawlen < (2 * NEC_BITS) + 4) return false ; + + // Check header "space" + if (!MATCH_SPACE(results->rawbuf[offset], NEC_HDR_SPACE)) return false ; + offset++; + + // Build the data + for (int i = 0; i < NEC_BITS; i++) { + // Check data "mark" + if (!MATCH_MARK(results->rawbuf[offset], NEC_BIT_MARK)) return false ; + offset++; + // Suppend this bit + if (MATCH_SPACE(results->rawbuf[offset], NEC_ONE_SPACE )) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], NEC_ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Success + results->bits = NEC_BITS; + results->value = data; + results->decode_type = NEC; + + return true; +} +#endif diff --git a/lib/Arduino-IRremote/ir_Panasonic.cpp b/lib/Arduino-IRremote/ir_Panasonic.cpp new file mode 100644 index 00000000..bef5c5cf --- /dev/null +++ b/lib/Arduino-IRremote/ir_Panasonic.cpp @@ -0,0 +1,78 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// PPPP AAA N N AAA SSSS OOO N N IIIII CCCC +// P P A A NN N A A S O O NN N I C +// PPPP AAAAA N N N AAAAA SSS O O N N N I C +// P A A N NN A A S O O N NN I C +// P A A N N A A SSSS OOO N N IIIII CCCC +//============================================================================== + +#define PANASONIC_BITS 48 +#define PANASONIC_HDR_MARK 3502 +#define PANASONIC_HDR_SPACE 1750 +#define PANASONIC_BIT_MARK 502 +#define PANASONIC_ONE_SPACE 1244 +#define PANASONIC_ZERO_SPACE 400 + +//+============================================================================= +#if SEND_PANASONIC +void IRsend::sendPanasonic (unsigned int address, unsigned long data) +{ + // Set IR carrier frequency + enableIROut(35); + + // Header + mark(PANASONIC_HDR_MARK); + space(PANASONIC_HDR_SPACE); + + // Address + for (unsigned long mask = 1UL << (16 - 1); mask; mask >>= 1) { + mark(PANASONIC_BIT_MARK); + if (address & mask) space(PANASONIC_ONE_SPACE) ; + else space(PANASONIC_ZERO_SPACE) ; + } + + // Data + for (unsigned long mask = 1UL << (32 - 1); mask; mask >>= 1) { + mark(PANASONIC_BIT_MARK); + if (data & mask) space(PANASONIC_ONE_SPACE) ; + else space(PANASONIC_ZERO_SPACE) ; + } + + // Footer + mark(PANASONIC_BIT_MARK); + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +#if DECODE_PANASONIC +bool IRrecv::decodePanasonic (decode_results *results) +{ + unsigned long long data = 0; + int offset = 1; + + if (!MATCH_MARK(results->rawbuf[offset++], PANASONIC_HDR_MARK )) return false ; + if (!MATCH_MARK(results->rawbuf[offset++], PANASONIC_HDR_SPACE)) return false ; + + // decode address + for (int i = 0; i < PANASONIC_BITS; i++) { + if (!MATCH_MARK(results->rawbuf[offset++], PANASONIC_BIT_MARK)) return false ; + + if (MATCH_SPACE(results->rawbuf[offset],PANASONIC_ONE_SPACE )) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset],PANASONIC_ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + results->value = (unsigned long)data; + results->address = (unsigned int)(data >> 32); + results->decode_type = PANASONIC; + results->bits = PANASONIC_BITS; + + return true; +} +#endif + diff --git a/lib/Arduino-IRremote/ir_RC5_RC6.cpp b/lib/Arduino-IRremote/ir_RC5_RC6.cpp new file mode 100644 index 00000000..f7134a9f --- /dev/null +++ b/lib/Arduino-IRremote/ir_RC5_RC6.cpp @@ -0,0 +1,207 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//+============================================================================= +// Gets one undecoded level at a time from the raw buffer. +// The RC5/6 decoding is easier if the data is broken into time intervals. +// E.g. if the buffer has MARK for 2 time intervals and SPACE for 1, +// successive calls to getRClevel will return MARK, MARK, SPACE. +// offset and used are updated to keep track of the current position. +// t1 is the time interval for a single bit in microseconds. +// Returns -1 for error (measured time interval is not a multiple of t1). +// +#if (DECODE_RC5 || DECODE_RC6) +int IRrecv::getRClevel (decode_results *results, int *offset, int *used, int t1) +{ + int width; + int val; + int correction; + int avail; + + if (*offset >= results->rawlen) return SPACE ; // After end of recorded buffer, assume SPACE. + width = results->rawbuf[*offset]; + val = ((*offset) % 2) ? MARK : SPACE; + correction = (val == MARK) ? MARK_EXCESS : - MARK_EXCESS; + + if (MATCH(width, ( t1) + correction)) avail = 1 ; + else if (MATCH(width, (2*t1) + correction)) avail = 2 ; + else if (MATCH(width, (3*t1) + correction)) avail = 3 ; + else return -1 ; + + (*used)++; + if (*used >= avail) { + *used = 0; + (*offset)++; + } + + DBG_PRINTLN( (val == MARK) ? "MARK" : "SPACE" ); + + return val; +} +#endif + +//============================================================================== +// RRRR CCCC 55555 +// R R C 5 +// RRRR C 5555 +// R R C 5 +// R R CCCC 5555 +// +// NB: First bit must be a one (start bit) +// +#define MIN_RC5_SAMPLES 11 +#define RC5_T1 889 +#define RC5_RPT_LENGTH 46000 + +//+============================================================================= +#if SEND_RC5 +void IRsend::sendRC5 (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(36); + + // Start + mark(RC5_T1); + space(RC5_T1); + mark(RC5_T1); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + space(RC5_T1); // 1 is space, then mark + mark(RC5_T1); + } else { + mark(RC5_T1); + space(RC5_T1); + } + } + + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +#if DECODE_RC5 +bool IRrecv::decodeRC5 (decode_results *results) +{ + int nbits; + long data = 0; + int used = 0; + int offset = 1; // Skip gap space + + if (irparams.rawlen < MIN_RC5_SAMPLES + 2) return false ; + + // Get start bits + if (getRClevel(results, &offset, &used, RC5_T1) != MARK) return false ; + if (getRClevel(results, &offset, &used, RC5_T1) != SPACE) return false ; + if (getRClevel(results, &offset, &used, RC5_T1) != MARK) return false ; + + for (nbits = 0; offset < irparams.rawlen; nbits++) { + int levelA = getRClevel(results, &offset, &used, RC5_T1); + int levelB = getRClevel(results, &offset, &used, RC5_T1); + + if ((levelA == SPACE) && (levelB == MARK )) data = (data << 1) | 1 ; + else if ((levelA == MARK ) && (levelB == SPACE)) data = (data << 1) | 0 ; + else return false ; + } + + // Success + results->bits = nbits; + results->value = data; + results->decode_type = RC5; + return true; +} +#endif + +//+============================================================================= +// RRRR CCCC 6666 +// R R C 6 +// RRRR C 6666 +// R R C 6 6 +// R R CCCC 666 +// +// NB : Caller needs to take care of flipping the toggle bit +// +#define MIN_RC6_SAMPLES 1 +#define RC6_HDR_MARK 2666 +#define RC6_HDR_SPACE 889 +#define RC6_T1 444 +#define RC6_RPT_LENGTH 46000 + +#if SEND_RC6 +void IRsend::sendRC6 (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(36); + + // Header + mark(RC6_HDR_MARK); + space(RC6_HDR_SPACE); + + // Start bit + mark(RC6_T1); + space(RC6_T1); + + // Data + for (unsigned long i = 1, mask = 1UL << (nbits - 1); mask; i++, mask >>= 1) { + // The fourth bit we send is a "double width trailer bit" + int t = (i == 4) ? (RC6_T1 * 2) : (RC6_T1) ; + if (data & mask) { + mark(t); + space(t); + } else { + space(t); + mark(t); + } + } + + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +#if DECODE_RC6 +bool IRrecv::decodeRC6 (decode_results *results) +{ + int nbits; + long data = 0; + int used = 0; + int offset = 1; // Skip first space + + if (results->rawlen < MIN_RC6_SAMPLES) return false ; + + // Initial mark + if (!MATCH_MARK(results->rawbuf[offset++], RC6_HDR_MARK)) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], RC6_HDR_SPACE)) return false ; + + // Get start bit (1) + if (getRClevel(results, &offset, &used, RC6_T1) != MARK) return false ; + if (getRClevel(results, &offset, &used, RC6_T1) != SPACE) return false ; + + for (nbits = 0; offset < results->rawlen; nbits++) { + int levelA, levelB; // Next two levels + + levelA = getRClevel(results, &offset, &used, RC6_T1); + if (nbits == 3) { + // T bit is double wide; make sure second half matches + if (levelA != getRClevel(results, &offset, &used, RC6_T1)) return false; + } + + levelB = getRClevel(results, &offset, &used, RC6_T1); + if (nbits == 3) { + // T bit is double wide; make sure second half matches + if (levelB != getRClevel(results, &offset, &used, RC6_T1)) return false; + } + + if ((levelA == MARK ) && (levelB == SPACE)) data = (data << 1) | 1 ; // inverted compared to RC5 + else if ((levelA == SPACE) && (levelB == MARK )) data = (data << 1) | 0 ; // ... + else return false ; // Error + } + + // Success + results->bits = nbits; + results->value = data; + results->decode_type = RC6; + return true; +} +#endif diff --git a/lib/Arduino-IRremote/ir_Samsung.cpp b/lib/Arduino-IRremote/ir_Samsung.cpp new file mode 100644 index 00000000..f36185fb --- /dev/null +++ b/lib/Arduino-IRremote/ir_Samsung.cpp @@ -0,0 +1,92 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// SSSS AAA MMM SSSS U U N N GGGG +// S A A M M M S U U NN N G +// SSS AAAAA M M M SSS U U N N N G GG +// S A A M M S U U N NN G G +// SSSS A A M M SSSS UUU N N GGG +//============================================================================== + +#define SAMSUNG_BITS 32 +#define SAMSUNG_HDR_MARK 5000 +#define SAMSUNG_HDR_SPACE 5000 +#define SAMSUNG_BIT_MARK 560 +#define SAMSUNG_ONE_SPACE 1600 +#define SAMSUNG_ZERO_SPACE 560 +#define SAMSUNG_RPT_SPACE 2250 + +//+============================================================================= +#if SEND_SAMSUNG +void IRsend::sendSAMSUNG (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(38); + + // Header + mark(SAMSUNG_HDR_MARK); + space(SAMSUNG_HDR_SPACE); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(SAMSUNG_BIT_MARK); + space(SAMSUNG_ONE_SPACE); + } else { + mark(SAMSUNG_BIT_MARK); + space(SAMSUNG_ZERO_SPACE); + } + } + + // Footer + mark(SAMSUNG_BIT_MARK); + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +// SAMSUNGs have a repeat only 4 items long +// +#if DECODE_SAMSUNG +bool IRrecv::decodeSAMSUNG (decode_results *results) +{ + long data = 0; + int offset = 1; // Skip first space + + // Initial mark + if (!MATCH_MARK(results->rawbuf[offset], SAMSUNG_HDR_MARK)) return false ; + offset++; + + // Check for repeat + if ( (irparams.rawlen == 4) + && MATCH_SPACE(results->rawbuf[offset], SAMSUNG_RPT_SPACE) + && MATCH_MARK(results->rawbuf[offset+1], SAMSUNG_BIT_MARK) + ) { + results->bits = 0; + results->value = REPEAT; + results->decode_type = SAMSUNG; + return true; + } + if (irparams.rawlen < (2 * SAMSUNG_BITS) + 4) return false ; + + // Initial space + if (!MATCH_SPACE(results->rawbuf[offset++], SAMSUNG_HDR_SPACE)) return false ; + + for (int i = 0; i < SAMSUNG_BITS; i++) { + if (!MATCH_MARK(results->rawbuf[offset++], SAMSUNG_BIT_MARK)) return false ; + + if (MATCH_SPACE(results->rawbuf[offset], SAMSUNG_ONE_SPACE)) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], SAMSUNG_ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Success + results->bits = SAMSUNG_BITS; + results->value = data; + results->decode_type = SAMSUNG; + return true; +} +#endif + diff --git a/lib/Arduino-IRremote/ir_Sanyo.cpp b/lib/Arduino-IRremote/ir_Sanyo.cpp new file mode 100644 index 00000000..4a1e9fab --- /dev/null +++ b/lib/Arduino-IRremote/ir_Sanyo.cpp @@ -0,0 +1,76 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// SSSS AAA N N Y Y OOO +// S A A NN N Y Y O O +// SSS AAAAA N N N Y O O +// S A A N NN Y O O +// SSSS A A N N Y OOO +//============================================================================== + +// I think this is a Sanyo decoder: Serial = SA 8650B +// Looks like Sony except for timings, 48 chars of data and time/space different + +#define SANYO_BITS 12 +#define SANYO_HDR_MARK 3500 // seen range 3500 +#define SANYO_HDR_SPACE 950 // seen 950 +#define SANYO_ONE_MARK 2400 // seen 2400 +#define SANYO_ZERO_MARK 700 // seen 700 +#define SANYO_DOUBLE_SPACE_USECS 800 // usually ssee 713 - not using ticks as get number wrapround +#define SANYO_RPT_LENGTH 45000 + +//+============================================================================= +#if DECODE_SANYO +bool IRrecv::decodeSanyo (decode_results *results) +{ + long data = 0; + int offset = 0; // Skip first space <-- CHECK THIS! + + if (irparams.rawlen < (2 * SANYO_BITS) + 2) return false ; + +#if 0 + // Put this back in for debugging - note can't use #DEBUG as if Debug on we don't see the repeat cos of the delay + Serial.print("IR Gap: "); + Serial.println( results->rawbuf[offset]); + Serial.println( "test against:"); + Serial.println(results->rawbuf[offset]); +#endif + + // Initial space + if (results->rawbuf[offset] < SANYO_DOUBLE_SPACE_USECS) { + //Serial.print("IR Gap found: "); + results->bits = 0; + results->value = REPEAT; + results->decode_type = SANYO; + return true; + } + offset++; + + // Initial mark + if (!MATCH_MARK(results->rawbuf[offset++], SANYO_HDR_MARK)) return false ; + + // Skip Second Mark + if (!MATCH_MARK(results->rawbuf[offset++], SANYO_HDR_MARK)) return false ; + + while (offset + 1 < irparams.rawlen) { + if (!MATCH_SPACE(results->rawbuf[offset++], SANYO_HDR_SPACE)) break ; + + if (MATCH_MARK(results->rawbuf[offset], SANYO_ONE_MARK)) data = (data << 1) | 1 ; + else if (MATCH_MARK(results->rawbuf[offset], SANYO_ZERO_MARK)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Success + results->bits = (offset - 1) / 2; + if (results->bits < 12) { + results->bits = 0; + return false; + } + + results->value = data; + results->decode_type = SANYO; + return true; +} +#endif diff --git a/lib/Arduino-IRremote/ir_Sharp.cpp b/lib/Arduino-IRremote/ir_Sharp.cpp new file mode 100644 index 00000000..f1845e03 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Sharp.cpp @@ -0,0 +1,71 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// SSSS H H AAA RRRR PPPP +// S H H A A R R P P +// SSS HHHHH AAAAA RRRR PPPP +// S H H A A R R P +// SSSS H H A A R R P +//============================================================================== + +// Sharp and DISH support by Todd Treece: http://unionbridge.org/design/ircommand +// +// The send function has the necessary repeat built in because of the need to +// invert the signal. +// +// Sharp protocol documentation: +// http://www.sbprojects.com/knowledge/ir/sharp.htm +// +// Here is the LIRC file I found that seems to match the remote codes from the +// oscilloscope: +// Sharp LCD TV: +// http://lirc.sourceforge.net/remotes/sharp/GA538WJSA + +#define SHARP_BITS 15 +#define SHARP_BIT_MARK 245 +#define SHARP_ONE_SPACE 1805 +#define SHARP_ZERO_SPACE 795 +#define SHARP_GAP 600000 +#define SHARP_RPT_SPACE 3000 + +#define SHARP_TOGGLE_MASK 0x3FF + +//+============================================================================= +#if SEND_SHARP +void IRsend::sendSharpRaw (unsigned long data, int nbits) +{ + enableIROut(38); + + // Sending codes in bursts of 3 (normal, inverted, normal) makes transmission + // much more reliable. That's the exact behaviour of CD-S6470 remote control. + for (int n = 0; n < 3; n++) { + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(SHARP_BIT_MARK); + space(SHARP_ONE_SPACE); + } else { + mark(SHARP_BIT_MARK); + space(SHARP_ZERO_SPACE); + } + } + + mark(SHARP_BIT_MARK); + space(SHARP_ZERO_SPACE); + delay(40); + + data = data ^ SHARP_TOGGLE_MASK; + } +} +#endif + +//+============================================================================= +// Sharp send compatible with data obtained through decodeSharp() +// ^^^^^^^^^^^^^ FUNCTION MISSING! +// +#if SEND_SHARP +void IRsend::sendSharp (unsigned int address, unsigned int command) +{ + sendSharpRaw((address << 10) | (command << 2) | 2, SHARP_BITS); +} +#endif diff --git a/lib/Arduino-IRremote/ir_Sony.cpp b/lib/Arduino-IRremote/ir_Sony.cpp new file mode 100644 index 00000000..95b710e4 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Sony.cpp @@ -0,0 +1,95 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// SSSS OOO N N Y Y +// S O O NN N Y Y +// SSS O O N N N Y +// S O O N NN Y +// SSSS OOO N N Y +//============================================================================== + +#define SONY_BITS 12 +#define SONY_HDR_MARK 2400 +#define SONY_HDR_SPACE 600 +#define SONY_ONE_MARK 1200 +#define SONY_ZERO_MARK 600 +#define SONY_RPT_LENGTH 45000 +#define SONY_DOUBLE_SPACE_USECS 500 // usually ssee 713 - not using ticks as get number wrapround + +//+============================================================================= +#if SEND_SONY +void IRsend::sendSony (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(40); + + // Header + mark(SONY_HDR_MARK); + space(SONY_HDR_SPACE); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(SONY_ONE_MARK); + space(SONY_HDR_SPACE); + } else { + mark(SONY_ZERO_MARK); + space(SONY_HDR_SPACE); + } + } + + // We will have ended with LED off +} +#endif + +//+============================================================================= +#if DECODE_SONY +bool IRrecv::decodeSony (decode_results *results) +{ + long data = 0; + int offset = 0; // Dont skip first space, check its size + + if (irparams.rawlen < (2 * SONY_BITS) + 2) return false ; + + // Some Sony's deliver repeats fast after first + // unfortunately can't spot difference from of repeat from two fast clicks + if (results->rawbuf[offset] < SONY_DOUBLE_SPACE_USECS) { + // Serial.print("IR Gap found: "); + results->bits = 0; + results->value = REPEAT; + +# ifdef DECODE_SANYO + results->decode_type = SANYO; +# else + results->decode_type = UNKNOWN; +# endif + + return true; + } + offset++; + + // Initial mark + if (!MATCH_MARK(results->rawbuf[offset++], SONY_HDR_MARK)) return false ; + + while (offset + 1 < irparams.rawlen) { + if (!MATCH_SPACE(results->rawbuf[offset++], SONY_HDR_SPACE)) break ; + + if (MATCH_MARK(results->rawbuf[offset], SONY_ONE_MARK)) data = (data << 1) | 1 ; + else if (MATCH_MARK(results->rawbuf[offset], SONY_ZERO_MARK)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Success + results->bits = (offset - 1) / 2; + if (results->bits < 12) { + results->bits = 0; + return false; + } + results->value = data; + results->decode_type = SONY; + return true; +} +#endif + diff --git a/lib/Arduino-IRremote/ir_Template.cpp b/lib/Arduino-IRremote/ir_Template.cpp new file mode 100644 index 00000000..09630c00 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Template.cpp @@ -0,0 +1,179 @@ +/* +Assuming the protocol we are adding is for the (imaginary) manufacturer: Shuzu + +Our fantasy protocol is a standard protocol, so we can use this standard +template without too much work. Some protocols are quite unique and will require +considerably more work in this file! It is way beyond the scope of this text to +explain how to reverse engineer "unusual" IR protocols. But, unless you own an +oscilloscope, the starting point is probably to use the rawDump.ino sketch and +try to spot the pattern! + +Before you start, make sure the IR library is working OK: + # Open up the Arduino IDE + # Load up the rawDump.ino example sketch + # Run it + +Now we can start to add our new protocol... + +1. Copy this file to : ir_Shuzu.cpp + +2. Replace all occurrences of "Shuzu" with the name of your protocol. + +3. Tweak the #defines to suit your protocol. + +4. If you're lucky, tweaking the #defines will make the default send() function + work. + +5. Again, if you're lucky, tweaking the #defines will have made the default + decode() function work. + +You have written the code to support your new protocol! + +Now you must do a few things to add it to the IRremote system: + +1. Open IRremote.h and make the following changes: + REMEMEBER to change occurences of "SHUZU" with the name of your protocol + + A. At the top, in the section "Supported Protocols", add: + #define DECODE_SHUZU 1 + #define SEND_SHUZU 1 + + B. In the section "enumerated list of all supported formats", add: + SHUZU, + to the end of the list (notice there is a comma after the protocol name) + + C. Further down in "Main class for receiving IR", add: + //...................................................................... + #if DECODE_SHUZU + bool decodeShuzu (decode_results *results) ; + #endif + + D. Further down in "Main class for sending IR", add: + //...................................................................... + #if SEND_SHUZU + void sendShuzu (unsigned long data, int nbits) ; + #endif + + E. Save your changes and close the file + +2. Now open irRecv.cpp and make the following change: + + A. In the function IRrecv::decode(), add: + #ifdef DECODE_NEC + DBG_PRINTLN("Attempting Shuzu decode"); + if (decodeShuzu(results)) return true ; + #endif + + B. Save your changes and close the file + +You will probably want to add your new protocol to the example sketch + +3. Open MyDocuments\Arduino\libraries\IRremote\examples\IRrecvDumpV2.ino + + A. In the encoding() function, add: + case SHUZU: Serial.print("SHUZU"); break ; + +Now open the Arduino IDE, load up the rawDump.ino sketch, and run it. +Hopefully it will compile and upload. +If it doesn't, you've done something wrong. Check your work. +If you can't get it to work - seek help from somewhere. + +If you get this far, I will assume you have successfully added your new protocol +There is one last thing to do. + +1. Delete this giant instructional comment. + +2. Send a copy of your work to us so we can include it in the library and + others may benefit from your hard work and maybe even write a song about how + great you are for helping them! :) + +Regards, + BlueChip +*/ + +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// +// +// S H U Z U +// +// +//============================================================================== + +#define BITS 32 // The number of bits in the command + +#define HDR_MARK 1000 // The length of the Header:Mark +#define HDR_SPACE 2000 // The lenght of the Header:Space + +#define BIT_MARK 3000 // The length of a Bit:Mark +#define ONE_SPACE 4000 // The length of a Bit:Space for 1's +#define ZERO_SPACE 5000 // The length of a Bit:Space for 0's + +#define OTHER 1234 // Other things you may need to define + +//+============================================================================= +// +#if SEND_SHUZU +void IRsend::sendShuzu (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(38); + + // Header + mark (HDR_MARK); + space(HDR_SPACE); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark (BIT_MARK); + space(ONE_SPACE); + } else { + mark (BIT_MARK); + space(ZERO_SPACE); + } + } + + // Footer + mark(BIT_MARK); + space(0); // Always end with the LED off +} +#endif + +//+============================================================================= +// +#if DECODE_SHUZU +bool IRrecv::decodeShuzu (decode_results *results) +{ + unsigned long data = 0; // Somewhere to build our code + int offset = 1; // Skip the Gap reading + + // Check we have the right amount of data + if (irparams.rawlen != 1 + 2 + (2 * BITS) + 1) return false ; + + // Check initial Mark+Space match + if (!MATCH_MARK (results->rawbuf[offset++], HDR_MARK )) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], HDR_SPACE)) return false ; + + // Read the bits in + for (int i = 0; i < SHUZU_BITS; i++) { + // Each bit looks like: MARK + SPACE_1 -> 1 + // or : MARK + SPACE_0 -> 0 + if (!MATCH_MARK(results->rawbuf[offset++], BIT_MARK)) return false ; + + // IR data is big-endian, so we shuffle it in from the right: + if (MATCH_SPACE(results->rawbuf[offset], ONE_SPACE)) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // Success + results->bits = BITS; + results->value = data; + results->decode_type = SHUZU; + return true; +} +#endif diff --git a/lib/Arduino-IRremote/ir_Whynter.cpp b/lib/Arduino-IRremote/ir_Whynter.cpp new file mode 100644 index 00000000..8b7bf0e6 --- /dev/null +++ b/lib/Arduino-IRremote/ir_Whynter.cpp @@ -0,0 +1,91 @@ +#include "IRremote.h" +#include "IRremoteInt.h" + +//============================================================================== +// W W H H Y Y N N TTTTT EEEEE RRRRR +// W W H H Y Y NN N T E R R +// W W W HHHHH Y N N N T EEE RRRR +// W W W H H Y N NN T E R R +// WWW H H Y N N T EEEEE R R +//============================================================================== + +#define WHYNTER_BITS 32 +#define WHYNTER_HDR_MARK 2850 +#define WHYNTER_HDR_SPACE 2850 +#define WHYNTER_BIT_MARK 750 +#define WHYNTER_ONE_MARK 750 +#define WHYNTER_ONE_SPACE 2150 +#define WHYNTER_ZERO_MARK 750 +#define WHYNTER_ZERO_SPACE 750 + +//+============================================================================= +#if SEND_WHYNTER +void IRsend::sendWhynter (unsigned long data, int nbits) +{ + // Set IR carrier frequency + enableIROut(38); + + // Start + mark(WHYNTER_ZERO_MARK); + space(WHYNTER_ZERO_SPACE); + + // Header + mark(WHYNTER_HDR_MARK); + space(WHYNTER_HDR_SPACE); + + // Data + for (unsigned long mask = 1UL << (nbits - 1); mask; mask >>= 1) { + if (data & mask) { + mark(WHYNTER_ONE_MARK); + space(WHYNTER_ONE_SPACE); + } else { + mark(WHYNTER_ZERO_MARK); + space(WHYNTER_ZERO_SPACE); + } + } + + // Footer + mark(WHYNTER_ZERO_MARK); + space(WHYNTER_ZERO_SPACE); // Always end with the LED off +} +#endif + +//+============================================================================= +#if DECODE_WHYNTER +bool IRrecv::decodeWhynter (decode_results *results) +{ + long data = 0; + int offset = 1; // skip initial space + + // Check we have the right amount of data + if (irparams.rawlen < (2 * WHYNTER_BITS) + 6) return false ; + + // Sequence begins with a bit mark and a zero space + if (!MATCH_MARK (results->rawbuf[offset++], WHYNTER_BIT_MARK )) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], WHYNTER_ZERO_SPACE)) return false ; + + // header mark and space + if (!MATCH_MARK (results->rawbuf[offset++], WHYNTER_HDR_MARK )) return false ; + if (!MATCH_SPACE(results->rawbuf[offset++], WHYNTER_HDR_SPACE)) return false ; + + // data bits + for (int i = 0; i < WHYNTER_BITS; i++) { + if (!MATCH_MARK(results->rawbuf[offset++], WHYNTER_BIT_MARK)) return false ; + + if (MATCH_SPACE(results->rawbuf[offset], WHYNTER_ONE_SPACE )) data = (data << 1) | 1 ; + else if (MATCH_SPACE(results->rawbuf[offset], WHYNTER_ZERO_SPACE)) data = (data << 1) | 0 ; + else return false ; + offset++; + } + + // trailing mark + if (!MATCH_MARK(results->rawbuf[offset], WHYNTER_BIT_MARK)) return false ; + + // Success + results->bits = WHYNTER_BITS; + results->value = data; + results->decode_type = WHYNTER; + return true; +} +#endif + diff --git a/lib/Arduino-IRremote/keywords.txt b/lib/Arduino-IRremote/keywords.txt new file mode 100644 index 00000000..f2b9a495 --- /dev/null +++ b/lib/Arduino-IRremote/keywords.txt @@ -0,0 +1,53 @@ +####################################### +# Syntax Coloring Map For IRremote +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +decode_results KEYWORD1 +IRrecv KEYWORD1 +IRsend KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +blink13 KEYWORD2 +decode KEYWORD2 +enableIRIn KEYWORD2 +resume KEYWORD2 +enableIROut KEYWORD2 +sendNEC KEYWORD2 +sendSony KEYWORD2 +sendSanyo KEYWORD2 +sendMitsubishi KEYWORD2 +sendRaw KEYWORD2 +sendRC5 KEYWORD2 +sendRC6 KEYWORD2 +sendDISH KEYWORD2 +sendSharp KEYWORD2 +sendSharpRaw KEYWORD2 +sendPanasonic KEYWORD2 +sendJVC KEYWORD2 +sendLG KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +NEC LITERAL1 +SONY LITERAL1 +SANYO LITERAL1 +MITSUBISHI LITERAL1 +RC5 LITERAL1 +RC6 LITERAL1 +DISH LITERAL1 +SHARP LITERAL1 +PANASONIC LITERAL1 +JVC LITERAL1 +LG LITERAL1 +AIWA_RC_T501 LITERAL1 +UNKNOWN LITERAL1 +REPEAT LITERAL1 diff --git a/lib/Arduino-IRremote/library.json b/lib/Arduino-IRremote/library.json new file mode 100644 index 00000000..d8cd523a --- /dev/null +++ b/lib/Arduino-IRremote/library.json @@ -0,0 +1,24 @@ +{ + "name": "IRremote", + "keywords": "infrared, ir, remote", + "description": "Send and receive infrared signals with multiple protocols", + "repository": + { + "type": "git", + "url": "https://github.com/z3t0/Arduino-IRremote.git" + }, + "version": "2.3.3", + "frameworks": "arduino", + "platforms": "atmelavr", + "authors" : + [ + { + "name":"Rafi Khan", + "email":"zetoslab@gmail.com" + }, + { + "name":"Ken Shirriff", + "email":"ken.shirriff@gmail.com" + } + ] +} diff --git a/lib/Arduino-IRremote/library.properties b/lib/Arduino-IRremote/library.properties new file mode 100644 index 00000000..39fd814e --- /dev/null +++ b/lib/Arduino-IRremote/library.properties @@ -0,0 +1,9 @@ +name=IRremote +version=2.2.3 +author=shirriff +maintainer=shirriff +sentence=Send and receive infrared signals with multiple protocols +paragraph=Send and receive infrared signals with multiple protocols +category=Signal Input/Output +url=https://github.com/shirriff/Arduino-IRremote.git +architectures=* diff --git a/lib/DHT-sensor-library/.github/ISSUE_TEMPLATE.md b/lib/DHT-sensor-library/.github/ISSUE_TEMPLATE.md new file mode 100644 index 00000000..f0e26146 --- /dev/null +++ b/lib/DHT-sensor-library/.github/ISSUE_TEMPLATE.md @@ -0,0 +1,46 @@ +Thank you for opening an issue on an Adafruit Arduino library repository. To +improve the speed of resolution please review the following guidelines and +common troubleshooting steps below before creating the issue: + +- **Do not use GitHub issues for troubleshooting projects and issues.** Instead use + the forums at http://forums.adafruit.com to ask questions and troubleshoot why + something isn't working as expected. In many cases the problem is a common issue + that you will more quickly receive help from the forum community. GitHub issues + are meant for known defects in the code. If you don't know if there is a defect + in the code then start with troubleshooting on the forum first. + +- **If following a tutorial or guide be sure you didn't miss a step.** Carefully + check all of the steps and commands to run have been followed. Consult the + forum if you're unsure or have questions about steps in a guide/tutorial. + +- **For Arduino projects check these very common issues to ensure they don't apply**: + + - For uploading sketches or communicating with the board make sure you're using + a **USB data cable** and **not** a **USB charge-only cable**. It is sometimes + very hard to tell the difference between a data and charge cable! Try using the + cable with other devices or swapping to another cable to confirm it is not + the problem. + + - **Be sure you are supplying adequate power to the board.** Check the specs of + your board and plug in an external power supply. In many cases just + plugging a board into your computer is not enough to power it and other + peripherals. + + - **Double check all soldering joints and connections.** Flakey connections + cause many mysterious problems. See the [guide to excellent soldering](https://learn.adafruit.com/adafruit-guide-excellent-soldering/tools) for examples of good solder joints. + + - **Ensure you are using an official Arduino or Adafruit board.** We can't + guarantee a clone board will have the same functionality and work as expected + with this code and don't support them. + +If you're sure this issue is a defect in the code and checked the steps above +please fill in the following fields to provide enough troubleshooting information. +You may delete the guideline and text above to just leave the following details: + +- Arduino board: **INSERT ARDUINO BOARD NAME/TYPE HERE** + +- Arduino IDE version (found in Arduino -> About Arduino menu): **INSERT ARDUINO + VERSION HERE** + +- List the steps to reproduce the problem below (if possible attach a sketch or + copy the sketch code in too): **LIST REPRO STEPS BELOW** diff --git a/lib/DHT-sensor-library/.github/PULL_REQUEST_TEMPLATE.md b/lib/DHT-sensor-library/.github/PULL_REQUEST_TEMPLATE.md new file mode 100644 index 00000000..7b641eb8 --- /dev/null +++ b/lib/DHT-sensor-library/.github/PULL_REQUEST_TEMPLATE.md @@ -0,0 +1,26 @@ +Thank you for creating a pull request to contribute to Adafruit's GitHub code! +Before you open the request please review the following guidelines and tips to +help it be more easily integrated: + +- **Describe the scope of your change--i.e. what the change does and what parts + of the code were modified.** This will help us understand any risks of integrating + the code. + +- **Describe any known limitations with your change.** For example if the change + doesn't apply to a supported platform of the library please mention it. + +- **Please run any tests or examples that can exercise your modified code.** We + strive to not break users of the code and running tests/examples helps with this + process. + +Thank you again for contributing! We will try to test and integrate the change +as soon as we can, but be aware we have many GitHub repositories to manage and +can't immediately respond to every request. There is no need to bump or check in +on a pull request (it will clutter the discussion of the request). + +Also don't be worried if the request is closed or not integrated--sometimes the +priorities of Adafruit's GitHub code (education, ease of use) might not match the +priorities of the pull request. Don't fret, the open source community thrives on +forks and GitHub makes it easy to keep your changes in a forked repo. + +After reviewing the guidelines above you can delete this text from the pull request. diff --git a/lib/DHT-sensor-library/DHT.cpp b/lib/DHT-sensor-library/DHT.cpp new file mode 100644 index 00000000..86ad91c4 --- /dev/null +++ b/lib/DHT-sensor-library/DHT.cpp @@ -0,0 +1,259 @@ +/* DHT library + +MIT license +written by Adafruit Industries +*/ + +#include "DHT.h" + +#define MIN_INTERVAL 2000 + +DHT::DHT(uint8_t pin, uint8_t type, uint8_t count) { + _pin = pin; + _type = type; + #ifdef __AVR + _bit = digitalPinToBitMask(pin); + _port = digitalPinToPort(pin); + #endif + _maxcycles = microsecondsToClockCycles(1000); // 1 millisecond timeout for + // reading pulses from DHT sensor. + // Note that count is now ignored as the DHT reading algorithm adjusts itself + // basd on the speed of the processor. +} + +void DHT::begin(void) { + // set up the pins! + pinMode(_pin, INPUT_PULLUP); + // Using this value makes sure that millis() - lastreadtime will be + // >= MIN_INTERVAL right away. Note that this assignment wraps around, + // but so will the subtraction. + _lastreadtime = -MIN_INTERVAL; + DEBUG_PRINT("Max clock cycles: "); DEBUG_PRINTLN(_maxcycles, DEC); +} + +//boolean S == Scale. True == Fahrenheit; False == Celcius +float DHT::readTemperature(bool S, bool force) { + float f = NAN; + + if (read(force)) { + switch (_type) { + case DHT11: + f = data[2]; + if(S) { + f = convertCtoF(f); + } + break; + case DHT22: + case DHT21: + f = data[2] & 0x7F; + f *= 256; + f += data[3]; + f *= 0.1; + if (data[2] & 0x80) { + f *= -1; + } + if(S) { + f = convertCtoF(f); + } + break; + } + } + return f; +} + +float DHT::convertCtoF(float c) { + return c * 1.8 + 32; +} + +float DHT::convertFtoC(float f) { + return (f - 32) * 0.55555; +} + +float DHT::readHumidity(bool force) { + float f = NAN; + if (read()) { + switch (_type) { + case DHT11: + f = data[0]; + break; + case DHT22: + case DHT21: + f = data[0]; + f *= 256; + f += data[1]; + f *= 0.1; + break; + } + } + return f; +} + +//boolean isFahrenheit: True == Fahrenheit; False == Celcius +float DHT::computeHeatIndex(float temperature, float percentHumidity, bool isFahrenheit) { + // Using both Rothfusz and Steadman's equations + // http://www.wpc.ncep.noaa.gov/html/heatindex_equation.shtml + float hi; + + if (!isFahrenheit) + temperature = convertCtoF(temperature); + + hi = 0.5 * (temperature + 61.0 + ((temperature - 68.0) * 1.2) + (percentHumidity * 0.094)); + + if (hi > 79) { + hi = -42.379 + + 2.04901523 * temperature + + 10.14333127 * percentHumidity + + -0.22475541 * temperature*percentHumidity + + -0.00683783 * pow(temperature, 2) + + -0.05481717 * pow(percentHumidity, 2) + + 0.00122874 * pow(temperature, 2) * percentHumidity + + 0.00085282 * temperature*pow(percentHumidity, 2) + + -0.00000199 * pow(temperature, 2) * pow(percentHumidity, 2); + + if((percentHumidity < 13) && (temperature >= 80.0) && (temperature <= 112.0)) + hi -= ((13.0 - percentHumidity) * 0.25) * sqrt((17.0 - abs(temperature - 95.0)) * 0.05882); + + else if((percentHumidity > 85.0) && (temperature >= 80.0) && (temperature <= 87.0)) + hi += ((percentHumidity - 85.0) * 0.1) * ((87.0 - temperature) * 0.2); + } + + return isFahrenheit ? hi : convertFtoC(hi); +} + +boolean DHT::read(bool force) { + // Check if sensor was read less than two seconds ago and return early + // to use last reading. + uint32_t currenttime = millis(); + if (!force && ((currenttime - _lastreadtime) < 2000)) { + return _lastresult; // return last correct measurement + } + _lastreadtime = currenttime; + + // Reset 40 bits of received data to zero. + data[0] = data[1] = data[2] = data[3] = data[4] = 0; + + // Send start signal. See DHT datasheet for full signal diagram: + // http://www.adafruit.com/datasheets/Digital%20humidity%20and%20temperature%20sensor%20AM2302.pdf + + // Go into high impedence state to let pull-up raise data line level and + // start the reading process. + digitalWrite(_pin, HIGH); + delay(250); + + // First set data line low for 20 milliseconds. + pinMode(_pin, OUTPUT); + digitalWrite(_pin, LOW); + delay(20); + + uint32_t cycles[80]; + { + // Turn off interrupts temporarily because the next sections are timing critical + // and we don't want any interruptions. + InterruptLock lock; + + // End the start signal by setting data line high for 40 microseconds. + digitalWrite(_pin, HIGH); + delayMicroseconds(40); + + // Now start reading the data line to get the value from the DHT sensor. + pinMode(_pin, INPUT_PULLUP); + delayMicroseconds(10); // Delay a bit to let sensor pull data line low. + + // First expect a low signal for ~80 microseconds followed by a high signal + // for ~80 microseconds again. + if (expectPulse(LOW) == 0) { + DEBUG_PRINTLN(F("Timeout waiting for start signal low pulse.")); + _lastresult = false; + return _lastresult; + } + if (expectPulse(HIGH) == 0) { + DEBUG_PRINTLN(F("Timeout waiting for start signal high pulse.")); + _lastresult = false; + return _lastresult; + } + + // Now read the 40 bits sent by the sensor. Each bit is sent as a 50 + // microsecond low pulse followed by a variable length high pulse. If the + // high pulse is ~28 microseconds then it's a 0 and if it's ~70 microseconds + // then it's a 1. We measure the cycle count of the initial 50us low pulse + // and use that to compare to the cycle count of the high pulse to determine + // if the bit is a 0 (high state cycle count < low state cycle count), or a + // 1 (high state cycle count > low state cycle count). Note that for speed all + // the pulses are read into a array and then examined in a later step. + for (int i=0; i<80; i+=2) { + cycles[i] = expectPulse(LOW); + cycles[i+1] = expectPulse(HIGH); + } + } // Timing critical code is now complete. + + // Inspect pulses and determine which ones are 0 (high state cycle count < low + // state cycle count), or 1 (high state cycle count > low state cycle count). + for (int i=0; i<40; ++i) { + uint32_t lowCycles = cycles[2*i]; + uint32_t highCycles = cycles[2*i+1]; + if ((lowCycles == 0) || (highCycles == 0)) { + DEBUG_PRINTLN(F("Timeout waiting for pulse.")); + _lastresult = false; + return _lastresult; + } + data[i/8] <<= 1; + // Now compare the low and high cycle times to see if the bit is a 0 or 1. + if (highCycles > lowCycles) { + // High cycles are greater than 50us low cycle count, must be a 1. + data[i/8] |= 1; + } + // Else high cycles are less than (or equal to, a weird case) the 50us low + // cycle count so this must be a zero. Nothing needs to be changed in the + // stored data. + } + + DEBUG_PRINTLN(F("Received:")); + DEBUG_PRINT(data[0], HEX); DEBUG_PRINT(F(", ")); + DEBUG_PRINT(data[1], HEX); DEBUG_PRINT(F(", ")); + DEBUG_PRINT(data[2], HEX); DEBUG_PRINT(F(", ")); + DEBUG_PRINT(data[3], HEX); DEBUG_PRINT(F(", ")); + DEBUG_PRINT(data[4], HEX); DEBUG_PRINT(F(" =? ")); + DEBUG_PRINTLN((data[0] + data[1] + data[2] + data[3]) & 0xFF, HEX); + + // Check we read 40 bits and that the checksum matches. + if (data[4] == ((data[0] + data[1] + data[2] + data[3]) & 0xFF)) { + _lastresult = true; + return _lastresult; + } + else { + DEBUG_PRINTLN(F("Checksum failure!")); + _lastresult = false; + return _lastresult; + } +} + +// Expect the signal line to be at the specified level for a period of time and +// return a count of loop cycles spent at that level (this cycle count can be +// used to compare the relative time of two pulses). If more than a millisecond +// ellapses without the level changing then the call fails with a 0 response. +// This is adapted from Arduino's pulseInLong function (which is only available +// in the very latest IDE versions): +// https://github.com/arduino/Arduino/blob/master/hardware/arduino/avr/cores/arduino/wiring_pulse.c +uint32_t DHT::expectPulse(bool level) { + uint32_t count = 0; + // On AVR platforms use direct GPIO port access as it's much faster and better + // for catching pulses that are 10's of microseconds in length: + #ifdef __AVR + uint8_t portState = level ? _bit : 0; + while ((*portInputRegister(_port) & _bit) == portState) { + if (count++ >= _maxcycles) { + return 0; // Exceeded timeout, fail. + } + } + // Otherwise fall back to using digitalRead (this seems to be necessary on ESP8266 + // right now, perhaps bugs in direct port access functions?). + #else + while (digitalRead(_pin) == level) { + if (count++ >= _maxcycles) { + return 0; // Exceeded timeout, fail. + } + } + #endif + + return count; +} diff --git a/lib/DHT-sensor-library/DHT.h b/lib/DHT-sensor-library/DHT.h new file mode 100644 index 00000000..d81f6dbc --- /dev/null +++ b/lib/DHT-sensor-library/DHT.h @@ -0,0 +1,75 @@ +/* DHT library + +MIT license +written by Adafruit Industries +*/ +#ifndef DHT_H +#define DHT_H + +#if ARDUINO >= 100 + #include "Arduino.h" +#else + #include "WProgram.h" +#endif + + +// Uncomment to enable printing out nice debug messages. +//#define DHT_DEBUG + +// Define where debug output will be printed. +#define DEBUG_PRINTER Serial + +// Setup debug printing macros. +#ifdef DHT_DEBUG + #define DEBUG_PRINT(...) { DEBUG_PRINTER.print(__VA_ARGS__); } + #define DEBUG_PRINTLN(...) { DEBUG_PRINTER.println(__VA_ARGS__); } +#else + #define DEBUG_PRINT(...) {} + #define DEBUG_PRINTLN(...) {} +#endif + +// Define types of sensors. +#define DHT11 11 +#define DHT22 22 +#define DHT21 21 +#define AM2301 21 + + +class DHT { + public: + DHT(uint8_t pin, uint8_t type, uint8_t count=6); + void begin(void); + float readTemperature(bool S=false, bool force=false); + float convertCtoF(float); + float convertFtoC(float); + float computeHeatIndex(float temperature, float percentHumidity, bool isFahrenheit=true); + float readHumidity(bool force=false); + boolean read(bool force=false); + + private: + uint8_t data[5]; + uint8_t _pin, _type; + #ifdef __AVR + // Use direct GPIO access on an 8-bit AVR so keep track of the port and bitmask + // for the digital pin connected to the DHT. Other platforms will use digitalRead. + uint8_t _bit, _port; + #endif + uint32_t _lastreadtime, _maxcycles; + bool _lastresult; + + uint32_t expectPulse(bool level); + +}; + +class InterruptLock { + public: + InterruptLock() { + noInterrupts(); + } + ~InterruptLock() { + interrupts(); + } + +}; + +#endif diff --git a/lib/DHT-sensor-library/DHT_U.cpp b/lib/DHT-sensor-library/DHT_U.cpp new file mode 100644 index 00000000..efc7963c --- /dev/null +++ b/lib/DHT-sensor-library/DHT_U.cpp @@ -0,0 +1,179 @@ +// DHT Temperature & Humidity Unified Sensor Library +// Copyright (c) 2014 Adafruit Industries +// Author: Tony DiCola + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +#include "DHT_U.h" + +DHT_Unified::DHT_Unified(uint8_t pin, uint8_t type, uint8_t count, int32_t tempSensorId, int32_t humiditySensorId): + _dht(pin, type, count), + _type(type), + _temp(this, tempSensorId), + _humidity(this, humiditySensorId) +{} + +void DHT_Unified::begin() { + _dht.begin(); +} + +void DHT_Unified::setName(sensor_t* sensor) { + switch(_type) { + case DHT11: + strncpy(sensor->name, "DHT11", sizeof(sensor->name) - 1); + break; + case DHT21: + strncpy(sensor->name, "DHT21", sizeof(sensor->name) - 1); + break; + case DHT22: + strncpy(sensor->name, "DHT22", sizeof(sensor->name) - 1); + break; + default: + // TODO: Perhaps this should be an error? However main DHT library doesn't enforce + // restrictions on the sensor type value. Pick a generic name for now. + strncpy(sensor->name, "DHT?", sizeof(sensor->name) - 1); + break; + } + sensor->name[sizeof(sensor->name)- 1] = 0; +} + +void DHT_Unified::setMinDelay(sensor_t* sensor) { + switch(_type) { + case DHT11: + sensor->min_delay = 1000000L; // 1 second (in microseconds) + break; + case DHT21: + sensor->min_delay = 2000000L; // 2 seconds (in microseconds) + break; + case DHT22: + sensor->min_delay = 2000000L; // 2 seconds (in microseconds) + break; + default: + // Default to slowest sample rate in case of unknown type. + sensor->min_delay = 2000000L; // 2 seconds (in microseconds) + break; + } +} + +DHT_Unified::Temperature::Temperature(DHT_Unified* parent, int32_t id): + _parent(parent), + _id(id) +{} + +bool DHT_Unified::Temperature::getEvent(sensors_event_t* event) { + // Clear event definition. + memset(event, 0, sizeof(sensors_event_t)); + // Populate sensor reading values. + event->version = sizeof(sensors_event_t); + event->sensor_id = _id; + event->type = SENSOR_TYPE_AMBIENT_TEMPERATURE; + event->timestamp = millis(); + event->temperature = _parent->_dht.readTemperature(); + + return true; +} + +void DHT_Unified::Temperature::getSensor(sensor_t* sensor) { + // Clear sensor definition. + memset(sensor, 0, sizeof(sensor_t)); + // Set sensor name. + _parent->setName(sensor); + // Set version and ID + sensor->version = DHT_SENSOR_VERSION; + sensor->sensor_id = _id; + // Set type and characteristics. + sensor->type = SENSOR_TYPE_AMBIENT_TEMPERATURE; + _parent->setMinDelay(sensor); + switch (_parent->_type) { + case DHT11: + sensor->max_value = 50.0F; + sensor->min_value = 0.0F; + sensor->resolution = 2.0F; + break; + case DHT21: + sensor->max_value = 80.0F; + sensor->min_value = -40.0F; + sensor->resolution = 0.1F; + break; + case DHT22: + sensor->max_value = 125.0F; + sensor->min_value = -40.0F; + sensor->resolution = 0.1F; + break; + default: + // Unknown type, default to 0. + sensor->max_value = 0.0F; + sensor->min_value = 0.0F; + sensor->resolution = 0.0F; + break; + } +} + +DHT_Unified::Humidity::Humidity(DHT_Unified* parent, int32_t id): + _parent(parent), + _id(id) +{} + +bool DHT_Unified::Humidity::getEvent(sensors_event_t* event) { + // Clear event definition. + memset(event, 0, sizeof(sensors_event_t)); + // Populate sensor reading values. + event->version = sizeof(sensors_event_t); + event->sensor_id = _id; + event->type = SENSOR_TYPE_RELATIVE_HUMIDITY; + event->timestamp = millis(); + event->relative_humidity = _parent->_dht.readHumidity(); + + return true; +} + +void DHT_Unified::Humidity::getSensor(sensor_t* sensor) { + // Clear sensor definition. + memset(sensor, 0, sizeof(sensor_t)); + // Set sensor name. + _parent->setName(sensor); + // Set version and ID + sensor->version = DHT_SENSOR_VERSION; + sensor->sensor_id = _id; + // Set type and characteristics. + sensor->type = SENSOR_TYPE_RELATIVE_HUMIDITY; + _parent->setMinDelay(sensor); + switch (_parent->_type) { + case DHT11: + sensor->max_value = 80.0F; + sensor->min_value = 20.0F; + sensor->resolution = 5.0F; + break; + case DHT21: + sensor->max_value = 100.0F; + sensor->min_value = 0.0F; + sensor->resolution = 0.1F; + break; + case DHT22: + sensor->max_value = 100.0F; + sensor->min_value = 0.0F; + sensor->resolution = 0.1F; + break; + default: + // Unknown type, default to 0. + sensor->max_value = 0.0F; + sensor->min_value = 0.0F; + sensor->resolution = 0.0F; + break; + } +} diff --git a/lib/DHT-sensor-library/DHT_U.h b/lib/DHT-sensor-library/DHT_U.h new file mode 100644 index 00000000..d9ee709c --- /dev/null +++ b/lib/DHT-sensor-library/DHT_U.h @@ -0,0 +1,78 @@ +// DHT Temperature & Humidity Unified Sensor Library +// Copyright (c) 2014 Adafruit Industries +// Author: Tony DiCola + +// Permission is hereby granted, free of charge, to any person obtaining a copy +// of this software and associated documentation files (the "Software"), to deal +// in the Software without restriction, including without limitation the rights +// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +// copies of the Software, and to permit persons to whom the Software is +// furnished to do so, subject to the following conditions: + +// The above copyright notice and this permission notice shall be included in all +// copies or substantial portions of the Software. + +// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +// SOFTWARE. +#ifndef DHT_U_H +#define DHT_U_H + +#include +#include + +#define DHT_SENSOR_VERSION 1 + +class DHT_Unified { +public: + DHT_Unified(uint8_t pin, uint8_t type, uint8_t count=6, int32_t tempSensorId=-1, int32_t humiditySensorId=-1); + void begin(); + + class Temperature : public Adafruit_Sensor { + public: + Temperature(DHT_Unified* parent, int32_t id); + bool getEvent(sensors_event_t* event); + void getSensor(sensor_t* sensor); + + private: + DHT_Unified* _parent; + int32_t _id; + + }; + + class Humidity : public Adafruit_Sensor { + public: + Humidity(DHT_Unified* parent, int32_t id); + bool getEvent(sensors_event_t* event); + void getSensor(sensor_t* sensor); + + private: + DHT_Unified* _parent; + int32_t _id; + + }; + + Temperature temperature() { + return _temp; + } + + Humidity humidity() { + return _humidity; + } + +private: + DHT _dht; + uint8_t _type; + Temperature _temp; + Humidity _humidity; + + void setName(sensor_t* sensor); + void setMinDelay(sensor_t* sensor); + +}; + +#endif diff --git a/lib/DHT-sensor-library/README.md b/lib/DHT-sensor-library/README.md new file mode 100644 index 00000000..d32afdc6 --- /dev/null +++ b/lib/DHT-sensor-library/README.md @@ -0,0 +1,15 @@ +This is an Arduino library for the DHT series of low cost temperature/humidity sensors. + +Tutorial: https://learn.adafruit.com/dht + +To download. click the DOWNLOADS button in the top right corner, rename the uncompressed folder DHT. Check that the DHT folder contains DHT.cpp and DHT.h. Place the DHT library folder your /libraries/ folder. You may need to create the libraries subfolder if its your first library. Restart the IDE. + +# Adafruit DHT Humidity & Temperature Unified Sensor Library + +This library also includes an optional class for the +[DHT humidity and temperature sensor](https://learn.adafruit.com/dht/overview) +which is designed to work with the [Adafruit unified sensor library](https://learn.adafruit.com/using-the-adafruit-unified-sensor-driver/introduction). + +You must have the following Arduino libraries installed to use this class: + +- [Adafruit Unified Sensor Library](https://github.com/adafruit/Adafruit_Sensor) diff --git a/lib/DHT-sensor-library/examples/DHT_Unified_Sensor/DHT_Unified_Sensor.ino b/lib/DHT-sensor-library/examples/DHT_Unified_Sensor/DHT_Unified_Sensor.ino new file mode 100644 index 00000000..4820f2e8 --- /dev/null +++ b/lib/DHT-sensor-library/examples/DHT_Unified_Sensor/DHT_Unified_Sensor.ino @@ -0,0 +1,84 @@ +// DHT Temperature & Humidity Sensor +// Unified Sensor Library Example +// Written by Tony DiCola for Adafruit Industries +// Released under an MIT license. + +// Depends on the following Arduino libraries: +// - Adafruit Unified Sensor Library: https://github.com/adafruit/Adafruit_Sensor +// - DHT Sensor Library: https://github.com/adafruit/DHT-sensor-library + +#include +#include +#include + +#define DHTPIN 2 // Pin which is connected to the DHT sensor. + +// Uncomment the type of sensor in use: +//#define DHTTYPE DHT11 // DHT 11 +#define DHTTYPE DHT22 // DHT 22 (AM2302) +//#define DHTTYPE DHT21 // DHT 21 (AM2301) + +// See guide for details on sensor wiring and usage: +// https://learn.adafruit.com/dht/overview + +DHT_Unified dht(DHTPIN, DHTTYPE); + +uint32_t delayMS; + +void setup() { + Serial.begin(9600); + // Initialize device. + dht.begin(); + Serial.println("DHTxx Unified Sensor Example"); + // Print temperature sensor details. + sensor_t sensor; + dht.temperature().getSensor(&sensor); + Serial.println("------------------------------------"); + Serial.println("Temperature"); + Serial.print ("Sensor: "); Serial.println(sensor.name); + Serial.print ("Driver Ver: "); Serial.println(sensor.version); + Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); + Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println(" *C"); + Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println(" *C"); + Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println(" *C"); + Serial.println("------------------------------------"); + // Print humidity sensor details. + dht.humidity().getSensor(&sensor); + Serial.println("------------------------------------"); + Serial.println("Humidity"); + Serial.print ("Sensor: "); Serial.println(sensor.name); + Serial.print ("Driver Ver: "); Serial.println(sensor.version); + Serial.print ("Unique ID: "); Serial.println(sensor.sensor_id); + Serial.print ("Max Value: "); Serial.print(sensor.max_value); Serial.println("%"); + Serial.print ("Min Value: "); Serial.print(sensor.min_value); Serial.println("%"); + Serial.print ("Resolution: "); Serial.print(sensor.resolution); Serial.println("%"); + Serial.println("------------------------------------"); + // Set delay between sensor readings based on sensor details. + delayMS = sensor.min_delay / 1000; +} + +void loop() { + // Delay between measurements. + delay(delayMS); + // Get temperature event and print its value. + sensors_event_t event; + dht.temperature().getEvent(&event); + if (isnan(event.temperature)) { + Serial.println("Error reading temperature!"); + } + else { + Serial.print("Temperature: "); + Serial.print(event.temperature); + Serial.println(" *C"); + } + // Get humidity event and print its value. + dht.humidity().getEvent(&event); + if (isnan(event.relative_humidity)) { + Serial.println("Error reading humidity!"); + } + else { + Serial.print("Humidity: "); + Serial.print(event.relative_humidity); + Serial.println("%"); + } +} diff --git a/lib/DHT-sensor-library/examples/DHTtester/DHTtester.ino b/lib/DHT-sensor-library/examples/DHTtester/DHTtester.ino new file mode 100644 index 00000000..ae6c41a1 --- /dev/null +++ b/lib/DHT-sensor-library/examples/DHTtester/DHTtester.ino @@ -0,0 +1,69 @@ +// Example testing sketch for various DHT humidity/temperature sensors +// Written by ladyada, public domain + +#include "DHT.h" + +#define DHTPIN 2 // what digital pin we're connected to + +// Uncomment whatever type you're using! +//#define DHTTYPE DHT11 // DHT 11 +#define DHTTYPE DHT22 // DHT 22 (AM2302), AM2321 +//#define DHTTYPE DHT21 // DHT 21 (AM2301) + +// Connect pin 1 (on the left) of the sensor to +5V +// NOTE: If using a board with 3.3V logic like an Arduino Due connect pin 1 +// to 3.3V instead of 5V! +// Connect pin 2 of the sensor to whatever your DHTPIN is +// Connect pin 4 (on the right) of the sensor to GROUND +// Connect a 10K resistor from pin 2 (data) to pin 1 (power) of the sensor + +// Initialize DHT sensor. +// Note that older versions of this library took an optional third parameter to +// tweak the timings for faster processors. This parameter is no longer needed +// as the current DHT reading algorithm adjusts itself to work on faster procs. +DHT dht(DHTPIN, DHTTYPE); + +void setup() { + Serial.begin(9600); + Serial.println("DHTxx test!"); + + dht.begin(); +} + +void loop() { + // Wait a few seconds between measurements. + delay(2000); + + // Reading temperature or humidity takes about 250 milliseconds! + // Sensor readings may also be up to 2 seconds 'old' (its a very slow sensor) + float h = dht.readHumidity(); + // Read temperature as Celsius (the default) + float t = dht.readTemperature(); + // Read temperature as Fahrenheit (isFahrenheit = true) + float f = dht.readTemperature(true); + + // Check if any reads failed and exit early (to try again). + if (isnan(h) || isnan(t) || isnan(f)) { + Serial.println("Failed to read from DHT sensor!"); + return; + } + + // Compute heat index in Fahrenheit (the default) + float hif = dht.computeHeatIndex(f, h); + // Compute heat index in Celsius (isFahreheit = false) + float hic = dht.computeHeatIndex(t, h, false); + + Serial.print("Humidity: "); + Serial.print(h); + Serial.print(" %\t"); + Serial.print("Temperature: "); + Serial.print(t); + Serial.print(" *C "); + Serial.print(f); + Serial.print(" *F\t"); + Serial.print("Heat index: "); + Serial.print(hic); + Serial.print(" *C "); + Serial.print(hif); + Serial.println(" *F"); +} diff --git a/lib/DHT-sensor-library/keywords.txt b/lib/DHT-sensor-library/keywords.txt new file mode 100644 index 00000000..146d4fa6 --- /dev/null +++ b/lib/DHT-sensor-library/keywords.txt @@ -0,0 +1,22 @@ +########################################### +# Syntax Coloring Map For DHT-sensor-library +########################################### + +########################################### +# Datatypes (KEYWORD1) +########################################### + +DHT KEYWORD1 + +########################################### +# Methods and Functions (KEYWORD2) +########################################### + +begin KEYWORD2 +readTemperature KEYWORD2 +convertCtoF KEYWORD2 +convertFtoC KEYWORD2 +computeHeatIndex KEYWORD2 +readHumidity KEYWORD2 +read KEYWORD2 + diff --git a/lib/DHT-sensor-library/library.properties b/lib/DHT-sensor-library/library.properties new file mode 100644 index 00000000..a54c1dc2 --- /dev/null +++ b/lib/DHT-sensor-library/library.properties @@ -0,0 +1,9 @@ +name=DHT sensor library +version=1.3.0 +author=Adafruit +maintainer=Adafruit +sentence=Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors +paragraph=Arduino library for DHT11, DHT22, etc Temp & Humidity Sensors +category=Sensors +url=https://github.com/adafruit/DHT-sensor-library +architectures=* diff --git a/lib/ESP32_BLE_Arduino/README.md b/lib/ESP32_BLE_Arduino/README.md new file mode 100644 index 00000000..d7bcf50b --- /dev/null +++ b/lib/ESP32_BLE_Arduino/README.md @@ -0,0 +1,15 @@ +# ESP32 BLE for Arduino +The Arduino IDE provides an excellent library package managed where versions of libraries can be downloaded and installed. This Github project provides the repository for the ESP32 BLE support for Arduino. + +The actual source of the project which is being maintained can be found here: + +https://github.com/nkolban/esp32-snippets + +Issues and questions should be raised here: + +https://github.com/nkolban/esp32-snippets/issues + + +Documentation for using the library can be found here: + +https://github.com/nkolban/esp32-snippets/tree/master/Documentation \ No newline at end of file diff --git a/lib/ESP32_BLE_Arduino/examples/BLE_client/BLE_client.ino b/lib/ESP32_BLE_Arduino/examples/BLE_client/BLE_client.ino new file mode 100644 index 00000000..c0b6163c --- /dev/null +++ b/lib/ESP32_BLE_Arduino/examples/BLE_client/BLE_client.ino @@ -0,0 +1,134 @@ +/** + * A BLE client example that is rich in capabilities. + */ + +#include "BLEDevice.h" +//#include "BLEScan.h" + +// The remote service we wish to connect to. +static BLEUUID serviceUUID("91bad492-b950-4226-aa2b-4ede9fa42f59"); +// The characteristic of the remote service we are interested in. +static BLEUUID charUUID("0d563a58-196a-48ce-ace2-dfec78acc814"); + +static BLEAddress *pServerAddress; +static boolean doConnect = false; +static boolean connected = false; +static BLERemoteCharacteristic* pRemoteCharacteristic; + +static void notifyCallback( + BLERemoteCharacteristic* pBLERemoteCharacteristic, + uint8_t* pData, + size_t length, + bool isNotify) { + Serial.print("Notify callback for characteristic "); + Serial.print(pBLERemoteCharacteristic->getUUID().toString().c_str()); + Serial.print(" of data length "); + Serial.println(length); +} + +bool connectToServer(BLEAddress pAddress) { + Serial.print("Forming a connection to "); + Serial.println(pAddress.toString().c_str()); + + BLEClient* pClient = BLEDevice::createClient(); + Serial.println(" - Created client"); + + // Connect to the remove BLE Server. + pClient->connect(pAddress); + Serial.println(" - Connected to server"); + + // Obtain a reference to the service we are after in the remote BLE server. + BLERemoteService* pRemoteService = pClient->getService(serviceUUID); + if (pRemoteService == nullptr) { + Serial.print("Failed to find our service UUID: "); + Serial.println(serviceUUID.toString().c_str()); + return false; + } + Serial.println(" - Found our service"); + + + // Obtain a reference to the characteristic in the service of the remote BLE server. + pRemoteCharacteristic = pRemoteService->getCharacteristic(charUUID); + if (pRemoteCharacteristic == nullptr) { + Serial.print("Failed to find our characteristic UUID: "); + Serial.println(charUUID.toString().c_str()); + return false; + } + Serial.println(" - Found our characteristic"); + + // Read the value of the characteristic. + std::string value = pRemoteCharacteristic->readValue(); + Serial.print("The characteristic value was: "); + Serial.println(value.c_str()); + + pRemoteCharacteristic->registerForNotify(notifyCallback); +} +/** + * Scan for BLE servers and find the first one that advertises the service we are looking for. + */ +class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks { + /** + * Called for each advertising BLE server. + */ + void onResult(BLEAdvertisedDevice advertisedDevice) { + Serial.print("BLE Advertised Device found: "); + Serial.println(advertisedDevice.toString().c_str()); + + // We have found a device, let us now see if it contains the service we are looking for. + if (advertisedDevice.haveServiceUUID() && advertisedDevice.getServiceUUID().equals(serviceUUID)) { + + // + Serial.print("Found our device! address: "); + advertisedDevice.getScan()->stop(); + + pServerAddress = new BLEAddress(advertisedDevice.getAddress()); + doConnect = true; + + } // Found our server + } // onResult +}; // MyAdvertisedDeviceCallbacks + + +void setup() { + Serial.begin(115200); + Serial.println("Starting Arduino BLE Client application..."); + BLEDevice::init(""); + + // Retrieve a Scanner and set the callback we want to use to be informed when we + // have detected a new device. Specify that we want active scanning and start the + // scan to run for 30 seconds. + BLEScan* pBLEScan = BLEDevice::getScan(); + pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks()); + pBLEScan->setActiveScan(true); + pBLEScan->start(30); +} // End of setup. + + +// This is the Arduino main loop function. +void loop() { + + // If the flag "doConnect" is true then we have scanned for and found the desired + // BLE Server with which we wish to connect. Now we connect to it. Once we are + // connected we set the connected flag to be true. + if (doConnect == true) { + if (connectToServer(*pServerAddress)) { + Serial.println("We are now connected to the BLE Server."); + connected = true; + } else { + Serial.println("We have failed to connect to the server; there is nothin more we will do."); + } + doConnect = false; + } + + // If we are connected to a peer BLE Server, update the characteristic each time we are reached + // with the current time since boot. + if (connected) { + String newValue = "Time since boot: " + String(millis()/1000); + Serial.println("Setting new characteristic value to \"" + newValue + "\""); + + // Set the characteristic's value to be the array of bytes that is actually a string. + pRemoteCharacteristic->writeValue(newValue.c_str(), newValue.length()); + } + + delay(1000); // Delay a second between loops. +} // End of loop diff --git a/lib/ESP32_BLE_Arduino/examples/BLE_notify/BLE_notify.ino b/lib/ESP32_BLE_Arduino/examples/BLE_notify/BLE_notify.ino new file mode 100644 index 00000000..8d329c20 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/examples/BLE_notify/BLE_notify.ino @@ -0,0 +1,93 @@ +/* + Video: https://www.youtube.com/watch?v=oCMOYS71NIU + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleNotify.cpp + Ported to Arduino ESP32 by Evandro Copercini + + Create a BLE server that, once we receive a connection, will send periodic notifications. + The service advertises itself as: 4fafc201-1fb5-459e-8fcc-c5c9c331914b + And has a characteristic of: beb5483e-36e1-4688-b7f5-ea07361b26a8 + + The design of creating the BLE server is: + 1. Create a BLE Server + 2. Create a BLE Service + 3. Create a BLE Characteristic on the Service + 4. Create a BLE Descriptor on the characteristic + 5. Start the service. + 6. Start advertising. + + A connect hander associated with the server starts a background task that performs notification + every couple of seconds. +*/ +#include +#include +#include +#include + +BLECharacteristic *pCharacteristic; +bool deviceConnected = false; +uint8_t value = 0; + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + + +class MyServerCallbacks: public BLEServerCallbacks { + void onConnect(BLEServer* pServer) { + deviceConnected = true; + }; + + void onDisconnect(BLEServer* pServer) { + deviceConnected = false; + } +}; + + + +void setup() { + Serial.begin(115200); + + // Create the BLE Device + BLEDevice::init("MyESP32"); + + // Create the BLE Server + BLEServer *pServer = BLEDevice::createServer(); + pServer->setCallbacks(new MyServerCallbacks()); + + // Create the BLE Service + BLEService *pService = pServer->createService(SERVICE_UUID); + + // Create a BLE Characteristic + pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE | + BLECharacteristic::PROPERTY_NOTIFY | + BLECharacteristic::PROPERTY_INDICATE + ); + + // https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + // Create a BLE Descriptor + pCharacteristic->addDescriptor(new BLE2902()); + + // Start the service + pService->start(); + + // Start advertising + pServer->getAdvertising()->start(); + Serial.println("Waiting a client connection to notify..."); +} + +void loop() { + + if (deviceConnected) { + Serial.printf("*** NOTIFY: %d ***\n", value); + pCharacteristic->setValue(&value, 1); + pCharacteristic->notify(); + //pCharacteristic->indicate(); + value++; + } + delay(2000); +} \ No newline at end of file diff --git a/lib/ESP32_BLE_Arduino/examples/BLE_scan/BLE_scan.ino b/lib/ESP32_BLE_Arduino/examples/BLE_scan/BLE_scan.ino new file mode 100644 index 00000000..ef7d8924 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/examples/BLE_scan/BLE_scan.ino @@ -0,0 +1,36 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleScan.cpp + Ported to Arduino ESP32 by Evandro Copercini +*/ + +#include +#include +#include +#include + +int scanTime = 30; //In seconds + +class MyAdvertisedDeviceCallbacks: public BLEAdvertisedDeviceCallbacks { + void onResult(BLEAdvertisedDevice advertisedDevice) { + Serial.printf("Advertised Device: %s \n", advertisedDevice.toString().c_str()); + } +}; + +void setup() { + Serial.begin(115200); + Serial.println("Scanning..."); + + BLEDevice::init(""); + BLEScan* pBLEScan = BLEDevice::getScan(); //create new scan + pBLEScan->setAdvertisedDeviceCallbacks(new MyAdvertisedDeviceCallbacks()); + pBLEScan->setActiveScan(true); //active scan uses more power, but get results faster + BLEScanResults foundDevices = pBLEScan->start(scanTime); + Serial.print("Devices found: "); + Serial.println(foundDevices.getCount()); + Serial.println("Scan done!"); +} + +void loop() { + // put your main code here, to run repeatedly: + delay(2000); +} \ No newline at end of file diff --git a/lib/ESP32_BLE_Arduino/examples/BLE_server/BLE_server.ino b/lib/ESP32_BLE_Arduino/examples/BLE_server/BLE_server.ino new file mode 100644 index 00000000..38224a67 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/examples/BLE_server/BLE_server.ino @@ -0,0 +1,39 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleServer.cpp + Ported to Arduino ESP32 by Evandro Copercini +*/ + +#include +#include +#include + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + +void setup() { + Serial.begin(115200); + Serial.println("Starting BLE work!"); + + BLEDevice::init("MyESP32"); + BLEServer *pServer = BLEDevice::createServer(); + BLEService *pService = pServer->createService(SERVICE_UUID); + BLECharacteristic *pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE + ); + + pCharacteristic->setValue("Hello World says Neil"); + pService->start(); + BLEAdvertising *pAdvertising = pServer->getAdvertising(); + pAdvertising->start(); + Serial.println("Characteristic defined! Now you can read it in your phone!"); +} + +void loop() { + // put your main code here, to run repeatedly: + delay(2000); +} \ No newline at end of file diff --git a/lib/ESP32_BLE_Arduino/examples/BLE_uart/BLE_uart.ino b/lib/ESP32_BLE_Arduino/examples/BLE_uart/BLE_uart.ino new file mode 100644 index 00000000..a348a666 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/examples/BLE_uart/BLE_uart.ino @@ -0,0 +1,111 @@ +/* + Video: https://www.youtube.com/watch?v=oCMOYS71NIU + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleNotify.cpp + Ported to Arduino ESP32 by Evandro Copercini + + Create a BLE server that, once we receive a connection, will send periodic notifications. + The service advertises itself as: 6E400001-B5A3-F393-E0A9-E50E24DCCA9E + Has a characteristic of: 6E400002-B5A3-F393-E0A9-E50E24DCCA9E - used for receiving data with "WRITE" + Has a characteristic of: 6E400003-B5A3-F393-E0A9-E50E24DCCA9E - used to send data with "NOTIFY" + + The design of creating the BLE server is: + 1. Create a BLE Server + 2. Create a BLE Service + 3. Create a BLE Characteristic on the Service + 4. Create a BLE Descriptor on the characteristic + 5. Start the service. + 6. Start advertising. + + In this example rxValue is the data received (only accessible inside that function). + And txValue is the data to be sent, in this example just a byte incremented every second. +*/ +#include +#include +#include +#include + +BLECharacteristic *pCharacteristic; +bool deviceConnected = false; +uint8_t txValue = 0; + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "6E400001-B5A3-F393-E0A9-E50E24DCCA9E" // UART service UUID +#define CHARACTERISTIC_UUID_RX "6E400002-B5A3-F393-E0A9-E50E24DCCA9E" +#define CHARACTERISTIC_UUID_TX "6E400003-B5A3-F393-E0A9-E50E24DCCA9E" + + +class MyServerCallbacks: public BLEServerCallbacks { + void onConnect(BLEServer* pServer) { + deviceConnected = true; + }; + + void onDisconnect(BLEServer* pServer) { + deviceConnected = false; + } +}; + +class MyCallbacks: public BLECharacteristicCallbacks { + void onWrite(BLECharacteristic *pCharacteristic) { + std::string rxValue = pCharacteristic->getValue(); + + if (rxValue.length() > 0) { + Serial.println("*********"); + Serial.print("Received Value: "); + for (int i = 0; i < rxValue.length(); i++) + Serial.print(rxValue[i]); + + Serial.println(); + Serial.println("*********"); + } + } +}; + + +void setup() { + Serial.begin(115200); + + // Create the BLE Device + BLEDevice::init("UART Service"); + + // Create the BLE Server + BLEServer *pServer = BLEDevice::createServer(); + pServer->setCallbacks(new MyServerCallbacks()); + + // Create the BLE Service + BLEService *pService = pServer->createService(SERVICE_UUID); + + // Create a BLE Characteristic + pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID_TX, + BLECharacteristic::PROPERTY_NOTIFY + ); + + pCharacteristic->addDescriptor(new BLE2902()); + + BLECharacteristic *pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID_RX, + BLECharacteristic::PROPERTY_WRITE + ); + + pCharacteristic->setCallbacks(new MyCallbacks()); + + // Start the service + pService->start(); + + // Start advertising + pServer->getAdvertising()->start(); + Serial.println("Waiting a client connection to notify..."); +} + +void loop() { + + if (deviceConnected) { + Serial.printf("*** Sent Value: %d ***\n", txValue); + pCharacteristic->setValue(&txValue, 1); + pCharacteristic->notify(); + txValue++; + } + delay(1000); +} diff --git a/lib/ESP32_BLE_Arduino/examples/BLE_write/BLE_write.ino b/lib/ESP32_BLE_Arduino/examples/BLE_write/BLE_write.ino new file mode 100644 index 00000000..24a0cd23 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/examples/BLE_write/BLE_write.ino @@ -0,0 +1,65 @@ +/* + Based on Neil Kolban example for IDF: https://github.com/nkolban/esp32-snippets/blob/master/cpp_utils/tests/BLE%20Tests/SampleWrite.cpp + Ported to Arduino ESP32 by Evandro Copercini +*/ + +#include +#include +#include + +// See the following for generating UUIDs: +// https://www.uuidgenerator.net/ + +#define SERVICE_UUID "4fafc201-1fb5-459e-8fcc-c5c9c331914b" +#define CHARACTERISTIC_UUID "beb5483e-36e1-4688-b7f5-ea07361b26a8" + + +class MyCallbacks: public BLECharacteristicCallbacks { + void onWrite(BLECharacteristic *pCharacteristic) { + std::string value = pCharacteristic->getValue(); + + if (value.length() > 0) { + Serial.println("*********"); + Serial.print("New value: "); + for (int i = 0; i < value.length(); i++) + Serial.print(value[i]); + + Serial.println(); + Serial.println("*********"); + } + } +}; + +void setup() { + Serial.begin(115200); + + Serial.println("1- Download and install an BLE scanner app in your phone"); + Serial.println("2- Scan for BLE devices in the app"); + Serial.println("3- Connect to MyESP32"); + Serial.println("4- Go to CUSTOM CHARACTERISTIC in CUSTOM SERVICE and write something"); + Serial.println("5- See the magic =)"); + + BLEDevice::init("MyESP32"); + BLEServer *pServer = BLEDevice::createServer(); + + BLEService *pService = pServer->createService(SERVICE_UUID); + + BLECharacteristic *pCharacteristic = pService->createCharacteristic( + CHARACTERISTIC_UUID, + BLECharacteristic::PROPERTY_READ | + BLECharacteristic::PROPERTY_WRITE + ); + + pCharacteristic->setCallbacks(new MyCallbacks()); + + pCharacteristic->setValue("Hello World"); + pService->start(); + + BLEAdvertising *pAdvertising = pServer->getAdvertising(); + pAdvertising->start(); +} + +void loop() { + // put your main code here, to run repeatedly: + delay(2000); +} \ No newline at end of file diff --git a/lib/ESP32_BLE_Arduino/library.properties b/lib/ESP32_BLE_Arduino/library.properties new file mode 100644 index 00000000..37e67448 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/library.properties @@ -0,0 +1,10 @@ +name=ESP32 BLE Arduino +version=0.4.8 +author=Neil Kolban +maintainer=Neil Kolban +sentence=BLE functions for ESP32 +paragraph=This library provides an implementation Bluetooth Low Energy support for the ESP32 using the Arduino platform. +category=Communication +url=https://github.com/nkolban/ESP32_BLE_Arduino +architectures=esp32 +includes=BLE.h, BLEUtils.h, BLEScan.h, BLEAdvertisedDevice.h \ No newline at end of file diff --git a/lib/ESP32_BLE_Arduino/src/BLE2902.cpp b/lib/ESP32_BLE_Arduino/src/BLE2902.cpp new file mode 100644 index 00000000..8984da81 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLE2902.cpp @@ -0,0 +1,69 @@ +/* + * BLE2902.cpp + * + * Created on: Jun 25, 2017 + * Author: kolban + */ + +/* + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLE2902.h" + +BLE2902::BLE2902() : BLEDescriptor(BLEUUID((uint16_t) 0x2902)) { + uint8_t data[2] = {0,0}; + setValue(data, 2); +} // BLE2902 + + +/** + * @brief Get the notifications value. + * @return The notifications value. True if notifications are enabled and false if not. + */ +bool BLE2902::getNotifications() { + return (getValue()[0] & (1 << 0)) != 0; +} // getNotifications + + +/** + * @brief Get the indications value. + * @return The indications value. True if indications are enabled and false if not. + */ +bool BLE2902::getIndications() { + return (getValue()[0] & (1 << 1)) != 0; +} // getIndications + + +/** + * @brief Set the indications flag. + * @param [in] flag The indications flag. + */ +void BLE2902::setIndications(bool flag) { + uint8_t *pValue = getValue(); + if (flag) { + pValue[0] |= 1<<1; + } else { + pValue[0] &= ~(1<<1); + } +} // setIndications + + +/** + * @brief Set the notifications flag. + * @param [in] flag The notifications flag. + */ +void BLE2902::setNotifications(bool flag) { + uint8_t *pValue = getValue(); + if (flag) { + pValue[0] |= 1<<0; + } else { + pValue[0] &= ~(1<<0); + } +} // setNotifications + + +#endif diff --git a/lib/ESP32_BLE_Arduino/src/BLE2902.h b/lib/ESP32_BLE_Arduino/src/BLE2902.h new file mode 100644 index 00000000..397360ab --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLE2902.h @@ -0,0 +1,34 @@ +/* + * BLE2902.h + * + * Created on: Jun 25, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLE2902_H_ +#define COMPONENTS_CPP_UTILS_BLE2902_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLEDescriptor.h" + +/** + * @brief Descriptor for Client Characteristic Configuration. + * + * This is a convenience descriptor for the Client Characteristic Configuration which has a UUID of 0x2902. + * + * See also: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.descriptor.gatt.client_characteristic_configuration.xml + */ +class BLE2902: public BLEDescriptor { +public: + BLE2902(); + bool getNotifications(); + bool getIndications(); + void setNotifications(bool flag); + void setIndications(bool flag); + +}; // BLE2902 + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLE2902_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEAddress.cpp b/lib/ESP32_BLE_Arduino/src/BLEAddress.cpp new file mode 100644 index 00000000..895fedad --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEAddress.cpp @@ -0,0 +1,96 @@ +/* + * BLEAddress.cpp + * + * Created on: Jul 2, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include "BLEAddress.h" +#include +#include +#include +#include +#include +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + + +/** + * @brief Create an address from the native ESP32 representation. + * @param [in] address The native representation. + */ +BLEAddress::BLEAddress(esp_bd_addr_t address) { + memcpy(m_address, address, ESP_BD_ADDR_LEN); +} // BLEAddress + + +/** + * @brief Create an address from a hex string + * + * A hex string is of the format: + * ``` + * 00:00:00:00:00:00 + * ``` + * which is 17 characters in length. + * + * @param [in] stringAddress The hex representation of the address. + */ +BLEAddress::BLEAddress(std::string stringAddress) { + if (stringAddress.length() != 17) { + return; + } + int data[6]; + sscanf(stringAddress.c_str(), "%x:%x:%x:%x:%x:%x", &data[0], &data[1], &data[2], &data[3], &data[4], &data[5]); + m_address[0] = (uint8_t)data[0]; + m_address[1] = (uint8_t)data[1]; + m_address[2] = (uint8_t)data[2]; + m_address[3] = (uint8_t)data[3]; + m_address[4] = (uint8_t)data[4]; + m_address[5] = (uint8_t)data[5]; +} // BLEAddress + + +/** + * @brief Determine if this address equals another. + * @param [in] otherAddress The other address to compare against. + * @return True if the addresses are equal. + */ +bool BLEAddress::equals(BLEAddress otherAddress) { + return memcmp(otherAddress.getNative(), m_address, 6) == 0; +} // equals + + +/** + * @brief Return the native representation of the address. + * @return The native representation of the address. + */ +esp_bd_addr_t *BLEAddress::getNative() { + return &m_address; +} // getNative + + +/** + * @brief Convert a BLE address to a string. + * + * A string representation of an address is in the format: + * + * ``` + * xx:xx:xx:xx:xx:xx + * ``` + * + * @return The string representation of the address. + */ +std::string BLEAddress::toString() { + std::stringstream stream; + stream << std::setfill('0') << std::setw(2) << std::hex << (int)((uint8_t *)(m_address))[0] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int)((uint8_t *)(m_address))[1] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int)((uint8_t *)(m_address))[2] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int)((uint8_t *)(m_address))[3] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int)((uint8_t *)(m_address))[4] << ':'; + stream << std::setfill('0') << std::setw(2) << std::hex << (int)((uint8_t *)(m_address))[5]; + return stream.str(); +} // toString +#endif diff --git a/lib/ESP32_BLE_Arduino/src/BLEAddress.h b/lib/ESP32_BLE_Arduino/src/BLEAddress.h new file mode 100644 index 00000000..7eff4da4 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEAddress.h @@ -0,0 +1,34 @@ +/* + * BLEAddress.h + * + * Created on: Jul 2, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEADDRESS_H_ +#define COMPONENTS_CPP_UTILS_BLEADDRESS_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include // ESP32 BLE +#include + + +/** + * @brief A %BLE device address. + * + * Every %BLE device has a unique address which can be used to identify it and form connections. + */ +class BLEAddress { +public: + BLEAddress(esp_bd_addr_t address); + BLEAddress(std::string stringAddress); + bool equals(BLEAddress otherAddress); + esp_bd_addr_t* getNative(); + std::string toString(); + +private: + esp_bd_addr_t m_address; +}; + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEADDRESS_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.cpp b/lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.cpp new file mode 100644 index 00000000..351c5e10 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.cpp @@ -0,0 +1,513 @@ +/* + * BLEAdvertisedDevice.cpp + * + * During the scanning procedure, we will be finding advertised BLE devices. This class + * models a found device. + * + * + * See also: + * https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile + * + * Created on: Jul 3, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEAdvertisedDevice.h" +#include "BLEUtils.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif +static const char* LOG_TAG="BLEAdvertisedDevice"; + +BLEAdvertisedDevice::BLEAdvertisedDevice() { + m_adFlag = 0; + m_appearance = 0; + m_deviceType = 0; + m_manufacturerData = ""; + m_name = ""; + m_rssi = -9999; + m_serviceData = ""; + m_txPower = 0; + m_pScan = nullptr; + + m_haveAppearance = false; + m_haveManufacturerData = false; + m_haveName = false; + m_haveRSSI = false; + m_haveServiceData = false; + m_haveServiceUUID = false; + m_haveTXPower = false; + +} // BLEAdvertisedDevice + + +/** + * @brief Get the address. + * + * Every %BLE device exposes an address that is used to identify it and subsequently connect to it. + * Call this function to obtain the address of the advertised device. + * + * @return The address of the advertised device. + */ +BLEAddress BLEAdvertisedDevice::getAddress() { + return m_address; +} // getAddress + + +/** + * @brief Get the appearance. + * + * A %BLE device can declare its own appearance. The appearance is how it would like to be shown to an end user + * typcially in the form of an icon. + * + * @return The appearance of the advertised device. + */ +uint16_t BLEAdvertisedDevice::getAppearance() { + return m_appearance; +} // getAppearance + + +/** + * @brief Get the manufacturer data. + * @return The manufacturer data of the advertised device. + */ +std::string BLEAdvertisedDevice::getManufacturerData() { + return m_manufacturerData; +} // getManufacturerData + + +/** + * @brief Get the name. + * @return The name of the advertised device. + */ +std::string BLEAdvertisedDevice::getName() { + return m_name; +} // getName + + +/** + * @brief Get the RSSI. + * @return The RSSI of the advertised device. + */ +int BLEAdvertisedDevice::getRSSI() { + return m_rssi; +} // getRSSI + + +/** + * @brief Get the scan object that created this advertisement. + * @return The scan object. + */ +BLEScan* BLEAdvertisedDevice::getScan() { + return m_pScan; +} // getScan + + +/** + * @brief Get the service data. + * @return The ServiceData of the advertised device. + */ +std::string BLEAdvertisedDevice::getServiceData() { + return m_serviceData; +} //getServiceData + + +/** + * @brief Get the service data UUID. + * @return The service data UUID. + */ +BLEUUID BLEAdvertisedDevice::getServiceDataUUID() { + return m_serviceDataUUID; +} // getServiceDataUUID + + +/** + * @brief Get the Service UUID. + * @return The Service UUID of the advertised device. + */ +BLEUUID BLEAdvertisedDevice::getServiceUUID() { //TODO Remove it eventually, is no longer useful + return m_serviceUUIDs[0]; +} // getServiceUUID + +/** + * @brief Check advertised serviced for existence required UUID + * @return Return true if service is advertised + */ +bool BLEAdvertisedDevice::isAdvertisingService(BLEUUID uuid){ + for (int i = 0; i < m_serviceUUIDs.size(); ++i) { + if(m_serviceUUIDs[i].equals(uuid)) + return true; + } + return false; +} + +/** + * @brief Get the TX Power. + * @return The TX Power of the advertised device. + */ +int8_t BLEAdvertisedDevice::getTXPower() { + return m_txPower; +} // getTXPower + + + +/** + * @brief Does this advertisement have an appearance value? + * @return True if there is an appearance value present. + */ +bool BLEAdvertisedDevice::haveAppearance() { + return m_haveAppearance; +} // haveAppearance + + +/** + * @brief Does this advertisement have manufacturer data? + * @return True if there is manufacturer data present. + */ +bool BLEAdvertisedDevice::haveManufacturerData() { + return m_haveManufacturerData; +} // haveManufacturerData + + +/** + * @brief Does this advertisement have a name value? + * @return True if there is a name value present. + */ +bool BLEAdvertisedDevice::haveName() { + return m_haveName; +} // haveName + + +/** + * @brief Does this advertisement have a signal strength value? + * @return True if there is a signal strength value present. + */ +bool BLEAdvertisedDevice::haveRSSI() { + return m_haveRSSI; +} // haveRSSI + + +/** + * @brief Does this advertisement have a service data value? + * @return True if there is a service data value present. + */ +bool BLEAdvertisedDevice::haveServiceData() { + return m_haveServiceData; +} // haveServiceData + + +/** + * @brief Does this advertisement have a service UUID value? + * @return True if there is a service UUID value present. + */ +bool BLEAdvertisedDevice::haveServiceUUID() { + return m_haveServiceUUID; +} // haveServiceUUID + + +/** + * @brief Does this advertisement have a transmission power value? + * @return True if there is a transmission power value present. + */ +bool BLEAdvertisedDevice::haveTXPower() { + return m_haveTXPower; +} // haveTXPower + + +/** + * @brief Parse the advertising pay load. + * + * The pay load is a buffer of bytes that is either 31 bytes long or terminated by + * a 0 length value. Each entry in the buffer has the format: + * [length][type][data...] + * + * The length does not include itself but does include everything after it until the next record. A record + * with a length value of 0 indicates a terminator. + * + * https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile + */ +void BLEAdvertisedDevice::parseAdvertisement(uint8_t* payload) { + uint8_t length; + uint8_t ad_type; + uint8_t sizeConsumed = 0; + bool finished = false; + + while(!finished) { + length = *payload; // Retrieve the length of the record. + payload++; // Skip to type + sizeConsumed += 1 + length; // increase the size consumed. + + if (length != 0) { // A length of 0 indicates that we have reached the end. + ad_type = *payload; + payload++; + length--; + + char* pHex = BLEUtils::buildHexData(nullptr, payload, length); + ESP_LOGD(LOG_TAG, "Type: 0x%.2x (%s), length: %d, data: %s", + ad_type, BLEUtils::advTypeToString(ad_type), length, pHex); + free(pHex); + + switch(ad_type) { + case ESP_BLE_AD_TYPE_NAME_CMPL: { // Adv Data Type: 0x09 + setName(std::string(reinterpret_cast(payload), length)); + break; + } // ESP_BLE_AD_TYPE_NAME_CMPL + + case ESP_BLE_AD_TYPE_TX_PWR: { // Adv Data Type: 0x0A + setTXPower(*payload); + break; + } // ESP_BLE_AD_TYPE_TX_PWR + + case ESP_BLE_AD_TYPE_APPEARANCE: { // Adv Data Type: 0x19 + setAppearance(*reinterpret_cast(payload)); + break; + } // ESP_BLE_AD_TYPE_APPEARANCE + + case ESP_BLE_AD_TYPE_FLAG: { // Adv Data Type: 0x01 + setAdFlag(*payload); + break; + } // ESP_BLE_AD_TYPE_FLAG + + case ESP_BLE_AD_TYPE_16SRV_CMPL: + case ESP_BLE_AD_TYPE_16SRV_PART: { // Adv Data Type: 0x02 + for (int var = 0; var < length/2; ++var) { + setServiceUUID(BLEUUID(*reinterpret_cast(payload+var*2))); + } + break; + } // ESP_BLE_AD_TYPE_16SRV_PART + + case ESP_BLE_AD_TYPE_32SRV_CMPL: + case ESP_BLE_AD_TYPE_32SRV_PART: { // Adv Data Type: 0x04 + for (int var = 0; var < length/4; ++var) { + setServiceUUID(BLEUUID(*reinterpret_cast(payload+var*4))); + } + break; + } // ESP_BLE_AD_TYPE_32SRV_PART + + case ESP_BLE_AD_TYPE_128SRV_CMPL: { // Adv Data Type: 0x07 + setServiceUUID(BLEUUID(payload, 16, false)); + break; + } // ESP_BLE_AD_TYPE_128SRV_CMPL + + case ESP_BLE_AD_TYPE_128SRV_PART: { // Adv Data Type: 0x06 + setServiceUUID(BLEUUID(payload, 16, false)); + break; + } // ESP_BLE_AD_TYPE_128SRV_PART + + // See CSS Part A 1.4 Manufacturer Specific Data + case ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE: { + setManufacturerData(std::string(reinterpret_cast(payload), length)); + break; + } // ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE + + case ESP_BLE_AD_TYPE_SERVICE_DATA: { // Adv Data Type: 0x16 (Service Data) - 2 byte UUID + if (length < 2) { + ESP_LOGE(LOG_TAG, "Length too small for ESP_BLE_AD_TYPE_SERVICE_DATA"); + break; + } + uint16_t uuid = *(uint16_t *)payload; + setServiceDataUUID(BLEUUID(uuid)); + if (length > 2) { + setServiceData(std::string(reinterpret_cast(payload+2), length-2)); + } + break; + } //ESP_BLE_AD_TYPE_SERVICE_DATA + + case ESP_BLE_AD_TYPE_32SERVICE_DATA: { // Adv Data Type: 0x20 (Service Data) - 4 byte UUID + if (length < 4) { + ESP_LOGE(LOG_TAG, "Length too small for ESP_BLE_AD_TYPE_32SERVICE_DATA"); + break; + } + uint32_t uuid = *(uint32_t *)payload; + setServiceDataUUID(BLEUUID(uuid)); + if (length > 4) { + setServiceData(std::string(reinterpret_cast(payload+4), length-4)); + } + break; + } //ESP_BLE_AD_TYPE_32SERVICE_DATA + + case ESP_BLE_AD_TYPE_128SERVICE_DATA: { // Adv Data Type: 0x21 (Service Data) - 16 byte UUID + if (length < 16) { + ESP_LOGE(LOG_TAG, "Length too small for ESP_BLE_AD_TYPE_128SERVICE_DATA"); + break; + } + + setServiceDataUUID(BLEUUID(payload, (size_t)16, false)); + if (length > 16) { + setServiceData(std::string(reinterpret_cast(payload+16), length-16)); + } + break; + } //ESP_BLE_AD_TYPE_32SERVICE_DATA + + default: { + ESP_LOGD(LOG_TAG, "Unhandled type: adType: %d - 0x%.2x", ad_type, ad_type); + break; + } + } // switch + payload += length; + } // Length <> 0 + + + if (sizeConsumed >=31 || length == 0) { + finished = true; + } + } // !finished +} // parseAdvertisement + + +/** + * @brief Set the address of the advertised device. + * @param [in] address The address of the advertised device. + */ +void BLEAdvertisedDevice::setAddress(BLEAddress address) { + m_address = address; +} // setAddress + + +/** + * @brief Set the adFlag for this device. + * @param [in] The discovered adFlag. + */ +void BLEAdvertisedDevice::setAdFlag(uint8_t adFlag) { + m_adFlag = adFlag; +} // setAdFlag + + +/** + * @brief Set the appearance for this device. + * @param [in] The discovered appearance. + */ +void BLEAdvertisedDevice::setAppearance(uint16_t appearance) { + m_appearance = appearance; + m_haveAppearance = true; + ESP_LOGD(LOG_TAG, "- appearance: %d", m_appearance); +} // setAppearance + + +/** + * @brief Set the manufacturer data for this device. + * @param [in] The discovered manufacturer data. + */ +void BLEAdvertisedDevice::setManufacturerData(std::string manufacturerData) { + m_manufacturerData = manufacturerData; + m_haveManufacturerData = true; + char* pHex = BLEUtils::buildHexData(nullptr, (uint8_t*)m_manufacturerData.data(), (uint8_t)m_manufacturerData.length()); + ESP_LOGD(LOG_TAG, "- manufacturer data: %s", pHex); + free(pHex); +} // setManufacturerData + + +/** + * @brief Set the name for this device. + * @param [in] name The discovered name. + */ +void BLEAdvertisedDevice::setName(std::string name) { + m_name = name; + m_haveName = true; + ESP_LOGD(LOG_TAG, "- setName(): name: %s", m_name.c_str()); +} // setName + + +/** + * @brief Set the RSSI for this device. + * @param [in] rssi The discovered RSSI. + */ +void BLEAdvertisedDevice::setRSSI(int rssi) { + m_rssi = rssi; + m_haveRSSI = true; + ESP_LOGD(LOG_TAG, "- setRSSI(): rssi: %d", m_rssi); +} // setRSSI + + +/** + * @brief Set the Scan that created this advertised device. + * @param pScan The Scan that created this advertised device. + */ +void BLEAdvertisedDevice::setScan(BLEScan* pScan) { + m_pScan = pScan; +} // setScan + + +/** + * @brief Set the Service UUID for this device. + * @param [in] serviceUUID The discovered serviceUUID + */ +void BLEAdvertisedDevice::setServiceUUID(const char* serviceUUID) { + return setServiceUUID(BLEUUID(serviceUUID)); +} // setServiceUUID + + +/** + * @brief Set the Service UUID for this device. + * @param [in] serviceUUID The discovered serviceUUID + */ +void BLEAdvertisedDevice::setServiceUUID(BLEUUID serviceUUID) { + m_serviceUUIDs.push_back(serviceUUID); + m_haveServiceUUID = true; + ESP_LOGD(LOG_TAG, "- addServiceUUID(): serviceUUID: %s", serviceUUID.toString().c_str()); +} // setServiceUUID + + +/** + * @brief Set the ServiceData value. + * @param [in] data ServiceData value. + */ +void BLEAdvertisedDevice::setServiceData(std::string serviceData) { + m_haveServiceData = true; // Set the flag that indicates we have service data. + m_serviceData = serviceData; // Save the service data that we received. +} //setServiceData + + +/** + * @brief Set the ServiceDataUUID value. + * @param [in] data ServiceDataUUID value. + */ +void BLEAdvertisedDevice::setServiceDataUUID(BLEUUID uuid) { + m_haveServiceData = true; // Set the flag that indicates we have service data. + m_serviceDataUUID = uuid; +} // setServiceDataUUID + + +/** + * @brief Set the power level for this device. + * @param [in] txPower The discovered power level. + */ +void BLEAdvertisedDevice::setTXPower(int8_t txPower) { + m_txPower = txPower; + m_haveTXPower = true; + ESP_LOGD(LOG_TAG, "- txPower: %d", m_txPower); +} // setTXPower + + +/** + * @brief Create a string representation of this device. + * @return A string representation of this device. + */ +std::string BLEAdvertisedDevice::toString() { + std::stringstream ss; + ss << "Name: " << getName() << ", Address: " << getAddress().toString(); + if (haveAppearance()) { + ss << ", appearance: " << getAppearance(); + } + if (haveManufacturerData()) { + char *pHex = BLEUtils::buildHexData(nullptr, (uint8_t*)getManufacturerData().data(), getManufacturerData().length()); + ss << ", manufacturer data: " << pHex; + free(pHex); + } + if (haveServiceUUID()) { + ss << ", serviceUUID: " << getServiceUUID().toString(); + } + if (haveTXPower()) { + ss << ", txPower: " << (int)getTXPower(); + } + return ss.str(); +} // toString + + + + +#endif /* CONFIG_BT_ENABLED */ + diff --git a/lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.h b/lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.h new file mode 100644 index 00000000..41bc4c66 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEAdvertisedDevice.h @@ -0,0 +1,117 @@ +/* + * BLEAdvertisedDevice.h + * + * Created on: Jul 3, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEADVERTISEDDEVICE_H_ +#define COMPONENTS_CPP_UTILS_BLEADVERTISEDDEVICE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +#include + +#include "BLEAddress.h" +#include "BLEScan.h" +#include "BLEUUID.h" + + +class BLEScan; +/** + * @brief A representation of a %BLE advertised device found by a scan. + * + * When we perform a %BLE scan, the result will be a set of devices that are advertising. This + * class provides a model of a detected device. + */ +class BLEAdvertisedDevice { +public: + BLEAdvertisedDevice(); + + BLEAddress getAddress(); + uint16_t getAppearance(); + std::string getManufacturerData(); + std::string getName(); + int getRSSI(); + BLEScan* getScan(); + std::string getServiceData(); + BLEUUID getServiceDataUUID(); + BLEUUID getServiceUUID(); + int8_t getTXPower(); + + + bool isAdvertisingService(BLEUUID uuid); + bool haveAppearance(); + bool haveManufacturerData(); + bool haveName(); + bool haveRSSI(); + bool haveServiceData(); + bool haveServiceUUID(); + bool haveTXPower(); + + std::string toString(); + +private: + friend class BLEScan; + + void parseAdvertisement(uint8_t* payload); + void setAddress(BLEAddress address); + void setAdFlag(uint8_t adFlag); + void setAdvertizementResult(uint8_t* payload); + void setAppearance(uint16_t appearance); + void setManufacturerData(std::string manufacturerData); + void setName(std::string name); + void setRSSI(int rssi); + void setScan(BLEScan* pScan); + void setServiceData(std::string data); + void setServiceDataUUID(BLEUUID uuid); + void setServiceUUID(const char* serviceUUID); + void setServiceUUID(BLEUUID serviceUUID); + void setTXPower(int8_t txPower); + + + bool m_haveAppearance; + bool m_haveManufacturerData; + bool m_haveName; + bool m_haveRSSI; + bool m_haveServiceData; + bool m_haveServiceUUID; + bool m_haveTXPower; + + + BLEAddress m_address = BLEAddress((uint8_t*)"\0\0\0\0\0\0"); + uint8_t m_adFlag; + uint16_t m_appearance; + int m_deviceType; + std::string m_manufacturerData; + std::string m_name; + BLEScan* m_pScan; + int m_rssi; + std::vector m_serviceUUIDs; + int8_t m_txPower; + std::string m_serviceData; + BLEUUID m_serviceDataUUID; +}; + +/** + * @brief A callback handler for callbacks associated device scanning. + * + * When we are performing a scan as a %BLE client, we may wish to know when a new device that is advertising + * has been found. This class can be sub-classed and registered such that when a scan is performed and + * a new advertised device has been found, we will be called back to be notified. + */ +class BLEAdvertisedDeviceCallbacks { +public: + virtual ~BLEAdvertisedDeviceCallbacks() {} + /** + * @brief Called when a new scan result is detected. + * + * As we are scanning, we will find new devices. When found, this call back is invoked with a reference to the + * device that was found. During any individual scan, a device will only be detected one time. + */ + virtual void onResult(BLEAdvertisedDevice advertisedDevice) = 0; +}; + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEADVERTISEDDEVICE_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEAdvertising.cpp b/lib/ESP32_BLE_Arduino/src/BLEAdvertising.cpp new file mode 100644 index 00000000..e5179a41 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEAdvertising.cpp @@ -0,0 +1,157 @@ +/* + * BLEAdvertising.cpp + * + * This class encapsulates advertising a BLE Server. + * Created on: Jun 21, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include "BLEAdvertising.h" +#include +#include +#include "BLEUtils.h" +#include "GeneralUtils.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLEAdvertising"; + + +/** + * @brief Construct a default advertising object. + * + */ +BLEAdvertising::BLEAdvertising() { + m_advData.set_scan_rsp = false; + m_advData.include_name = true; + m_advData.include_txpower = true; + m_advData.min_interval = 0x20; + m_advData.max_interval = 0x40; + m_advData.appearance = 0x00; + m_advData.manufacturer_len = 0; + m_advData.p_manufacturer_data = nullptr; + m_advData.service_data_len = 0; + m_advData.p_service_data = nullptr; + m_advData.service_uuid_len = 0; + m_advData.p_service_uuid = nullptr; + m_advData.flag = (ESP_BLE_ADV_FLAG_GEN_DISC | ESP_BLE_ADV_FLAG_BREDR_NOT_SPT); + + m_advParams.adv_int_min = 0x20; + m_advParams.adv_int_max = 0x40; + m_advParams.adv_type = ADV_TYPE_IND; + m_advParams.own_addr_type = BLE_ADDR_TYPE_PUBLIC; + m_advParams.channel_map = ADV_CHNL_ALL; + m_advParams.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY; +} // BLEAdvertising + + +/** + * @brief Add a service uuid to exposed list of services. + * @param [in] serviceUUID The UUID of the service to expose. + */ +void BLEAdvertising::addServiceUUID(BLEUUID serviceUUID) { + m_serviceUUIDs.push_back(serviceUUID); +} // addServiceUUID + + +/** + * @brief Add a service uuid to exposed list of services. + * @param [in] serviceUUID The string representation of the service to expose. + */ +void BLEAdvertising::addServiceUUID(const char* serviceUUID) { + addServiceUUID(BLEUUID(serviceUUID)); +} // addServiceUUID + + +/** + * @brief Set the device appearance in the advertising data. + * The appearance attribute is of type 0x19. The codes for distinct appearances can be found here: + * https://www.bluetooth.com/specifications/gatt/viewer?attributeXmlFile=org.bluetooth.characteristic.gap.appearance.xml. + * @param [in] appearance The appearance of the device in the advertising data. + * @return N/A. + */ +void BLEAdvertising::setAppearance(uint16_t appearance) { + m_advData.appearance = appearance; +} // setAppearance + + +/** + * @brief Start advertising. + * Start advertising. + * @return N/A. + */ +void BLEAdvertising::start() { + ESP_LOGD(LOG_TAG, ">> start"); + + // We have a vector of service UUIDs that we wish to advertise. In order to use the + // ESP-IDF framework, these must be supplied in a contiguous array of their 128bit (16 byte) + // representations. If we have 1 or more services to advertise then we allocate enough + // storage to host them and then copy them in one at a time into the contiguous storage. + int numServices = m_serviceUUIDs.size(); + if (numServices > 0) { + m_advData.service_uuid_len = 16*numServices; + m_advData.p_service_uuid = new uint8_t[m_advData.service_uuid_len]; + uint8_t* p = m_advData.p_service_uuid; + for (int i=0; iuuid.uuid128, 16); + p+=16; + } + } else { + m_advData.service_uuid_len = 0; + ESP_LOGD(LOG_TAG, "- no services advertised"); + } + + + // Set the configuration for advertising. + m_advData.set_scan_rsp = false; + esp_err_t errRc = ::esp_ble_gap_config_adv_data(&m_advData); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gap_config_adv_data: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_advData.set_scan_rsp = true; + errRc = ::esp_ble_gap_config_adv_data(&m_advData); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gap_config_adv_data (Scan response): rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + // If we had services to advertise then we previously allocated some storage for them. + // Here we release that storage. + if (m_advData.service_uuid_len > 0) { + delete[] m_advData.p_service_uuid; + m_advData.p_service_uuid = nullptr; + } + + // Start advertising. + errRc = ::esp_ble_gap_start_advertising(&m_advParams); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gap_start_advertising: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + ESP_LOGD(LOG_TAG, "<< start"); +} // start + + +/** + * @brief Stop advertising. + * Stop advertising. + * @return N/A. + */ +void BLEAdvertising::stop() { + ESP_LOGD(LOG_TAG, ">> stop"); + esp_err_t errRc = ::esp_ble_gap_stop_advertising(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_stop_advertising: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + ESP_LOGD(LOG_TAG, "<< stop"); +} // stop + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEAdvertising.h b/lib/ESP32_BLE_Arduino/src/BLEAdvertising.h new file mode 100644 index 00000000..6f315b8c --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEAdvertising.h @@ -0,0 +1,35 @@ +/* + * BLEAdvertising.h + * + * Created on: Jun 21, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEADVERTISING_H_ +#define COMPONENTS_CPP_UTILS_BLEADVERTISING_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLEUUID.h" +#include + +/** + * @brief Perform and manage %BLE advertising. + * + * A %BLE server will want to perform advertising in order to make itself known to %BLE clients. + */ +class BLEAdvertising { +public: + BLEAdvertising(); + void addServiceUUID(BLEUUID serviceUUID); + void addServiceUUID(const char* serviceUUID); + void start(); + void stop(); + void setAppearance(uint16_t appearance); +private: + esp_ble_adv_data_t m_advData; + esp_ble_adv_params_t m_advParams; + std::vector m_serviceUUIDs; +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEADVERTISING_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLECharacteristic.cpp b/lib/ESP32_BLE_Arduino/src/BLECharacteristic.cpp new file mode 100644 index 00000000..6d746cf2 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLECharacteristic.cpp @@ -0,0 +1,719 @@ +/* + * BLECharacteristic.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include "sdkconfig.h" +#include +#include +#include "BLECharacteristic.h" +#include "BLEService.h" +#include "BLEUtils.h" +#include "BLE2902.h" +#include "GeneralUtils.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLECharacteristic"; + +#define NULL_HANDLE (0xffff) + + +/** + * @brief Construct a characteristic + * @param [in] uuid - UUID (const char*) for the characteristic. + * @param [in] properties - Properties for the characteristic. + */ +BLECharacteristic::BLECharacteristic(const char* uuid, uint32_t properties) : BLECharacteristic(BLEUUID(uuid), properties) { +} + +/** + * @brief Construct a characteristic + * @param [in] uuid - UUID for the characteristic. + * @param [in] properties - Properties for the characteristic. + */ +BLECharacteristic::BLECharacteristic(BLEUUID uuid, uint32_t properties) { + m_bleUUID = uuid; + m_handle = NULL_HANDLE; + m_properties = (esp_gatt_char_prop_t)0; + m_pCallbacks = nullptr; + + setBroadcastProperty((properties & PROPERTY_BROADCAST) !=0); + setReadProperty((properties & PROPERTY_READ) !=0); + setWriteProperty((properties & PROPERTY_WRITE) !=0); + setNotifyProperty((properties & PROPERTY_NOTIFY) !=0); + setIndicateProperty((properties & PROPERTY_INDICATE) !=0); + setWriteNoResponseProperty((properties & PROPERTY_WRITE_NR) !=0); +} // BLECharacteristic + +/** + * @brief Destructor. + */ +BLECharacteristic::~BLECharacteristic() { + //free(m_value.attr_value); // Release the storage for the value. +} // ~BLECharacteristic + + +/** + * @brief Associate a descriptor with this characteristic. + * @param [in] pDescriptor + * @return N/A. + */ +void BLECharacteristic::addDescriptor(BLEDescriptor* pDescriptor) { + ESP_LOGD(LOG_TAG, ">> addDescriptor(): Adding %s to %s", pDescriptor->toString().c_str(), toString().c_str()); + m_descriptorMap.setByUUID(pDescriptor->getUUID(), pDescriptor); + ESP_LOGD(LOG_TAG, "<< addDescriptor()"); +} // addDescriptor + + +/** + * @brief Register a new characteristic with the ESP runtime. + * @param [in] pService The service with which to associate this characteristic. + */ +void BLECharacteristic::executeCreate(BLEService* pService) { + ESP_LOGD(LOG_TAG, ">> executeCreate()"); + + if (m_handle != NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "Characteristic already has a handle."); + return; + } + + m_pService = pService; // Save the service for to which this characteristic belongs. + + ESP_LOGD(LOG_TAG, "Registering characteristic (esp_ble_gatts_add_char): uuid: %s, service: %s", + getUUID().toString().c_str(), + m_pService->toString().c_str()); + + esp_attr_control_t control; + control.auto_rsp = ESP_GATT_RSP_BY_APP; + + m_semaphoreCreateEvt.take("executeCreate"); + + /* + esp_attr_value_t value; + value.attr_len = m_value.getLength(); + value.attr_max_len = ESP_GATT_MAX_ATTR_LEN; + value.attr_value = m_value.getData(); + */ + + esp_err_t errRc = ::esp_ble_gatts_add_char( + m_pService->getHandle(), + getUUID().getNative(), + static_cast(ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE), + getProperties(), + //&value, + nullptr, + &control); // Whether to auto respond or not. + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_add_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreCreateEvt.wait("executeCreate"); + + // Now that we have registered the characteristic, we must also register all the descriptors associated with this + // characteristic. We iterate through each of those and invoke the registration call to register them with the + // ESP environment. + + BLEDescriptor* pDescriptor = m_descriptorMap.getFirst(); + + while (pDescriptor != nullptr) { + pDescriptor->executeCreate(this); + pDescriptor = m_descriptorMap.getNext(); + } // End while + + ESP_LOGD(LOG_TAG, "<< executeCreate"); +} // executeCreate + + +/** + * @brief Return the BLE Descriptor for the given UUID if associated with this characteristic. + * @param [in] descriptorUUID The UUID of the descriptor that we wish to retrieve. + * @return The BLE Descriptor. If no such descriptor is associated with the characteristic, nullptr is returned. + */ +BLEDescriptor* BLECharacteristic::getDescriptorByUUID(const char* descriptorUUID) { + return m_descriptorMap.getByUUID(BLEUUID(descriptorUUID)); +} // getDescriptorByUUID + + +/** + * @brief Return the BLE Descriptor for the given UUID if associated with this characteristic. + * @param [in] descriptorUUID The UUID of the descriptor that we wish to retrieve. + * @return The BLE Descriptor. If no such descriptor is associated with the characteristic, nullptr is returned. + */ +BLEDescriptor* BLECharacteristic::getDescriptorByUUID(BLEUUID descriptorUUID) { + return m_descriptorMap.getByUUID(descriptorUUID); +} // getDescriptorByUUID + + +/** + * @brief Get the handle of the characteristic. + * @return The handle of the characteristic. + */ +uint16_t BLECharacteristic::getHandle() { + return m_handle; +} // getHandle + + +esp_gatt_char_prop_t BLECharacteristic::getProperties() { + return m_properties; +} // getProperties + + +/** + * @brief Get the service associated with this characteristic. + */ +BLEService* BLECharacteristic::getService() { + return m_pService; +} // getService + + +/** + * @brief Get the UUID of the characteristic. + * @return The UUID of the characteristic. + */ +BLEUUID BLECharacteristic::getUUID() { + return m_bleUUID; +} // getUUID + + +/** + * @brief Retrieve the current value of the characteristic. + * @return A pointer to storage containing the current characteristic value. + */ +std::string BLECharacteristic::getValue() { + return m_value.getValue(); +} // getValue + + +void BLECharacteristic::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + switch(event) { + // Events handled: + // ESP_GATTS_ADD_CHAR_EVT + // ESP_GATTS_WRITE_EVT + // ESP_GATTS_READ_EVT + // + + // ESP_GATTS_EXEC_WRITE_EVT + // When we receive this event it is an indication that a previous write long needs to be committed. + // + // exec_write: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint8_t exec_write_flag + // + case ESP_GATTS_EXEC_WRITE_EVT: { + if (param->exec_write.exec_write_flag == ESP_GATT_PREP_WRITE_EXEC) { + m_value.commit(); + if (m_pCallbacks != nullptr) { + m_pCallbacks->onWrite(this); // Invoke the onWrite callback handler. + } + } else { + m_value.cancel(); + } + + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, + param->write.conn_id, + param->write.trans_id, ESP_GATT_OK, nullptr); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + break; + } // ESP_GATTS_EXEC_WRITE_EVT + + + // ESP_GATTS_ADD_CHAR_EVT - Indicate that a characteristic was added to the service. + // add_char: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + case ESP_GATTS_ADD_CHAR_EVT: { + if (getUUID().equals(BLEUUID(param->add_char.char_uuid)) && + getHandle() == param->add_char.attr_handle && + getService()->getHandle()==param->add_char.service_handle) { + m_semaphoreCreateEvt.give(); + } + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + // ESP_GATTS_WRITE_EVT - A request to write the value of a characteristic has arrived. + // + // write: + // - uint16_t conn_id + // - uint16_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool need_rsp + // - bool is_prep + // - uint16_t len + // - uint8_t *value + // + case ESP_GATTS_WRITE_EVT: { +// We check if this write request is for us by comparing the handles in the event. If it is for us +// we save the new value. Next we look at the need_rsp flag which indicates whether or not we need +// to send a response. If we do, then we formulate a response and send it. + if (param->write.handle == m_handle) { + if (param->write.is_prep) { + m_value.addPart(param->write.value, param->write.len); + } else { + setValue(param->write.value, param->write.len); + } + + ESP_LOGD(LOG_TAG, " - Response to write event: New value: handle: %.2x, uuid: %s", + getHandle(), getUUID().toString().c_str()); + + char* pHexData = BLEUtils::buildHexData(nullptr, param->write.value, param->write.len); + ESP_LOGD(LOG_TAG, " - Data: length: %d, data: %s", param->write.len, pHexData); + free(pHexData); + + if (param->write.need_rsp) { + esp_gatt_rsp_t rsp; + + rsp.attr_value.len = param->write.len; + rsp.attr_value.handle = m_handle; + rsp.attr_value.offset = param->write.offset; + rsp.attr_value.auth_req = ESP_GATT_AUTH_REQ_NONE; + memcpy(rsp.attr_value.value, param->write.value, param->write.len); + + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, + param->write.conn_id, + param->write.trans_id, ESP_GATT_OK, &rsp); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // Response needed + + if (m_pCallbacks != nullptr && param->write.is_prep != true) { + m_pCallbacks->onWrite(this); // Invoke the onWrite callback handler. + } + } // Match on handles. + break; + } // ESP_GATTS_WRITE_EVT + + + // ESP_GATTS_READ_EVT - A request to read the value of a characteristic has arrived. + // + // read: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool is_long + // - bool need_rsp + // + case ESP_GATTS_READ_EVT: { + ESP_LOGD(LOG_TAG, "- Testing: 0x%.2x == 0x%.2x", param->read.handle, m_handle); + if (param->read.handle == m_handle) { + + if (m_pCallbacks != nullptr) { + m_pCallbacks->onRead(this); // Invoke the read callback. + } + +// Here's an interesting thing. The read request has the option of saying whether we need a response +// or not. What would it "mean" to receive a read request and NOT send a response back? That feels like +// a very strange read. +// +// We have to handle the case where the data we wish to send back to the client is greater than the maximum +// packet size of 22 bytes. In this case, we become responsible for chunking the data into uints of 22 bytes. +// The apparent algorithm is as follows. +// If the is_long flag is set then this is a follow on from an original read and we will already have sent at least 22 bytes. +// If the is_long flag is not set then we need to check how much data we are going to send. If we are sending LESS than +// 22 bytes, then we "just" send it and thats the end of the story. +// If we are sending 22 bytes exactly, we just send it BUT we will get a follow on request. +// If we are sending more than 22 bytes, we send the first 22 bytes and we will get a follow on request. +// Because of follow on request processing, we need to maintain an offset of how much data we have already sent +// so that when a follow on request arrives, we know where to start in the data to send the next sequence. +// Note that the indication that the client will send a follow on request is that we sent exactly 22 bytes as a response. +// If our payload is divisible by 22 then the last response will be a response of 0 bytes in length. +// +// The following code has deliberately not been factored to make it fewer statements because this would cloud the +// the logic flow comprehension. +// + if (param->read.need_rsp) { + ESP_LOGD(LOG_TAG, "Sending a response (esp_ble_gatts_send_response)"); + esp_gatt_rsp_t rsp; + std::string value = m_value.getValue(); + if (param->read.is_long) { + if (value.length() - m_value.getReadOffset() < 22) { + // This is the last in the chain + rsp.attr_value.len = value.length() - m_value.getReadOffset(); + rsp.attr_value.offset = m_value.getReadOffset(); + memcpy(rsp.attr_value.value, value.data() + rsp.attr_value.offset, rsp.attr_value.len); + m_value.setReadOffset(0); + } else { + // There will be more to come. + rsp.attr_value.len = 22; + rsp.attr_value.offset = m_value.getReadOffset(); + memcpy(rsp.attr_value.value, value.data() + rsp.attr_value.offset, rsp.attr_value.len); + m_value.setReadOffset(rsp.attr_value.offset + 22); + } + } else { + if (value.length() > 21) { + // Too big for a single shot entry. + m_value.setReadOffset(22); + rsp.attr_value.len = 22; + rsp.attr_value.offset = 0; + memcpy(rsp.attr_value.value, value.data(), rsp.attr_value.len); + } else { + // Will fit in a single packet with no callbacks required. + rsp.attr_value.len = value.length(); + rsp.attr_value.offset = 0; + memcpy(rsp.attr_value.value, value.data(), rsp.attr_value.len); + } + } + rsp.attr_value.handle = param->read.handle; + rsp.attr_value.auth_req = ESP_GATT_AUTH_REQ_NONE; + + char *pHexData = BLEUtils::buildHexData(nullptr, rsp.attr_value.value, rsp.attr_value.len); + ESP_LOGD(LOG_TAG, " - Data: length=%d, data=%s, offset=%d", rsp.attr_value.len, pHexData, rsp.attr_value.offset); + free(pHexData); + + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, param->read.conn_id, + param->read.trans_id, + ESP_GATT_OK, + &rsp); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // Response needed + } // Handle matches this characteristic. + break; + } // ESP_GATTS_READ_EVT + + // ESP_GATTS_CONF_EVT + // + // conf: + // - esp_gatt_status_t status – The status code. + // - uint16_t conn_id – The connection used. + // + case ESP_GATTS_CONF_EVT: { + m_semaphoreConfEvt.give(); + break; + } + + default: { + break; + } // default + + } // switch event + + // Give each of the descriptors associated with this characteristic the opportunity to handle the + // event. + + m_descriptorMap.handleGATTServerEvent(event, gatts_if, param); + +} // handleGATTServerEvent + + +/** + * @brief Send an indication. + * An indication is a transmission of up to the first 20 bytes of the characteristic value. An indication + * will block waiting a positive confirmation from the client. + * @return N/A + */ +void BLECharacteristic::indicate() { + + ESP_LOGD(LOG_TAG, ">> indicate: length: %d", m_value.getValue().length()); + + assert(getService() != nullptr); + assert(getService()->getServer() != nullptr); + + GeneralUtils::hexDump((uint8_t*)m_value.getValue().data(), m_value.getValue().length()); + + if (getService()->getServer()->getConnectedCount() == 0) { + ESP_LOGD(LOG_TAG, "<< indicate: No connected clients."); + return; + } + + // Test to see if we have a 0x2902 descriptor. If we do, then check to see if indications are enabled + // and, if not, prevent the indication. + + BLE2902 *p2902 = (BLE2902*)getDescriptorByUUID((uint16_t)0x2902); + if (p2902 != nullptr && !p2902->getIndications()) { + ESP_LOGD(LOG_TAG, "<< indications disabled; ignoring"); + return; + } + + if (m_value.getValue().length() > 20) { + ESP_LOGD(LOG_TAG, "- Truncating to 20 bytes (maximum notify size)"); + } + + size_t length = m_value.getValue().length(); + if (length > 20) { + length = 20; + } + + m_semaphoreConfEvt.take("indicate"); + + esp_err_t errRc = ::esp_ble_gatts_send_indicate( + getService()->getServer()->getGattsIf(), + getService()->getServer()->getConnId(), + getHandle(), length, (uint8_t*)m_value.getValue().data(), true); // The need_confirm = true makes this an indication. + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_send_indicate: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreConfEvt.wait("indicate"); + ESP_LOGD(LOG_TAG, "<< indicate"); +} // indicate + + +/** + * @brief Send a notify. + * A notification is a transmission of up to the first 20 bytes of the characteristic value. An notification + * will not block; it is a fire and forget. + * @return N/A. + */ +void BLECharacteristic::notify() { + ESP_LOGD(LOG_TAG, ">> notify: length: %d", m_value.getValue().length()); + + + assert(getService() != nullptr); + assert(getService()->getServer() != nullptr); + + + GeneralUtils::hexDump((uint8_t*)m_value.getValue().data(), m_value.getValue().length()); + + if (getService()->getServer()->getConnectedCount() == 0) { + ESP_LOGD(LOG_TAG, "<< notify: No connected clients."); + return; + } + + // Test to see if we have a 0x2902 descriptor. If we do, then check to see if notification is enabled + // and, if not, prevent the notification. + + BLE2902 *p2902 = (BLE2902*)getDescriptorByUUID((uint16_t)0x2902); + if (p2902 != nullptr && !p2902->getNotifications()) { + ESP_LOGD(LOG_TAG, "<< notifications disabled; ignoring"); + return; + } + + if (m_value.getValue().length() > 20) { + ESP_LOGD(LOG_TAG, "- Truncating to 20 bytes (maximum notify size)"); + } + + size_t length = m_value.getValue().length(); + if (length > 20) { + length = 20; + } + + esp_err_t errRc = ::esp_ble_gatts_send_indicate( + getService()->getServer()->getGattsIf(), + getService()->getServer()->getConnId(), + getHandle(), length, (uint8_t*)m_value.getValue().data(), false); // The need_confirm = false makes this a notify. + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_send_indicate: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + ESP_LOGD(LOG_TAG, "<< notify"); +} // Notify + + +/** + * @brief Set the permission to broadcast. + * A characteristics has properties associated with it which define what it is capable of doing. + * One of these is the broadcast flag. + * @param [in] value The flag value of the property. + * @return N/A + */ +void BLECharacteristic::setBroadcastProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setBroadcastProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_BROADCAST); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_BROADCAST); + } +} // setBroadcastProperty + + +/** + * @brief Set the callback handlers for this characteristic. + * @param [in] pCallbacks An instance of a callbacks structure used to define any callbacks for the characteristic. + */ +void BLECharacteristic::setCallbacks(BLECharacteristicCallbacks* pCallbacks) { + ESP_LOGD(LOG_TAG, ">> setCallbacks: 0x%x", (uint32_t)pCallbacks); + m_pCallbacks = pCallbacks; + ESP_LOGD(LOG_TAG, "<< setCallbacks"); +} // setCallbacks + + +/** + * @brief Set the BLE handle associated with this characteristic. + * A user program will request that a characteristic be created against a service. When the characteristic has been + * registered, the service will be given a "handle" that it knows the characteristic as. This handle is unique to the + * server/service but it is told to the service, not the characteristic associated with the service. This internally + * exposed function can be invoked by the service against this model of the characteristic to allow the characteristic + * to learn its own handle. Once the characteristic knows its own handle, it will be able to see incoming GATT events + * that will be propagated down to it which contain a handle value and now know that the event is destined for it. + * @param [in] handle The handle associated with this characteristic. + */ +void BLECharacteristic::setHandle(uint16_t handle) { + ESP_LOGD(LOG_TAG, ">> setHandle: handle=0x%.2x, characteristic uuid=%s", handle, getUUID().toString().c_str()); + m_handle = handle; + ESP_LOGD(LOG_TAG, "<< setHandle"); +} // setHandle + + +/** + * @brief Set the Indicate property value. + * @param [in] value Set to true if we are to allow indicate messages. + */ +void BLECharacteristic::setIndicateProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setIndicateProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_INDICATE); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_INDICATE); + } +} // setIndicateProperty + + +/** + * @brief Set the Notify property value. + * @param [in] value Set to true if we are to allow notification messages. + */ +void BLECharacteristic::setNotifyProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setNotifyProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_NOTIFY); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_NOTIFY); + } +} // setNotifyProperty + + +/** + * @brief Set the Read property value. + * @param [in] value Set to true if we are to allow reads. + */ +void BLECharacteristic::setReadProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setReadProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_READ); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_READ); + } +} // setReadProperty + + +/** + * @brief Set the value of the characteristic. + * @param [in] data The data to set for the characteristic. + * @param [in] length The length of the data in bytes. + */ +void BLECharacteristic::setValue(uint8_t* data, size_t length) { + char *pHex = BLEUtils::buildHexData(nullptr, data, length); + ESP_LOGD(LOG_TAG, ">> setValue: length=%d, data=%s, characteristic UUID=%s", length, pHex, getUUID().toString().c_str()); + free(pHex); + if (length > ESP_GATT_MAX_ATTR_LEN) { + ESP_LOGE(LOG_TAG, "Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN); + return; + } + m_value.setValue(data, length); + ESP_LOGD(LOG_TAG, "<< setValue"); +} // setValue + + +/** + * @brief Set the value of the characteristic from string data. + * We set the value of the characteristic from the bytes contained in the + * string. + * @param [in] Set the value of the characteristic. + * @return N/A. + */ +void BLECharacteristic::setValue(std::string value) { + setValue((uint8_t*)(value.data()), value.length()); +} // setValue + + +/** + * @brief Set the Write No Response property value. + * @param [in] value Set to true if we are to allow writes with no response. + */ +void BLECharacteristic::setWriteNoResponseProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setWriteNoResponseProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_WRITE_NR); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_WRITE_NR); + } +} // setWriteNoResponseProperty + + +/** + * @brief Set the Write property value. + * @param [in] value Set to true if we are to allow writes. + */ +void BLECharacteristic::setWriteProperty(bool value) { + //ESP_LOGD(LOG_TAG, "setWriteProperty(%d)", value); + if (value) { + m_properties = (esp_gatt_char_prop_t)(m_properties | ESP_GATT_CHAR_PROP_BIT_WRITE); + } else { + m_properties = (esp_gatt_char_prop_t)(m_properties & ~ESP_GATT_CHAR_PROP_BIT_WRITE); + } +} // setWriteProperty + + +/** + * @brief Return a string representation of the characteristic. + * @return A string representation of the characteristic. + */ +std::string BLECharacteristic::toString() { + std::stringstream stringstream; + stringstream << std::hex << std::setfill('0'); + stringstream << "UUID: " << m_bleUUID.toString() + ", handle: 0x" << std::setw(2) << m_handle; + stringstream << " " << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_READ)?"Read ":"") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_WRITE)?"Write ":"") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_WRITE_NR)?"WriteNoResponse ":"") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_BROADCAST)?"Broadcast ":"") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_NOTIFY)?"Notify ":"") << + ((m_properties & ESP_GATT_CHAR_PROP_BIT_INDICATE)?"Indicate ":""); + return stringstream.str(); +} // toString + +BLECharacteristicCallbacks::~BLECharacteristicCallbacks() {} + +/** + * @brief Callback function to support a read request. + * @param [in] pCharacteristic The characteristic that is the source of the event. + */ +void BLECharacteristicCallbacks::onRead(BLECharacteristic *pCharacteristic) { + ESP_LOGD("BLECharacteristicCallbacks", ">> onRead: default"); + ESP_LOGD("BLECharacteristicCallbacks", "<< onRead"); +} // onRead + + +/** + * @brief Callback function to support a write request. + * @param [in] pCharacteristic The characteristic that is the source of the event. + */ +void BLECharacteristicCallbacks::onWrite(BLECharacteristic *pCharacteristic) { + ESP_LOGD("BLECharacteristicCallbacks", ">> onWrite: default"); + ESP_LOGD("BLECharacteristicCallbacks", "<< onWrite"); +} // onWrite + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLECharacteristic.h b/lib/ESP32_BLE_Arduino/src/BLECharacteristic.h new file mode 100644 index 00000000..cacf1e50 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLECharacteristic.h @@ -0,0 +1,132 @@ +/* + * BLECharacteristic.h + * + * Created on: Jun 22, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLECHARACTERISTIC_H_ +#define COMPONENTS_CPP_UTILS_BLECHARACTERISTIC_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEUUID.h" +#include +#include "BLEDescriptor.h" +#include "BLEValue.h" +#include "FreeRTOS.h" + +class BLEService; +class BLEDescriptor; +class BLECharacteristicCallbacks; + +/** + * @brief A management structure for %BLE descriptors. + */ +class BLEDescriptorMap { +public: + void setByUUID(const char* uuid, BLEDescriptor *pDescriptor); + void setByUUID(BLEUUID uuid, BLEDescriptor *pDescriptor); + void setByHandle(uint16_t handle, BLEDescriptor *pDescriptor); + BLEDescriptor* getByUUID(const char* uuid); + BLEDescriptor* getByUUID(BLEUUID uuid); + BLEDescriptor* getByHandle(uint16_t handle); + std::string toString(); + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + BLEDescriptor* getFirst(); + BLEDescriptor* getNext(); +private: + std::map m_uuidMap; + std::map m_handleMap; + std::map::iterator m_iterator; +}; + + +/** + * @brief The model of a %BLE Characteristic. + * + * A %BLE Characteristic is an identified value container that manages a value. It is exposed by a %BLE server and + * can be read and written to by a %BLE client. + */ +class BLECharacteristic { +public: + BLECharacteristic(const char* uuid, uint32_t properties = 0); + BLECharacteristic(BLEUUID uuid, uint32_t properties = 0); + virtual ~BLECharacteristic(); + + void addDescriptor(BLEDescriptor* pDescriptor); + BLEDescriptor* getDescriptorByUUID(const char* descriptorUUID); + BLEDescriptor* getDescriptorByUUID(BLEUUID descriptorUUID); + //size_t getLength(); + BLEUUID getUUID(); + std::string getValue(); + + void indicate(); + void notify(); + void setBroadcastProperty(bool value); + void setCallbacks(BLECharacteristicCallbacks* pCallbacks); + void setIndicateProperty(bool value); + void setNotifyProperty(bool value); + void setReadProperty(bool value); + void setValue(uint8_t* data, size_t size); + void setValue(std::string value); + void setWriteProperty(bool value); + void setWriteNoResponseProperty(bool value); + std::string toString(); + uint16_t getHandle(); + + + static const uint32_t PROPERTY_READ = 1<<0; + static const uint32_t PROPERTY_WRITE = 1<<1; + static const uint32_t PROPERTY_NOTIFY = 1<<2; + static const uint32_t PROPERTY_BROADCAST = 1<<3; + static const uint32_t PROPERTY_INDICATE = 1<<4; + static const uint32_t PROPERTY_WRITE_NR = 1<<5; + +private: + friend class BLEServer; + friend class BLEService; + friend class BLEDescriptor; + friend class BLECharacteristicMap; + + BLEUUID m_bleUUID; + BLEDescriptorMap m_descriptorMap; + uint16_t m_handle; + esp_gatt_char_prop_t m_properties; + BLECharacteristicCallbacks* m_pCallbacks; + BLEService* m_pService; + BLEValue m_value; + + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + + void executeCreate(BLEService* pService); + esp_gatt_char_prop_t getProperties(); + BLEService* getService(); + void setHandle(uint16_t handle); + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + FreeRTOS::Semaphore m_semaphoreConfEvt = FreeRTOS::Semaphore("ConfEvt"); +}; // BLECharacteristic + + +/** + * @brief Callbacks that can be associated with a %BLE characteristic to inform of events. + * + * When a server application creates a %BLE characteristic, we may wish to be informed when there is either + * a read or write request to the characteristic's value. An application can register a + * sub-classed instance of this class and will be notified when such an event happens. + */ +class BLECharacteristicCallbacks { +public: + virtual ~BLECharacteristicCallbacks(); + virtual void onRead(BLECharacteristic* pCharacteristic); + virtual void onWrite(BLECharacteristic* pCharacteristic); +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLECHARACTERISTIC_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLECharacteristicMap.cpp b/lib/ESP32_BLE_Arduino/src/BLECharacteristicMap.cpp new file mode 100644 index 00000000..86a97441 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLECharacteristicMap.cpp @@ -0,0 +1,143 @@ +/* + * BLECharacteristicMap.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEService.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + + +/** + * @brief Return the characteristic by handle. + * @param [in] handle The handle to look up the characteristic. + * @return The characteristic. + */ +BLECharacteristic* BLECharacteristicMap::getByHandle(uint16_t handle) { + return m_handleMap.at(handle); +} // getByHandle + + +/** + * @brief Return the characteristic by UUID. + * @param [in] UUID The UUID to look up the characteristic. + * @return The characteristic. + */ +BLECharacteristic* BLECharacteristicMap::getByUUID(const char* uuid) { + return getByUUID(BLEUUID(uuid)); +} + + +/** + * @brief Return the characteristic by UUID. + * @param [in] UUID The UUID to look up the characteristic. + * @return The characteristic. + */ +BLECharacteristic* BLECharacteristicMap::getByUUID(BLEUUID uuid) { + for (auto &myPair : m_uuidMap) { + if (myPair.first->getUUID().equals(uuid)) { + return myPair.first; + } + } + //return m_uuidMap.at(uuid.toString()); + return nullptr; +} // getByUUID + + +/** + * @brief Get the first characteristic in the map. + * @return The first characteristic in the map. + */ +BLECharacteristic* BLECharacteristicMap::getFirst() { + m_iterator = m_uuidMap.begin(); + if (m_iterator == m_uuidMap.end()) { + return nullptr; + } + BLECharacteristic* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getFirst + + +/** + * @brief Get the next characteristic in the map. + * @return The next characteristic in the map. + */ +BLECharacteristic* BLECharacteristicMap::getNext() { + if (m_iterator == m_uuidMap.end()) { + return nullptr; + } + BLECharacteristic* pRet = m_iterator->first; + m_iterator++; + return pRet; +} // getNext + + +/** + * @brief Pass the GATT server event onwards to each of the characteristics found in the mapping + * @param [in] event + * @param [in] gatts_if + * @param [in] param + */ +void BLECharacteristicMap::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + // Invoke the handler for every Service we have. + for (auto &myPair : m_uuidMap) { + myPair.first->handleGATTServerEvent(event, gatts_if, param); + } +} // handleGATTServerEvent + + +/** + * @brief Set the characteristic by handle. + * @param [in] handle The handle of the characteristic. + * @param [in] characteristic The characteristic to cache. + * @return N/A. + */ +void BLECharacteristicMap::setByHandle(uint16_t handle, + BLECharacteristic *characteristic) { + m_handleMap.insert(std::pair(handle, characteristic)); +} // setByHandle + + +/** + * @brief Set the characteristic by UUID. + * @param [in] uuid The uuid of the characteristic. + * @param [in] characteristic The characteristic to cache. + * @return N/A. + */ +void BLECharacteristicMap::setByUUID( + BLECharacteristic *pCharacteristic, + BLEUUID uuid) { + m_uuidMap.insert(std::pair(pCharacteristic, uuid.toString())); +} // setByUUID + + +/** + * @brief Return a string representation of the characteristic map. + * @return A string representation of the characteristic map. + */ +std::string BLECharacteristicMap::toString() { + std::stringstream stringStream; + stringStream << std::hex << std::setfill('0'); + int count=0; + for (auto &myPair: m_uuidMap) { + if (count > 0) { + stringStream << "\n"; + } + count++; + stringStream << "handle: 0x" << std::setw(2) << myPair.first->getHandle() << ", uuid: " + myPair.first->getUUID().toString(); + } + return stringStream.str(); +} // toString + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEClient.cpp b/lib/ESP32_BLE_Arduino/src/BLEClient.cpp new file mode 100644 index 00000000..83e778dc --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEClient.cpp @@ -0,0 +1,414 @@ +/* + * BLEDevice.cpp + * + * Created on: Mar 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include +#include "BLEClient.h" +#include "BLEUtils.h" +#include "BLEService.h" +#include "GeneralUtils.h" +#include +#include +#include +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +/* + * Design + * ------ + * When we perform a searchService() requests, we are asking the BLE server to return each of the services + * that it exposes. For each service, we received an ESP_GATTC_SEARCH_RES_EVT event which contains details + * of the exposed service including its UUID. + * + * The objects we will invent for a BLEClient will be as follows: + * * BLERemoteService - A model of a remote service. + * * BLERemoteCharacteristic - A model of a remote characteristic + * * BLERemoteDescriptor - A model of a remote descriptor. + * + * Since there is a hierarchical relationship here, we will have the idea that from a BLERemoteService will own + * zero or more remote characteristics and a BLERemoteCharacteristic will own zero or more remote BLEDescriptors. + * + * We will assume that a BLERemoteService contains a map that maps BLEUUIDs to the set of owned characteristics + * and that a BLECharacteristic contains a map that maps BLEUUIDs to the set of owned descriptors. + * + * + */ +static const char* LOG_TAG = "BLEClient"; + +BLEClient::BLEClient() { + m_pClientCallbacks = nullptr; + m_conn_id = 0; + m_gattc_if = 0; + m_haveServices = false; + m_isConnected = false; // Initially, we are flagged as not connected. +} // BLEClient + + +/** + * @brief Destructor. + */ +BLEClient::~BLEClient() { + // We may have allocated service references associated with this client. Before we are finished + // with the client, we must release resources. + for (auto &myPair : m_servicesMap) { + delete myPair.second; + } + m_servicesMap.clear(); +} // ~BLEClient + + +/** + * @brief Connect to the partner (BLE Server). + * @param [in] address The address of the partner. + * @return True on success. + */ +bool BLEClient::connect(BLEAddress address) { + ESP_LOGD(LOG_TAG, ">> connect(%s)", address.toString().c_str()); + +// We need the connection handle that we get from registering the application. We register the app +// and then block on its completion. When the event has arrived, we will have the handle. + m_semaphoreRegEvt.take("connect"); + + esp_err_t errRc = ::esp_ble_gattc_app_register(0); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_app_register: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return false; + } + + m_semaphoreRegEvt.wait("connect"); + + m_peerAddress = address; + + // Perform the open connection request against the target BLE Server. + m_semaphoreOpenEvt.take("connect"); + errRc = ::esp_ble_gattc_open( + getGattcIf(), + *getPeerAddress().getNative(), // address + 1 // direct connection + ); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_open: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return false; + } + + uint32_t rc = m_semaphoreOpenEvt.wait("connect"); + ESP_LOGD(LOG_TAG, "<< connect(), rc=%d", rc==ESP_GATT_OK); + return rc == ESP_GATT_OK; +} // connect + + +/** + * @brief Disconnect from the peer. + * @return N/A. + */ +void BLEClient::disconnect() { + ESP_LOGD(LOG_TAG, ">> disconnect()"); + esp_err_t errRc = ::esp_ble_gattc_close(getGattcIf(), getConnId()); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_close: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + esp_ble_gattc_app_unregister(getGattcIf()); + m_peerAddress = BLEAddress("00:00:00:00:00:00"); + ESP_LOGD(LOG_TAG, "<< disconnect()"); +} // disconnect + + +/** + * @brief Handle GATT Client events + */ +void BLEClient::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam) { + + // Execute handler code based on the type of event received. + switch(event) { + + // + // ESP_GATTC_DISCONNECT_EVT + // + // disconnect: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + case ESP_GATTC_DISCONNECT_EVT: { + // If we receive a disconnect event, set the class flag that indicates that we are + // no longer connected. + m_isConnected = false; + break; + } // ESP_GATTC_DISCONNECT_EVT + + + // + // ESP_GATTC_OPEN_EVT + // + // open: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - uint16_t mtu + // + case ESP_GATTC_OPEN_EVT: { + m_conn_id = evtParam->open.conn_id; + if (m_pClientCallbacks != nullptr) { + m_pClientCallbacks->onConnect(this); + } + if (evtParam->open.status == ESP_GATT_OK) { + m_isConnected = true; // Flag us as connected. + } + m_semaphoreOpenEvt.give(evtParam->open.status); + break; + } // ESP_GATTC_OPEN_EVT + + + // + // ESP_GATTC_REG_EVT + // + // reg: + // esp_gatt_status_t status + // uint16_t app_id + // + case ESP_GATTC_REG_EVT: { + m_gattc_if = gattc_if; + m_semaphoreRegEvt.give(); + break; + } // ESP_GATTC_REG_EVT + + + // + // ESP_GATTC_SEARCH_CMPL_EVT + // + // search_cmpl: + // - esp_gatt_status_t status + // - uint16_t conn_id + // + case ESP_GATTC_SEARCH_CMPL_EVT: { + m_semaphoreSearchCmplEvt.give(); + break; + } // ESP_GATTC_SEARCH_CMPL_EVT + + + // + // ESP_GATTC_SEARCH_RES_EVT + // + // search_res: + // - uint16_t conn_id + // - uint16_t start_handle + // - uint16_t end_handle + // - esp_gatt_id_t srvc_id + // + case ESP_GATTC_SEARCH_RES_EVT: { + BLEUUID uuid = BLEUUID(evtParam->search_res.srvc_id); + BLERemoteService* pRemoteService = new BLERemoteService( + evtParam->search_res.srvc_id, + this, + evtParam->search_res.start_handle, + evtParam->search_res.end_handle + ); + m_servicesMap.insert(std::pair(uuid.toString(), pRemoteService)); + break; + } // ESP_GATTC_SEARCH_RES_EVT + + + default: { + break; + } + } // Switch + + // Pass the request on to all services. + for (auto &myPair : m_servicesMap) { + myPair.second->gattClientEventHandler(event, gattc_if, evtParam); + } + +} // gattClientEventHandler + + +uint16_t BLEClient::getConnId() { + return m_conn_id; +} // getConnId + + + +esp_gatt_if_t BLEClient::getGattcIf() { + return m_gattc_if; +} // getGattcIf + + +/** + * @brief Retrieve the address of the peer. + * + * Returns the Bluetooth device address of the %BLE peer to which this client is connected. + */ +BLEAddress BLEClient::getPeerAddress() { + return m_peerAddress; +} // getAddress + + +/** + * @brief Ask the BLE server for the RSSI value. + * @return The RSSI value. + */ +int BLEClient::getRssi() { + ESP_LOGD(LOG_TAG, ">> getRssi()"); + if (!isConnected()) { + ESP_LOGD(LOG_TAG, "<< getRssi(): Not connected"); + return 0; + } + // We make the API call to read the RSSI value which is an asynchronous operation. We expect to receive + // an ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT to indicate completion. + // + m_semaphoreRssiCmplEvt.take("getRssi"); + esp_err_t rc = ::esp_ble_gap_read_rssi(*getPeerAddress().getNative()); + if (rc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< getRssi: esp_ble_gap_read_rssi: rc=%d %s", rc, GeneralUtils::errorToString(rc)); + return 0; + } + int rssiValue = m_semaphoreRssiCmplEvt.wait("getRssi"); + ESP_LOGD(LOG_TAG, "<< getRssi(): %d", rssiValue); + return rssiValue; +} // getRssi + + +/** + * @brief Get the service BLE Remote Service instance corresponding to the uuid. + * @param [in] uuid The UUID of the service being sought. + * @return A reference to the Service or nullptr if don't know about it. + */ +BLERemoteService* BLEClient::getService(const char* uuid) { + return getService(BLEUUID(uuid)); +} // getService + + +/** + * @brief Get the service object corresponding to the uuid. + * @param [in] uuid The UUID of the service being sought. + * @return A reference to the Service or nullptr if don't know about it. + */ +BLERemoteService* BLEClient::getService(BLEUUID uuid) { + ESP_LOGD(LOG_TAG, ">> getService: uuid: %s", uuid.toString().c_str()); +// Design +// ------ +// We wish to retrieve the service given its UUID. It is possible that we have not yet asked the +// device what services it has in which case we have nothing to match against. If we have not +// asked the device about its services, then we do that now. Once we get the results we can then +// examine the services map to see if it has the service we are looking for. + if (!m_haveServices) { + getServices(); + } + std::string uuidStr = uuid.toString(); + for (auto &myPair : m_servicesMap) { + if (myPair.first == uuidStr) { + ESP_LOGD(LOG_TAG, "<< getService: found the service with uuid: %s", uuid.toString().c_str()); + return myPair.second; + } + } // End of each of the services. + ESP_LOGD(LOG_TAG, "<< getService: not found"); + return nullptr; +} // getService + + +/** + * @brief Ask the remote %BLE server for its services. + * A %BLE Server exposes a set of services for its partners. Here we ask the server for its set of + * services and wait until we have received them all. + * @return N/A + */ +std::map* BLEClient::getServices() { +/* + * Design + * ------ + * We invoke esp_ble_gattc_search_service. This will request a list of the service exposed by the + * peer BLE partner to be returned as events. Each event will be an an instance of ESP_GATTC_SEARCH_RES_EVT + * and will culminate with an ESP_GATTC_SEARCH_CMPL_EVT when all have been received. + */ + ESP_LOGD(LOG_TAG, ">> getServices"); + m_servicesMap.clear(); + esp_err_t errRc = esp_ble_gattc_search_service( + getGattcIf(), + getConnId(), + nullptr // Filter UUID + ); + m_semaphoreSearchCmplEvt.take("getServices"); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_search_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return &m_servicesMap; + } + m_semaphoreSearchCmplEvt.wait("getServices"); + m_haveServices = true; // Remember that we now have services. + ESP_LOGD(LOG_TAG, "<< getServices"); + return &m_servicesMap; +} // getServices + +/** + * @brief Handle a received GAP event. + * + * @param [in] event + * @param [in] param + */ +void BLEClient::handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param) { + ESP_LOGD(LOG_TAG, "BLEClient ... handling GAP event!"); + switch(event) { + // + // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + // + // read_rssi_cmpl + // - esp_bt_status_t status + // - int8_t rssi + // - esp_bd_addr_t remote_addr + // + case ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT: { + m_semaphoreRssiCmplEvt.give((uint32_t)param->read_rssi_cmpl.rssi); + break; + } // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + + default: + break; + } +} // handleGAPEvent + + +/** + * @brief Are we connected to a partner? + * @return True if we are connected and false if we are not connected. + */ +bool BLEClient::isConnected() { + return m_isConnected; +} // isConnected + + +/** + * @brief Set the callbacks that will be invoked. + */ +void BLEClient::setClientCallbacks(BLEClientCallbacks* pClientCallbacks) { + m_pClientCallbacks = pClientCallbacks; +} // setClientCallbacks + + +/** + * @brief Return a string representation of this client. + * @return A string representation of this client. + */ +std::string BLEClient::toString() { + std::ostringstream ss; + ss << "peer address: " << m_peerAddress.toString(); + ss << "\nServices:\n"; + for (auto &myPair : m_servicesMap) { + ss << myPair.second->toString() << "\n"; + // myPair.second is the value + } + return ss.str(); +} // toString + +#endif // CONFIG_BT_ENABLED diff --git a/lib/ESP32_BLE_Arduino/src/BLEClient.h b/lib/ESP32_BLE_Arduino/src/BLEClient.h new file mode 100644 index 00000000..b24c71ae --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEClient.h @@ -0,0 +1,85 @@ +/* + * BLEDevice.h + * + * Created on: Mar 22, 2017 + * Author: kolban + */ + +#ifndef MAIN_BLEDEVICE_H_ +#define MAIN_BLEDEVICE_H_ + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include +#include +#include +#include +#include "BLERemoteService.h" +#include "BLEService.h" +#include "BLEAddress.h" + +class BLERemoteService; +class BLEClientCallbacks; + +/** + * @brief A model of a %BLE client. + */ +class BLEClient { +public: + BLEClient(); + ~BLEClient(); + bool connect(BLEAddress address); + void disconnect(); + BLEAddress getPeerAddress(); + int getRssi(); + std::map* getServices(); + BLERemoteService* getService(const char* uuid); + BLERemoteService* getService(BLEUUID uuid); + void handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + bool isConnected(); + void setClientCallbacks(BLEClientCallbacks *pClientCallbacks); + std::string toString(); + +private: + friend class BLEDevice; + friend class BLERemoteService; + friend class BLERemoteCharacteristic; + friend class BLERemoteDescriptor; + + void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* param); + + uint16_t getConnId(); + esp_gatt_if_t getGattcIf(); + BLEAddress m_peerAddress = BLEAddress((uint8_t*)"\0\0\0\0\0\0"); + uint16_t m_conn_id; +// int m_deviceType; + esp_gatt_if_t m_gattc_if; + bool m_isConnected; + + BLEClientCallbacks* m_pClientCallbacks; + FreeRTOS::Semaphore m_semaphoreRegEvt = FreeRTOS::Semaphore("RegEvt"); + FreeRTOS::Semaphore m_semaphoreOpenEvt = FreeRTOS::Semaphore("OpenEvt"); + FreeRTOS::Semaphore m_semaphoreSearchCmplEvt = FreeRTOS::Semaphore("SearchCmplEvt"); + FreeRTOS::Semaphore m_semaphoreRssiCmplEvt = FreeRTOS::Semaphore("RssiCmplEvt"); + std::map m_servicesMap; + bool m_haveServices; // Have we previously obtain the set of services. +}; // class BLEDevice + + +/** + * @brief Callbacks associated with a %BLE client. + */ +class BLEClientCallbacks { +public: + virtual ~BLEClientCallbacks() {}; + virtual void onConnect(BLEClient *pClient) = 0; +}; + +#endif // CONFIG_BT_ENABLED +#endif /* MAIN_BLEDEVICE_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEDescriptor.cpp b/lib/ESP32_BLE_Arduino/src/BLEDescriptor.cpp new file mode 100644 index 00000000..054ef420 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEDescriptor.cpp @@ -0,0 +1,339 @@ +/* + * BLEDescriptor.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include "sdkconfig.h" +#include +#include +#include "BLEService.h" +#include "BLEDescriptor.h" +#include "GeneralUtils.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLEDescriptor"; + + +#define NULL_HANDLE (0xffff) + + +/** + * @brief BLEDescriptor constructor. + */ +BLEDescriptor::BLEDescriptor(const char* uuid) : BLEDescriptor(BLEUUID(uuid)) { +} + +/** + * @brief BLEDescriptor constructor. + */ +BLEDescriptor::BLEDescriptor(BLEUUID uuid) { + m_bleUUID = uuid; + m_value.attr_value = (uint8_t *)malloc(ESP_GATT_MAX_ATTR_LEN); // Allocate storage for the value. + m_value.attr_len = 0; + m_value.attr_max_len = ESP_GATT_MAX_ATTR_LEN; + m_handle = NULL_HANDLE; + m_pCharacteristic = nullptr; // No initial characteristic. + m_pCallback = nullptr; // No initial callback. + +} // BLEDescriptor + + +/** + * @brief BLEDescriptor destructor. + */ +BLEDescriptor::~BLEDescriptor() { + free(m_value.attr_value); +} // ~BLEDescriptor + + +/** + * @brief Execute the creation of the descriptor with the BLE runtime in ESP. + * @param [in] pCharacteristic The characteristic to which to register this descriptor. + */ +void BLEDescriptor::executeCreate(BLECharacteristic* pCharacteristic) { + ESP_LOGD(LOG_TAG, ">> executeCreate(): %s", toString().c_str()); + + if (m_handle != NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "Descriptor already has a handle."); + return; + } + + m_pCharacteristic = pCharacteristic; // Save the characteristic associated with this service. + + esp_attr_control_t control; + control.auto_rsp = ESP_GATT_RSP_BY_APP; + m_semaphoreCreateEvt.take("executeCreate"); + esp_err_t errRc = ::esp_ble_gatts_add_char_descr( + pCharacteristic->getService()->getHandle(), + getUUID().getNative(), + (esp_gatt_perm_t)(ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE), + &m_value, + &control); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_add_char_descr: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreCreateEvt.wait("executeCreate"); + ESP_LOGD(LOG_TAG, "<< executeCreate"); +} // executeCreate + + +/** + * @brief Get the BLE handle for this descriptor. + * @return The handle for this descriptor. + */ +uint16_t BLEDescriptor::getHandle() { + return m_handle; +} // getHandle + + +/** + * @brief Get the length of the value of this descriptor. + * @return The length (in bytes) of the value of this descriptor. + */ +size_t BLEDescriptor::getLength() { + return m_value.attr_len; +} // getLength + + +/** + * @brief Get the UUID of the descriptor. + */ +BLEUUID BLEDescriptor::getUUID() { + return m_bleUUID; +} // getUUID + + + +/** + * @brief Get the value of this descriptor. + * @return A pointer to the value of this descriptor. + */ +uint8_t* BLEDescriptor::getValue() { + return m_value.attr_value; +} // getValue + + +/** + * @brief Handle GATT server events for the descripttor. + * @param [in] event + * @param [in] gatts_if + * @param [in] param + */ +void BLEDescriptor::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t *param) { + switch(event) { + // ESP_GATTS_ADD_CHAR_DESCR_EVT + // + // add_char_descr: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + case ESP_GATTS_ADD_CHAR_DESCR_EVT: { + /* + ESP_LOGD(LOG_TAG, "DEBUG: m_pCharacteristic: %x", (uint32_t)m_pCharacteristic); + ESP_LOGD(LOG_TAG, "DEBUG: m_bleUUID: %s, add_char_descr.char_uuid: %s, equals: %d", + m_bleUUID.toString().c_str(), + BLEUUID(param->add_char_descr.char_uuid).toString().c_str(), + m_bleUUID.equals(BLEUUID(param->add_char_descr.char_uuid))); + ESP_LOGD(LOG_TAG, "DEBUG: service->getHandle: %x, add_char_descr.service_handle: %x", + m_pCharacteristic->getService()->getHandle(), param->add_char_descr.service_handle); + ESP_LOGD(LOG_TAG, "DEBUG: service->lastCharacteristic: %x", + (uint32_t)m_pCharacteristic->getService()->getLastCreatedCharacteristic()); + */ + if (m_pCharacteristic != nullptr && + m_bleUUID.equals(BLEUUID(param->add_char_descr.char_uuid)) && + m_pCharacteristic->getService()->getHandle() == param->add_char_descr.service_handle && + m_pCharacteristic == m_pCharacteristic->getService()->getLastCreatedCharacteristic()) { + setHandle(param->add_char_descr.attr_handle); + m_semaphoreCreateEvt.give(); + } + break; + } // ESP_GATTS_ADD_CHAR_DESCR_EVT + + // ESP_GATTS_WRITE_EVT - A request to write the value of a descriptor has arrived. + // + // write: + // - uint16_t conn_id + // - uint16_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool need_rsp + // - bool is_prep + // - uint16_t len + // - uint8_t *value + case ESP_GATTS_WRITE_EVT: { + if (param->write.handle == m_handle) { + setValue(param->write.value, param->write.len); // Set the value of the descriptor. + + esp_gatt_rsp_t rsp; // Build a response. + rsp.attr_value.len = getLength(); + rsp.attr_value.handle = m_handle; + rsp.attr_value.offset = 0; + rsp.attr_value.auth_req = ESP_GATT_AUTH_REQ_NONE; + memcpy(rsp.attr_value.value, getValue(), rsp.attr_value.len); + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, + param->write.conn_id, + param->write.trans_id, + ESP_GATT_OK, + &rsp); + + if (errRc != ESP_OK) { // Check the return code from the send of the response. + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + + if (m_pCallback != nullptr) { // We have completed the write, if there is a user supplied callback handler, invoke it now. + m_pCallback->onWrite(this); // Invoke the onWrite callback handler. + } + } // End of ... this is our handle. + + break; + } // ESP_GATTS_WRITE_EVT + + // ESP_GATTS_READ_EVT - A request to read the value of a descriptor has arrived. + // + // read: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool is_long + // - bool need_rsp + // + case ESP_GATTS_READ_EVT: { + if (param->read.handle == m_handle) { // If this event is for this descriptor ... process it + + if (m_pCallback != nullptr) { // If we have a user supplied callback, invoke it now. + m_pCallback->onRead(this); // Invoke the onRead callback method in the callback handler. + } + + if (param->read.need_rsp) { // Do we need a response + ESP_LOGD(LOG_TAG, "Sending a response (esp_ble_gatts_send_response)"); + esp_gatt_rsp_t rsp; + rsp.attr_value.len = getLength(); + rsp.attr_value.handle = param->read.handle; + rsp.attr_value.offset = 0; + rsp.attr_value.auth_req = ESP_GATT_AUTH_REQ_NONE; + memcpy(rsp.attr_value.value, getValue(), rsp.attr_value.len); + + esp_err_t errRc = ::esp_ble_gatts_send_response( + gatts_if, + param->read.conn_id, + param->read.trans_id, + ESP_GATT_OK, + &rsp); + + if (errRc != ESP_OK) { // Check the return code from the send of the response. + ESP_LOGE(LOG_TAG, "esp_ble_gatts_send_response: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // End of need a response. + } // End of this is our handle + break; + } // ESP_GATTS_READ_EVT + + default: { + break; + } + }// switch event +} // handleGATTServerEvent + + +/** + * @brief Set the callback handlers for this descriptor. + * @param [in] pCallbacks An instance of a callback structure used to define any callbacks for the descriptor. + */ +void BLEDescriptor::setCallbacks(BLEDescriptorCallbacks* pCallback) { + ESP_LOGD(LOG_TAG, ">> setCallbacks: 0x%x", (uint32_t)pCallback); + m_pCallback = pCallback; + ESP_LOGD(LOG_TAG, "<< setCallbacks"); +} // setCallbacks + + +/** + * @brief Set the handle of this descriptor. + * Set the handle of this descriptor to be the supplied value. + * @param [in] handle The handle to be associated with this descriptor. + * @return N/A. + */ +void BLEDescriptor::setHandle(uint16_t handle) { + ESP_LOGD(LOG_TAG, ">> setHandle(0x%.2x): Setting descriptor handle to be 0x%.2x", handle, handle); + m_handle = handle; + ESP_LOGD(LOG_TAG, "<< setHandle()"); +} // setHandle + + +/** + * @brief Set the value of the descriptor. + * @param [in] data The data to set for the descriptor. + * @param [in] length The length of the data in bytes. + */ +void BLEDescriptor::setValue(uint8_t* data, size_t length) { + if (length > ESP_GATT_MAX_ATTR_LEN) { + ESP_LOGE(LOG_TAG, "Size %d too large, must be no bigger than %d", length, ESP_GATT_MAX_ATTR_LEN); + return; + } + m_value.attr_len = length; + memcpy(m_value.attr_value, data, length); +} // setValue + + +/** + * @brief Set the value of the descriptor. + * @param [in] value The value of the descriptor in string form. + */ +void BLEDescriptor::setValue(std::string value) { + setValue((uint8_t *)value.data(), value.length()); +} // setValue + + +/** + * @brief Return a string representation of the descriptor. + * @return A string representation of the descriptor. + */ +std::string BLEDescriptor::toString() { + std::stringstream stringstream; + stringstream << std::hex << std::setfill('0'); + stringstream << "UUID: " << m_bleUUID.toString() + ", handle: 0x" << std::setw(2) << m_handle; + return stringstream.str(); +} // toString + + +BLEDescriptorCallbacks::~BLEDescriptorCallbacks() {} + +/** + * @brief Callback function to support a read request. + * @param [in] pDescriptor The descriptor that is the source of the event. + */ +void BLEDescriptorCallbacks::onRead(BLEDescriptor* pDescriptor) { + ESP_LOGD("BLEDescriptorCallbacks", ">> onRead: default"); + ESP_LOGD("BLEDescriptorCallbacks", "<< onRead"); +} // onRead + + +/** + * @brief Callback function to support a write request. + * @param [in] pDescriptor The descriptor that is the source of the event. + */ +void BLEDescriptorCallbacks::onWrite(BLEDescriptor* pDescriptor) { + ESP_LOGD("BLEDescriptorCallbacks", ">> onWrite: default"); + ESP_LOGD("BLEDescriptorCallbacks", "<< onWrite"); +} // onWrite + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEDescriptor.h b/lib/ESP32_BLE_Arduino/src/BLEDescriptor.h new file mode 100644 index 00000000..4eda4c91 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEDescriptor.h @@ -0,0 +1,71 @@ +/* + * BLEDescriptor.h + * + * Created on: Jun 22, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_ +#define COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLEUUID.h" +#include "BLECharacteristic.h" +#include +#include "FreeRTOS.h" + +class BLEService; +class BLECharacteristic; +class BLEDescriptorCallbacks; + +/** + * @brief A model of a %BLE descriptor. + */ +class BLEDescriptor { +public: + BLEDescriptor(const char* uuid); + BLEDescriptor(BLEUUID uuid); + virtual ~BLEDescriptor(); + + uint16_t getHandle(); + size_t getLength(); + BLEUUID getUUID(); + uint8_t* getValue(); + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + void setCallbacks(BLEDescriptorCallbacks* pCallbacks); + void setValue(uint8_t* data, size_t size); + void setValue(std::string value); + std::string toString(); + +private: + friend class BLEDescriptorMap; + friend class BLECharacteristic; + BLEUUID m_bleUUID; + esp_attr_value_t m_value; + uint16_t m_handle; + BLECharacteristic* m_pCharacteristic; + BLEDescriptorCallbacks* m_pCallback; + void executeCreate(BLECharacteristic* pCharacteristic); + void setHandle(uint16_t handle); + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); +}; + +/** + * @brief Callbacks that can be associated with a %BLE descriptors to inform of events. + * + * When a server application creates a %BLE descriptor, we may wish to be informed when there is either + * a read or write request to the descriptors value. An application can register a + * sub-classed instance of this class and will be notified when such an event happens. + */ +class BLEDescriptorCallbacks { +public: + virtual ~BLEDescriptorCallbacks(); + virtual void onRead(BLEDescriptor* pDescriptor); + virtual void onWrite(BLEDescriptor* pDescriptor); +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEDESCRIPTOR_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEDescriptorMap.cpp b/lib/ESP32_BLE_Arduino/src/BLEDescriptorMap.cpp new file mode 100644 index 00000000..4e372e1d --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEDescriptorMap.cpp @@ -0,0 +1,152 @@ +/* + * BLEDescriptorMap.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLECharacteristic.h" +#include "BLEDescriptor.h" +#include // ESP32 BLE +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +/** + * @brief Return the descriptor by UUID. + * @param [in] UUID The UUID to look up the descriptor. + * @return The descriptor. If not present, then nullptr is returned. + */ +BLEDescriptor* BLEDescriptorMap::getByUUID(const char* uuid) { + return getByUUID(BLEUUID(uuid)); +} + + +/** + * @brief Return the descriptor by UUID. + * @param [in] UUID The UUID to look up the descriptor. + * @return The descriptor. If not present, then nullptr is returned. + */ +BLEDescriptor* BLEDescriptorMap::getByUUID(BLEUUID uuid) { + for (auto &myPair : m_uuidMap) { + if (myPair.second->getUUID().equals(uuid)) { + return myPair.second; + } + } + //return m_uuidMap.at(uuid.toString()); + return nullptr; +} // getByUUID + + +/** + * @brief Return the descriptor by handle. + * @param [in] handle The handle to look up the descriptor. + * @return The descriptor. + */ +BLEDescriptor* BLEDescriptorMap::getByHandle(uint16_t handle) { + return m_handleMap.at(handle); +} // getByHandle + + +/** + * @brief Set the descriptor by UUID. + * @param [in] uuid The uuid of the descriptor. + * @param [in] characteristic The descriptor to cache. + * @return N/A. + */ +void BLEDescriptorMap::setByUUID(const char* uuid, BLEDescriptor *pDescriptor){ + m_uuidMap.insert(std::pair(uuid, pDescriptor)); +} // setByUUID + + + +/** + * @brief Set the descriptor by UUID. + * @param [in] uuid The uuid of the descriptor. + * @param [in] characteristic The descriptor to cache. + * @return N/A. + */ +void BLEDescriptorMap::setByUUID(BLEUUID uuid, BLEDescriptor *pDescriptor) { + m_uuidMap.insert(std::pair(uuid.toString(), pDescriptor)); +} // setByUUID + + +/** + * @brief Set the descriptor by handle. + * @param [in] handle The handle of the descriptor. + * @param [in] descriptor The descriptor to cache. + * @return N/A. + */ +void BLEDescriptorMap::setByHandle(uint16_t handle, + BLEDescriptor *pDescriptor) { + m_handleMap.insert(std::pair(handle, pDescriptor)); +} // setByHandle + + +/** + * @brief Return a string representation of the descriptor map. + * @return A string representation of the descriptor map. + */ +std::string BLEDescriptorMap::toString() { + std::stringstream stringStream; + stringStream << std::hex << std::setfill('0'); + int count=0; + for (auto &myPair: m_uuidMap) { + if (count > 0) { + stringStream << "\n"; + } + count++; + stringStream << "handle: 0x" << std::setw(2) << myPair.second->getHandle() << ", uuid: " + myPair.second->getUUID().toString(); + } + return stringStream.str(); +} // toString + + +/** + * @breif Pass the GATT server event onwards to each of the descriptors found in the mapping + * @param [in] event + * @param [in] gatts_if + * @param [in] param + */ +void BLEDescriptorMap::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t *param) { + // Invoke the handler for every descriptor we have. + for (auto &myPair : m_uuidMap) { + myPair.second->handleGATTServerEvent(event, gatts_if, param); + } +} // handleGATTServerEvent + + +/** + * @brief Get the first descriptor in the map. + * @return The first descriptor in the map. + */ +BLEDescriptor* BLEDescriptorMap::getFirst() { + m_iterator = m_uuidMap.begin(); + if (m_iterator == m_uuidMap.end()) { + return nullptr; + } + BLEDescriptor *pRet = m_iterator->second; + m_iterator++; + return pRet; +} // getFirst + + +/** + * @brief Get the next descriptor in the map. + * @return The next descriptor in the map. + */ +BLEDescriptor* BLEDescriptorMap::getNext() { + if (m_iterator == m_uuidMap.end()) { + return nullptr; + } + BLEDescriptor *pRet = m_iterator->second; + m_iterator++; + return pRet; +} // getNext +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEDevice.cpp b/lib/ESP32_BLE_Arduino/src/BLEDevice.cpp new file mode 100644 index 00000000..a701459b --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEDevice.cpp @@ -0,0 +1,279 @@ +/* + * BLE.cpp + * + * Created on: Mar 16, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 ESP-IDF +#include // ESP32 ESP-IDF +#include // Part of C++ Standard library +#include // Part of C++ Standard library +#include // Part of C++ Standard library + +#include "BLEDevice.h" +#include "BLEClient.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLEDevice"; + + +/** + * Singletons for the BLEDevice. + */ +BLEServer* BLEDevice::m_pServer = nullptr; +BLEScan* BLEDevice::m_pScan = nullptr; +BLEClient* BLEDevice::m_pClient = nullptr; +bool initialized = false; +/** + * @brief Create a new instance of a client. + * @return A new instance of the client. + */ +BLEClient* BLEDevice::createClient() { + m_pClient = new BLEClient(); + return m_pClient; +} // createClient + + +/** + * @brief Create a new instance of a server. + * @return A new instance of the server. + */ +BLEServer* BLEDevice::createServer() { + ESP_LOGD(LOG_TAG, ">> createServer"); + m_pServer = new BLEServer(); + m_pServer->createApp(0); + ESP_LOGD(LOG_TAG, "<< createServer"); + return m_pServer; +} // createServer + + +/** + * @brief Handle GATT server events. + * + * @param [in] event The event that has been newly received. + * @param [in] gatts_if The connection to the GATT interface. + * @param [in] param Parameters for the event. + */ +void BLEDevice::gattServerEventHandler( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param +) { + ESP_LOGD(LOG_TAG, "gattServerEventHandler [esp_gatt_if: %d] ... %s", + gatts_if, + BLEUtils::gattServerEventTypeToString(event).c_str()); + + BLEUtils::dumpGattServerEvent(event, gatts_if, param); + + if (BLEDevice::m_pServer != nullptr) { + BLEDevice::m_pServer->handleGATTServerEvent(event, gatts_if, param); + } +} // gattServerEventHandler + + +/** + * @brief Handle GATT client events. + * + * Handler for the GATT client events. + * + * @param [in] event + * @param [in] gattc_if + * @param [in] param + */ +void BLEDevice::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* param) { + + ESP_LOGD(LOG_TAG, "gattClientEventHandler [esp_gatt_if: %d] ... %s", + gattc_if, BLEUtils::gattClientEventTypeToString(event).c_str()); + BLEUtils::dumpGattClientEvent(event, gattc_if, param); +/* + switch(event) { + default: { + break; + } + } // switch + */ + + // If we have a client registered, call it. + if (BLEDevice::m_pClient != nullptr) { + BLEDevice::m_pClient->gattClientEventHandler(event, gattc_if, param); + } + +} // gattClientEventHandler + + +/** + * @brief Handle GAP events. + */ +void BLEDevice::gapEventHandler( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t *param) { + + BLEUtils::dumpGapEvent(event, param); + + switch(event) { + case ESP_GAP_BLE_SEC_REQ_EVT: { + esp_err_t errRc = ::esp_ble_gap_security_rsp(param->ble_security.ble_req.bd_addr, true); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_security_rsp: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + break; + } + + default: { + break; + } + } // switch + + if (BLEDevice::m_pServer != nullptr) { + BLEDevice::m_pServer->handleGAPEvent(event, param); + } + + if (BLEDevice::m_pClient != nullptr) { + BLEDevice::m_pClient->handleGAPEvent(event, param); + } + + if (BLEDevice::m_pScan != nullptr) { + BLEDevice::getScan()->handleGAPEvent(event, param); + } +} // gapEventHandler + + +/** + * @brief Retrieve the Scan object that we use for scanning. + * @return The scanning object reference. This is a singleton object. The caller should not + * try and release/delete it. + */ +BLEScan* BLEDevice::getScan() { + //ESP_LOGD(LOG_TAG, ">> getScan"); + if (m_pScan == nullptr) { + m_pScan = new BLEScan(); + //ESP_LOGD(LOG_TAG, " - creating a new scan object"); + } + //ESP_LOGD(LOG_TAG, "<< getScan: Returning object at 0x%x", (uint32_t)m_pScan); + return m_pScan; +} // getScan + + +/** + * @brief Initialize the %BLE environment. + * @param deviceName The device name of the device. + */ +void BLEDevice::init(std::string deviceName) { + if(!initialized){ + initialized = true; + esp_err_t errRc = ::nvs_flash_init(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "nvs_flash_init: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + esp_bt_controller_config_t bt_cfg = BT_CONTROLLER_INIT_CONFIG_DEFAULT(); + errRc = esp_bt_controller_init(&bt_cfg); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bt_controller_init: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#ifndef CLASSIC_BT_ENABLED + // esp_bt_controller_mem_release(ESP_BT_MODE_CLASSIC_BT); //FIXME waiting for response from esp-idf issue + errRc = esp_bt_controller_enable(ESP_BT_MODE_BLE); + //errRc = esp_bt_controller_enable(ESP_BT_MODE_BTDM); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bt_controller_enable: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#else + errRc = esp_bt_controller_enable(ESP_BT_MODE_BTDM); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bt_controller_enable: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } +#endif + errRc = esp_bluedroid_init(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bluedroid_init: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + errRc = esp_bluedroid_enable(); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_bluedroid_enable: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + errRc = esp_ble_gap_register_callback(BLEDevice::gapEventHandler); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_register_callback: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + errRc = esp_ble_gattc_register_callback(BLEDevice::gattClientEventHandler); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_register_callback: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + errRc = esp_ble_gatts_register_callback(BLEDevice::gattServerEventHandler); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_register_callback: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + errRc = ::esp_ble_gap_set_device_name(deviceName.c_str()); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_set_device_name: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + }; + + esp_ble_io_cap_t iocap = ESP_IO_CAP_NONE; + errRc = ::esp_ble_gap_set_security_param(ESP_BLE_SM_IOCAP_MODE, &iocap, sizeof(uint8_t)); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_set_security_param: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + }; + } + vTaskDelay(200/portTICK_PERIOD_MS); // Delay for 200 msecs as a workaround to an apparent Arduino environment issue. +} // init + + +/** + * @brief Set the transmission power. + * The power level can be one of: + * * ESP_PWR_LVL_N14 + * * ESP_PWR_LVL_N11 + * * ESP_PWR_LVL_N8 + * * ESP_PWR_LVL_N5 + * * ESP_PWR_LVL_N2 + * * ESP_PWR_LVL_P1 + * * ESP_PWR_LVL_P4 + * * ESP_PWR_LVL_P7 + * @param [in] powerLevel. + */ +/* STATIC */ void BLEDevice::setPower(esp_power_level_t powerLevel) { + ESP_LOGD(LOG_TAG, ">> setPower: %d", powerLevel); + esp_err_t errRc = ::esp_ble_tx_power_set(ESP_BLE_PWR_TYPE_DEFAULT, powerLevel); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_tx_power_set: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + }; + ESP_LOGD(LOG_TAG, "<< setPower"); +} // setPower + +#endif // CONFIG_BT_ENABLED diff --git a/lib/ESP32_BLE_Arduino/src/BLEDevice.h b/lib/ESP32_BLE_Arduino/src/BLEDevice.h new file mode 100644 index 00000000..acf20f35 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEDevice.h @@ -0,0 +1,62 @@ +/* + * BLEDevice.h + * + * Created on: Mar 16, 2017 + * Author: kolban + */ + +#ifndef MAIN_BLEDevice_H_ +#define MAIN_BLEDevice_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include // ESP32 BLE +#include // ESP32 BLE +#include // Part of C++ STL +#include +#include + +#include "BLEServer.h" +#include "BLEClient.h" +#include "BLEUtils.h" +#include "BLEScan.h" +#include "BLEAddress.h" +/** + * @brief %BLE functions. + */ +class BLEDevice { +public: + + static BLEClient* createClient(); + static BLEServer* createServer(); + static void dumpDevices(); + static BLEScan* getScan(); + static void init(std::string deviceName); + +private: + static BLEServer *m_pServer; + static BLEScan *m_pScan; + static BLEClient *m_pClient; + + static esp_gatt_if_t getGattcIF(); + + static void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* param); + + static void gattServerEventHandler( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + + static void gapEventHandler( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + +public: + static void setPower(esp_power_level_t powerLevel); + +}; // class BLE + +#endif // CONFIG_BT_ENABLED +#endif /* MAIN_BLEDevice_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.cpp b/lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.cpp new file mode 100644 index 00000000..64b0a92d --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.cpp @@ -0,0 +1,593 @@ +/* + * BLERemoteCharacteristic.cpp + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#include "BLERemoteCharacteristic.h" + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include +#include +#include + +#include +#include "BLEUtils.h" +#include "GeneralUtils.h" +#include "BLERemoteDescriptor.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + + +static const char* LOG_TAG = "BLERemoteCharacteristic"; // The logging tag for this class. + +/** + * @brief Constructor. + * @param [in] handle The BLE server side handle of this characteristic. + * @param [in] uuid The UUID of this characteristic. + * @param [in] charProp The properties of this characteristic. + * @param [in] pRemoteService A reference to the remote service to which this remote characteristic pertains. + */ +BLERemoteCharacteristic::BLERemoteCharacteristic( + uint16_t handle, + BLEUUID uuid, + esp_gatt_char_prop_t charProp, + BLERemoteService* pRemoteService) { + ESP_LOGD(LOG_TAG, ">> BLERemoteCharacteristic: handle: %d 0x%d, uuid: %s", handle, handle, uuid.toString().c_str()); + m_handle = handle; + m_uuid = uuid; + m_charProp = charProp; + m_pRemoteService = pRemoteService; + m_notifyCallback = nullptr; + + retrieveDescriptors(); // Get the descriptors for this characteristic + ESP_LOGD(LOG_TAG, "<< BLERemoteCharacteristic"); +} // BLERemoteCharacteristic + + +/** + *@brief Destructor. + */ +BLERemoteCharacteristic::~BLERemoteCharacteristic() { + removeDescriptors(); // Release resources for any descriptor information we may have allocated. +} // ~BLERemoteCharacteristic + + +/** + * @brief Does the characteristic support broadcasting? + * @return True if the characteristic supports broadcasting. + */ +bool BLERemoteCharacteristic::canBroadcast() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_BROADCAST) != 0; +} // canBroadcast + + +/** + * @brief Does the characteristic support indications? + * @return True if the characteristic supports indications. + */ +bool BLERemoteCharacteristic::canIndicate() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_INDICATE) != 0; +} // canIndicate + + +/** + * @brief Does the characteristic support notifications? + * @return True if the characteristic supports notifications. + */ +bool BLERemoteCharacteristic::canNotify() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_NOTIFY) != 0; +} // canNotify + + +/** + * @brief Does the characteristic support reading? + * @return True if the characteristic supports reading. + */ +bool BLERemoteCharacteristic::canRead() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_READ) != 0; +} // canRead + + +/** + * @brief Does the characteristic support writing? + * @return True if the characteristic supports writing. + */ +bool BLERemoteCharacteristic::canWrite() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_WRITE) != 0; +} // canWrite + + +/** + * @brief Does the characteristic support writing with no response? + * @return True if the characteristic supports writing with no response. + */ +bool BLERemoteCharacteristic::canWriteNoResponse() { + return (m_charProp & ESP_GATT_CHAR_PROP_BIT_WRITE_NR) != 0; +} // canWriteNoResponse + + +/* +static bool compareSrvcId(esp_gatt_srvc_id_t id1, esp_gatt_srvc_id_t id2) { + if (id1.id.inst_id != id2.id.inst_id) { + return false; + } + if (!BLEUUID(id1.id.uuid).equals(BLEUUID(id2.id.uuid))) { + return false; + } + return true; +} // compareSrvcId +*/ + +/* +static bool compareGattId(esp_gatt_id_t id1, esp_gatt_id_t id2) { + if (id1.inst_id != id2.inst_id) { + return false; + } + if (!BLEUUID(id1.uuid).equals(BLEUUID(id2.uuid))) { + return false; + } + return true; +} // compareCharId +*/ + + +/** + * @brief Handle GATT Client events. + * When an event arrives for a GATT client we give this characteristic the opportunity to + * take a look at it to see if there is interest in it. + * @param [in] event The type of event. + * @param [in] gattc_if The interface on which the event was received. + * @param [in] evtParam Payload data for the event. + * @returns N/A + */ +void BLERemoteCharacteristic::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam) { + switch(event) { + // + // ESP_GATTC_NOTIFY_EVT + // + // notify + // - uint16_t conn_id - The connection identifier of the server. + // - esp_bd_addr_t remote_bda - The device address of the BLE server. + // - uint16_t handle - The handle of the characteristic for which the event is being received. + // - uint16_t value_len - The length of the received data. + // - uint8_t* value - The received data. + // - bool is_notify - True if this is a notify, false if it is an indicate. + // + // We have received a notification event which means that the server wishes us to know about a notification + // piece of data. What we must now do is find the characteristic with the associated handle and then + // invoke its notification callback (if it has one). + // + case ESP_GATTC_NOTIFY_EVT: { + if (evtParam->notify.handle != getHandle()) { + break; + } + if (m_notifyCallback != nullptr) { + ESP_LOGD(LOG_TAG, "Invoking callback for notification on characteristic %s", toString().c_str()); + m_notifyCallback( + this, + evtParam->notify.value, + evtParam->notify.value_len, + evtParam->notify.is_notify + ); + } // End we have a callback function ... + break; + } // ESP_GATTC_NOTIFY_EVT + + + // + // ESP_GATTC_READ_CHAR_EVT + // This event indicates that the server has responded to the read request. + // + // read: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - uint16_t handle + // - uint8_t* value + // - uint16_t value_len + // + case ESP_GATTC_READ_CHAR_EVT: { + // If this event is not for us, then nothing further to do. + if (evtParam->read.handle != getHandle()) { + break; + } + + // At this point, we have determined that the event is for us, so now we save the value + // and unlock the semaphore to ensure that the requestor of the data can continue. + if (evtParam->read.status == ESP_GATT_OK) { + m_value = std::string((char*)evtParam->read.value, evtParam->read.value_len); + } else { + m_value = ""; + } + + m_semaphoreReadCharEvt.give(); + break; + } // ESP_GATTC_READ_CHAR_EVT + + + // + // ESP_GATTC_REG_FOR_NOTIFY_EVT + // + // reg_for_notify: + // - esp_gatt_status_t status + // - uint16_t handle + // + case ESP_GATTC_REG_FOR_NOTIFY_EVT: { + // If the request is not for this BLERemoteCharacteristic then move on to the next. + if (evtParam->reg_for_notify.handle != getHandle()) { + break; + } + + // We have processed the notify registration and can unlock the semaphore. + m_semaphoreRegForNotifyEvt.give(); + break; + } // ESP_GATTC_REG_FOR_NOTIFY_EVT + + + // + // ESP_GATTC_UNREG_FOR_NOTIFY_EVT + // + // unreg_for_notify: + // - esp_gatt_status_t status + // - uint16_t handle + // + case ESP_GATTC_UNREG_FOR_NOTIFY_EVT: { + if (evtParam->unreg_for_notify.handle != getHandle()) { + break; + } + // We have processed the notify un-registration and can unlock the semaphore. + m_semaphoreRegForNotifyEvt.give(); + break; + } // ESP_GATTC_UNREG_FOR_NOTIFY_EVT: + + + // + // ESP_GATTC_WRITE_CHAR_EVT + // + // write: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - uint16_t handle + // + case ESP_GATTC_WRITE_CHAR_EVT: { + // Determine if this event is for us and, if not, pass onwards. + if (evtParam->write.handle != getHandle()) { + break; + } + + // There is nothing further we need to do here. This is merely an indication + // that the write has completed and we can unlock the caller. + m_semaphoreWriteCharEvt.give(); + break; + } // ESP_GATTC_WRITE_CHAR_EVT + + + default: { + break; + } + } // End switch +}; // gattClientEventHandler + + +/** + * @brief Populate the descriptors (if any) for this characteristic. + */ +void BLERemoteCharacteristic::retrieveDescriptors() { + ESP_LOGD(LOG_TAG, ">> retrieveDescriptors() for characteristic: %s", getUUID().toString().c_str()); + + removeDescriptors(); // Remove any existing descriptors. + + // Loop over each of the descriptors within the service associated with this characteristic. + // For each descriptor we find, create a BLERemoteDescriptor instance. + uint16_t offset = 0; + esp_gattc_descr_elem_t result; + while(1) { + uint16_t count = 1; + esp_gatt_status_t status = ::esp_ble_gattc_get_all_descr( + getRemoteService()->getClient()->getGattcIf(), + getRemoteService()->getClient()->getConnId(), + getHandle(), + &result, + &count, + offset + ); + + if (status == ESP_GATT_INVALID_OFFSET) { // We have reached the end of the entries. + break; + } + + if (status != ESP_GATT_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_all_descr: %s", BLEUtils::gattStatusToString(status).c_str()); + break; + } + + if (count == 0) { + break; + } + ESP_LOGE(LOG_TAG, ""); + ESP_LOGD(LOG_TAG, "Found a descriptor: Handle: %d, UUID: %s", result.handle, BLEUUID(result.uuid).toString().c_str()); + + // We now have a new characteristic ... let us add that to our set of known characteristics + BLERemoteDescriptor *pNewRemoteDescriptor = new BLERemoteDescriptor( + result.handle, + BLEUUID(result.uuid), + this + ); + + m_descriptorMap.insert(std::pair(pNewRemoteDescriptor->getUUID().toString(), pNewRemoteDescriptor)); + + offset++; + } // while true + //m_haveCharacteristics = true; // Remember that we have received the characteristics. + ESP_LOGD(LOG_TAG, "<< retrieveDescriptors(): Found %d descriptors.", offset); +} // getDescriptors + + +/** + * @brief Retrieve the map of descriptors keyed by UUID. + */ +std::map* BLERemoteCharacteristic::getDescriptors() { + return &m_descriptorMap; +} // getDescriptors + + +/** + * @brief Get the handle for this characteristic. + * @return The handle for this characteristic. + */ +uint16_t BLERemoteCharacteristic::getHandle() { + //ESP_LOGD(LOG_TAG, ">> getHandle: Characteristic: %s", getUUID().toString().c_str()); + //ESP_LOGD(LOG_TAG, "<< getHandle: %d 0x%.2x", m_handle, m_handle); + return m_handle; +} // getHandle + + +/** + * @brief Get the descriptor instance with the given UUID that belongs to this characteristic. + * @param [in] uuid The UUID of the descriptor to find. + * @return The Remote descriptor (if present) or null if not present. + */ +BLERemoteDescriptor* BLERemoteCharacteristic::getDescriptor(BLEUUID uuid) { + ESP_LOGD(LOG_TAG, ">> getDescriptor: uuid: %s", uuid.toString().c_str()); + std::string v = uuid.toString(); + for (auto &myPair : m_descriptorMap) { + if (myPair.first == v) { + ESP_LOGD(LOG_TAG, "<< getDescriptor: found"); + return myPair.second; + } + } + ESP_LOGD(LOG_TAG, "<< getDescriptor: Not found"); + return nullptr; +} // getDescriptor + + +/** + * @brief Get the remote service associated with this characteristic. + * @return The remote service associated with this characteristic. + */ +BLERemoteService* BLERemoteCharacteristic::getRemoteService() { + return m_pRemoteService; +} // getRemoteService + + +/** + * @brief Get the UUID for this characteristic. + * @return The UUID for this characteristic. + */ +BLEUUID BLERemoteCharacteristic::getUUID() { + return m_uuid; +} // getUUID + + +/** + * @brief Read an unsigned 16 bit value + * @return The unsigned 16 bit value. + */ +uint16_t BLERemoteCharacteristic::readUInt16(void) { + std::string value = readValue(); + if (value.length() >= 2) { + return *(uint16_t*)(value.data()); + } + return 0; +} // readUInt16 + + +/** + * @brief Read an unsigned 32 bit value. + * @return the unsigned 32 bit value. + */ +uint32_t BLERemoteCharacteristic::readUInt32(void) { + std::string value = readValue(); + if (value.length() >= 4) { + return *(uint32_t*)(value.data()); + } + return 0; +} // readUInt32 + + +/** + * @brief Read a byte value + * @return The value as a byte + */ +uint8_t BLERemoteCharacteristic::readUInt8(void) { + std::string value = readValue(); + if (value.length() >= 1) { + return (uint8_t)value[0]; + } + return 0; +} // readUInt8 + + +/** + * @brief Read the value of the remote characteristic. + * @return The value of the remote characteristic. + */ +std::string BLERemoteCharacteristic::readValue() { + ESP_LOGD(LOG_TAG, ">> readValue(): uuid: %s, handle: %d 0x%.2x", getUUID().toString().c_str(), getHandle(), getHandle()); + + m_semaphoreReadCharEvt.take("readValue"); + + // Ask the BLE subsystem to retrieve the value for the remote hosted characteristic. + // This is an asynchronous request which means that we must block waiting for the response + // to become available. + esp_err_t errRc = ::esp_ble_gattc_read_char( + m_pRemoteService->getClient()->getGattcIf(), + m_pRemoteService->getClient()->getConnId(), // The connection ID to the BLE server + getHandle(), // The handle of this characteristic + ESP_GATT_AUTH_REQ_NONE); // Security + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_read_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return ""; + } + + // Block waiting for the event that indicates that the read has completed. When it has, the std::string found + // in m_value will contain our data. + m_semaphoreReadCharEvt.wait("readValue"); + + ESP_LOGD(LOG_TAG, "<< readValue(): length: %d", m_value.length()); + return m_value; +} // readValue + + +/** + * @brief Register for notifications. + * @param [in] notifyCallback A callback to be invoked for a notification. If NULL is provided then we are + * unregistering a notification. + * @return N/A. + */ +void BLERemoteCharacteristic::registerForNotify( + void (*notifyCallback)( + BLERemoteCharacteristic* pBLERemoteCharacteristic, + uint8_t* pData, + size_t length, + bool isNotify)) { + ESP_LOGD(LOG_TAG, ">> registerForNotify(): %s", toString().c_str()); + + m_notifyCallback = notifyCallback; // Save the notification callback. + + m_semaphoreRegForNotifyEvt.take("registerForNotify"); + + if (notifyCallback != nullptr) { // If we have a callback function, then this is a registration. + esp_err_t errRc = ::esp_ble_gattc_register_for_notify( + m_pRemoteService->getClient()->getGattcIf(), + *m_pRemoteService->getClient()->getPeerAddress().getNative(), + getHandle() + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_register_for_notify: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // End Register + else { // If we weren't passed a callback function, then this is an unregistration. + esp_err_t errRc = ::esp_ble_gattc_unregister_for_notify( + m_pRemoteService->getClient()->getGattcIf(), + *m_pRemoteService->getClient()->getPeerAddress().getNative(), + getHandle() + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_unregister_for_notify: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + } + } // End Unregister + + m_semaphoreRegForNotifyEvt.wait("registerForNotify"); + + ESP_LOGD(LOG_TAG, "<< registerForNotify()"); +} // registerForNotify + + +/** + * @brief Delete the descriptors in the descriptor map. + * We maintain a map called m_descriptorMap that contains pointers to BLERemoteDescriptors + * object references. Since we allocated these in this class, we are also responsible for deleteing + * them. This method does just that. + * @return N/A. + */ +void BLERemoteCharacteristic::removeDescriptors() { + // Iterate through all the descriptors releasing their storage and erasing them from the map. + for (auto &myPair : m_descriptorMap) { + m_descriptorMap.erase(myPair.first); + delete myPair.second; + } + m_descriptorMap.clear(); // Technically not neeeded, but just to be sure. +} // removeCharacteristics + + +/** + * @brief Convert a BLERemoteCharacteristic to a string representation; + * @return a String representation. + */ +std::string BLERemoteCharacteristic::toString() { + std::ostringstream ss; + ss << "Characteristic: uuid: " << m_uuid.toString() << + ", handle: " << getHandle() << " 0x" << std::hex << getHandle() << + ", props: " << BLEUtils::characteristicPropertiesToString(m_charProp); + return ss.str(); +} // toString + + +/** + * @brief Write the new value for the characteristic. + * @param [in] newValue The new value to write. + * @param [in] response Do we expect a response? + * @return N/A. + */ +void BLERemoteCharacteristic::writeValue(std::string newValue, bool response) { + ESP_LOGD(LOG_TAG, ">> writeValue(), length: %d", newValue.length()); + + m_semaphoreWriteCharEvt.take("writeValue"); + + // Invoke the ESP-IDF API to perform the write. + esp_err_t errRc = ::esp_ble_gattc_write_char( + m_pRemoteService->getClient()->getGattcIf(), + m_pRemoteService->getClient()->getConnId(), + getHandle(), + newValue.length(), + (uint8_t*)newValue.data(), + response?ESP_GATT_WRITE_TYPE_RSP:ESP_GATT_WRITE_TYPE_NO_RSP, + ESP_GATT_AUTH_REQ_NONE + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_write_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreWriteCharEvt.wait("writeValue"); + + ESP_LOGD(LOG_TAG, "<< writeValue"); +} // writeValue + + +/** + * @brief Write the new value for the characteristic. + * + * This is a convenience function. Many BLE characteristics are a single byte of data. + * @param [in] newValue The new byte value to write. + * @param [in] response Whether we require a response from the write. + * @return N/A. + */ +void BLERemoteCharacteristic::writeValue(uint8_t newValue, bool response) { + writeValue(std::string(reinterpret_cast(&newValue), 1), response); +} // writeValue + + +/** + * @brief Write the new value for the characteristic from a data buffer. + * @param [in] data A pointer to a data buffer. + * @param [in] length The length of the data in the data buffer. + * @param [in] response Whether we require a response from the write. + */ +void BLERemoteCharacteristic::writeValue(uint8_t* data, size_t length, bool response) { + writeValue(std::string((char *)data, length), response); +} // writeValue + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.h b/lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.h new file mode 100644 index 00000000..6f23f497 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLERemoteCharacteristic.h @@ -0,0 +1,85 @@ +/* + * BLERemoteCharacteristic.h + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEREMOTECHARACTERISTIC_H_ +#define COMPONENTS_CPP_UTILS_BLEREMOTECHARACTERISTIC_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include + +#include "BLERemoteService.h" +#include "BLERemoteDescriptor.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLERemoteService; +class BLERemoteDescriptor; + +/** + * @brief A model of a remote %BLE characteristic. + */ +class BLERemoteCharacteristic { +public: + ~BLERemoteCharacteristic(); + + // Public member functions + bool canBroadcast(); + bool canIndicate(); + bool canNotify(); + bool canRead(); + bool canWrite(); + bool canWriteNoResponse(); + BLERemoteDescriptor* getDescriptor(BLEUUID uuid); + std::map* getDescriptors(); + uint16_t getHandle(); + BLEUUID getUUID(); + std::string readValue(void); + uint8_t readUInt8(void); + uint16_t readUInt16(void); + uint32_t readUInt32(void); + void registerForNotify(void (*notifyCallback)(BLERemoteCharacteristic* pBLERemoteCharacteristic, uint8_t* pData, size_t length, bool isNotify)); + void writeValue(uint8_t* data, size_t length, bool response = false); + void writeValue(std::string newValue, bool response = false); + void writeValue(uint8_t newValue, bool response = false); + std::string toString(void); + +private: + BLERemoteCharacteristic(uint16_t handle, BLEUUID uuid, esp_gatt_char_prop_t charProp, BLERemoteService* pRemoteService); + friend class BLEClient; + friend class BLERemoteService; + friend class BLERemoteDescriptor; + + // Private member functions + void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam); + + + BLERemoteService* getRemoteService(); + void removeDescriptors(); + void retrieveDescriptors(); + + // Private properties + BLEUUID m_uuid; + esp_gatt_char_prop_t m_charProp; + uint16_t m_handle; + BLERemoteService* m_pRemoteService; + FreeRTOS::Semaphore m_semaphoreReadCharEvt = FreeRTOS::Semaphore("ReadCharEvt"); + FreeRTOS::Semaphore m_semaphoreRegForNotifyEvt = FreeRTOS::Semaphore("RegForNotifyEvt"); + FreeRTOS::Semaphore m_semaphoreWriteCharEvt = FreeRTOS::Semaphore("WriteCharEvt"); + std::string m_value; + void (*m_notifyCallback)(BLERemoteCharacteristic* pBLERemoteCharacteristic, uint8_t* pData, size_t length, bool isNotify); + + // We maintain a map of descriptors owned by this characteristic keyed by a string representation of the UUID. + std::map m_descriptorMap; +}; // BLERemoteCharacteristic +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEREMOTECHARACTERISTIC_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.cpp b/lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.cpp new file mode 100644 index 00000000..7a509f86 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.cpp @@ -0,0 +1,162 @@ +/* + * BLERemoteDescriptor.cpp + * + * Created on: Jul 8, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include "BLERemoteDescriptor.h" +#include "GeneralUtils.h" +#include +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLERemoteDescriptor"; + + +BLERemoteDescriptor::BLERemoteDescriptor( + uint16_t handle, + BLEUUID uuid, + BLERemoteCharacteristic* pRemoteCharacteristic) { + + m_handle = handle; + m_uuid = uuid; + m_pRemoteCharacteristic = pRemoteCharacteristic; +} + +/** + * @brief Retrieve the handle associated with this remote descriptor. + * @return The handle associated with this remote descriptor. + */ +uint16_t BLERemoteDescriptor::getHandle() { + return m_handle; +} // getHandle + + +/** + * @brief Retrieve the UUID associated this remote descriptor. + * @return The UUID associated this remote descriptor. + */ +BLEUUID BLERemoteDescriptor::getUUID() { + return m_uuid; +} // getUUID + + +std::string BLERemoteDescriptor::readValue(void) { + m_semaphoreReadDescrEvt.take("readValue"); + + // Ask the BLE subsystem to retrieve the value for the remote hosted characteristic. + esp_err_t errRc = ::esp_ble_gattc_read_char_descr( + m_pRemoteCharacteristic->getRemoteService()->getClient()->getGattcIf(), + m_pRemoteCharacteristic->getRemoteService()->getClient()->getConnId(), // The connection ID to the BLE server + getHandle(), // The handle of this characteristic + ESP_GATT_AUTH_REQ_NONE); // Security + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_read_char: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return ""; + } + + // Block waiting for the event that indicates that the read has completed. When it has, the std::string found + // in m_value will contain our data. + m_semaphoreReadDescrEvt.wait("readValue"); + + ESP_LOGD(LOG_TAG, "<< readValue(): length: %d", m_value.length()); + return m_value; + return ""; +} // readValue + + +uint8_t BLERemoteDescriptor::readUInt8(void) { + std::string value = readValue(); + if (value.length() >= 1) { + return (uint8_t)value[0]; + } + return 0; +} // readUInt8 + + +uint16_t BLERemoteDescriptor::readUInt16(void) { + std::string value = readValue(); + if (value.length() >= 2) { + return *(uint16_t*)(value.data()); + } + return 0; +} // readUInt16 + + +uint32_t BLERemoteDescriptor::readUInt32(void) { + std::string value = readValue(); + if (value.length() >= 4) { + return *(uint32_t*)(value.data()); + } + return 0; +} // readUInt32 + + +/** + * @brief Return a string representation of this BLE Remote Descriptor. + * @retun A string representation of this BLE Remote Descriptor. + */ +std::string BLERemoteDescriptor::toString(void) { + std::stringstream ss; + ss << "handle: " << getHandle() << ", uuid: " << getUUID().toString(); + return ss.str(); +} // toString + + +/** + * @brief Write data to the BLE Remote Descriptor. + * @param [in] data The data to send to the remote descriptor. + * @param [in] length The length of the data to send. + * @param [in] response True if we expect a response. + */ +void BLERemoteDescriptor::writeValue( + uint8_t* data, + size_t length, + bool response) { + ESP_LOGD(LOG_TAG, ">> writeValue: %s", toString().c_str()); + esp_err_t errRc = ::esp_ble_gattc_write_char_descr( + m_pRemoteCharacteristic->getRemoteService()->getClient()->getGattcIf(), + m_pRemoteCharacteristic->getRemoteService()->getClient()->getConnId(), + getHandle(), + length, // Data length + data, // Data + ESP_GATT_WRITE_TYPE_NO_RSP, + ESP_GATT_AUTH_REQ_NONE + ); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_write_char_descr: %d", errRc); + } + ESP_LOGD(LOG_TAG, "<< writeValue"); +} // writeValue + + +/** + * @brief Write data represented as a string to the BLE Remote Descriptor. + * @param [in] newValue The data to send to the remote descriptor. + * @param [in] response True if we expect a response. + */ +void BLERemoteDescriptor::writeValue( + std::string newValue, + bool response) { + writeValue(newValue.data(), newValue.length()); +} // writeValue + + +/** + * @brief Write a byte value to the Descriptor. + * @param [in] The single byte to write. + * @param [in] True if we expect a response. + */ +void BLERemoteDescriptor::writeValue( + uint8_t newValue, + bool response) { + writeValue(&newValue, 1, response); +} // writeValue + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.h b/lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.h new file mode 100644 index 00000000..c2cf3836 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLERemoteDescriptor.h @@ -0,0 +1,55 @@ +/* + * BLERemoteDescriptor.h + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEREMOTEDESCRIPTOR_H_ +#define COMPONENTS_CPP_UTILS_BLEREMOTEDESCRIPTOR_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +#include + +#include "BLERemoteCharacteristic.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLERemoteCharacteristic; +/** + * @brief A model of remote %BLE descriptor. + */ +class BLERemoteDescriptor { +public: + uint16_t getHandle(); + BLEUUID getUUID(); + std::string readValue(void); + uint8_t readUInt8(void); + uint16_t readUInt16(void); + uint32_t readUInt32(void); + std::string toString(void); + //void registerForNotify(void (*notifyCallback)(BLERemoteCharacteristic *pBLERemoteCharacteristic, uint8_t *pData, size_t length, bool isNotify)); + void writeValue(uint8_t* data, size_t length, bool response = false); + void writeValue(std::string newValue, bool response = false); + void writeValue(uint8_t newValue, bool response = false); + + +private: + friend class BLERemoteCharacteristic; + BLERemoteDescriptor( + uint16_t handle, + BLEUUID uuid, + BLERemoteCharacteristic* pRemoteCharacteristic + ); + uint16_t m_handle; // Server handle of this descriptor. + BLEUUID m_uuid; // UUID of this descriptor. + std::string m_value; // Last received value of the descriptor. + BLERemoteCharacteristic* m_pRemoteCharacteristic; // Reference to the Remote characteristic of which this descriptor is associated. + FreeRTOS::Semaphore m_semaphoreReadDescrEvt = FreeRTOS::Semaphore("ReadDescrEvt"); + + +}; +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEREMOTEDESCRIPTOR_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLERemoteService.cpp b/lib/ESP32_BLE_Arduino/src/BLERemoteService.cpp new file mode 100644 index 00000000..5227964e --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLERemoteService.cpp @@ -0,0 +1,356 @@ +/* + * BLERemoteService.cpp + * + * Created on: Jul 8, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include +#include "BLERemoteService.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" +#include +#include +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLERemoteService"; + +BLERemoteService::BLERemoteService( + esp_gatt_id_t srvcId, + BLEClient* pClient, + uint16_t startHandle, + uint16_t endHandle + ) { + + ESP_LOGD(LOG_TAG, ">> BLERemoteService()"); + m_srvcId = srvcId; + m_pClient = pClient; + m_uuid = BLEUUID(m_srvcId); + m_haveCharacteristics = false; + m_startHandle = startHandle; + m_endHandle = endHandle; + + ESP_LOGD(LOG_TAG, "<< BLERemoteService()"); +} + + +BLERemoteService::~BLERemoteService() { + removeCharacteristics(); +} + +/* +static bool compareSrvcId(esp_gatt_srvc_id_t id1, esp_gatt_srvc_id_t id2) { + if (id1.id.inst_id != id2.id.inst_id) { + return false; + } + if (!BLEUUID(id1.id.uuid).equals(BLEUUID(id2.id.uuid))) { + return false; + } + return true; +} // compareSrvcId +*/ + +/** + * @brief Handle GATT Client events + */ +void BLERemoteService::gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t *evtParam) { + switch(event) { + // + // ESP_GATTC_GET_CHAR_EVT + // + // get_char: + // - esp_gatt_status_t status + // - uin1t6_t conn_id + // - esp_gatt_srvc_id_t srvc_id + // - esp_gatt_id_t char_id + // - esp_gatt_char_prop_t char_prop + // + /* + case ESP_GATTC_GET_CHAR_EVT: { + // Is this event for this service? If yes, then the local srvc_id and the event srvc_id will be + // the same. + if (compareSrvcId(m_srvcId, evtParam->get_char.srvc_id) == false) { + break; + } + + // If the status is NOT OK then we have a problem and continue. + if (evtParam->get_char.status != ESP_GATT_OK) { + m_semaphoreGetCharEvt.give(); + break; + } + + // This is an indication that we now have the characteristic details for a characteristic owned + // by this service so remember it. + m_characteristicMap.insert(std::pair( + BLEUUID(evtParam->get_char.char_id.uuid).toString(), + new BLERemoteCharacteristic(evtParam->get_char.char_id, evtParam->get_char.char_prop, this) )); + + + // Now that we have received a characteristic, lets ask for the next one. + esp_err_t errRc = ::esp_ble_gattc_get_characteristic( + m_pClient->getGattcIf(), + m_pClient->getConnId(), + &m_srvcId, + &evtParam->get_char.char_id); + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_characteristic: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + break; + } + + //m_semaphoreGetCharEvt.give(); + break; + } // ESP_GATTC_GET_CHAR_EVT +*/ + default: { + break; + } + } // switch + + // Send the event to each of the characteristics owned by this service. + for (auto &myPair : m_characteristicMap) { + myPair.first->gattClientEventHandler(event, gattc_if, evtParam); + } +} // gattClientEventHandler + + +/** + * @brief Get the remote characteristic object for the characteristic UUID. + * @param [in] uuid Remote characteristic uuid. + * @return Reference to the remote characteristic object. + */ +BLERemoteCharacteristic* BLERemoteService::getCharacteristic(const char* uuid) { + return getCharacteristic(BLEUUID(uuid)); +} // getCharacteristic + + +/** + * @brief Get the characteristic object for the UUID. + * @param [in] uuid Characteristic uuid. + * @return Reference to the characteristic object. + */ +BLERemoteCharacteristic* BLERemoteService::getCharacteristic(BLEUUID uuid) { +// Design +// ------ +// We wish to retrieve the characteristic given its UUID. It is possible that we have not yet asked the +// device what characteristics it has in which case we have nothing to match against. If we have not +// asked the device about its characteristics, then we do that now. Once we get the results we can then +// examine the characteristics map to see if it has the characteristic we are looking for. + if (!m_haveCharacteristics) { + retrieveCharacteristics(); + } + std::string v = uuid.toString(); + for (auto &myPair : m_characteristicMap) { + if (myPair.second == v) { + return myPair.first; + } + } + return nullptr; +} // getCharacteristic + + +/** + * @brief Retrieve all the characteristics for this service. + * This function will not return until we have all the characteristics. + * @return N/A + */ +void BLERemoteService::retrieveCharacteristics() { + + ESP_LOGD(LOG_TAG, ">> getCharacteristics() for service: %s", getUUID().toString().c_str()); + + removeCharacteristics(); // Forget any previous characteristics. + /* + m_semaphoreGetCharEvt.take("getCharacteristics"); + + esp_err_t errRc = ::esp_ble_gattc_get_characteristic( + m_pClient->getGattcIf(), + m_pClient->getConnId(), + &m_srvcId, + nullptr); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_characteristic: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreGetCharEvt.wait("getCharacteristics"); // Wait for the characteristics to become available. + + m_haveCharacteristics = true; // Remember that we have received the characteristics. + */ + //ESP_LOGE(LOG_TAG, "!!! NOT IMPLEMENTED !!!"); + //ESP_LOGD(LOG_TAG, "--- test code ---"); + /* + uint16_t count; + esp_gatt_status_t status = ::esp_ble_gattc_get_attr_count( + getClient()->getGattcIf(), + getClient()->getConnId(), + ESP_GATT_DB_CHARACTERISTIC, + m_startHandle, + m_endHandle, + 0, // Characteristic handle ... only used for ESP_GATT_DB_DESCRIPTOR + &count + ); + if (status != ESP_GATT_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_attr_count: %s", BLEUtils::gattStatusToString(status).c_str()); + } else { + ESP_LOGD(LOG_TAG, "Number of characteristics associated with service is %d", count); + } + + count = 1; + esp_gattc_service_elem_t srvcElem; + status = ::esp_ble_gattc_get_service( + getClient()->getGattcIf(), + getClient()->getConnId(), + &m_srvcId.uuid, // UUID of service + &srvcElem, // Records + &count, // records retrieved + 0 // offset + ); + if (status != ESP_GATT_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_service: %s", BLEUtils::gattStatusToString(status).c_str()); + } + else { + ESP_LOGD(LOG_TAG, "%s", BLEUtils::gattcServiceElementToString(&srvcElem).c_str()); + } + */ + + uint16_t offset = 0; + esp_gattc_char_elem_t result; + while(1) { + uint16_t count = 1; + esp_gatt_status_t status = ::esp_ble_gattc_get_all_char( + getClient()->getGattcIf(), + getClient()->getConnId(), + m_startHandle, + m_endHandle, + &result, + &count, + offset + ); + + if (status == ESP_GATT_INVALID_OFFSET) { // We have reached the end of the entries. + break; + } + + if (status != ESP_GATT_OK) { // If we got an error, end. + ESP_LOGE(LOG_TAG, "esp_ble_gattc_get_all_char: %s", BLEUtils::gattStatusToString(status).c_str()); + break; + } + + if (count == 0) { // If we failed to get any new records, end. + break; + } + + ESP_LOGD(LOG_TAG, "Found a characteristic: Handle: %d, UUID: %s", result.char_handle, BLEUUID(result.uuid).toString().c_str()); + + // We now have a new characteristic ... let us add that to our set of known characteristics + BLERemoteCharacteristic *pNewRemoteCharacteristic = new BLERemoteCharacteristic( + result.char_handle, + BLEUUID(result.uuid), + result.properties, + this + ); + + m_characteristicMap.insert(std::pair(pNewRemoteCharacteristic, pNewRemoteCharacteristic->getUUID().toString())); + + offset++; // Increment our count of number of descriptors found. + } // Loop forever (until we break inside the loop). + + m_haveCharacteristics = true; // Remember that we have received the characteristics. + ESP_LOGD(LOG_TAG, "<< getCharacteristics()"); +} // getCharacteristics + + +/** + * @brief Retrieve a map of all the characteristics of this service. + * @return A map of all the characteristics of this service. + */ +std::map* BLERemoteService::getCharacteristics() { + ESP_LOGD(LOG_TAG, ">> getCharacteristics() for service: %s", getUUID().toString().c_str()); + // If is possible that we have not read the characteristics associated with the service so do that + // now. The request to retrieve the characteristics by calling "retrieveCharacteristics" is a blocking + // call and does not return until all the characteristics are available. + if (!m_haveCharacteristics) { + retrieveCharacteristics(); + } + ESP_LOGD(LOG_TAG, "<< getCharacteristics() for service: %s", getUUID().toString().c_str()); + return &m_characteristicMap; +} // getCharacteristics + + +BLEClient* BLERemoteService::getClient() { + return m_pClient; +} + + +uint16_t BLERemoteService::getEndHandle() { + return m_endHandle; +} + + +esp_gatt_id_t* BLERemoteService::getSrvcId() { + return &m_srvcId; +} + + +uint16_t BLERemoteService::getStartHandle() { + return m_startHandle; +} + +uint16_t BLERemoteService::getHandle() { + ESP_LOGD(LOG_TAG, ">> getHandle: service: %s", getUUID().toString().c_str()); + //ESP_LOGE(LOG_TAG, "!!! getHandle: NOT IMPLEMENTED !!!"); + ESP_LOGD(LOG_TAG, "<< getHandle: %d 0x%.2x", getStartHandle(), getStartHandle()); + return getStartHandle(); +} + + +BLEUUID BLERemoteService::getUUID() { + return m_uuid; +} + + +/** + * @brief Delete the characteristics in the characteristics map. + * We maintain a map called m_characteristicsMap that contains pointers to BLERemoteCharacteristic + * object references. Since we allocated these in this class, we are also responsible for deleteing + * them. This method does just that. + * @return N/A. + */ +void BLERemoteService::removeCharacteristics() { + for (auto &myPair : m_characteristicMap) { + delete myPair.first; + m_characteristicMap.erase(myPair.first); + } + m_characteristicMap.clear(); // Clear the map +} // removeCharacteristics + + + +/** + * @brief Create a string representation of this remote service. + * @return A string representation of this remote service. + */ +std::string BLERemoteService::toString() { + std::ostringstream ss; + ss << "Service: uuid: " + m_uuid.toString(); + ss << ", start_handle: " << std::dec << m_startHandle << " 0x" << std::hex << m_startHandle << + ", end_handle: " << std::dec << m_endHandle << " 0x" << std::hex << m_endHandle; + for (auto &myPair : m_characteristicMap) { + ss << "\n" << myPair.first->toString(); + // myPair.second is the value + } + return ss.str(); +} // toString + + + + + +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLERemoteService.h b/lib/ESP32_BLE_Arduino/src/BLERemoteService.h new file mode 100644 index 00000000..521effce --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLERemoteService.h @@ -0,0 +1,80 @@ +/* + * BLERemoteService.h + * + * Created on: Jul 8, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_ +#define COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include "BLEClient.h" +#include "BLERemoteCharacteristic.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLEClient; +class BLERemoteCharacteristic; + + +/** + * @brief A model of a remote %BLE service. + */ +class BLERemoteService { +public: + + virtual ~BLERemoteService(); + + // Public methods + BLERemoteCharacteristic* getCharacteristic(const char* uuid); + BLERemoteCharacteristic* getCharacteristic(BLEUUID uuid); + BLERemoteCharacteristic* getCharacteristic(uint16_t uuid); + std::map* getCharacteristics(); + void getCharacteristics(std::map* ptr); + + BLEClient* getClient(void); + uint16_t getHandle(); + BLEUUID getUUID(void); + std::string toString(void); + +private: + // Private constructor ... never meant to be created by a user application. + BLERemoteService(esp_gatt_id_t srvcId, BLEClient* pClient, uint16_t startHandle, uint16_t endHandle); + + // Friends + friend class BLEClient; + friend class BLERemoteCharacteristic; + + // Private methods + void retrieveCharacteristics(void); + esp_gatt_id_t* getSrvcId(void); + uint16_t getStartHandle(); + uint16_t getEndHandle(); + void gattClientEventHandler( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam); + void removeCharacteristics(); + + // Properties + + // We maintain a map of characteristics owned by this service keyed by a string representation of the UUID. + std::map m_characteristicMap; + // We maintain a map of characteristics owned by this service keyed by a handle. + std::map m_characteristicMapByHandle; + + bool m_haveCharacteristics; // Have we previously obtained the characteristics. + BLEClient* m_pClient; + FreeRTOS::Semaphore m_semaphoreGetCharEvt = FreeRTOS::Semaphore("GetCharEvt"); + esp_gatt_id_t m_srvcId; + BLEUUID m_uuid; + uint16_t m_startHandle; + uint16_t m_endHandle; +}; // BLERemoteService + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEREMOTESERVICE_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEScan.cpp b/lib/ESP32_BLE_Arduino/src/BLEScan.cpp new file mode 100644 index 00000000..7c5b7bd9 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEScan.cpp @@ -0,0 +1,271 @@ +/* + * BLEScan.cpp + * + * Created on: Jul 1, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + + +#include +#include + +#include + +#include "BLEAdvertisedDevice.h" +#include "BLEScan.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLEScan"; + + +/** + * Constructor + */ +BLEScan::BLEScan() { + m_scan_params.scan_type = BLE_SCAN_TYPE_PASSIVE; // Default is a passive scan. + m_scan_params.own_addr_type = BLE_ADDR_TYPE_PUBLIC; + m_scan_params.scan_filter_policy = BLE_SCAN_FILTER_ALLOW_ALL; + m_pAdvertisedDeviceCallbacks = nullptr; + m_stopped = true; + setInterval(100); + setWindow(100); +} // BLEScan + + +/** + * @brief Handle GAP events related to scans. + * @param [in] event The event type for this event. + * @param [in] param Parameter data for this event. + */ +void BLEScan::handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param) { + + switch(event) { + + // ESP_GAP_BLE_SCAN_RESULT_EVT + // --------------------------- + // scan_rst: + // esp_gap_search_evt_t search_evt + // esp_bd_addr_t bda + // esp_bt_dev_type_t dev_type + // esp_ble_addr_type_t ble_addr_type + // esp_ble_evt_type_t ble_evt_type + // int rssi + // uint8_t ble_adv[ESP_BLE_ADV_DATA_LEN_MAX] + // int flag + // int num_resps + // uint8_t adv_data_len + // uint8_t scan_rsp_len + case ESP_GAP_BLE_SCAN_RESULT_EVT: { + + switch(param->scan_rst.search_evt) { + // + // ESP_GAP_SEARCH_INQ_CMPL_EVT + // + // Event that indicates that the duration allowed for the search has completed or that we have been + // asked to stop. + case ESP_GAP_SEARCH_INQ_CMPL_EVT: { + m_stopped = true; + m_semaphoreScanEnd.give(); + break; + } // ESP_GAP_SEARCH_INQ_CMPL_EVT + + // + // ESP_GAP_SEARCH_INQ_RES_EVT + // + // Result that has arrived back from a Scan inquiry. + case ESP_GAP_SEARCH_INQ_RES_EVT: { + if (m_stopped) { // If we are not scanning, nothing to do with the extra results. + break; + } + +// Examine our list of previously scanned addresses and, if we found this one already, +// ignore it. + BLEAddress advertisedAddress(param->scan_rst.bda); + bool found = false; + + for (int i=0; iscan_rst.rssi); + advertisedDevice.setAdFlag(param->scan_rst.flag); + advertisedDevice.parseAdvertisement((uint8_t*)param->scan_rst.ble_adv); + advertisedDevice.setScan(this); + + if (m_pAdvertisedDeviceCallbacks) { + m_pAdvertisedDeviceCallbacks->onResult(advertisedDevice); + } + + m_scanResults.m_vectorAdvertisedDevices.push_back(advertisedDevice); + + break; + } // ESP_GAP_SEARCH_INQ_RES_EVT + + default: { + break; + } + } // switch - search_evt + + + break; + } // ESP_GAP_BLE_SCAN_RESULT_EVT + + default: { + break; + } // default + } // End switch +} // gapEventHandler + + +/** + * @brief Should we perform an active or passive scan? + * The default is a passive scan. An active scan means that we will wish a scan response. + * @param [in] active If true, we perform an active scan otherwise a passive scan. + * @return N/A. + */ +void BLEScan::setActiveScan(bool active) { + if (active) { + m_scan_params.scan_type = BLE_SCAN_TYPE_ACTIVE; + } else { + m_scan_params.scan_type = BLE_SCAN_TYPE_PASSIVE; + } +} // setActiveScan + + +/** + * @brief Set the call backs to be invoked. + * @param [in] pAdvertisedDeviceCallbacks Call backs to be invoked. + */ +void BLEScan::setAdvertisedDeviceCallbacks(BLEAdvertisedDeviceCallbacks* pAdvertisedDeviceCallbacks) { + m_pAdvertisedDeviceCallbacks = pAdvertisedDeviceCallbacks; +} // setAdvertisedDeviceCallbacks + + +/** + * @brief Set the interval to scan. + * @param [in] The interval in msecs. + */ +void BLEScan::setInterval(uint16_t intervalMSecs) { + m_scan_params.scan_interval = intervalMSecs / 0.625; +} // setInterval + + +/** + * @brief Set the window to actively scan. + * @param [in] windowMSecs How long to actively scan. + */ +void BLEScan::setWindow(uint16_t windowMSecs) { + m_scan_params.scan_window = windowMSecs / 0.625; +} // setWindow + + +/** + * @brief Start scanning. + * @param [in] duration The duration in seconds for which to scan. + * @return N/A. + */ +BLEScanResults BLEScan::start(uint32_t duration) { + ESP_LOGD(LOG_TAG, ">> start(duration=%d)", duration); + + m_semaphoreScanEnd.take(std::string("start")); + + m_scanResults.m_vectorAdvertisedDevices.clear(); + + esp_err_t errRc = ::esp_ble_gap_set_scan_params(&m_scan_params); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_set_scan_params: err: %d, text: %s", errRc, GeneralUtils::errorToString(errRc)); + m_semaphoreScanEnd.give(); + return m_scanResults; + } + + errRc = ::esp_ble_gap_start_scanning(duration); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_start_scanning: err: %d, text: %s", errRc, GeneralUtils::errorToString(errRc)); + m_semaphoreScanEnd.give(); + return m_scanResults; + } + + m_stopped = false; + + m_semaphoreScanEnd.wait("start"); // Wait for the semaphore to release. + + ESP_LOGD(LOG_TAG, "<< start()"); + return m_scanResults; +} // start + + +/** + * @brief Stop an in progress scan. + * @return N/A. + */ +void BLEScan::stop() { + ESP_LOGD(LOG_TAG, ">> stop()"); + + esp_err_t errRc = ::esp_ble_gap_stop_scanning(); + + m_stopped = true; + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gap_stop_scanning: err: %d, text: %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreScanEnd.give(); + + ESP_LOGD(LOG_TAG, "<< stop()"); +} // stop + + +/** + * @brief Dump the scan results to the log. + */ +void BLEScanResults::dump() { + ESP_LOGD(LOG_TAG, ">> Dump scan results:"); + for (int i=0; i + +#include +#include "BLEAdvertisedDevice.h" +#include "BLEClient.h" +#include "FreeRTOS.h" + +class BLEAdvertisedDevice; +class BLEAdvertisedDeviceCallbacks; +class BLEClient; +class BLEScan; + + +/** + * @brief The result of having performed a scan. + * When a scan completes, we have a set of found devices. Each device is described + * by a BLEAdvertisedDevice object. The number of items in the set is given by + * getCount(). We can retrieve a device by calling getDevice() passing in the + * index (starting at 0) of the desired device. + */ +class BLEScanResults { +public: + void dump(); + int getCount(); + BLEAdvertisedDevice getDevice(uint32_t i); + +private: + friend BLEScan; + std::vector m_vectorAdvertisedDevices; +}; + +/** + * @brief Perform and manage %BLE scans. + * + * Scanning is associated with a %BLE client that is attempting to locate BLE servers. + */ +class BLEScan { +public: + void setActiveScan(bool active); + void setAdvertisedDeviceCallbacks(BLEAdvertisedDeviceCallbacks* pAdvertisedDeviceCallbacks); + void setInterval(uint16_t intervalMSecs); + void setWindow(uint16_t windowMSecs); + BLEScanResults start(uint32_t duration); + void stop(); + +private: + BLEScan(); // One doesn't create a new instance instead one asks the BLEDevice for the singleton. + friend class BLEDevice; + void handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + void parseAdvertisement(BLEClient* pRemoteDevice, uint8_t *payload); + + + esp_ble_scan_params_t m_scan_params; + BLEAdvertisedDeviceCallbacks* m_pAdvertisedDeviceCallbacks; + bool m_stopped; + FreeRTOS::Semaphore m_semaphoreScanEnd = FreeRTOS::Semaphore("ScanEnd"); + BLEScanResults m_scanResults; +}; // BLEScan + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLESCAN_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEServer.cpp b/lib/ESP32_BLE_Arduino/src/BLEServer.cpp new file mode 100644 index 00000000..0d9bd6b5 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEServer.cpp @@ -0,0 +1,365 @@ +/* + * BLEServer.cpp + * + * Created on: Apr 16, 2017 + * Author: kolban + */ + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include +#include "BLEDevice.h" +#include "BLEServer.h" +#include "BLEService.h" +#include "BLEUtils.h" +#include +#include +#include +#include +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLEServer"; + + +/** + * @brief Construct a %BLE Server + * + * This class is not designed to be individually instantiated. Instead one should create a server by asking + * the BLEDevice class. + */ +BLEServer::BLEServer() { + m_appId = -1; + m_gatts_if = -1; + m_connectedCount = 0; + m_connId = -1; + m_pServerCallbacks = nullptr; + + //createApp(0); +} // BLEServer + + +void BLEServer::createApp(uint16_t appId) { + m_appId = appId; + registerApp(); +} // createApp + + +/** + * @brief Create a %BLE Service. + * + * With a %BLE server, we can host one or more services. Invoking this function causes the creation of a definition + * of a new service. Every service must have a unique UUID. + * @param [in] uuid The UUID of the new service. + * @return A reference to the new service object. + */ +BLEService* BLEServer::createService(const char* uuid) { + return createService(BLEUUID(uuid)); +} + + +/** + * @brief Create a %BLE Service. + * + * With a %BLE server, we can host one or more services. Invoking this function causes the creation of a definition + * of a new service. Every service must have a unique UUID. + * @param [in] uuid The UUID of the new service. + * @param [in] numHandles The maximum number of handles associated with this service. + * @return A reference to the new service object. + */ +BLEService* BLEServer::createService(BLEUUID uuid, uint32_t numHandles) { + ESP_LOGD(LOG_TAG, ">> createService - %s", uuid.toString().c_str()); + m_semaphoreCreateEvt.take("createService"); + + // Check that a service with the supplied UUID does not already exist. + if (m_serviceMap.getByUUID(uuid) != nullptr) { + ESP_LOGE(LOG_TAG, "<< Attempt to create a new service with uuid %s but a service with that UUID already exists.", + uuid.toString().c_str()); + m_semaphoreCreateEvt.give(); + return nullptr; + } + + BLEService* pService = new BLEService(uuid, numHandles); + m_serviceMap.setByUUID(uuid, pService); // Save a reference to this service being on this server. + pService->executeCreate(this); // Perform the API calls to actually create the service. + + m_semaphoreCreateEvt.wait("createService"); + + ESP_LOGD(LOG_TAG, "<< createService"); + return pService; +} // createService + + +/** + * @brief Retrieve the advertising object that can be used to advertise the existence of the server. + * + * @return An advertising object. + */ +BLEAdvertising* BLEServer::getAdvertising() { + return &m_bleAdvertising; +} + +uint16_t BLEServer::getConnId() { + return m_connId; +} + + +/** + * @brief Return the number of connected clients. + * @return The number of connected clients. + */ +uint32_t BLEServer::getConnectedCount() { + return m_connectedCount; +} // getConnectedCount + + +uint16_t BLEServer::getGattsIf() { + return m_gatts_if; +} + +/** + * @brief Handle a received GAP event. + * + * @param [in] event + * @param [in] param + */ +void BLEServer::handleGAPEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param) { + ESP_LOGD(LOG_TAG, "BLEServer ... handling GAP event!"); + switch(event) { + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: { + /* + esp_ble_adv_params_t adv_params; + adv_params.adv_int_min = 0x20; + adv_params.adv_int_max = 0x40; + adv_params.adv_type = ADV_TYPE_IND; + adv_params.own_addr_type = BLE_ADDR_TYPE_PUBLIC; + adv_params.channel_map = ADV_CHNL_ALL; + adv_params.adv_filter_policy = ADV_FILTER_ALLOW_SCAN_ANY_CON_ANY; + ESP_LOGD(tag, "Starting advertising"); + esp_err_t errRc = ::esp_ble_gap_start_advertising(&adv_params); + if (errRc != ESP_OK) { + ESP_LOGE(tag, "esp_ble_gap_start_advertising: rc=%d %s", errRc, espToString(errRc)); + return; + } + */ + break; + } + default: + break; + } +} // handleGAPEvent + + + +/** + * @brief Handle a GATT Server Event. + * + * @param [in] event + * @param [in] gatts_if + * @param [in] param + * + */ +void BLEServer::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param) { + + ESP_LOGD(LOG_TAG, ">> handleGATTServerEvent: %s", + BLEUtils::gattServerEventTypeToString(event).c_str()); + + // Invoke the handler for every Service we have. + m_serviceMap.handleGATTServerEvent(event, gatts_if, param); + + switch(event) { + + + // ESP_GATTS_CONNECT_EVT + // connect: + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - bool is_connected + case ESP_GATTS_CONNECT_EVT: { + m_connId = param->connect.conn_id; // Save the connection id. + if (m_pServerCallbacks != nullptr) { + m_pServerCallbacks->onConnect(this); + } + m_connectedCount++; + break; + } // ESP_GATTS_CONNECT_EVT + + + // ESP_GATTS_REG_EVT + // reg: + // - esp_gatt_status_t status + // - uint16_t app_id + case ESP_GATTS_REG_EVT: { + m_gatts_if = gatts_if; + m_semaphoreRegisterAppEvt.give(); // Unlock the mutex waiting for the registration of the app. + break; + } // ESP_GATTS_REG_EVT + + + // ESP_GATTS_CREATE_EVT + // Called when a new service is registered as having been created. + // + // create: + // * esp_gatt_status_t status + // * uint16_t service_handle + // * esp_gatt_srvc_id_t service_id + // + case ESP_GATTS_CREATE_EVT: { + BLEService* pService = m_serviceMap.getByUUID(param->create.service_id.id.uuid); + m_serviceMap.setByHandle(param->create.service_handle, pService); + //pService->setHandle(param->create.service_handle); + m_semaphoreCreateEvt.give(); + break; + } // ESP_GATTS_CREATE_EVT + + + // ESP_GATTS_READ_EVT - A request to read the value of a characteristic has arrived. + // + // read: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool is_long + // - bool need_rsp + // + case ESP_GATTS_READ_EVT: { + break; + } // ESP_GATTS_READ_EVT + + + // ESP_GATTS_WRITE_EVT - A request to write the value of a characteristic has arrived. + // + // write: + // - uint16_t conn_id + // - uint16_t trans_id + // - esp_bd_addr_t bda + // - uint16_t handle + // - uint16_t offset + // - bool need_rsp + // - bool is_prep + // - uint16_t len + // - uint8_t *value + + case ESP_GATTS_WRITE_EVT: { + break; + } + + // ESP_GATTS_DISCONNECT_EVT + // If we receive a disconnect event then invoke the callback for disconnects (if one is present). + // we also want to start advertising again. + case ESP_GATTS_DISCONNECT_EVT: { + m_connectedCount--; + if (m_pServerCallbacks != nullptr) { + m_pServerCallbacks->onDisconnect(this); + } + startAdvertising(); + break; + } // ESP_GATTS_DISCONNECT_EVT + + + // ESP_GATTS_ADD_CHAR_EVT - Indicate that a characteristic was added to the service. + // add_char: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + case ESP_GATTS_ADD_CHAR_EVT: { + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + default: { + break; + } + } + ESP_LOGD(LOG_TAG, "<< handleGATTServerEvent"); +} // handleGATTServerEvent + + +/** + * @brief Register the app. + * + * @return N/A + */ +void BLEServer::registerApp() { + ESP_LOGD(LOG_TAG, ">> registerApp - %d", m_appId); + m_semaphoreRegisterAppEvt.take("registerApp"); // Take the mutex, will be released by ESP_GATTS_REG_EVT event. + ::esp_ble_gatts_app_register(m_appId); + m_semaphoreRegisterAppEvt.wait("registerApp"); + ESP_LOGD(LOG_TAG, "<< registerApp"); +} // registerApp + + +/** + * @brief Set the callbacks. + * + * As a %BLE server operates, it will generate server level events such as a new client connecting or a previous client + * disconnecting. This function can be called to register a callback handler that will be invoked when these + * events are detected. + * + * @param [in] pCallbacks The callbacks to be invoked. + */ +void BLEServer::setCallbacks(BLEServerCallbacks* pCallbacks) { + m_pServerCallbacks = pCallbacks; +} // setCallbacks + + +/** + * @brief Start advertising. + * + * Start the server advertising its existence. This is a convenience function and is equivalent to + * retrieving the advertising object and invoking start upon it. + */ +void BLEServer::startAdvertising() { + ESP_LOGD(LOG_TAG, ">> startAdvertising"); + m_bleAdvertising.start(); + ESP_LOGD(LOG_TAG, "<< startAdvertising"); +} // startAdvertising + + +/* +void BLEServer::addCharacteristic(BLECharacteristic *characteristic, BLEService *pService) { + ESP_LOGD(tag, "Adding characteristic (esp_ble_gatts_add_char): uuid=%s, serviceHandle=0x%.2x", + characteristic->m_bleUUID.toString().c_str(), + pService->getHandle()); + + m_characteristicMap.setByUUID(characteristic->m_bleUUID, characteristic); + + esp_err_t errRc = ::esp_ble_gatts_add_char( + pService->getHandle(), + characteristic->getUUID().getNative(), + (esp_gatt_perm_t)(ESP_GATT_PERM_READ | ESP_GATT_PERM_WRITE), + characteristic->getProperties(), + &characteristic->m_value, + NULL); + + if (errRc != ESP_OK) { + ESP_LOGE(tag, "esp_ble_gatts_add_char: rc=%d %s", errRc, espToString(errRc)); + return; + } +} +*/ + +void BLEServerCallbacks::onConnect(BLEServer* pServer) { + ESP_LOGD("BLEServerCallbacks", ">> onConnect(): Default"); + ESP_LOGD("BLEServerCallbacks", "<< onConnect()"); +} // onConnect + +void BLEServerCallbacks::onDisconnect(BLEServer* pServer) { + ESP_LOGD("BLEServerCallbacks", ">> onDisconnect(): Default"); + ESP_LOGD("BLEServerCallbacks", "<< onDisconnect()"); +} // onDisconnect + +#endif // CONFIG_BT_ENABLED diff --git a/lib/ESP32_BLE_Arduino/src/BLEServer.h b/lib/ESP32_BLE_Arduino/src/BLEServer.h new file mode 100644 index 00000000..64b34b41 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEServer.h @@ -0,0 +1,115 @@ +/* + * BLEServer.h + * + * Created on: Apr 16, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLESERVER_H_ +#define COMPONENTS_CPP_UTILS_BLESERVER_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +#include +#include + +#include "BLEUUID.h" +#include "BLEAdvertising.h" +#include "BLECharacteristic.h" +#include "BLEService.h" +#include "FreeRTOS.h" + +class BLEServerCallbacks; + + +/** + * @brief A data structure that manages the %BLE servers owned by a BLE server. + */ +class BLEServiceMap { +public: + BLEService* getByHandle(uint16_t handle); + BLEService* getByUUID(const char* uuid); + BLEService* getByUUID(BLEUUID uuid); + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + void setByHandle(uint16_t handle, BLEService* service); + void setByUUID(const char* uuid, BLEService* service); + void setByUUID(BLEUUID uuid, BLEService* service); + std::string toString(); + +private: + std::map m_uuidMap; + std::map m_handleMap; +}; + + +/** + * @brief The model of a %BLE server. + */ +class BLEServer { +public: + uint32_t getConnectedCount(); + BLEService* createService(const char* uuid); + BLEService* createService(BLEUUID uuid, uint32_t numHandles=15); + BLEAdvertising* getAdvertising(); + void setCallbacks(BLEServerCallbacks *pCallbacks); + void startAdvertising(); + + +private: + BLEServer(); + friend class BLEService; + friend class BLECharacteristic; + friend class BLEDevice; + esp_ble_adv_data_t m_adv_data; + uint16_t m_appId; + BLEAdvertising m_bleAdvertising; + uint16_t m_connId; + uint32_t m_connectedCount; + uint16_t m_gatts_if; + FreeRTOS::Semaphore m_semaphoreRegisterAppEvt = FreeRTOS::Semaphore("RegisterAppEvt"); + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + BLEServiceMap m_serviceMap; + BLEServerCallbacks* m_pServerCallbacks; + + void createApp(uint16_t appId); + uint16_t getConnId(); + uint16_t getGattsIf(); + void handleGAPEvent(esp_gap_ble_cb_event_t event, esp_ble_gap_cb_param_t *param); + void handleGATTServerEvent(esp_gatts_cb_event_t event, esp_gatt_if_t gatts_if, esp_ble_gatts_cb_param_t *param); + void registerApp(); +}; // BLEServer + + +/** + * @brief Callbacks associated with the operation of a %BLE server. + */ +class BLEServerCallbacks { +public: + virtual ~BLEServerCallbacks() {}; + /** + * @brief Handle a new client connection. + * + * When a new client connects, we are invoked. + * + * @param [in] pServer A reference to the %BLE server that received the client connection. + */ + virtual void onConnect(BLEServer* pServer); + + /** + * @brief Handle an existing client disconnection. + * + * When an existing client disconnects, we are invoked. + * + * @param [in] pServer A reference to the %BLE server that received the existing client disconnection. + */ + virtual void onDisconnect(BLEServer* pServer); +}; // BLEServerCallbacks + + + +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLESERVER_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEService.cpp b/lib/ESP32_BLE_Arduino/src/BLEService.cpp new file mode 100644 index 00000000..32bcc570 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEService.cpp @@ -0,0 +1,356 @@ +/* + * BLEService.cpp + * + * Created on: Mar 25, 2017 + * Author: kolban + */ + +// A service is identified by a UUID. A service is also the container for one or more characteristics. + +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include + +#include +#include +#include + +#include "BLEServer.h" +#include "BLEService.h" +#include "BLEUtils.h" +#include "GeneralUtils.h" + +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +#define NULL_HANDLE (0xffff) + +static const char* LOG_TAG = "BLEService"; // Tag for logging. + +/** + * @brief Construct an instance of the BLEService + * @param [in] uuid The UUID of the service. + * @param [in] numHandles The maximum number of handles associated with the service. + */ +BLEService::BLEService(const char* uuid, uint32_t numHandles) : BLEService(BLEUUID(uuid), numHandles) { +} + + +/** + * @brief Construct an instance of the BLEService + * @param [in] uuid The UUID of the service. + * @param [in] numHandles The maximum number of handles associated with the service. + */ +BLEService::BLEService(BLEUUID uuid, uint32_t numHandles) { + m_uuid = uuid; + m_handle = NULL_HANDLE; + m_pServer = nullptr; + //m_serializeMutex.setName("BLEService"); + m_lastCreatedCharacteristic = nullptr; + m_numHandles = numHandles; +} // BLEService + + +/** + * @brief Create the service. + * Create the service. + * @param [in] gatts_if The handle of the GATT server interface. + * @return N/A. + */ + +void BLEService::executeCreate(BLEServer *pServer) { + //ESP_LOGD(LOG_TAG, ">> executeCreate() - Creating service (esp_ble_gatts_create_service) service uuid: %s", getUUID().toString().c_str()); + //getUUID(); // Needed for a weird bug fix + //char x[1000]; + //memcpy(x, &m_uuid, sizeof(m_uuid)); + //char x[10]; + //memcpy(x, &deleteMe, 10); + m_pServer = pServer; + m_semaphoreCreateEvt.take("executeCreate"); // Take the mutex and release at event ESP_GATTS_CREATE_EVT + + esp_gatt_srvc_id_t srvc_id; + srvc_id.id.inst_id = 0; + srvc_id.id.uuid = *m_uuid.getNative(); + esp_err_t errRc = ::esp_ble_gatts_create_service( + getServer()->getGattsIf(), + &srvc_id, + m_numHandles // The maximum number of handles associated with the service. + ); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "esp_ble_gatts_create_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + + m_semaphoreCreateEvt.wait("executeCreate"); + ESP_LOGD(LOG_TAG, "<< executeCreate"); +} // executeCreate + + +/** + * @brief Dump details of this BLE GATT service. + * @return N/A. + */ +void BLEService::dump() { + ESP_LOGD(LOG_TAG, "Service: uuid:%s, handle: 0x%.2x", + m_uuid.toString().c_str(), + m_handle); + ESP_LOGD(LOG_TAG, "Characteristics:\n%s", m_characteristicMap.toString().c_str()); +} // dump + + +/** + * @brief Get the UUID of the service. + * @return the UUID of the service. + */ +BLEUUID BLEService::getUUID() { + return m_uuid; +} // getUUID + + +/** + * @brief Start the service. + * Here we wish to start the service which means that we will respond to partner requests about it. + * Starting a service also means that we can create the corresponding characteristics. + * @return Start the service. + */ +void BLEService::start() { +// We ask the BLE runtime to start the service and then create each of the characteristics. +// We start the service through its local handle which was returned in the ESP_GATTS_CREATE_EVT event +// obtained as a result of calling esp_ble_gatts_create_service(). +// + ESP_LOGD(LOG_TAG, ">> start(): Starting service (esp_ble_gatts_start_service): %s", toString().c_str()); + if (m_handle == NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "<< !!! We attempted to start a service but don't know its handle!"); + return; + } + + + BLECharacteristic *pCharacteristic = m_characteristicMap.getFirst(); + + while(pCharacteristic != nullptr) { + m_lastCreatedCharacteristic = pCharacteristic; + pCharacteristic->executeCreate(this); + + pCharacteristic = m_characteristicMap.getNext(); + } + // Start each of the characteristics ... these are found in the m_characteristicMap. + + m_semaphoreStartEvt.take("start"); + esp_err_t errRc = ::esp_ble_gatts_start_service(m_handle); + + if (errRc != ESP_OK) { + ESP_LOGE(LOG_TAG, "<< esp_ble_gatts_start_service: rc=%d %s", errRc, GeneralUtils::errorToString(errRc)); + return; + } + m_semaphoreStartEvt.wait("start"); + + ESP_LOGD(LOG_TAG, "<< start()"); +} // start + + +/** + * @brief Set the handle associated with this service. + * @param [in] handle The handle associated with the service. + */ +void BLEService::setHandle(uint16_t handle) { + ESP_LOGD(LOG_TAG, ">> setHandle - Handle=0x%.2x, service UUID=%s)", handle, getUUID().toString().c_str()); + if (m_handle != NULL_HANDLE) { + ESP_LOGE(LOG_TAG, "!!! Handle is already set %.2x", m_handle); + return; + } + m_handle = handle; + ESP_LOGD(LOG_TAG, "<< setHandle"); +} // setHandle + + +/** + * @brief Get the handle associated with this service. + * @return The handle associated with this service. + */ +uint16_t BLEService::getHandle() { + return m_handle; +} // getHandle + + +/** + * @brief Add a characteristic to the service. + * @param [in] pCharacteristic A pointer to the characteristic to be added. + */ +void BLEService::addCharacteristic(BLECharacteristic* pCharacteristic) { +// We maintain a mapping of characteristics owned by this service. These are managed by the +// BLECharacteristicMap class instance found in m_characteristicMap. We add the characteristic +// to the map and then ask the service to add the characteristic at the BLE level (ESP-IDF). +// + ESP_LOGD(LOG_TAG, ">> addCharacteristic()"); + ESP_LOGD(LOG_TAG, "Adding characteristic: uuid=%s to service: %s", + pCharacteristic->getUUID().toString().c_str(), + toString().c_str()); + + // Check that we don't add the same characteristic twice. + if (m_characteristicMap.getByUUID(pCharacteristic->getUUID()) != nullptr) { + ESP_LOGE(LOG_TAG, "<< Attempt to add a characteristic but we already have one with this UUID"); + //return; + } + + // Remember this characteristic in our map of characteristics. At this point, we can lookup by UUID + // but not by handle. The handle is allocated to us on the ESP_GATTS_ADD_CHAR_EVT. + m_characteristicMap.setByUUID(pCharacteristic, pCharacteristic->getUUID()); + + ESP_LOGD(LOG_TAG, "<< addCharacteristic()"); +} // addCharacteristic + + +/** + * @brief Create a new BLE Characteristic associated with this service. + * @param [in] uuid - The UUID of the characteristic. + * @param [in] properties - The properties of the characteristic. + * @return The new BLE characteristic. + */ +BLECharacteristic* BLEService::createCharacteristic(const char* uuid, uint32_t properties) { + return createCharacteristic(BLEUUID(uuid), properties); +} + + +/** + * @brief Create a new BLE Characteristic associated with this service. + * @param [in] uuid - The UUID of the characteristic. + * @param [in] properties - The properties of the characteristic. + * @return The new BLE characteristic. + */ +BLECharacteristic* BLEService::createCharacteristic(BLEUUID uuid, uint32_t properties) { + BLECharacteristic *pCharacteristic = new BLECharacteristic(uuid, properties); + addCharacteristic(pCharacteristic); + return pCharacteristic; +} // createCharacteristic + + +/** + * @brief Handle a GATTS server event. + */ +void BLEService::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t *param) { + + + switch(event) { + // ESP_GATTS_ADD_CHAR_EVT - Indicate that a characteristic was added to the service. + // add_char: + // - esp_gatt_status_t status + // - uint16_t attr_handle + // - uint16_t service_handle + // - esp_bt_uuid_t char_uuid + + // If we have reached the correct service, then locate the characteristic and remember the handle + // for that characteristic. + case ESP_GATTS_ADD_CHAR_EVT: { + if (m_handle == param->add_char.service_handle) { + BLECharacteristic *pCharacteristic = getLastCreatedCharacteristic(); + if (pCharacteristic == nullptr) { + ESP_LOGE(LOG_TAG, "Expected to find characteristic with UUID: %s, but didnt!", + BLEUUID(param->add_char.char_uuid).toString().c_str()); + dump(); + break; + } + pCharacteristic->setHandle(param->add_char.attr_handle); + m_characteristicMap.setByHandle(param->add_char.attr_handle, pCharacteristic); + //ESP_LOGD(tag, "Characteristic map: %s", m_characteristicMap.toString().c_str()); + break; + } // Reached the correct service. + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + // ESP_GATTS_START_EVT + // + // start: + // esp_gatt_status_t status + // uint16_t service_handle + case ESP_GATTS_START_EVT: { + if (param->start.service_handle == getHandle()) { + m_semaphoreStartEvt.give(); + } + break; + } // ESP_GATTS_START_EVT + + + // ESP_GATTS_CREATE_EVT + // Called when a new service is registered as having been created. + // + // create: + // * esp_gatt_status_t status + // * uint16_t service_handle + // * esp_gatt_srvc_id_t service_id + // * - esp_gatt_id id + // * - esp_bt_uuid uuid + // * - uint8_t inst_id + // * - bool is_primary + // + case ESP_GATTS_CREATE_EVT: { + if (getUUID().equals(BLEUUID(param->create.service_id.id.uuid))) { + setHandle(param->create.service_handle); + m_semaphoreCreateEvt.give(); + } + break; + } // ESP_GATTS_CREATE_EVT + + default: { + break; + } // Default + } // Switch + + // Invoke the GATTS handler in each of the associated characteristics. + m_characteristicMap.handleGATTServerEvent(event, gatts_if, param); +} // handleGATTServerEvent + + +BLECharacteristic* BLEService::getCharacteristic(const char* uuid) { + return getCharacteristic(BLEUUID(uuid)); +} + + +BLECharacteristic* BLEService::getCharacteristic(BLEUUID uuid) { + return m_characteristicMap.getByUUID(uuid); +} + + +/** + * @brief Return a string representation of this service. + * A service is defined by: + * * Its UUID + * * Its handle + * @return A string representation of this service. + */ +std::string BLEService::toString() { + std::stringstream stringStream; + stringStream << "UUID: " << getUUID().toString() << + ", handle: 0x" << std::hex << std::setfill('0') << std::setw(2) << getHandle(); + return stringStream.str(); +} // toString + + +/** + * @brief Get the last created characteristic. + * It is lamentable that this function has to exist. It returns the last created characteristic. + * We need this because the descriptor API is built around the notion that a new descriptor, when created, + * is associated with the last characteristics created and we need that information. + * @return The last created characteristic. + */ +BLECharacteristic* BLEService::getLastCreatedCharacteristic() { + return m_lastCreatedCharacteristic; +} // getLastCreatedCharacteristic + + +/** + * @brief Get the BLE server associated with this service. + * @return The BLEServer associated with this service. + */ +BLEServer* BLEService::getServer() { + return m_pServer; +} // getServer + +#endif // CONFIG_BT_ENABLED diff --git a/lib/ESP32_BLE_Arduino/src/BLEService.h b/lib/ESP32_BLE_Arduino/src/BLEService.h new file mode 100644 index 00000000..b37092f2 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEService.h @@ -0,0 +1,101 @@ +/* + * BLEService.h + * + * Created on: Mar 25, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLESERVICE_H_ +#define COMPONENTS_CPP_UTILS_BLESERVICE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include "BLECharacteristic.h" +#include "BLEServer.h" +#include "BLEUUID.h" +#include "FreeRTOS.h" + +class BLEServer; + +/** + * @brief A data mapping used to manage the set of %BLE characteristics known to the server. + */ +class BLECharacteristicMap { +public: + void setByUUID(BLECharacteristic* pCharacteristic, const char* uuid); + void setByUUID(BLECharacteristic* pCharacteristic, BLEUUID uuid); + void setByHandle(uint16_t handle, BLECharacteristic* pCharacteristic); + BLECharacteristic* getByUUID(const char* uuid); + BLECharacteristic* getByUUID(BLEUUID uuid); + BLECharacteristic* getByHandle(uint16_t handle); + BLECharacteristic* getFirst(); + BLECharacteristic* getNext(); + std::string toString(); + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + + +private: + std::map m_uuidMap; + std::map m_handleMap; + std::map::iterator m_iterator; +}; + + +/** + * @brief The model of a %BLE service. + * + */ +class BLEService { +public: + BLEService(const char* uuid, uint32_t numHandles=10); + BLEService(BLEUUID uuid, uint32_t numHandles=10); + + void addCharacteristic(BLECharacteristic* pCharacteristic); + BLECharacteristic* createCharacteristic(const char* uuid, uint32_t properties); + BLECharacteristic* createCharacteristic(BLEUUID uuid, uint32_t properties); + void dump(); + void executeCreate(BLEServer* pServer); + BLECharacteristic* getCharacteristic(const char* uuid); + BLECharacteristic* getCharacteristic(BLEUUID uuid); + BLEUUID getUUID(); + BLEServer* getServer(); + void start(); + std::string toString(); + uint16_t getHandle(); + +private: + friend class BLEServer; + friend class BLEServiceMap; + friend class BLEDescriptor; + friend class BLECharacteristic; + friend class BLEDevice; + + BLECharacteristicMap m_characteristicMap; + uint16_t m_handle; + BLECharacteristic* m_lastCreatedCharacteristic; + BLEServer* m_pServer; + BLEUUID m_uuid; + char deleteMe[10]; + //FreeRTOS::Semaphore m_serializeMutex; + FreeRTOS::Semaphore m_semaphoreCreateEvt = FreeRTOS::Semaphore("CreateEvt"); + FreeRTOS::Semaphore m_semaphoreStartEvt = FreeRTOS::Semaphore("StartEvt"); + + uint32_t m_numHandles; + + BLECharacteristic* getLastCreatedCharacteristic(); + void handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* param); + void setHandle(uint16_t handle); + //void setService(esp_gatt_srvc_id_t srvc_id); +}; // BLEService + + +#endif // CONFIG_BT_ENABLED +#endif /* COMPONENTS_CPP_UTILS_BLESERVICE_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEServiceMap.cpp b/lib/ESP32_BLE_Arduino/src/BLEServiceMap.cpp new file mode 100644 index 00000000..8fdbd5ac --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEServiceMap.cpp @@ -0,0 +1,95 @@ +/* + * BLEServiceMap.cpp + * + * Created on: Jun 22, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include "BLEService.h" + + +/** + * @brief Return the service by UUID. + * @param [in] UUID The UUID to look up the service. + * @return The characteristic. + */ +BLEService* BLEServiceMap::getByUUID(const char* uuid) { + return getByUUID(BLEUUID(uuid)); +} + +/** + * @brief Return the service by UUID. + * @param [in] UUID The UUID to look up the service. + * @return The characteristic. + */ +BLEService* BLEServiceMap::getByUUID(BLEUUID uuid) { + for (auto &myPair : m_uuidMap) { + if (myPair.second->getUUID().equals(uuid)) { + return myPair.second; + } + } + //return m_uuidMap.at(uuid.toString()); + return nullptr; +} // getByUUID + + +/** + * @brief Return the service by handle. + * @param [in] handle The handle to look up the service. + * @return The service. + */ +BLEService* BLEServiceMap::getByHandle(uint16_t handle) { + return m_handleMap.at(handle); +} // getByHandle + + +/** + * @brief Set the service by UUID. + * @param [in] uuid The uuid of the service. + * @param [in] characteristic The service to cache. + * @return N/A. + */ +void BLEServiceMap::setByUUID(BLEUUID uuid, + BLEService *service) { + m_uuidMap.insert(std::pair(uuid.toString(), service)); +} // setByUUID + + +/** + * @brief Set the service by handle. + * @param [in] handle The handle of the service. + * @param [in] service The service to cache. + * @return N/A. + */ +void BLEServiceMap::setByHandle(uint16_t handle, + BLEService* service) { + m_handleMap.insert(std::pair(handle, service)); +} // setByHandle + + +/** + * @brief Return a string representation of the service map. + * @return A string representation of the service map. + */ +std::string BLEServiceMap::toString() { + std::stringstream stringStream; + stringStream << std::hex << std::setfill('0'); + for (auto &myPair: m_handleMap) { + stringStream << "handle: 0x" << std::setw(2) << myPair.first << ", uuid: " + myPair.second->getUUID().toString() << "\n"; + } + return stringStream.str(); +} // toString + +void BLEServiceMap::handleGATTServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t *param) { + // Invoke the handler for every Service we have. + for (auto &myPair : m_uuidMap) { + myPair.second->handleGATTServerEvent(event, gatts_if, param); + } +} +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEUUID.cpp b/lib/ESP32_BLE_Arduino/src/BLEUUID.cpp new file mode 100644 index 00000000..f5c6ceee --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEUUID.cpp @@ -0,0 +1,370 @@ +/* + * BLEUUID.cpp + * + * Created on: Jun 21, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include +#include +#include +#include +#include "BLEUUID.h" +static const char* LOG_TAG = "BLEUUID"; + +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +/** + * @brief Copy memory from source to target but in reverse order. + * + * When we move memory from one location it is normally: + * + * ``` + * [0][1][2]...[n] -> [0][1][2]...[n] + * ``` + * + * with this function, it is: + * + * ``` + * [0][1][2]...[n] -> [n][n-1][n-2]...[0] + * ``` + * + * @param [in] target The target of the copy + * @param [in] source The source of the copy + * @param [in] size The number of bytes to copy + */ +static void memrcpy(uint8_t* target, uint8_t* source, uint32_t size) { + assert(size > 0); + target+=(size-1); // Point target to the last byte of the target data + while (size > 0) { + *target = *source; + target--; + source++; + size--; + } +} // memrcpy + + +/** + * @brief Create a UUID from a string. + * + * Create a UUID from a string. There will be two possible stories here. Either the string represents + * a binary data field or the string represents a hex encoding of a UUID. + * For the hex encoding, here is an example: + * + * ``` + * "beb5483e-36e1-4688-b7f5-ea07361b26a8" + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + * 12345678-90ab-cdef-1234-567890abcdef + * ``` + * + * This has a length of 36 characters. We need to parse this into 16 bytes. + * + * @param [in] value The string to build a UUID from. + */ +BLEUUID::BLEUUID(std::string value) { + m_valueSet = true; + if (value.length() == 2) { + m_uuid.len = ESP_UUID_LEN_16; + m_uuid.uuid.uuid16 = value[0] | (value[1] << 8); + } + else if (value.length() == 4) { + m_uuid.len = ESP_UUID_LEN_32; + m_uuid.uuid.uuid32 = value[0] | (value[1] << 8) | (value[2] << 16) | (value[3] << 24); + } + else if (value.length() == 16) { + m_uuid.len = ESP_UUID_LEN_128; + memrcpy(m_uuid.uuid.uuid128, (uint8_t*)value.data(), 16); + } + else if (value.length() == 36) { +// If the length of the string is 36 bytes then we will assume it is a long hex string in +// UUID format. + m_uuid.len = ESP_UUID_LEN_128; + int vals[16]; + sscanf(value.c_str(), "%2x%2x%2x%2x-%2x%2x-%2x%2x-%2x%2x-%2x%2x%2x%2x%2x%2x", + &vals[15], + &vals[14], + &vals[13], + &vals[12], + &vals[11], + &vals[10], + &vals[9], + &vals[8], + &vals[7], + &vals[6], + &vals[5], + &vals[4], + &vals[3], + &vals[2], + &vals[1], + &vals[0] + ); + + int i; + for (i=0; i<16; i++) { + m_uuid.uuid.uuid128[i] = vals[i]; + } + } + else { + ESP_LOGE(LOG_TAG, "ERROR: UUID value not 2, 4, 16 or 36 bytes"); + m_valueSet = false; + } +} //BLEUUID(std::string) + + +/** + * @brief Create a UUID from 16 bytes of memory. + * + * @param [in] pData The pointer to the start of the UUID. + * @param [in] size The size of the data. + * @param [in] msbFirst Is the MSB first in pData memory? + */ +BLEUUID::BLEUUID(uint8_t* pData, size_t size, bool msbFirst) { + if (size != 16) { + ESP_LOGE(LOG_TAG, "ERROR: UUID length not 16 bytes"); + return; + } + m_uuid.len = ESP_UUID_LEN_128; + if (msbFirst) { + memrcpy(m_uuid.uuid.uuid128, pData, 16); + } else { + memcpy(m_uuid.uuid.uuid128, pData, 16); + } + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the 16bit value. + * + * @param [in] uuid The 16bit short form UUID. + */ +BLEUUID::BLEUUID(uint16_t uuid) { + m_uuid.len = ESP_UUID_LEN_16; + m_uuid.uuid.uuid16 = uuid; + m_valueSet = true; + +} // BLEUUID + + +/** + * @brief Create a UUID from the 32bit value. + * + * @param [in] uuid The 32bit short form UUID. + */ +BLEUUID::BLEUUID(uint32_t uuid) { + m_uuid.len = ESP_UUID_LEN_32; + m_uuid.uuid.uuid32 = uuid; + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the native UUID. + * + * @param [in] uuid The native UUID. + */ +BLEUUID::BLEUUID(esp_bt_uuid_t uuid) { + m_uuid = uuid; + m_valueSet = true; +} // BLEUUID + + +/** + * @brief Create a UUID from the ESP32 esp_gat_id_t. + * + * @param [in] gattId The data to create the UUID from. + */ +BLEUUID::BLEUUID(esp_gatt_id_t gattId) : BLEUUID(gattId.uuid) { +} // BLEUUID + + +BLEUUID::BLEUUID() { + m_valueSet = false; +} // BLEUUID + + +/** + * @brief Compare a UUID against this UUID. + * + * @param [in] uuid The UUID to compare against. + * @return True if the UUIDs are equal and false otherwise. + */ +bool BLEUUID::equals(BLEUUID uuid) { + //ESP_LOGD(TAG, "Comparing: %s to %s", toString().c_str(), uuid.toString().c_str()); + if (m_valueSet == false || uuid.m_valueSet == false) { + return false; + } + + if (uuid.m_uuid.len != m_uuid.len) { + return uuid.toString() == toString(); + } + + if (uuid.m_uuid.len == ESP_UUID_LEN_16) { + return uuid.m_uuid.uuid.uuid16 == m_uuid.uuid.uuid16; + } + + if (uuid.m_uuid.len == ESP_UUID_LEN_32) { + return uuid.m_uuid.uuid.uuid32 == m_uuid.uuid.uuid32; + } + + return memcmp(uuid.m_uuid.uuid.uuid128, m_uuid.uuid.uuid128, 16) == 0; +} // equals + + +/** + * @brief Get the native UUID value. + * + * @return The native UUID value or NULL if not set. + */ +esp_bt_uuid_t* BLEUUID::getNative() { + //ESP_LOGD(TAG, ">> getNative()") + if (m_valueSet == false) { + ESP_LOGD(LOG_TAG, "<< Return of un-initialized UUID!"); + return nullptr; + } + //ESP_LOGD(TAG, "<< getNative()"); + return &m_uuid; +} // getNative + + +/** + * @brief Convert a UUID to its 128 bit representation. + * + * A UUID can be internally represented as 16bit, 32bit or the full 128bit. This method + * will convert 16 or 32 bit representations to the full 128bit. + */ +BLEUUID BLEUUID::to128() { + //ESP_LOGD(LOG_TAG, ">> toFull() - %s", toString().c_str()); + + // If we either don't have a value or are already a 128 bit UUID, nothing further to do. + if (m_valueSet == false || m_uuid.len == ESP_UUID_LEN_128) { + return *this; + } + + // If we are 16 bit or 32 bit, then set the 4 bytes of the variable part of the UUID. + if (m_uuid.len == ESP_UUID_LEN_16) { + uint16_t temp = m_uuid.uuid.uuid16; + m_uuid.uuid.uuid128[15] = 0; + m_uuid.uuid.uuid128[14] = 0; + m_uuid.uuid.uuid128[13] = (temp >> 8) & 0xff; + m_uuid.uuid.uuid128[12] = temp & 0xff; + + } + else if (m_uuid.len == ESP_UUID_LEN_32) { + uint32_t temp = m_uuid.uuid.uuid32; + m_uuid.uuid.uuid128[15] = (temp >> 24) & 0xff; + m_uuid.uuid.uuid128[14] = (temp >> 16) & 0xff; + m_uuid.uuid.uuid128[13] = (temp >> 8) & 0xff; + m_uuid.uuid.uuid128[12] = temp & 0xff; + } + + // Set the fixed parts of the UUID. + m_uuid.uuid.uuid128[11] = 0x00; + m_uuid.uuid.uuid128[10] = 0x00; + + m_uuid.uuid.uuid128[9] = 0x10; + m_uuid.uuid.uuid128[8] = 0x00; + + m_uuid.uuid.uuid128[7] = 0x80; + m_uuid.uuid.uuid128[6] = 0x00; + + m_uuid.uuid.uuid128[5] = 0x00; + m_uuid.uuid.uuid128[4] = 0x80; + m_uuid.uuid.uuid128[3] = 0x5f; + m_uuid.uuid.uuid128[2] = 0x9b; + m_uuid.uuid.uuid128[1] = 0x34; + m_uuid.uuid.uuid128[0] = 0xfb; + + m_uuid.len = ESP_UUID_LEN_128; + //ESP_LOGD(TAG, "<< toFull <- %s", toString().c_str()); + return *this; +} // to128 + + + + +/** + * @brief Get a string representation of the UUID. + * + * The format of a string is: + * 01234567 8901 2345 6789 012345678901 + * 0000180d-0000-1000-8000-00805f9b34fb + * 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 + * + * @return A string representation of the UUID. + */ +std::string BLEUUID::toString() { + if (m_valueSet == false) { // If we have no value, nothing to format. + return ""; + } + + // If the UUIDs are 16 or 32 bit, pad correctly. + std::stringstream ss; + + if (m_uuid.len == ESP_UUID_LEN_16) { // If the UUID is 16bit, pad correctly. + ss << "0000" << + std::hex << + std::setfill('0') << + std::setw(4) << + m_uuid.uuid.uuid16 << + "-0000-1000-8000-00805f9b34fb"; + return ss.str(); // Return the string + } // End 16bit UUID + + if (m_uuid.len == ESP_UUID_LEN_32) { // If the UUID is 32bit, pad correctly. + ss << std::hex << + std::setfill('0') << + std::setw(8) << + m_uuid.uuid.uuid32 << + "-0000-1000-8000-00805f9b34fb"; + return ss.str(); // return the string + } // End 32bit UUID + + // The UUID is not 16bit or 32bit which means that it is 128bit. + // + // UUID string format: + // AABBCCDD-EEFF-GGHH-IIJJ-KKLLMMNNOOPP + // + ss << std::hex << std::setfill('0') << + std::setw(2) << (int)m_uuid.uuid.uuid128[15] << + std::setw(2) << (int)m_uuid.uuid.uuid128[14] << + std::setw(2) << (int)m_uuid.uuid.uuid128[13] << + std::setw(2) << (int)m_uuid.uuid.uuid128[12] << "-" << + std::setw(2) << (int)m_uuid.uuid.uuid128[11] << + std::setw(2) << (int)m_uuid.uuid.uuid128[10] << "-" << + std::setw(2) << (int)m_uuid.uuid.uuid128[9] << + std::setw(2) << (int)m_uuid.uuid.uuid128[8] << "-" << + std::setw(2) << (int)m_uuid.uuid.uuid128[7] << + std::setw(2) << (int)m_uuid.uuid.uuid128[6] << "-" << + std::setw(2) << (int)m_uuid.uuid.uuid128[5] << + std::setw(2) << (int)m_uuid.uuid.uuid128[4] << + std::setw(2) << (int)m_uuid.uuid.uuid128[3] << + std::setw(2) << (int)m_uuid.uuid.uuid128[2] << + std::setw(2) << (int)m_uuid.uuid.uuid128[1] << + std::setw(2) << (int)m_uuid.uuid.uuid128[0]; + return ss.str(); +} // toString + +BLEUUID BLEUUID::fromString(std::string _uuid){ + uint8_t start = 0; + if(strstr(_uuid.c_str(), "0x") != nullptr){ + start = 2; + } + uint8_t len = _uuid.length() - start; + if(len == 4 ){ + uint16_t x = strtoul(_uuid.substr(start, len).c_str(), NULL, 16); + return BLEUUID(x); + }else if(len == 8){ + uint32_t x = strtoul(_uuid.substr(start, len).c_str(), NULL, 16); + return BLEUUID(x); + }else if (len == 36){ + return BLEUUID(_uuid); + } + return BLEUUID(); +} +#endif /* CONFIG_BT_ENABLED */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEUUID.h b/lib/ESP32_BLE_Arduino/src/BLEUUID.h new file mode 100644 index 00000000..bbe9b872 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEUUID.h @@ -0,0 +1,38 @@ +/* + * BLEUUID.h + * + * Created on: Jun 21, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEUUID_H_ +#define COMPONENTS_CPP_UTILS_BLEUUID_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include +#include + +/** + * @brief A model of a %BLE UUID. + */ +class BLEUUID { +public: + BLEUUID(std::string uuid); + BLEUUID(uint16_t uuid); + BLEUUID(uint32_t uuid); + BLEUUID(esp_bt_uuid_t uuid); + BLEUUID(uint8_t* pData, size_t size, bool msbFirst); + BLEUUID(esp_gatt_id_t gattId); + BLEUUID(); + bool equals(BLEUUID uuid); + esp_bt_uuid_t* getNative(); + BLEUUID to128(); + std::string toString(); + static BLEUUID fromString(std::string uuid); + +private: + esp_bt_uuid_t m_uuid; // The underlying UUID structure that this class wraps. + bool m_valueSet; // Is there a value set for this instance. +}; // BLEUUID +#endif /* CONFIG_BT_ENABLED */ +#endif /* COMPONENTS_CPP_UTILS_BLEUUID_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEUtils.cpp b/lib/ESP32_BLE_Arduino/src/BLEUtils.cpp new file mode 100644 index 00000000..5d1dec99 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEUtils.cpp @@ -0,0 +1,2136 @@ +/* + * BLEUtils.cpp + * + * Created on: Mar 25, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include "BLEAddress.h" +#include "BLEClient.h" +#include "BLEUtils.h" +#include "BLEUUID.h" +#include "GeneralUtils.h" + +#include +#include +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 ESP-IDF +#include // ESP32 ESP-IDF +#include // Part of C++ STL +#include +#include + +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG = "BLEUtils"; // Tag for logging. + +/* +static std::map g_addressMap; +static std::map g_connIdMap; +*/ + +typedef struct { + uint32_t assignedNumber; + const char* name; +} member_t; + +static const member_t members_ids[] = { + {0xFE08, "Microsoft"}, + {0xFE09, "Pillsy, Inc."}, + {0xFE0A, "ruwido austria gmbh"}, + {0xFE0B, "ruwido austria gmbh"}, + {0xFE0C, "Procter & Gamble"}, + {0xFE0D, "Procter & Gamble"}, + {0xFE0E, "Setec Pty Ltd"}, + {0xFE0F, "Philips Lighting B.V."}, + {0xFE10, "Lapis Semiconductor Co., Ltd."}, + {0xFE11, "GMC-I Messtechnik GmbH"}, + {0xFE12, "M-Way Solutions GmbH"}, + {0xFE13, "Apple Inc."}, + {0xFE14, "Flextronics International USA Inc."}, + {0xFE15, "Amazon Fulfillment Services, Inc."}, + {0xFE16, "Footmarks, Inc."}, + {0xFE17, "Telit Wireless Solutions GmbH"}, + {0xFE18, "Runtime, Inc."}, + {0xFE19, "Google Inc."}, + {0xFE1A, "Tyto Life LLC"}, + {0xFE1B, "Tyto Life LLC"}, + {0xFE1C, "NetMedia, Inc."}, + {0xFE1D, "Illuminati Instrument Corporation"}, + {0xFE1E, "Smart Innovations Co., Ltd"}, + {0xFE1F, "Garmin International, Inc."}, + {0xFE20, "Emerson"}, + {0xFE21, "Bose Corporation"}, + {0xFE22, "Zoll Medical Corporation"}, + {0xFE23, "Zoll Medical Corporation"}, + {0xFE24, "August Home Inc"}, + {0xFE25, "Apple, Inc. "}, + {0xFE26, "Google Inc."}, + {0xFE27, "Google Inc."}, + {0xFE28, "Ayla Networks"}, + {0xFE29, "Gibson Innovations"}, + {0xFE2A, "DaisyWorks, Inc."}, + {0xFE2B, "ITT Industries"}, + {0xFE2C, "Google Inc."}, + {0xFE2D, "SMART INNOVATION Co.,Ltd"}, + {0xFE2E, "ERi,Inc."}, + {0xFE2F, "CRESCO Wireless, Inc"}, + {0xFE30, "Volkswagen AG"}, + {0xFE31, "Volkswagen AG"}, + {0xFE32, "Pro-Mark, Inc."}, + {0xFE33, "CHIPOLO d.o.o."}, + {0xFE34, "SmallLoop LLC"}, + {0xFE35, "HUAWEI Technologies Co., Ltd"}, + {0xFE36, "HUAWEI Technologies Co., Ltd"}, + {0xFE37, "Spaceek LTD"}, + {0xFE38, "Spaceek LTD"}, + {0xFE39, "TTS Tooltechnic Systems AG & Co. KG"}, + {0xFE3A, "TTS Tooltechnic Systems AG & Co. KG"}, + {0xFE3B, "Dolby Laboratories"}, + {0xFE3C, "Alibaba"}, + {0xFE3D, "BD Medical"}, + {0xFE3E, "BD Medical"}, + {0xFE3F, "Friday Labs Limited"}, + {0xFE40, "Inugo Systems Limited"}, + {0xFE41, "Inugo Systems Limited"}, + {0xFE42, "Nets A/S "}, + {0xFE43, "Andreas Stihl AG & Co. KG"}, + {0xFE44, "SK Telecom "}, + {0xFE45, "Snapchat Inc"}, + {0xFE46, "B&O Play A/S "}, + {0xFE47, "General Motors"}, + {0xFE48, "General Motors"}, + {0xFE49, "SenionLab AB"}, + {0xFE4A, "OMRON HEALTHCARE Co., Ltd."}, + {0xFE4B, "Philips Lighting B.V."}, + {0xFE4C, "Volkswagen AG"}, + {0xFE4D, "Casambi Technologies Oy"}, + {0xFE4E, "NTT docomo"}, + {0xFE4F, "Molekule, Inc."}, + {0xFE50, "Google Inc."}, + {0xFE51, "SRAM"}, + {0xFE52, "SetPoint Medical"}, + {0xFE53, "3M"}, + {0xFE54, "Motiv, Inc."}, + {0xFE55, "Google Inc."}, + {0xFE56, "Google Inc."}, + {0xFE57, "Dotted Labs"}, + {0xFE58, "Nordic Semiconductor ASA"}, + {0xFE59, "Nordic Semiconductor ASA"}, + {0xFE5A, "Chronologics Corporation"}, + {0xFE5B, "GT-tronics HK Ltd"}, + {0xFE5C, "million hunters GmbH"}, + {0xFE5D, "Grundfos A/S"}, + {0xFE5E, "Plastc Corporation"}, + {0xFE5F, "Eyefi, Inc."}, + {0xFE60, "Lierda Science & Technology Group Co., Ltd."}, + {0xFE61, "Logitech International SA"}, + {0xFE62, "Indagem Tech LLC"}, + {0xFE63, "Connected Yard, Inc."}, + {0xFE64, "Siemens AG"}, + {0xFE65, "CHIPOLO d.o.o."}, + {0xFE66, "Intel Corporation"}, + {0xFE67, "Lab Sensor Solutions"}, + {0xFE68, "Qualcomm Life Inc"}, + {0xFE69, "Qualcomm Life Inc"}, + {0xFE6A, "Kontakt Micro-Location Sp. z o.o."}, + {0xFE6B, "TASER International, Inc."}, + {0xFE6C, "TASER International, Inc."}, + {0xFE6D, "The University of Tokyo"}, + {0xFE6E, "The University of Tokyo"}, + {0xFE6F, "LINE Corporation"}, + {0xFE70, "Beijing Jingdong Century Trading Co., Ltd."}, + {0xFE71, "Plume Design Inc"}, + {0xFE72, "St. Jude Medical, Inc."}, + {0xFE73, "St. Jude Medical, Inc."}, + {0xFE74, "unwire"}, + {0xFE75, "TangoMe"}, + {0xFE76, "TangoMe"}, + {0xFE77, "Hewlett-Packard Company"}, + {0xFE78, "Hewlett-Packard Company"}, + {0xFE79, "Zebra Technologies"}, + {0xFE7A, "Bragi GmbH"}, + {0xFE7B, "Orion Labs, Inc."}, + {0xFE7C, "Telit Wireless Solutions (Formerly Stollmann E+V GmbH)"}, + {0xFE7D, "Aterica Health Inc."}, + {0xFE7E, "Awear Solutions Ltd"}, + {0xFE7F, "Doppler Lab"}, + {0xFE80, "Doppler Lab"}, + {0xFE81, "Medtronic Inc."}, + {0xFE82, "Medtronic Inc."}, + {0xFE83, "Blue Bite"}, + {0xFE84, "RF Digital Corp"}, + {0xFE85, "RF Digital Corp"}, + {0xFE86, "HUAWEI Technologies Co., Ltd. ( )"}, + {0xFE87, "Qingdao Yeelink Information Technology Co., Ltd. ( )"}, + {0xFE88, "SALTO SYSTEMS S.L."}, + {0xFE89, "B&O Play A/S"}, + {0xFE8A, "Apple, Inc."}, + {0xFE8B, "Apple, Inc."}, + {0xFE8C, "TRON Forum"}, + {0xFE8D, "Interaxon Inc."}, + {0xFE8E, "ARM Ltd"}, + {0xFE8F, "CSR"}, + {0xFE90, "JUMA"}, + {0xFE91, "Shanghai Imilab Technology Co.,Ltd"}, + {0xFE92, "Jarden Safety & Security"}, + {0xFE93, "OttoQ Inc."}, + {0xFE94, "OttoQ Inc."}, + {0xFE95, "Xiaomi Inc."}, + {0xFE96, "Tesla Motor Inc."}, + {0xFE97, "Tesla Motor Inc."}, + {0xFE98, "Currant, Inc."}, + {0xFE99, "Currant, Inc."}, + {0xFE9A, "Estimote"}, + {0xFE9B, "Samsara Networks, Inc"}, + {0xFE9C, "GSI Laboratories, Inc."}, + {0xFE9D, "Mobiquity Networks Inc"}, + {0xFE9E, "Dialog Semiconductor B.V."}, + {0xFE9F, "Google Inc."}, + {0xFEA0, "Google Inc."}, + {0xFEA1, "Intrepid Control Systems, Inc."}, + {0xFEA2, "Intrepid Control Systems, Inc."}, + {0xFEA3, "ITT Industries"}, + {0xFEA4, "Paxton Access Ltd"}, + {0xFEA5, "GoPro, Inc."}, + {0xFEA6, "GoPro, Inc."}, + {0xFEA7, "UTC Fire and Security"}, + {0xFEA8, "Savant Systems LLC"}, + {0xFEA9, "Savant Systems LLC"}, + {0xFEAA, "Google Inc."}, + {0xFEAB, "Nokia Corporation"}, + {0xFEAC, "Nokia Corporation"}, + {0xFEAD, "Nokia Corporation"}, + {0xFEAE, "Nokia Corporation"}, + {0xFEAF, "Nest Labs Inc."}, + {0xFEB0, "Nest Labs Inc."}, + {0xFEB1, "Electronics Tomorrow Limited"}, + {0xFEB2, "Microsoft Corporation"}, + {0xFEB3, "Taobao"}, + {0xFEB4, "WiSilica Inc."}, + {0xFEB5, "WiSilica Inc."}, + {0xFEB6, "Vencer Co, Ltd"}, + {0xFEB7, "Facebook, Inc."}, + {0xFEB8, "Facebook, Inc."}, + {0xFEB9, "LG Electronics"}, + {0xFEBA, "Tencent Holdings Limited"}, + {0xFEBB, "adafruit industries"}, + {0xFEBC, "Dexcom, Inc. "}, + {0xFEBD, "Clover Network, Inc."}, + {0xFEBE, "Bose Corporation"}, + {0xFEBF, "Nod, Inc."}, + {0xFEC0, "KDDI Corporation"}, + {0xFEC1, "KDDI Corporation"}, + {0xFEC2, "Blue Spark Technologies, Inc."}, + {0xFEC3, "360fly, Inc."}, + {0xFEC4, "PLUS Location Systems"}, + {0xFEC5, "Realtek Semiconductor Corp."}, + {0xFEC6, "Kocomojo, LLC"}, + {0xFEC7, "Apple, Inc."}, + {0xFEC8, "Apple, Inc."}, + {0xFEC9, "Apple, Inc."}, + {0xFECA, "Apple, Inc."}, + {0xFECB, "Apple, Inc."}, + {0xFECC, "Apple, Inc."}, + {0xFECD, "Apple, Inc."}, + {0xFECE, "Apple, Inc."}, + {0xFECF, "Apple, Inc."}, + {0xFED0, "Apple, Inc."}, + {0xFED1, "Apple, Inc."}, + {0xFED2, "Apple, Inc."}, + {0xFED3, "Apple, Inc."}, + {0xFED4, "Apple, Inc."}, + {0xFED5, "Plantronics Inc."}, + {0xFED6, "Broadcom Corporation"}, + {0xFED7, "Broadcom Corporation"}, + {0xFED8, "Google Inc."}, + {0xFED9, "Pebble Technology Corporation"}, + {0xFEDA, "ISSC Technologies Corporation"}, + {0xFEDB, "Perka, Inc."}, + {0xFEDC, "Jawbone"}, + {0xFEDD, "Jawbone"}, + {0xFEDE, "Coin, Inc."}, + {0xFEDF, "Design SHIFT"}, + {0xFEE0, "Anhui Huami Information Technology Co."}, + {0xFEE1, "Anhui Huami Information Technology Co."}, + {0xFEE2, "Anki, Inc."}, + {0xFEE3, "Anki, Inc."}, + {0xFEE4, "Nordic Semiconductor ASA"}, + {0xFEE5, "Nordic Semiconductor ASA"}, + {0xFEE6, "Silvair, Inc."}, + {0xFEE7, "Tencent Holdings Limited"}, + {0xFEE8, "Quintic Corp."}, + {0xFEE9, "Quintic Corp."}, + {0xFEEA, "Swirl Networks, Inc."}, + {0xFEEB, "Swirl Networks, Inc."}, + {0xFEEC, "Tile, Inc."}, + {0xFEED, "Tile, Inc."}, + {0xFEEE, "Polar Electro Oy"}, + {0xFEEF, "Polar Electro Oy"}, + {0xFEF0, "Intel"}, + {0xFEF1, "CSR"}, + {0xFEF2, "CSR"}, + {0xFEF3, "Google Inc."}, + {0xFEF4, "Google Inc."}, + {0xFEF5, "Dialog Semiconductor GmbH"}, + {0xFEF6, "Wicentric, Inc."}, + {0xFEF7, "Aplix Corporation"}, + {0xFEF8, "Aplix Corporation"}, + {0xFEF9, "PayPal, Inc."}, + {0xFEFA, "PayPal, Inc."}, + {0xFEFB, "Telit Wireless Solutions (Formerly Stollmann E+V GmbH)"}, + {0xFEFC, "Gimbal, Inc."}, + {0xFEFD, "Gimbal, Inc."}, + {0xFEFE, "GN ReSound A/S"}, + {0xFEFF, "GN Netcom"}, + {0xFFFF, "Reserved"}, /*for testing purposes only*/ + {0, "" } +}; + +typedef struct { + uint32_t assignedNumber; + const char* name; +} gattdescriptor_t; + +static const gattdescriptor_t g_descriptor_ids[] = { + {0x2905,"Characteristic Aggregate Format"}, + {0x2900,"Characteristic Extended Properties"}, + {0x2904,"Characteristic Presentation Format"}, + {0x2901,"Characteristic User Description"}, + {0x2902,"Client Characteristic Configuration"}, + {0x290B,"Environmental Sensing Configuration"}, + {0x290C,"Environmental Sensing Measurement"}, + {0x290D,"Environmental Sensing Trigger Setting"}, + {0x2907,"External Report Reference"}, + {0x2909,"Number of Digitals"}, + {0x2908,"Report Reference"}, + {0x2903,"Server Characteristic Configuration"}, + {0x290E,"Time Trigger Setting"}, + {0x2906,"Valid Range"}, + {0x290A,"Value Trigger Setting"}, + { 0, "" } +}; + +typedef struct { + uint32_t assignedNumber; + const char* name; +} characteristicMap_t; + +static const characteristicMap_t g_characteristicsMappings[] = { + {0x2A7E,"Aerobic Heart Rate Lower Limit"}, + {0x2A84,"Aerobic Heart Rate Upper Limit"}, + {0x2A7F,"Aerobic Threshold"}, + {0x2A80,"Age"}, + {0x2A5A,"Aggregate"}, + {0x2A43,"Alert Category ID"}, + {0x2A42,"Alert Category ID Bit Mask"}, + {0x2A06,"Alert Level"}, + {0x2A44,"Alert Notification Control Point"}, + {0x2A3F,"Alert Status"}, + {0x2AB3,"Altitude"}, + {0x2A81,"Anaerobic Heart Rate Lower Limit"}, + {0x2A82,"Anaerobic Heart Rate Upper Limit"}, + {0x2A83,"Anaerobic Threshold"}, + {0x2A58,"Analog"}, + {0x2A59,"Analog Output"}, + {0x2A73,"Apparent Wind Direction"}, + {0x2A72,"Apparent Wind Speed"}, + {0x2A01,"Appearance"}, + {0x2AA3,"Barometric Pressure Trend"}, + {0x2A19,"Battery Level"}, + {0x2A1B,"Battery Level State"}, + {0x2A1A,"Battery Power State"}, + {0x2A49,"Blood Pressure Feature"}, + {0x2A35,"Blood Pressure Measurement"}, + {0x2A9B,"Body Composition Feature"}, + {0x2A9C,"Body Composition Measurement"}, + {0x2A38,"Body Sensor Location"}, + {0x2AA4,"Bond Management Control Point"}, + {0x2AA5,"Bond Management Features"}, + {0x2A22,"Boot Keyboard Input Report"}, + {0x2A32,"Boot Keyboard Output Report"}, + {0x2A33,"Boot Mouse Input Report"}, + {0x2AA6,"Central Address Resolution"}, + {0x2AA8,"CGM Feature"}, + {0x2AA7,"CGM Measurement"}, + {0x2AAB,"CGM Session Run Time"}, + {0x2AAA,"CGM Session Start Time"}, + {0x2AAC,"CGM Specific Ops Control Point"}, + {0x2AA9,"CGM Status"}, + {0x2ACE,"Cross Trainer Data"}, + {0x2A5C,"CSC Feature"}, + {0x2A5B,"CSC Measurement"}, + {0x2A2B,"Current Time"}, + {0x2A66,"Cycling Power Control Point"}, + {0x2A66,"Cycling Power Control Point"}, + {0x2A65,"Cycling Power Feature"}, + {0x2A65,"Cycling Power Feature"}, + {0x2A63,"Cycling Power Measurement"}, + {0x2A64,"Cycling Power Vector"}, + {0x2A99,"Database Change Increment"}, + {0x2A85,"Date of Birth"}, + {0x2A86,"Date of Threshold Assessment"}, + {0x2A08,"Date Time"}, + {0x2A0A,"Day Date Time"}, + {0x2A09,"Day of Week"}, + {0x2A7D,"Descriptor Value Changed"}, + {0x2A00,"Device Name"}, + {0x2A7B,"Dew Point"}, + {0x2A56,"Digital"}, + {0x2A57,"Digital Output"}, + {0x2A0D,"DST Offset"}, + {0x2A6C,"Elevation"}, + {0x2A87,"Email Address"}, + {0x2A0B,"Exact Time 100"}, + {0x2A0C,"Exact Time 256"}, + {0x2A88,"Fat Burn Heart Rate Lower Limit"}, + {0x2A89,"Fat Burn Heart Rate Upper Limit"}, + {0x2A26,"Firmware Revision String"}, + {0x2A8A,"First Name"}, + {0x2AD9,"Fitness Machine Control Point"}, + {0x2ACC,"Fitness Machine Feature"}, + {0x2ADA,"Fitness Machine Status"}, + {0x2A8B,"Five Zone Heart Rate Limits"}, + {0x2AB2,"Floor Number"}, + {0x2A8C,"Gender"}, + {0x2A51,"Glucose Feature"}, + {0x2A18,"Glucose Measurement"}, + {0x2A34,"Glucose Measurement Context"}, + {0x2A74,"Gust Factor"}, + {0x2A27,"Hardware Revision String"}, + {0x2A39,"Heart Rate Control Point"}, + {0x2A8D,"Heart Rate Max"}, + {0x2A37,"Heart Rate Measurement"}, + {0x2A7A,"Heat Index"}, + {0x2A8E,"Height"}, + {0x2A4C,"HID Control Point"}, + {0x2A4A,"HID Information"}, + {0x2A8F,"Hip Circumference"}, + {0x2ABA,"HTTP Control Point"}, + {0x2AB9,"HTTP Entity Body"}, + {0x2AB7,"HTTP Headers"}, + {0x2AB8,"HTTP Status Code"}, + {0x2ABB,"HTTPS Security"}, + {0x2A6F,"Humidity"}, + {0x2A2A,"IEEE 11073-20601 Regulatory Certification Data List"}, + {0x2AD2,"Indoor Bike Data"}, + {0x2AAD,"Indoor Positioning Configuration"}, + {0x2A36,"Intermediate Cuff Pressure"}, + {0x2A1E,"Intermediate Temperature"}, + {0x2A77,"Irradiance"}, + {0x2AA2,"Language"}, + {0x2A90,"Last Name"}, + {0x2AAE,"Latitude"}, + {0x2A6B,"LN Control Point"}, + {0x2A6A,"LN Feature"}, + {0x2AB1,"Local East Coordinate"}, + {0x2AB0,"Local North Coordinate"}, + {0x2A0F,"Local Time Information"}, + {0x2A67,"Location and Speed Characteristic"}, + {0x2AB5,"Location Name"}, + {0x2AAF,"Longitude"}, + {0x2A2C,"Magnetic Declination"}, + {0x2AA0,"Magnetic Flux Density - 2D"}, + {0x2AA1,"Magnetic Flux Density - 3D"}, + {0x2A29,"Manufacturer Name String"}, + {0x2A91,"Maximum Recommended Heart Rate"}, + {0x2A21,"Measurement Interval"}, + {0x2A24,"Model Number String"}, + {0x2A68,"Navigation"}, + {0x2A3E,"Network Availability"}, + {0x2A46,"New Alert"}, + {0x2AC5,"Object Action Control Point"}, + {0x2AC8,"Object Changed"}, + {0x2AC1,"Object First-Created"}, + {0x2AC3,"Object ID"}, + {0x2AC2,"Object Last-Modified"}, + {0x2AC6,"Object List Control Point"}, + {0x2AC7,"Object List Filter"}, + {0x2ABE,"Object Name"}, + {0x2AC4,"Object Properties"}, + {0x2AC0,"Object Size"}, + {0x2ABF,"Object Type"}, + {0x2ABD,"OTS Feature"}, + {0x2A04,"Peripheral Preferred Connection Parameters"}, + {0x2A02,"Peripheral Privacy Flag"}, + {0x2A5F,"PLX Continuous Measurement Characteristic"}, + {0x2A60,"PLX Features"}, + {0x2A5E,"PLX Spot-Check Measurement"}, + {0x2A50,"PnP ID"}, + {0x2A75,"Pollen Concentration"}, + {0x2A2F,"Position 2D"}, + {0x2A30,"Position 3D"}, + {0x2A69,"Position Quality"}, + {0x2A6D,"Pressure"}, + {0x2A4E,"Protocol Mode"}, + {0x2A62,"Pulse Oximetry Control Point"}, + {0x2A60,"Pulse Oximetry Pulsatile Event Characteristic"}, + {0x2A78,"Rainfall"}, + {0x2A03,"Reconnection Address"}, + {0x2A52,"Record Access Control Point"}, + {0x2A14,"Reference Time Information"}, + {0x2A3A,"Removable"}, + {0x2A4D,"Report"}, + {0x2A4B,"Report Map"}, + {0x2AC9,"Resolvable Private Address Only"}, + {0x2A92,"Resting Heart Rate"}, + {0x2A40,"Ringer Control point"}, + {0x2A41,"Ringer Setting"}, + {0x2AD1,"Rower Data"}, + {0x2A54,"RSC Feature"}, + {0x2A53,"RSC Measurement"}, + {0x2A55,"SC Control Point"}, + {0x2A4F,"Scan Interval Window"}, + {0x2A31,"Scan Refresh"}, + {0x2A3C,"Scientific Temperature Celsius"}, + {0x2A10,"Secondary Time Zone"}, + {0x2A5D,"Sensor Location"}, + {0x2A25,"Serial Number String"}, + {0x2A05,"Service Changed"}, + {0x2A3B,"Service Required"}, + {0x2A28,"Software Revision String"}, + {0x2A93,"Sport Type for Aerobic and Anaerobic Thresholds"}, + {0x2AD0,"Stair Climber Data"}, + {0x2ACF,"Step Climber Data"}, + {0x2A3D,"String"}, + {0x2AD7,"Supported Heart Rate Range"}, + {0x2AD5,"Supported Inclination Range"}, + {0x2A47,"Supported New Alert Category"}, + {0x2AD8,"Supported Power Range"}, + {0x2AD6,"Supported Resistance Level Range"}, + {0x2AD4,"Supported Speed Range"}, + {0x2A48,"Supported Unread Alert Category"}, + {0x2A23,"System ID"}, + {0x2ABC,"TDS Control Point"}, + {0x2A6E,"Temperature"}, + {0x2A1F,"Temperature Celsius"}, + {0x2A20,"Temperature Fahrenheit"}, + {0x2A1C,"Temperature Measurement"}, + {0x2A1D,"Temperature Type"}, + {0x2A94,"Three Zone Heart Rate Limits"}, + {0x2A12,"Time Accuracy"}, + {0x2A15,"Time Broadcast"}, + {0x2A13,"Time Source"}, + {0x2A16,"Time Update Control Point"}, + {0x2A17,"Time Update State"}, + {0x2A11,"Time with DST"}, + {0x2A0E,"Time Zone"}, + {0x2AD3,"Training Status"}, + {0x2ACD,"Treadmill Data"}, + {0x2A71,"True Wind Direction"}, + {0x2A70,"True Wind Speed"}, + {0x2A95,"Two Zone Heart Rate Limit"}, + {0x2A07,"Tx Power Level"}, + {0x2AB4,"Uncertainty"}, + {0x2A45,"Unread Alert Status"}, + {0x2AB6,"URI"}, + {0x2A9F,"User Control Point"}, + {0x2A9A,"User Index"}, + {0x2A76,"UV Index"}, + {0x2A96,"VO2 Max"}, + {0x2A97,"Waist Circumference"}, + {0x2A98,"Weight"}, + {0x2A9D,"Weight Measurement"}, + {0x2A9E,"Weight Scale Feature"}, + {0x2A79,"Wind Chill"}, + {0, ""} +}; + +/** + * @brief Mapping from service ids to names + */ +typedef struct { + const char* name; + const char* type; + uint32_t assignedNumber; +} gattService_t; + + +/** + * Definition of the service ids to names that we know about. + */ +static const gattService_t g_gattServices[] = { + {"Alert Notification Service", "org.bluetooth.service.alert_notification", 0x1811}, + {"Automation IO", "org.bluetooth.service.automation_io", 0x1815 }, + {"Battery Service","org.bluetooth.service.battery_service", 0x180F}, + {"Blood Pressure", "org.bluetooth.service.blood_pressure", 0x1810}, + {"Body Composition", "org.bluetooth.service.body_composition", 0x181B}, + {"Bond Management", "org.bluetooth.service.bond_management", 0x181E}, + {"Continuous Glucose Monitoring", "org.bluetooth.service.continuous_glucose_monitoring", 0x181F}, + {"Current Time Service", "org.bluetooth.service.current_time", 0x1805}, + {"Cycling Power", "org.bluetooth.service.cycling_power", 0x1818}, + {"Cycling Speed and Cadence", "org.bluetooth.service.cycling_speed_and_cadence", 0x1816}, + {"Device Information", "org.bluetooth.service.device_information", 0x180A}, + {"Environmental Sensing", "org.bluetooth.service.environmental_sensing", 0x181A}, + {"Generic Access", "org.bluetooth.service.generic_access", 0x1800}, + {"Generic Attribute", "org.bluetooth.service.generic_attribute", 0x1801}, + {"Glucose", "org.bluetooth.service.glucose", 0x1808}, + {"Health Thermometer", "org.bluetooth.service.health_thermometer", 0x1809}, + {"Heart Rate", "org.bluetooth.service.heart_rate", 0x180D}, + {"HTTP Proxy", "org.bluetooth.service.http_proxy", 0x1823}, + {"Human Interface Device", "org.bluetooth.service.human_interface_device", 0x1812}, + {"Immediate Alert", "org.bluetooth.service.immediate_alert", 0x1802}, + {"Indoor Positioning", "org.bluetooth.service.indoor_positioning", 0x1821}, + {"Internet Protocol Support", "org.bluetooth.service.internet_protocol_support", 0x1820}, + {"Link Loss", "org.bluetooth.service.link_loss", 0x1803}, + {"Location and Navigation", "org.bluetooth.service.location_and_navigation", 0x1819}, + {"Next DST Change Service", "org.bluetooth.service.next_dst_change", 0x1807}, + {"Object Transfer", "org.bluetooth.service.object_transfer", 0x1825}, + {"Phone Alert Status Service", "org.bluetooth.service.phone_alert_status", 0x180E}, + {"Pulse Oximeter", "org.bluetooth.service.pulse_oximeter", 0x1822}, + {"Reference Time Update Service", "org.bluetooth.service.reference_time_update", 0x1806}, + {"Running Speed and Cadence", "org.bluetooth.service.running_speed_and_cadence", 0x1814}, + {"Scan Parameters", "org.bluetooth.service.scan_parameters", 0x1813}, + {"Transport Discovery", "org.bluetooth.service.transport_discovery", 0x1824}, + {"Tx Power", "org.bluetooth.service.tx_power", 0x1804}, + {"User Data", "org.bluetooth.service.user_data", 0x181C}, + {"Weight Scale", "org.bluetooth.service.weight_scale", 0x181D}, + {"", "", 0 } +}; + + +/** + * @brief Convert characteristic properties into a string representation. + * @param [in] prop Characteristic properties. + * @return A string representation of characteristic properties. + */ +std::string BLEUtils::characteristicPropertiesToString(esp_gatt_char_prop_t prop) { + std::stringstream stream; + stream << + "broadcast: " << ((prop & ESP_GATT_CHAR_PROP_BIT_BROADCAST)?"1":"0") << + ", read: " << ((prop & ESP_GATT_CHAR_PROP_BIT_READ)?"1":"0") << + ", write_nr: " << ((prop & ESP_GATT_CHAR_PROP_BIT_WRITE_NR)?"1":"0") << + ", write: " << ((prop & ESP_GATT_CHAR_PROP_BIT_WRITE)?"1":"0") << + ", notify: " << ((prop & ESP_GATT_CHAR_PROP_BIT_NOTIFY)?"1":"0") << + ", indicate: " << ((prop & ESP_GATT_CHAR_PROP_BIT_INDICATE)?"1":"0") << + ", auth: " << ((prop & ESP_GATT_CHAR_PROP_BIT_AUTH)?"1":"0"); + return stream.str(); +} // characteristicPropertiesToString + +/** + * @brief Convert an esp_gatt_id_t to a string. + */ +static std::string gattIdToString(esp_gatt_id_t gattId) { + std::stringstream stream; + stream << "uuid: " << BLEUUID(gattId.uuid).toString() << ", inst_id: " << (int)gattId.inst_id; + //sprintf(buffer, "uuid: %s, inst_id: %d", uuidToString(gattId.uuid).c_str(), gattId.inst_id); + return stream.str(); +} // gattIdToString + + +/** + * @brief Convert an esp_ble_addr_type_t to a string representation. + */ +const char* BLEUtils::addressTypeToString(esp_ble_addr_type_t type) { + switch(type) { + case BLE_ADDR_TYPE_PUBLIC: + return "BLE_ADDR_TYPE_PUBLIC"; + case BLE_ADDR_TYPE_RANDOM: + return "BLE_ADDR_TYPE_RANDOM"; + case BLE_ADDR_TYPE_RPA_PUBLIC: + return "BLE_ADDR_TYPE_RPA_PUBLIC"; + case BLE_ADDR_TYPE_RPA_RANDOM: + return "BLE_ADDR_TYPE_RPA_RANDOM"; + default: + return " esp_ble_addr_type_t"; + } +} // addressTypeToString + + +/** + * @brief Convert the BLE Advertising Data flags to a string. + * @param adFlags The flags to convert + * @return std::string A string representation of the advertising flags. + */ +std::string BLEUtils::adFlagsToString(uint8_t adFlags) { + std::stringstream ss; + if (adFlags & (1<<0)) { + ss << "[LE Limited Discoverable Mode] "; + } + if (adFlags & (1<<1)) { + ss << "[LE General Discoverable Mode] "; + } + if (adFlags & (1<<2)) { + ss << "[BR/EDR Not Supported] "; + } + if (adFlags & (1<<3)) { + ss << "[Simultaneous LE and BR/EDR to Same Device Capable (Controller)] "; + } + if (adFlags & (1<<4)) { + ss << "[Simultaneous LE and BR/EDR to Same Device Capable (Host)] "; + } + return ss.str(); +} // adFlagsToString + + +/** + * @brief Given an advertising type, return a string representation of the type. + * + * For details see ... + * https://www.bluetooth.com/specifications/assigned-numbers/generic-access-profile + * + * @return A string representation of the type. + */ +const char* BLEUtils::advTypeToString(uint8_t advType) { + switch(advType) { + case ESP_BLE_AD_TYPE_FLAG: // 0x01 + return "ESP_BLE_AD_TYPE_FLAG"; + + case ESP_BLE_AD_TYPE_16SRV_PART: // 0x02 + return "ESP_BLE_AD_TYPE_16SRV_PART"; + + case ESP_BLE_AD_TYPE_16SRV_CMPL: // 0x03 + return "ESP_BLE_AD_TYPE_16SRV_CMPL"; + + case ESP_BLE_AD_TYPE_32SRV_PART: // 0x04 + return "ESP_BLE_AD_TYPE_32SRV_PART"; + + case ESP_BLE_AD_TYPE_32SRV_CMPL: // 0x05 + return "ESP_BLE_AD_TYPE_32SRV_CMPL"; + + case ESP_BLE_AD_TYPE_128SRV_PART: // 0x06 + return "ESP_BLE_AD_TYPE_128SRV_PART"; + + case ESP_BLE_AD_TYPE_128SRV_CMPL: // 0x07 + return "ESP_BLE_AD_TYPE_128SRV_CMPL"; + + case ESP_BLE_AD_TYPE_NAME_SHORT: // 0x08 + return "ESP_BLE_AD_TYPE_NAME_SHORT"; + + case ESP_BLE_AD_TYPE_NAME_CMPL: // 0x09 + return "ESP_BLE_AD_TYPE_NAME_CMPL"; + + case ESP_BLE_AD_TYPE_TX_PWR: // 0x0a + return "ESP_BLE_AD_TYPE_TX_PWR"; + + case ESP_BLE_AD_TYPE_DEV_CLASS: // 0x0b + return "ESP_BLE_AD_TYPE_DEV_CLASS"; + + case ESP_BLE_AD_TYPE_SM_TK: // 0x10 + return "ESP_BLE_AD_TYPE_SM_TK"; + + case ESP_BLE_AD_TYPE_SM_OOB_FLAG: // 0x11 + return "ESP_BLE_AD_TYPE_SM_OOB_FLAG"; + + case ESP_BLE_AD_TYPE_INT_RANGE: // 0x12 + return "ESP_BLE_AD_TYPE_INT_RANGE"; + + case ESP_BLE_AD_TYPE_SOL_SRV_UUID: // 0x14 + return "ESP_BLE_AD_TYPE_SOL_SRV_UUID"; + + case ESP_BLE_AD_TYPE_128SOL_SRV_UUID: // 0x15 + return "ESP_BLE_AD_TYPE_128SOL_SRV_UUID"; + + case ESP_BLE_AD_TYPE_SERVICE_DATA: // 0x16 + return "ESP_BLE_AD_TYPE_SERVICE_DATA"; + + case ESP_BLE_AD_TYPE_PUBLIC_TARGET: // 0x17 + return "ESP_BLE_AD_TYPE_PUBLIC_TARGET"; + + case ESP_BLE_AD_TYPE_RANDOM_TARGET: // 0x18 + return "ESP_BLE_AD_TYPE_RANDOM_TARGET"; + + case ESP_BLE_AD_TYPE_APPEARANCE: // 0x19 + return "ESP_BLE_AD_TYPE_APPEARANCE"; + + case ESP_BLE_AD_TYPE_ADV_INT: // 0x1a + return "ESP_BLE_AD_TYPE_ADV_INT"; + + case ESP_BLE_AD_TYPE_32SOL_SRV_UUID: + return "ESP_BLE_AD_TYPE_32SOL_SRV_UUID"; + + case ESP_BLE_AD_TYPE_32SERVICE_DATA: // 0x20 + return "ESP_BLE_AD_TYPE_32SERVICE_DATA"; + + case ESP_BLE_AD_TYPE_128SERVICE_DATA: // 0x21 + return "ESP_BLE_AD_TYPE_128SERVICE_DATA"; + + case ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE: // 0xff + return "ESP_BLE_AD_MANUFACTURER_SPECIFIC_TYPE"; + + default: + ESP_LOGD(LOG_TAG, " adv data type: 0x%x", advType); + return ""; + } // End switch +} // advTypeToString + + +esp_gatt_id_t BLEUtils::buildGattId(esp_bt_uuid_t uuid, uint8_t inst_id) { + esp_gatt_id_t retGattId; + retGattId.uuid = uuid; + retGattId.inst_id = inst_id; + return retGattId; +} + +esp_gatt_srvc_id_t BLEUtils::buildGattSrvcId(esp_gatt_id_t gattId, + bool is_primary) { + esp_gatt_srvc_id_t retSrvcId; + retSrvcId.id = gattId; + retSrvcId.is_primary = is_primary; + return retSrvcId; +} + +/** + * @brief Create a hex representation of data. + * + * @param [in] target Where to write the hex string. If this is null, we malloc storage. + * @param [in] source The start of the binary data. + * @param [in] length The length of the data to convert. + * @return A pointer to the formatted buffer. + */ +char* BLEUtils::buildHexData(uint8_t *target, uint8_t *source, uint8_t length) { +// Guard against too much data. + if (length > 100) { + length = 100; + } + + if (target == nullptr) { + target = (uint8_t *)malloc(length * 2 + 1); + if (target == nullptr) { + ESP_LOGE(LOG_TAG, "buildHexData: malloc failed"); + return nullptr; + } + } + char *startOfData = (char *)target; + + int i; + for (i=0; iadv_data_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT + + + // + // ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT + // + // adv_data_raw_cmpl + // - esp_bt_status_t status + // + case ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->adv_data_raw_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT + + + // + // ESP_GAP_BLE_ADV_START_COMPLETE_EVT + // + // adv_start_cmpl + // - esp_bt_status_t status + // + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->adv_start_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_START_COMPLETE_EVT + + + // + // ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT + // + // adv_stop_cmpl + // - esp_bt_status_t status + // + case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->adv_stop_cmpl.status); + break; + } // ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT + + + // + // ESP_GAP_BLE_AUTH_CMPL_EVT + // + // auth_cmpl + // - esp_bd_addr_t bd_addr + // - bool key_present + // - esp_link_key key + // - bool success + // - uint8_t fail_reason + // - esp_bd_addr_type_t addr_type + // - esp_bt_dev_type_t dev_type + // + case ESP_GAP_BLE_AUTH_CMPL_EVT: { + ESP_LOGD(LOG_TAG, "[bd_addr: %s, key_present: %d, key: ***, key_type: %d, success: %d, fail_reason: %d, addr_type: ***, dev_type: %s]", + BLEAddress(param->ble_security.auth_cmpl.bd_addr).toString().c_str(), + param->ble_security.auth_cmpl.key_present, + param->ble_security.auth_cmpl.key_type, + param->ble_security.auth_cmpl.success, + param->ble_security.auth_cmpl.fail_reason, + BLEUtils::devTypeToString(param->ble_security.auth_cmpl.dev_type) + ); + break; + } // ESP_GAP_BLE_AUTH_CMPL_EVT + + + // + // ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT + // + // clear_bond_dev_cmpl + // - esp_bt_status_t status + // + case ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->clear_bond_dev_cmpl.status); + break; + } // ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT + + + // + // ESP_GAP_BLE_LOCAL_IR_EVT + // + case ESP_GAP_BLE_LOCAL_IR_EVT: { + break; + } // ESP_GAP_BLE_LOCAL_IR_EVT + + + // + // ESP_GAP_BLE_LOCAL_ER_EVT + // + case ESP_GAP_BLE_LOCAL_ER_EVT: { + break; + } // ESP_GAP_BLE_LOCAL_ER_EVT + + + // + // ESP_GAP_BLE_NC_REQ_EVT + // + case ESP_GAP_BLE_NC_REQ_EVT: { + ESP_LOGD(LOG_TAG, "[bd_addr: %s, passkey: %d]", + BLEAddress(param->ble_security.key_notif.bd_addr).toString().c_str(), + param->ble_security.key_notif.passkey); + break; + } // ESP_GAP_BLE_NC_REQ_EVT + + + // + // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + // + // read_rssi_cmpl + // - esp_bt_status_t status + // - int8_t rssi + // - esp_bd_addr_t remote_addr + // + case ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d, rssi: %d, remote_addr: %s]", + param->read_rssi_cmpl.status, + param->read_rssi_cmpl.rssi, + BLEAddress(param->read_rssi_cmpl.remote_addr).toString().c_str() + ); + break; + } // ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT + + + // + // ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT + // + // scan_param_cmpl. + // - esp_bt_status_t status + // + case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->scan_param_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT + + + // + // ESP_GAP_BLE_SCAN_RESULT_EVT + // + // scan_rst: + // - search_evt + // - bda + // - dev_type + // - ble_addr_type + // - ble_evt_type + // - rssi + // - ble_adv + // - flag + // - num_resps + // - adv_data_len + // - scan_rsp_len + // + case ESP_GAP_BLE_SCAN_RESULT_EVT: { + switch(param->scan_rst.search_evt) { + case ESP_GAP_SEARCH_INQ_RES_EVT: { + ESP_LOGD(LOG_TAG, "search_evt: %s, bda: %s, dev_type: %s, ble_addr_type: %s, ble_evt_type: %s, rssi: %d, ble_adv: ??, flag: %d (%s), num_resps: %d, adv_data_len: %d, scan_rsp_len: %d", + searchEventTypeToString(param->scan_rst.search_evt), + BLEAddress(param->scan_rst.bda).toString().c_str(), + devTypeToString(param->scan_rst.dev_type), + addressTypeToString(param->scan_rst.ble_addr_type), + eventTypeToString(param->scan_rst.ble_evt_type), + param->scan_rst.rssi, + param->scan_rst.flag, + adFlagsToString(param->scan_rst.flag).c_str(), + param->scan_rst.num_resps, + param->scan_rst.adv_data_len, + param->scan_rst.scan_rsp_len + ); + break; + } // ESP_GAP_SEARCH_INQ_RES_EVT + + default: { + ESP_LOGD(LOG_TAG, "search_evt: %s",searchEventTypeToString(param->scan_rst.search_evt)); + break; + } + } + break; + } // ESP_GAP_BLE_SCAN_RESULT_EVT + + + // + // ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT + // + // scan_rsp_data_cmpl + // - esp_bt_status_t status + // + case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->scan_rsp_data_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT + + + // + // ESP_GAP_BLE_SCAN_START_COMPLETE_EVT + // + // scan_start_cmpl + // - esp_bt_status_t status + case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->scan_start_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_START_COMPLETE_EVT + + + // + // ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT + // + // scan_stop_cmpl + // - esp_bt_status_t status + // + case ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d]", param->scan_stop_cmpl.status); + break; + } // ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT + + + // + // ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT + // + // update_conn_params + // - esp_bt_status_t status + // - esp_bd_addr_t bda + // - uint16_t min_int + // - uint16_t max_int + // - uint16_t latency + // - uint16_t conn_int + // - uint16_t timeout + // + case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT: { + ESP_LOGD(LOG_TAG, "[status: %d, bd_addr: %s, min_int: %d, max_int: %d, latency: %d, conn_int: %d, timeout: %d]", + param->update_conn_params.status, + BLEAddress(param->update_conn_params.bda).toString().c_str(), + param->update_conn_params.min_int, + param->update_conn_params.max_int, + param->update_conn_params.latency, + param->update_conn_params.conn_int, + param->update_conn_params.timeout + ); + break; + } // ESP_GAP_BLE_SCAN_UPDATE_CONN_PARAMS_EVT + + + // + // ESP_GAP_BLE_SEC_REQ_EVT + // + case ESP_GAP_BLE_SEC_REQ_EVT: { + ESP_LOGD(LOG_TAG, "[bd_addr: %s]", BLEAddress(param->ble_security.ble_req.bd_addr).toString().c_str()); + break; + } // ESP_GAP_BLE_SEC_REQ_EVT + + + default: { + ESP_LOGD(LOG_TAG, "*** dumpGapEvent: Logger not coded ***"); + break; + } // default + } // switch +} // dumpGapEvent + + +/** + * @brief Decode and dump a GATT client event + * + * @param [in] event The type of event received. + * @param [in] evtParam The data associated with the event. + */ +void BLEUtils::dumpGattClientEvent( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam) { + + //esp_ble_gattc_cb_param_t *evtParam = (esp_ble_gattc_cb_param_t *)param; + ESP_LOGD(LOG_TAG, "GATT Event: %s", BLEUtils::gattClientEventTypeToString(event).c_str()); + switch(event) { + // + // ESP_GATTC_CLOSE_EVT + // + // close: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - esp_gatt_conn_reason_t reason + // + case ESP_GATTC_CLOSE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, reason:%s, conn_id: %d]", + BLEUtils::gattStatusToString(evtParam->close.status).c_str(), + BLEUtils::gattCloseReasonToString(evtParam->close.reason).c_str(), + evtParam->close.conn_id); + break; + } + + // + // ESP_GATTC_CONNECT_EVT + // + // connect: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + case ESP_GATTC_CONNECT_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->connect.conn_id, + BLEAddress(evtParam->connect.remote_bda).toString().c_str() + ); + break; + } + + // + // ESP_GATTC_DISCONNECT_EVT + // + // disconnect: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + case ESP_GATTC_DISCONNECT_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->disconnect.conn_id, + BLEAddress(evtParam->disconnect.remote_bda).toString().c_str() + ); + break; + } // ESP_GATTC_DISCONNECT_EVT + + // + // ESP_GATTC_GET_CHAR_EVT + // + // get_char: + // - esp_gatt_status_t status + // - uin1t6_t conn_id + // - esp_gatt_srvc_id_t srvc_id + // - esp_gatt_id_t char_id + // - esp_gatt_char_prop_t char_prop + // + /* + case ESP_GATTC_GET_CHAR_EVT: { + + // If the status of the event shows that we have a value other than ESP_GATT_OK then the + // characteristic fields are not set to a usable value .. so don't try and log them. + if (evtParam->get_char.status == ESP_GATT_OK) { + std::string description = "Unknown"; + if (evtParam->get_char.char_id.uuid.len == ESP_UUID_LEN_16) { + description = BLEUtils::gattCharacteristicUUIDToString(evtParam->get_char.char_id.uuid.uuid.uuid16); + } + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: %d, srvc_id: %s, char_id: %s [description: %s]\nchar_prop: %s]", + BLEUtils::gattStatusToString(evtParam->get_char.status).c_str(), + evtParam->get_char.conn_id, + BLEUtils::gattServiceIdToString(evtParam->get_char.srvc_id).c_str(), + gattIdToString(evtParam->get_char.char_id).c_str(), + description.c_str(), + BLEUtils::characteristicPropertiesToString(evtParam->get_char.char_prop).c_str() + ); + } else { + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: %d, srvc_id: %s]", + BLEUtils::gattStatusToString(evtParam->get_char.status).c_str(), + evtParam->get_char.conn_id, + BLEUtils::gattServiceIdToString(evtParam->get_char.srvc_id).c_str() + ); + } + break; + } // ESP_GATTC_GET_CHAR_EVT + */ + + // + // ESP_GATTC_NOTIFY_EVT + // + // notify + // uint16_t conn_id + // esp_bd_addr_t remote_bda + // handle handle + // uint16_t value_len + // uint8_t* value + // bool is_notify + // + case ESP_GATTC_NOTIFY_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, remote_bda: %s, handle: %d 0x%.2x, value_len: %d, is_notify: %d]", + evtParam->notify.conn_id, + BLEAddress(evtParam->notify.remote_bda).toString().c_str(), + evtParam->notify.handle, + evtParam->notify.handle, + evtParam->notify.value_len, + evtParam->notify.is_notify + ); + break; + } + + // + // ESP_GATTC_OPEN_EVT + // + // open: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - esp_bd_addr_t remote_bda + // - uint16_t mtu + // + case ESP_GATTC_OPEN_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: %d, remote_bda: %s, mtu: %d]", + BLEUtils::gattStatusToString(evtParam->open.status).c_str(), + evtParam->open.conn_id, + BLEAddress(evtParam->open.remote_bda).toString().c_str(), + evtParam->open.mtu); + break; + } // ESP_GATTC_OPEN_EVT + + + // + // ESP_GATTC_READ_CHAR_EVT + // + // Callback to indicate that requested data that we wanted to read is now available. + // + // read: + // esp_gatt_status_t status + // uint16_t conn_id + // uint16_t handle + // uint8_t* value + // uint16_t value_type + // uint16_t value_len + case ESP_GATTC_READ_CHAR_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: %d, handle: %d 0x%.2x, value_len: %d]", + BLEUtils::gattStatusToString(evtParam->read.status).c_str(), + evtParam->read.conn_id, + evtParam->read.handle, + evtParam->read.handle, + evtParam->read.value_len + ); + if (evtParam->read.status == ESP_GATT_OK) { + GeneralUtils::hexDump(evtParam->read.value, evtParam->read.value_len); + /* + char *pHexData = BLEUtils::buildHexData(nullptr, evtParam->read.value, evtParam->read.value_len); + ESP_LOGD(LOG_TAG, "value: %s \"%s\"", pHexData, BLEUtils::buildPrintData(evtParam->read.value, evtParam->read.value_len).c_str()); + free(pHexData); + */ + } + break; + } // ESP_GATTC_READ_CHAR_EVT + + + // + // ESP_GATTC_REG_EVT + // + // reg: + // - esp_gatt_status_t status + // - uint16_t app_id + // + case ESP_GATTC_REG_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, app_id: 0x%x]", + BLEUtils::gattStatusToString(evtParam->reg.status).c_str(), + evtParam->reg.app_id); + break; + } // ESP_GATTC_REG_EVT + + + // + // ESP_GATTC_REG_FOR_NOTIFY_EVT + // + // reg_for_notify: + // - esp_gatt_status_t status + // - uint16_t handle + case ESP_GATTC_REG_FOR_NOTIFY_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, handle: %d 0x%.2x]", + BLEUtils::gattStatusToString(evtParam->reg_for_notify.status).c_str(), + evtParam->reg_for_notify.handle, + evtParam->reg_for_notify.handle + ); + break; + } // ESP_GATTC_REG_FOR_NOTIFY_EVT + + + // + // ESP_GATTC_SEARCH_CMPL_EVT + // + // search_cmpl: + // - esp_gatt_status_t status + // - uint16_t conn_id + // + case ESP_GATTC_SEARCH_CMPL_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: %d]", + BLEUtils::gattStatusToString(evtParam->search_cmpl.status).c_str(), + evtParam->search_cmpl.conn_id); + break; + } // ESP_GATTC_SEARCH_CMPL_EVT + + + // + // ESP_GATTC_SEARCH_RES_EVT + // + // search_res: + // - uint16_t conn_id + // - uint16_t start_handle + // - uint16_t end_handle + // - esp_gatt_id_t srvc_id + // + case ESP_GATTC_SEARCH_RES_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, start_handle: %d 0x%.2x, end_handle: %d 0x%.2x, srvc_id: %s", + evtParam->search_res.conn_id, + evtParam->search_res.start_handle, + evtParam->search_res.start_handle, + evtParam->search_res.end_handle, + evtParam->search_res.end_handle, + gattIdToString(evtParam->search_res.srvc_id).c_str()); + break; + } // ESP_GATTC_SEARCH_RES_EVT + + + // + // ESP_GATTC_WRITE_CHAR_EVT + // + // write: + // - esp_gatt_status_t status + // - uint16_t conn_id + // - uint16_t handle + // + case ESP_GATTC_WRITE_CHAR_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: %d, handle: %d 0x%.2x]", + BLEUtils::gattStatusToString(evtParam->write.status).c_str(), + evtParam->write.conn_id, + evtParam->write.handle, + evtParam->write.handle + ); + break; + } // ESP_GATTC_WRITE_CHAR_EVT + + default: + break; + } +} // dumpGattClientEvent + + +/** + * @brief Dump the details of a GATT server event. + * A GATT Server event is a callback received from the BLE subsystem when we are acting as a BLE + * server. The callback indicates the type of event in the `event` field. The `evtParam` is a + * union of structures where we can use the `event` to indicate which of the structures has been + * populated and hence is valid. + * + * @param [in] event The event type that was posted. + * @param [in] evtParam A union of structures only one of which is populated. + */ +void BLEUtils::dumpGattServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* evtParam) { + ESP_LOGD(LOG_TAG, "GATT ServerEvent: %s", BLEUtils::gattServerEventTypeToString(event).c_str()); + switch(event) { + + case ESP_GATTS_ADD_CHAR_DESCR_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, attr_handle: %d 0x%.2x, service_handle: %d 0x%.2x, char_uuid: %s]", + gattStatusToString(evtParam->add_char_descr.status).c_str(), + evtParam->add_char_descr.attr_handle, + evtParam->add_char_descr.attr_handle, + evtParam->add_char_descr.service_handle, + evtParam->add_char_descr.service_handle, + BLEUUID(evtParam->add_char_descr.char_uuid).toString().c_str()); + break; + } // ESP_GATTS_ADD_CHAR_DESCR_EVT + + case ESP_GATTS_ADD_CHAR_EVT: { + if (evtParam->add_char.status == ESP_GATT_OK) { + ESP_LOGD(LOG_TAG, "[status: %s, attr_handle: %d 0x%.2x, service_handle: %d 0x%.2x, char_uuid: %s]", + gattStatusToString(evtParam->add_char.status).c_str(), + evtParam->add_char.attr_handle, + evtParam->add_char.attr_handle, + evtParam->add_char.service_handle, + evtParam->add_char.service_handle, + BLEUUID(evtParam->add_char.char_uuid).toString().c_str()); + } else { + ESP_LOGE(LOG_TAG, "[status: %s, attr_handle: %d 0x%.2x, service_handle: %d 0x%.2x, char_uuid: %s]", + gattStatusToString(evtParam->add_char.status).c_str(), + evtParam->add_char.attr_handle, + evtParam->add_char.attr_handle, + evtParam->add_char.service_handle, + evtParam->add_char.service_handle, + BLEUUID(evtParam->add_char.char_uuid).toString().c_str()); + } + break; + } // ESP_GATTS_ADD_CHAR_EVT + + + // ESP_GATTS_CONF_EVT + // + // conf: + // - esp_gatt_status_t status – The status code. + // - uint16_t conn_id – The connection used. + // + case ESP_GATTS_CONF_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, conn_id: 0x%.2x]", + gattStatusToString(evtParam->conf.status).c_str(), + evtParam->conf.conn_id); + break; + } // ESP_GATTS_CONF_EVT + + + case ESP_GATTS_CONGEST_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, congested: %d]", + evtParam->congest.conn_id, + evtParam->congest.congested); + break; + } // ESP_GATTS_CONGEST_EVT + + case ESP_GATTS_CONNECT_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->connect.conn_id, + BLEAddress(evtParam->connect.remote_bda).toString().c_str()); + break; + } // ESP_GATTS_CONNECT_EVT + + case ESP_GATTS_CREATE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, service_handle: %d 0x%.2x, service_id: [%s]]", + gattStatusToString(evtParam->create.status).c_str(), + evtParam->create.service_handle, + evtParam->create.service_handle, + gattServiceIdToString(evtParam->create.service_id).c_str()); + break; + } // ESP_GATTS_CREATE_EVT + + case ESP_GATTS_DISCONNECT_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, remote_bda: %s]", + evtParam->connect.conn_id, + BLEAddress(evtParam->connect.remote_bda).toString().c_str()); + break; + } // ESP_GATTS_DISCONNECT_EVT + + + // ESP_GATTS_EXEC_WRITE_EVT + // exec_write: + // - uint16_t conn_id + // - uint32_t trans_id + // - esp_bd_addr_t bda + // - uint8_t exec_write_flag + // + case ESP_GATTS_EXEC_WRITE_EVT: { + char* pWriteFlagText; + switch(evtParam->exec_write.exec_write_flag) { + case ESP_GATT_PREP_WRITE_EXEC: { + pWriteFlagText = (char*)"WRITE"; + break; + } + + case ESP_GATT_PREP_WRITE_CANCEL: { + pWriteFlagText = (char*)"CANCEL"; + break; + } + + default: + pWriteFlagText = (char*)""; + break; + } + + ESP_LOGD(LOG_TAG, "[conn_id: %d, trans_id: %d, bda: %s, exec_write_flag: 0x%.2x=%s]", + evtParam->exec_write.conn_id, + evtParam->exec_write.trans_id, + BLEAddress(evtParam->exec_write.bda).toString().c_str(), + evtParam->exec_write.exec_write_flag, + pWriteFlagText); + break; + } // ESP_GATTS_DISCONNECT_EVT + + + case ESP_GATTS_MTU_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, mtu: %d]", + evtParam->mtu.conn_id, + evtParam->mtu.mtu); + break; + } // ESP_GATTS_MTU_EVT + + case ESP_GATTS_READ_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, trans_id: %d, bda: %s, handle: 0x%.2x, is_long: %d, need_rsp:%d]", + evtParam->read.conn_id, + evtParam->read.trans_id, + BLEAddress(evtParam->read.bda).toString().c_str(), + evtParam->read.handle, + evtParam->read.is_long, + evtParam->read.need_rsp); + break; + } // ESP_GATTS_READ_EVT + + case ESP_GATTS_RESPONSE_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, handle: 0x%.2x]", + gattStatusToString(evtParam->rsp.status).c_str(), + evtParam->rsp.handle); + break; + } // ESP_GATTS_RESPONSE_EVT + + case ESP_GATTS_REG_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, app_id: %d]", + gattStatusToString(evtParam->reg.status).c_str(), + evtParam->reg.app_id); + break; + } // ESP_GATTS_REG_EVT + + + // ESP_GATTS_START_EVT + // + // start: + // - esp_gatt_status_t status + // - uint16_t service_handle + // + case ESP_GATTS_START_EVT: { + ESP_LOGD(LOG_TAG, "[status: %s, service_handle: 0x%.2x]", + gattStatusToString(evtParam->start.status).c_str(), + evtParam->start.service_handle); + break; + } // ESP_GATTS_START_EVT + + + // ESP_GATTS_WRITE_EVT + // + // write: + // - uint16_t conn_id – The connection id. + // - uint16_t trans_id – The transfer id. + // - esp_bd_addr_t bda – The address of the partner. + // - uint16_t handle – The attribute handle. + // - uint16_t offset – The offset of the currently received within the whole value. + // - bool need_rsp – Do we need a response? + // - bool is_prep – Is this a write prepare? If set, then this is to be considered part of the received value and not the whole value. A subsequent ESP_GATTS_EXEC_WRITE will mark the total. + // - uint16_t len – The length of the incoming value part. + // - uint8_t* value – The data for this value part. + // + case ESP_GATTS_WRITE_EVT: { + ESP_LOGD(LOG_TAG, "[conn_id: %d, trans_id: %d, bda: %s, handle: 0x%.2x, offset: %d, need_rsp: %d, is_prep: %d, len: %d]", + evtParam->write.conn_id, + evtParam->write.trans_id, + BLEAddress(evtParam->write.bda).toString().c_str(), + evtParam->write.handle, + evtParam->write.offset, + evtParam->write.need_rsp, + evtParam->write.is_prep, + evtParam->write.len); + char* pHex = buildHexData(nullptr, evtParam->write.value, evtParam->write.len); + ESP_LOGD(LOG_TAG, "[Data: %s]", pHex); + free(pHex); + break; + } // ESP_GATTS_WRITE_EVT + + default: + ESP_LOGD(LOG_TAG, "dumpGattServerEvent: *** NOT CODED ***"); + break; + } +} // dumpGattServerEvent + + +/** + * @brief Convert a BLE event type to a string. + * @param [in] eventType The event type. + * @return The event type as a string. + */ +const char* BLEUtils::eventTypeToString(esp_ble_evt_type_t eventType) { + switch(eventType) { + case ESP_BLE_EVT_CONN_ADV: + return "ESP_BLE_EVT_CONN_ADV"; + case ESP_BLE_EVT_CONN_DIR_ADV: + return "ESP_BLE_EVT_CONN_DIR_ADV"; + case ESP_BLE_EVT_DISC_ADV: + return "ESP_BLE_EVT_DISC_ADV"; + case ESP_BLE_EVT_NON_CONN_ADV: + return "ESP_BLE_EVT_NON_CONN_ADV"; + case ESP_BLE_EVT_SCAN_RSP: + return "ESP_BLE_EVT_SCAN_RSP"; + default: + ESP_LOGD(LOG_TAG, "Unknown esp_ble_evt_type_t: %d (0x%.2x)", eventType, eventType); + return "*** Unknown ***"; + } +} // eventTypeToString + + + +/** + * @brief Convert a BT GAP event type to a string representation. + * @param [in] eventType The type of event. + * @return A string representation of the event type. + */ +const char* BLEUtils::gapEventToString(uint32_t eventType) { + switch(eventType) { + case ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_ADV_DATA_SET_COMPLETE_EVT"; + + case ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_ADV_DATA_RAW_SET_COMPLETE_EVT"; + + case ESP_GAP_BLE_ADV_START_COMPLETE_EVT: + return "ESP_GAP_BLE_ADV_START_COMPLETE_EVT"; + + case ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT: /*!< When stop adv complete, the event comes */ + return "ESP_GAP_BLE_ADV_STOP_COMPLETE_EVT"; + + case ESP_GAP_BLE_AUTH_CMPL_EVT: /* Authentication complete indication. */ + return "ESP_GAP_BLE_AUTH_CMPL_EVT"; + + case ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT: + return "ESP_GAP_BLE_CLEAR_BOND_DEV_COMPLETE_EVT"; + + case ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT: + return "ESP_GAP_BLE_GET_BOND_DEV_COMPLETE_EVT"; + + case ESP_GAP_BLE_KEY_EVT: /* BLE key event for peer device keys */ + return "ESP_GAP_BLE_KEY_EVT"; + + case ESP_GAP_BLE_LOCAL_IR_EVT: /* BLE local IR event */ + return "ESP_GAP_BLE_LOCAL_IR_EVT"; + + case ESP_GAP_BLE_LOCAL_ER_EVT: /* BLE local ER event */ + return "ESP_GAP_BLE_LOCAL_ER_EVT"; + + case ESP_GAP_BLE_NC_REQ_EVT: /* Numeric Comparison request event */ + return "ESP_GAP_BLE_NC_REQ_EVT"; + + case ESP_GAP_BLE_OOB_REQ_EVT: /* OOB request event */ + return "ESP_GAP_BLE_OOB_REQ_EVT"; + + case ESP_GAP_BLE_PASSKEY_NOTIF_EVT: /* passkey notification event */ + return "ESP_GAP_BLE_PASSKEY_NOTIF_EVT"; + + case ESP_GAP_BLE_PASSKEY_REQ_EVT: /* passkey request event */ + return "ESP_GAP_BLE_PASSKEY_REQ_EVT"; + + case ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT: + return "ESP_GAP_BLE_READ_RSSI_COMPLETE_EVT"; + + case ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT: + return "ESP_GAP_BLE_REMOVE_BOND_DEV_COMPLETE_EVT"; + + case ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_PARAM_SET_COMPLETE_EVT"; + + case ESP_GAP_BLE_SCAN_RESULT_EVT: + return "ESP_GAP_BLE_SCAN_RESULT_EVT"; + + case ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_RSP_DATA_RAW_SET_COMPLETE_EVT"; + + case ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_RSP_DATA_SET_COMPLETE_EVT"; + + case ESP_GAP_BLE_SCAN_START_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_START_COMPLETE_EVT"; + + case ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT: + return "ESP_GAP_BLE_SCAN_STOP_COMPLETE_EVT"; + + case ESP_GAP_BLE_SEC_REQ_EVT: /* BLE security request */ + return "ESP_GAP_BLE_SEC_REQ_EVT"; + + case ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT: + return "ESP_GAP_BLE_SET_LOCAL_PRIVACY_COMPLETE_EVT"; + + case ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT: + return "ESP_GAP_BLE_SET_PKT_LENGTH_COMPLETE_EVT"; + + case ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT: + return "ESP_GAP_BLE_SET_STATIC_RAND_ADDR_EVT"; + + case ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT: + return "ESP_GAP_BLE_UPDATE_CONN_PARAMS_EVT"; + + + default: + ESP_LOGD(LOG_TAG, "gapEventToString: Unknown event type %d 0x%.2x", eventType, eventType); + return "Unknown event type"; + } +} // gapEventToString + + +std::string BLEUtils::gattCharacteristicUUIDToString(uint32_t characteristicUUID) { + const characteristicMap_t *p = g_characteristicsMappings; + while (strlen(p->name) > 0) { + if (p->assignedNumber == characteristicUUID) { + return std::string(p->name); + } + p++; + } + return "Unknown"; +} // gattCharacteristicUUIDToString + + +/** + * @brief Given the UUID for a BLE defined descriptor, return its string representation. + * @param [in] descriptorUUID UUID of the descriptor to be returned as a string. + * @return The string representation of a descriptor UUID. + */ +std::string BLEUtils::gattDescriptorUUIDToString(uint32_t descriptorUUID) { + gattdescriptor_t* p = (gattdescriptor_t *)g_descriptor_ids; + while (strlen(p->name) > 0) { + if (p->assignedNumber == descriptorUUID) { + return std::string(p->name); + } + p++; + } + return ""; +} // gattDescriptorUUIDToString + + +/** + * @brief Return a string representation of an esp_gattc_service_elem_t. + * @return A string representation of an esp_gattc_service_elem_t. + */ +std::string BLEUtils::gattcServiceElementToString(esp_gattc_service_elem_t* pGATTCServiceElement) { + std::stringstream ss; + + ss << "[uuid: " << BLEUUID(pGATTCServiceElement->uuid).toString() << + ", start_handle: " << pGATTCServiceElement->start_handle << + " 0x" << std::hex << pGATTCServiceElement->start_handle << + ", end_handle: " << std::dec << pGATTCServiceElement->end_handle << + " 0x" << std::hex << pGATTCServiceElement->end_handle << "]"; + return ss.str(); +} // gattcServiceElementToString + + +/** + * @brief Convert an esp_gatt_srvc_id_t to a string. + */ +std::string BLEUtils::gattServiceIdToString(esp_gatt_srvc_id_t srvcId) { + return gattIdToString(srvcId.id); +} // gattServiceIdToString + + +std::string BLEUtils::gattServiceToString(uint32_t serviceId) { + gattService_t* p = (gattService_t *)g_gattServices; + while (strlen(p->name) > 0) { + if (p->assignedNumber == serviceId) { + return std::string(p->name); + } + p++; + } + return "Unknown"; +} // gattServiceToString + + +/** + * @brief Convert a GATT status to a string. + * + * @param [in] status The status to convert. + * @return A string representation of the status. + */ +std::string BLEUtils::gattStatusToString(esp_gatt_status_t status) { + switch(status) { + case ESP_GATT_OK: + return "ESP_GATT_OK"; + case ESP_GATT_INVALID_HANDLE: + return "ESP_GATT_INVALID_HANDLE"; + case ESP_GATT_READ_NOT_PERMIT: + return "ESP_GATT_READ_NOT_PERMIT"; + case ESP_GATT_WRITE_NOT_PERMIT: + return "ESP_GATT_WRITE_NOT_PERMIT"; + case ESP_GATT_INVALID_PDU: + return "ESP_GATT_INVALID_PDU"; + case ESP_GATT_INSUF_AUTHENTICATION: + return "ESP_GATT_INSUF_AUTHENTICATION"; + case ESP_GATT_REQ_NOT_SUPPORTED: + return "ESP_GATT_REQ_NOT_SUPPORTED"; + case ESP_GATT_INVALID_OFFSET: + return "ESP_GATT_INVALID_OFFSET"; + case ESP_GATT_INSUF_AUTHORIZATION: + return "ESP_GATT_INSUF_AUTHORIZATION"; + case ESP_GATT_PREPARE_Q_FULL: + return "ESP_GATT_PREPARE_Q_FULL"; + case ESP_GATT_NOT_FOUND: + return "ESP_GATT_NOT_FOUND"; + case ESP_GATT_NOT_LONG: + return "ESP_GATT_NOT_LONG"; + case ESP_GATT_INSUF_KEY_SIZE: + return "ESP_GATT_INSUF_KEY_SIZE"; + case ESP_GATT_INVALID_ATTR_LEN: + return "ESP_GATT_INVALID_ATTR_LEN"; + case ESP_GATT_ERR_UNLIKELY: + return "ESP_GATT_ERR_UNLIKELY"; + case ESP_GATT_INSUF_ENCRYPTION: + return "ESP_GATT_INSUF_ENCRYPTION"; + case ESP_GATT_UNSUPPORT_GRP_TYPE: + return "ESP_GATT_UNSUPPORT_GRP_TYPE"; + case ESP_GATT_INSUF_RESOURCE: + return "ESP_GATT_INSUF_RESOURCE"; + case ESP_GATT_NO_RESOURCES: + return "ESP_GATT_NO_RESOURCES"; + case ESP_GATT_INTERNAL_ERROR: + return "ESP_GATT_INTERNAL_ERROR"; + case ESP_GATT_WRONG_STATE: + return "ESP_GATT_WRONG_STATE"; + case ESP_GATT_DB_FULL: + return "ESP_GATT_DB_FULL"; + case ESP_GATT_BUSY: + return "ESP_GATT_BUSY"; + case ESP_GATT_ERROR: + return "ESP_GATT_ERROR"; + case ESP_GATT_CMD_STARTED: + return "ESP_GATT_CMD_STARTED"; + case ESP_GATT_ILLEGAL_PARAMETER: + return "ESP_GATT_ILLEGAL_PARAMETER"; + case ESP_GATT_PENDING: + return "ESP_GATT_PENDING"; + case ESP_GATT_AUTH_FAIL: + return "ESP_GATT_AUTH_FAIL"; + case ESP_GATT_MORE: + return "ESP_GATT_MORE"; + case ESP_GATT_INVALID_CFG: + return "ESP_GATT_INVALID_CFG"; + case ESP_GATT_SERVICE_STARTED: + return "ESP_GATT_SERVICE_STARTED"; + case ESP_GATT_ENCRYPED_NO_MITM: + return "ESP_GATT_ENCRYPED_NO_MITM"; + case ESP_GATT_NOT_ENCRYPTED: + return "ESP_GATT_NOT_ENCRYPTED"; + case ESP_GATT_CONGESTED: + return "ESP_GATT_CONGESTED"; + case ESP_GATT_DUP_REG: + return "ESP_GATT_DUP_REG"; + case ESP_GATT_ALREADY_OPEN: + return "ESP_GATT_ALREADY_OPEN"; + case ESP_GATT_CANCEL: + return "ESP_GATT_CANCEL"; + case ESP_GATT_STACK_RSP: + return "ESP_GATT_STACK_RSP"; + case ESP_GATT_APP_RSP: + return "ESP_GATT_APP_RSP"; + case ESP_GATT_UNKNOWN_ERROR: + return "ESP_GATT_UNKNOWN_ERROR"; + case ESP_GATT_CCC_CFG_ERR: + return "ESP_GATT_CCC_CFG_ERR"; + case ESP_GATT_PRC_IN_PROGRESS: + return "ESP_GATT_PRC_IN_PROGRESS"; + case ESP_GATT_OUT_OF_RANGE: + return "ESP_GATT_OUT_OF_RANGE"; + default: + return "Unknown"; + } +} // gattStatusToString + + + +std::string BLEUtils::getMember(uint32_t memberId) { + member_t* p = (member_t *)members_ids; + + while (strlen(p->name) > 0) { + if (p->assignedNumber == memberId) { + return std::string(p->name); + } + p++; + } + return "Unknown"; +} + +/** + * @brief convert a GAP search event to a string. + * @param [in] searchEvt + * @return The search event type as a string. + */ +const char* BLEUtils::searchEventTypeToString(esp_gap_search_evt_t searchEvt) { + switch(searchEvt) { + case ESP_GAP_SEARCH_INQ_RES_EVT: + return "ESP_GAP_SEARCH_INQ_RES_EVT"; + case ESP_GAP_SEARCH_INQ_CMPL_EVT: + return "ESP_GAP_SEARCH_INQ_CMPL_EVT"; + case ESP_GAP_SEARCH_DISC_RES_EVT: + return "ESP_GAP_SEARCH_DISC_RES_EVT"; + case ESP_GAP_SEARCH_DISC_BLE_RES_EVT: + return "ESP_GAP_SEARCH_DISC_BLE_RES_EVT"; + case ESP_GAP_SEARCH_DISC_CMPL_EVT: + return "ESP_GAP_SEARCH_DISC_CMPL_EVT"; + case ESP_GAP_SEARCH_DI_DISC_CMPL_EVT: + return "ESP_GAP_SEARCH_DI_DISC_CMPL_EVT"; + case ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT: + return "ESP_GAP_SEARCH_SEARCH_CANCEL_CMPL_EVT"; + default: + ESP_LOGD(LOG_TAG, "Unknown event type: 0x%x", searchEvt); + return "Unknown event type"; + } +} // searchEventTypeToString + +#endif // CONFIG_BT_ENABLED diff --git a/lib/ESP32_BLE_Arduino/src/BLEUtils.h b/lib/ESP32_BLE_Arduino/src/BLEUtils.h new file mode 100644 index 00000000..b2baee53 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEUtils.h @@ -0,0 +1,63 @@ +/* + * BLEUtils.h + * + * Created on: Mar 25, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEUTILS_H_ +#define COMPONENTS_CPP_UTILS_BLEUTILS_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include // ESP32 BLE +#include // ESP32 BLE +#include // ESP32 BLE +#include +#include "BLEClient.h" + +/** + * @brief A set of general %BLE utilities. + */ +class BLEUtils { +public: + static const char* addressTypeToString(esp_ble_addr_type_t type); + static std::string adFlagsToString(uint8_t adFlags); + static const char* advTypeToString(uint8_t advType); + static esp_gatt_id_t buildGattId(esp_bt_uuid_t uuid, uint8_t inst_id=0); + static esp_gatt_srvc_id_t buildGattSrvcId(esp_gatt_id_t gattId, bool is_primary=true); + static char* buildHexData(uint8_t* target, uint8_t* source, uint8_t length); + static std::string buildPrintData(uint8_t* source, size_t length); + static std::string characteristicPropertiesToString(esp_gatt_char_prop_t prop); + static const char* devTypeToString(esp_bt_dev_type_t type); + static void dumpGapEvent( + esp_gap_ble_cb_event_t event, + esp_ble_gap_cb_param_t* param); + static void dumpGattClientEvent( + esp_gattc_cb_event_t event, + esp_gatt_if_t gattc_if, + esp_ble_gattc_cb_param_t* evtParam); + static void dumpGattServerEvent( + esp_gatts_cb_event_t event, + esp_gatt_if_t gatts_if, + esp_ble_gatts_cb_param_t* evtParam); + static const char* eventTypeToString(esp_ble_evt_type_t eventType); + static BLEClient* findByAddress(BLEAddress address); + static BLEClient* findByConnId(uint16_t conn_id); + static const char* gapEventToString(uint32_t eventType); + static std::string gattCharacteristicUUIDToString(uint32_t characteristicUUID); + static std::string gattClientEventTypeToString(esp_gattc_cb_event_t eventType); + static std::string gattCloseReasonToString(esp_gatt_conn_reason_t reason); + static std::string gattcServiceElementToString(esp_gattc_service_elem_t *pGATTCServiceElement); + static std::string gattDescriptorUUIDToString(uint32_t descriptorUUID); + static std::string gattServerEventTypeToString(esp_gatts_cb_event_t eventType); + static std::string gattServiceIdToString(esp_gatt_srvc_id_t srvcId); + static std::string gattServiceToString(uint32_t serviceId); + static std::string gattStatusToString(esp_gatt_status_t status); + static std::string getMember(uint32_t memberId); + static void registerByAddress(BLEAddress address, BLEClient* pDevice); + static void registerByConnId(uint16_t conn_id, BLEClient* pDevice); + static const char* searchEventTypeToString(esp_gap_search_evt_t searchEvt); +}; + +#endif // CONFIG_BT_ENABLED +#endif /* COMPONENTS_CPP_UTILS_BLEUTILS_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/BLEValue.cpp b/lib/ESP32_BLE_Arduino/src/BLEValue.cpp new file mode 100644 index 00000000..49818e27 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEValue.cpp @@ -0,0 +1,142 @@ +/* + * BLEValue.cpp + * + * Created on: Jul 17, 2017 + * Author: kolban + */ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) + +#include + +#include "BLEValue.h" +#ifdef ARDUINO_ARCH_ESP32 +#include "esp32-hal-log.h" +#endif + +static const char* LOG_TAG="BLEValue"; + +BLEValue::BLEValue() { + m_accumulation = ""; + m_value = ""; + m_readOffset = 0; +} // BLEValue + + +/** + * @brief Add a message part to the accumulation. + * The accumulation is a growing set of data that is added to until a commit or cancel. + * @param [in] part A message part being added. + */ +void BLEValue::addPart(std::string part) { + ESP_LOGD(LOG_TAG, ">> addPart: length=%d", part.length()); + m_accumulation += part; +} // addPart + + +/** + * @brief Add a message part to the accumulation. + * The accumulation is a growing set of data that is added to until a commit or cancel. + * @param [in] pData A message part being added. + * @param [in] length The number of bytes being added. + */ +void BLEValue::addPart(uint8_t* pData, size_t length) { + ESP_LOGD(LOG_TAG, ">> addPart: length=%d", length); + m_accumulation += std::string((char *)pData, length); +} // addPart + + +/** + * @brief Cancel the current accumulation. + */ +void BLEValue::cancel() { + ESP_LOGD(LOG_TAG, ">> cancel"); + m_accumulation = ""; + m_readOffset = 0; +} // cancel + + +/** + * @brief Commit the current accumulation. + * When writing a value, we may find that we write it in "parts" meaning that the writes come in in pieces + * of the overall message. After the last part has been received, we may perform a commit which means that + * we now have the complete message and commit the change as a unit. + */ +void BLEValue::commit() { + ESP_LOGD(LOG_TAG, ">> commit"); + // If there is nothing to commit, do nothing. + if (m_accumulation.length() == 0) { + return; + } + setValue(m_accumulation); + m_accumulation = ""; + m_readOffset = 0; +} // commit + + +/** + * @brief Get a pointer to the data. + * @return A pointer to the data. + */ +uint8_t* BLEValue::getData() { + return (uint8_t*)m_value.data(); +} + + +/** + * @brief Get the length of the data in bytes. + * @return The length of the data in bytes. + */ +size_t BLEValue::getLength() { + return m_value.length(); +} // getLength + + +/** + * @brief Get the read offset. + * @return The read offset into the read. + */ +uint16_t BLEValue::getReadOffset() { + return m_readOffset; +} // getReadOffset + + +/** + * @brief Get the current value. + */ +std::string BLEValue::getValue() { + return m_value; +} // getValue + + +/** + * @brief Set the read offset + * @param [in] readOffset The offset into the read. + */ +void BLEValue::setReadOffset(uint16_t readOffset) { + m_readOffset = readOffset; +} // setReadOffset + + +/** + * @brief Set the current value. + */ +void BLEValue::setValue(std::string value) { + m_value = value; +} // setValue + + +/** + * @brief Set the current value. + * @param [in] pData The data for the current value. + * @param [in] The length of the new current value. + */ +void BLEValue::setValue(uint8_t* pData, size_t length) { + m_value = std::string((char*)pData, length); +} // setValue + + + + + +#endif // CONFIG_BT_ENABLED diff --git a/lib/ESP32_BLE_Arduino/src/BLEValue.h b/lib/ESP32_BLE_Arduino/src/BLEValue.h new file mode 100644 index 00000000..92a7f9a4 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/BLEValue.h @@ -0,0 +1,38 @@ +/* + * BLEValue.h + * + * Created on: Jul 17, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_BLEVALUE_H_ +#define COMPONENTS_CPP_UTILS_BLEVALUE_H_ +#include "sdkconfig.h" +#if defined(CONFIG_BT_ENABLED) +#include + +/** + * @brief The model of a %BLE value. + */ +class BLEValue { +public: + BLEValue(); + void addPart(std::string part); + void addPart(uint8_t* pData, size_t length); + void cancel(); + void commit(); + uint8_t* getData(); + size_t getLength(); + uint16_t getReadOffset(); + std::string getValue(); + void setReadOffset(uint16_t readOffset); + void setValue(std::string value); + void setValue(uint8_t* pData, size_t length); + +private: + std::string m_accumulation; + uint16_t m_readOffset; + std::string m_value; +}; +#endif // CONFIG_BT_ENABLED +#endif /* COMPONENTS_CPP_UTILS_BLEVALUE_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/FreeRTOS.cpp b/lib/ESP32_BLE_Arduino/src/FreeRTOS.cpp new file mode 100644 index 00000000..92390424 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/FreeRTOS.cpp @@ -0,0 +1,262 @@ +/* + * FreeRTOS.cpp + * + * Created on: Feb 24, 2017 + * Author: kolban + */ +#include // Include the base FreeRTOS definitions +#include // Include the task definitions +#include // Include the semaphore definitions +#include +#include +#include +#include "FreeRTOS.h" +#include +#include "sdkconfig.h" + +static const char* LOG_TAG = "FreeRTOS"; + +/** + * Sleep for the specified number of milliseconds. + * @param[in] ms The period in milliseconds for which to sleep. + */ +void FreeRTOS::sleep(uint32_t ms) { + ::vTaskDelay(ms/portTICK_PERIOD_MS); +} // sleep + + +/** + * Start a new task. + * @param[in] task The function pointer to the function to be run in the task. + * @param[in] taskName A string identifier for the task. + * @param[in] param An optional parameter to be passed to the started task. + * @param[in] stackSize An optional paremeter supplying the size of the stack in which to run the task. + */ +void FreeRTOS::startTask(void task(void*), std::string taskName, void *param, int stackSize) { + ::xTaskCreate(task, taskName.data(), stackSize, param, 5, NULL); +} // startTask + + +/** + * Delete the task. + * @param[in] pTask An optional handle to the task to be deleted. If not supplied the calling task will be deleted. + */ +void FreeRTOS::deleteTask(TaskHandle_t pTask) { + ::vTaskDelete(pTask); +} // deleteTask + + +/** + * Get the time in milliseconds since the %FreeRTOS scheduler started. + * @return The time in milliseconds since the %FreeRTOS scheduler started. + */ +uint32_t FreeRTOS::getTimeSinceStart() { + return (uint32_t)(xTaskGetTickCount()*portTICK_PERIOD_MS); +} // getTimeSinceStart + +/* + * public: + Semaphore(std::string = ""); + ~Semaphore(); + void give(); + void take(std::string owner=""); + void take(uint32_t timeoutMs, std::string owner=""); + private: + SemaphoreHandle_t m_semaphore; + std::string m_name; + std::string m_owner; + }; + * + */ + +/** + * @brief Wait for a semaphore to be released by trying to take it and + * then releasing it again. + * @param [in] owner A debug tag. + * @return The value associated with the semaphore. + */ +uint32_t FreeRTOS::Semaphore::wait(std::string owner) { + ESP_LOGV(LOG_TAG, ">> wait: Semaphore waiting: %s for %s", toString().c_str(), owner.c_str()); + + + if (m_usePthreads) { + pthread_mutex_lock(&m_pthread_mutex); + } else { + xSemaphoreTake(m_semaphore, portMAX_DELAY); + } + + m_owner = owner; + + if (m_usePthreads) { + pthread_mutex_unlock(&m_pthread_mutex); + } else { + xSemaphoreGive(m_semaphore); + } + + ESP_LOGV(LOG_TAG, "<< wait: Semaphore released: %s", toString().c_str()); + m_owner = std::string(""); + return m_value; +} // wait + + +FreeRTOS::Semaphore::Semaphore(std::string name) { + m_usePthreads = false; // Are we using pThreads or FreeRTOS? + if (m_usePthreads) { + pthread_mutex_init(&m_pthread_mutex, nullptr); + } else { + m_semaphore = xSemaphoreCreateMutex(); + } + + m_name = name; + m_owner = std::string(""); + m_value = 0; +} + + +FreeRTOS::Semaphore::~Semaphore() { + if (m_usePthreads) { + pthread_mutex_destroy(&m_pthread_mutex); + } else { + vSemaphoreDelete(m_semaphore); + } +} + + +/** + * @brief Give a semaphore. + * The Semaphore is given. + */ +void FreeRTOS::Semaphore::give() { + ESP_LOGV(LOG_TAG, "Semaphore giving: %s", toString().c_str()); + if (m_usePthreads) { + pthread_mutex_unlock(&m_pthread_mutex); + } else { + xSemaphoreGive(m_semaphore); + } +#ifdef ARDUINO_ARCH_ESP32 + FreeRTOS::sleep(10); +#endif + + m_owner = std::string(""); +} // Semaphore::give + + +/** + * @brief Give a semaphore. + * The Semaphore is given with an associated value. + * @param [in] value The value to associate with the semaphore. + */ +void FreeRTOS::Semaphore::give(uint32_t value) { + m_value = value; + give(); +} // give + + +/** + * @brief Give a semaphore from an ISR. + */ +void FreeRTOS::Semaphore::giveFromISR() { + BaseType_t higherPriorityTaskWoken; + if (m_usePthreads) { + assert(false); + } else { + xSemaphoreGiveFromISR(m_semaphore, &higherPriorityTaskWoken); + } +} // giveFromISR + + +/** + * @brief Take a semaphore. + * Take a semaphore and wait indefinitely. + */ +void FreeRTOS::Semaphore::take(std::string owner) +{ + ESP_LOGD(LOG_TAG, "Semaphore taking: %s for %s", toString().c_str(), owner.c_str()); + if (m_usePthreads) { + pthread_mutex_lock(&m_pthread_mutex); + } else { + xSemaphoreTake(m_semaphore, portMAX_DELAY); + } + m_owner = owner; + ESP_LOGD(LOG_TAG, "Semaphore taken: %s", toString().c_str()); +} // Semaphore::take + + +/** + * @brief Take a semaphore. + * Take a semaphore but return if we haven't obtained it in the given period of milliseconds. + * @param [in] timeoutMs Timeout in milliseconds. + */ +void FreeRTOS::Semaphore::take(uint32_t timeoutMs, std::string owner) { + + ESP_LOGV(LOG_TAG, "Semaphore taking: %s for %s", toString().c_str(), owner.c_str()); + + if (m_usePthreads) { + assert(false); + } else { + xSemaphoreTake(m_semaphore, timeoutMs/portTICK_PERIOD_MS); + } + m_owner = owner; + ESP_LOGV(LOG_TAG, "Semaphore taken: %s", toString().c_str()); +} // Semaphore::take + + +std::string FreeRTOS::Semaphore::toString() { + std::stringstream stringStream; + stringStream << "name: "<< m_name << " (0x" << std::hex << std::setfill('0') << (uint32_t)m_semaphore << "), owner: " << m_owner; + return stringStream.str(); +} // toString + + +void FreeRTOS::Semaphore::setName(std::string name) { + m_name = name; +} // setName + + +/** + * @brief Create a ring buffer. + * @param [in] length The amount of storage to allocate for the ring buffer. + * @param [in] type The type of buffer. One of RINGBUF_TYPE_NOSPLIT, RINGBUF_TYPE_ALLOWSPLIT, RINGBUF_TYPE_BYTEBUF. + */ +Ringbuffer::Ringbuffer(size_t length, ringbuf_type_t type) { + m_handle = ::xRingbufferCreate(length, type); +} // Ringbuffer + + +Ringbuffer::~Ringbuffer() { + ::vRingbufferDelete(m_handle); +} // ~Ringbuffer + + +/** + * @brief Receive data from the buffer. + * @param [out] size On return, the size of data returned. + * @param [in] wait How long to wait. + * @return A pointer to the storage retrieved. + */ +void* Ringbuffer::receive(size_t* size, TickType_t wait) { + return ::xRingbufferReceive(m_handle, size, wait); +} // receive + + +/** + * @brief Return an item. + * @param [in] item The item to be returned/released. + */ +void Ringbuffer::returnItem(void* item) { + ::vRingbufferReturnItem(m_handle, item); +} // returnItem + + +/** + * @brief Send data to the buffer. + * @param [in] data The data to place into the buffer. + * @param [in] length The length of data to place into the buffer. + * @param [in] wait How long to wait before giving up. The default is to wait indefinitely. + * @return + */ +uint32_t Ringbuffer::send(void* data, size_t length, TickType_t wait) { + return ::xRingbufferSend(m_handle, data, length, wait); +} // send + + diff --git a/lib/ESP32_BLE_Arduino/src/FreeRTOS.h b/lib/ESP32_BLE_Arduino/src/FreeRTOS.h new file mode 100644 index 00000000..43a3b8f4 --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/FreeRTOS.h @@ -0,0 +1,70 @@ +/* + * FreeRTOS.h + * + * Created on: Feb 24, 2017 + * Author: kolban + */ + +#ifndef MAIN_FREERTOS_H_ +#define MAIN_FREERTOS_H_ +#include +#include +#include + +#include // Include the base FreeRTOS definitions. +#include // Include the task definitions. +#include // Include the semaphore definitions. +#include // Include the ringbuffer definitions. + + +/** + * @brief Interface to %FreeRTOS functions. + */ +class FreeRTOS { +public: + static void sleep(uint32_t ms); + static void startTask(void task(void *), std::string taskName, void *param=nullptr, int stackSize = 2048); + static void deleteTask(TaskHandle_t pTask = nullptr); + + static uint32_t getTimeSinceStart(); + + class Semaphore { + public: + Semaphore(std::string owner = ""); + ~Semaphore(); + void give(); + void give(uint32_t value); + void giveFromISR(); + void setName(std::string name); + void take(std::string owner=""); + void take(uint32_t timeoutMs, std::string owner=""); + std::string toString(); + uint32_t wait(std::string owner=""); + + private: + SemaphoreHandle_t m_semaphore; + pthread_mutex_t m_pthread_mutex; + std::string m_name; + std::string m_owner; + uint32_t m_value; + bool m_usePthreads; + }; +}; + + +/** + * @brief Ringbuffer. + */ +class Ringbuffer { +public: + Ringbuffer(size_t length, ringbuf_type_t type = RINGBUF_TYPE_NOSPLIT); + ~Ringbuffer(); + + void* receive(size_t* size, TickType_t wait = portMAX_DELAY); + void returnItem(void* item); + uint32_t send(void* data, size_t length, TickType_t wait = portMAX_DELAY); +private: + RingbufHandle_t m_handle; +}; + +#endif /* MAIN_FREERTOS_H_ */ diff --git a/lib/ESP32_BLE_Arduino/src/GeneralUtils.cpp b/lib/ESP32_BLE_Arduino/src/GeneralUtils.cpp new file mode 100644 index 00000000..e8eb3a0a --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/GeneralUtils.cpp @@ -0,0 +1,406 @@ +/* + * GeneralUtils.cpp + * + * Created on: May 20, 2017 + * Author: kolban + */ + +#include "GeneralUtils.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +static const char* LOG_TAG = "GeneralUtils"; + +static const char kBase64Alphabet[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" + "abcdefghijklmnopqrstuvwxyz" + "0123456789+/"; + +static int base64EncodedLength(size_t length) { + return (length + 2 - ((length + 2) % 3)) / 3 * 4; +} // base64EncodedLength + + +static int base64EncodedLength(const std::string &in) { + return base64EncodedLength(in.length()); +} // base64EncodedLength + + +static void a3_to_a4(unsigned char * a4, unsigned char * a3) { + a4[0] = (a3[0] & 0xfc) >> 2; + a4[1] = ((a3[0] & 0x03) << 4) + ((a3[1] & 0xf0) >> 4); + a4[2] = ((a3[1] & 0x0f) << 2) + ((a3[2] & 0xc0) >> 6); + a4[3] = (a3[2] & 0x3f); +} // a3_to_a4 + + +static void a4_to_a3(unsigned char * a3, unsigned char * a4) { + a3[0] = (a4[0] << 2) + ((a4[1] & 0x30) >> 4); + a3[1] = ((a4[1] & 0xf) << 4) + ((a4[2] & 0x3c) >> 2); + a3[2] = ((a4[2] & 0x3) << 6) + a4[3]; +} // a4_to_a3 + + +/** + * @brief Encode a string into base 64. + * @param [in] in + * @param [out] out + */ +bool GeneralUtils::base64Encode(const std::string &in, std::string *out) { + int i = 0, j = 0; + size_t enc_len = 0; + unsigned char a3[3]; + unsigned char a4[4]; + + out->resize(base64EncodedLength(in)); + + int input_len = in.size(); + std::string::const_iterator input = in.begin(); + + while (input_len--) { + a3[i++] = *(input++); + if (i == 3) { + a3_to_a4(a4, a3); + + for (i = 0; i < 4; i++) { + (*out)[enc_len++] = kBase64Alphabet[a4[i]]; + } + + i = 0; + } + } + + if (i) { + for (j = i; j < 3; j++) { + a3[j] = '\0'; + } + + a3_to_a4(a4, a3); + + for (j = 0; j < i + 1; j++) { + (*out)[enc_len++] = kBase64Alphabet[a4[j]]; + } + + while ((i++ < 3)) { + (*out)[enc_len++] = '='; + } + } + + return (enc_len == out->size()); +} // base64Encode + + +/** + * @brief Does the string end with a specific character? + * @param [in] str The string to examine. + * @param [in] c The character to look form. + * @return True if the string ends with the given character. + */ +bool GeneralUtils::endsWith(std::string str, char c) { + if (str.empty()) { + return false; + } + if (str.at(str.length()-1) == c) { + return true; + } + return false; +} // endsWidth + + +static int DecodedLength(const std::string &in) { + int numEq = 0; + int n = in.size(); + + for (std::string::const_reverse_iterator it = in.rbegin(); *it == '='; ++it) { + ++numEq; + } + return ((6 * n) / 8) - numEq; +} // DecodedLength + + +static unsigned char b64_lookup(unsigned char c) { + if(c >='A' && c <='Z') return c - 'A'; + if(c >='a' && c <='z') return c - 71; + if(c >='0' && c <='9') return c + 4; + if(c == '+') return 62; + if(c == '/') return 63; + return 255; +}; // b64_lookup + + +/** + * @brief Decode a chunk of data that is base64 encoded. + * @param [in] in The string to be decoded. + * @param [out] out The resulting data. + */ +bool GeneralUtils::base64Decode(const std::string &in, std::string *out) { + int i = 0, j = 0; + size_t dec_len = 0; + unsigned char a3[3]; + unsigned char a4[4]; + + int input_len = in.size(); + std::string::const_iterator input = in.begin(); + + out->resize(DecodedLength(in)); + + while (input_len--) { + if (*input == '=') { + break; + } + + a4[i++] = *(input++); + if (i == 4) { + for (i = 0; i <4; i++) { + a4[i] = b64_lookup(a4[i]); + } + + a4_to_a3(a3,a4); + + for (i = 0; i < 3; i++) { + (*out)[dec_len++] = a3[i]; + } + + i = 0; + } + } + + if (i) { + for (j = i; j < 4; j++) { + a4[j] = '\0'; + } + + for (j = 0; j < 4; j++) { + a4[j] = b64_lookup(a4[j]); + } + + a4_to_a3(a3,a4); + + for (j = 0; j < i - 1; j++) { + (*out)[dec_len++] = a3[j]; + } + } + + return (dec_len == out->size()); + } // base64Decode + +/* +void GeneralUtils::hexDump(uint8_t* pData, uint32_t length) { + uint32_t index=0; + std::stringstream ascii; + std::stringstream hex; + char asciiBuf[80]; + char hexBuf[80]; + hex.str(""); + ascii.str(""); + while(index < length) { + hex << std::setfill('0') << std::setw(2) << std::hex << (int)pData[index] << ' '; + if (std::isprint(pData[index])) { + ascii << pData[index]; + } else { + ascii << '.'; + } + index++; + if (index % 16 == 0) { + strcpy(hexBuf, hex.str().c_str()); + strcpy(asciiBuf, ascii.str().c_str()); + ESP_LOGD(tag, "%s %s", hexBuf, asciiBuf); + hex.str(""); + ascii.str(""); + } + } + if (index %16 != 0) { + while(index % 16 != 0) { + hex << " "; + index++; + } + strcpy(hexBuf, hex.str().c_str()); + strcpy(asciiBuf, ascii.str().c_str()); + ESP_LOGD(tag, "%s %s", hexBuf, asciiBuf); + //ESP_LOGD(tag, "%s %s", hex.str().c_str(), ascii.str().c_str()); + } + FreeRTOS::sleep(1000); +} +*/ + +/* +void GeneralUtils::hexDump(uint8_t* pData, uint32_t length) { + uint32_t index=0; + static std::stringstream ascii; + static std::stringstream hex; + hex.str(""); + ascii.str(""); + while(index < length) { + hex << std::setfill('0') << std::setw(2) << std::hex << (int)pData[index] << ' '; + if (std::isprint(pData[index])) { + ascii << pData[index]; + } else { + ascii << '.'; + } + index++; + if (index % 16 == 0) { + ESP_LOGD(tag, "%s %s", hex.str().c_str(), ascii.str().c_str()); + hex.str(""); + ascii.str(""); + } + } + if (index %16 != 0) { + while(index % 16 != 0) { + hex << " "; + index++; + } + ESP_LOGD(tag, "%s %s", hex.str().c_str(), ascii.str().c_str()); + } + FreeRTOS::sleep(1000); +} +*/ + + +/** + * @brief Dump a representation of binary data to the console. + * + * @param [in] pData Pointer to the start of data to be logged. + * @param [in] length Length of the data (in bytes) to be logged. + * @return N/A. + */ +void GeneralUtils::hexDump(const uint8_t* pData, uint32_t length) { + char ascii[80]; + char hex[80]; + char tempBuf[80]; + uint32_t lineNumber = 0; + + ESP_LOGD(LOG_TAG, " 00 01 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f ----------------"); + strcpy(ascii, ""); + strcpy(hex, ""); + uint32_t index=0; + while(index < length) { + sprintf(tempBuf, "%.2x ", pData[index]); + strcat(hex, tempBuf); + if (isprint(pData[index])) { + sprintf(tempBuf, "%c", pData[index]); + } else { + sprintf(tempBuf, "."); + } + strcat(ascii, tempBuf); + index++; + if (index % 16 == 0) { + ESP_LOGD(LOG_TAG, "%.4x %s %s", lineNumber*16, hex, ascii); + strcpy(ascii, ""); + strcpy(hex, ""); + lineNumber++; + } + } + if (index %16 != 0) { + while(index % 16 != 0) { + strcat(hex, " "); + index++; + } + ESP_LOGD(LOG_TAG, "%.4x %s %s", lineNumber*16, hex, ascii); + } +} // hexDump + + +/** + * @brief Convert an IP address to string. + * @param ip The 4 byte IP address. + * @return A string representation of the IP address. + */ +std::string GeneralUtils::ipToString(uint8_t *ip) { + std::stringstream s; + s << (int)ip[0] << '.' << (int)ip[1] << '.' << (int)ip[2] << '.' << (int)ip[3]; + return s.str(); +} // ipToString + + +/** + * @brief Convert an ESP error code to a string. + * @param [in] errCode The errCode to be converted. + * @return A string representation of the error code. + */ +const char* GeneralUtils::errorToString(esp_err_t errCode) { + switch(errCode) { + case ESP_OK: + return "OK"; + case ESP_FAIL: + return "Fail"; + case ESP_ERR_NO_MEM: + return "No memory"; + case ESP_ERR_INVALID_ARG: + return "Invalid argument"; + case ESP_ERR_INVALID_SIZE: + return "Invalid state"; + case ESP_ERR_INVALID_STATE: + return "Invalid state"; + case ESP_ERR_NOT_FOUND: + return "Not found"; + case ESP_ERR_NOT_SUPPORTED: + return "Not supported"; + case ESP_ERR_TIMEOUT: + return "Timeout"; + case ESP_ERR_NVS_NOT_INITIALIZED: + return "ESP_ERR_NVS_NOT_INITIALIZED"; + case ESP_ERR_NVS_NOT_FOUND: + return "ESP_ERR_NVS_NOT_FOUND"; + case ESP_ERR_NVS_TYPE_MISMATCH: + return "ESP_ERR_NVS_TYPE_MISMATCH"; + case ESP_ERR_NVS_READ_ONLY: + return "ESP_ERR_NVS_READ_ONLY"; + case ESP_ERR_NVS_NOT_ENOUGH_SPACE: + return "ESP_ERR_NVS_NOT_ENOUGH_SPACE"; + case ESP_ERR_NVS_INVALID_NAME: + return "ESP_ERR_NVS_INVALID_NAME"; + case ESP_ERR_NVS_INVALID_HANDLE: + return "ESP_ERR_NVS_INVALID_HANDLE"; + case ESP_ERR_NVS_REMOVE_FAILED: + return "ESP_ERR_NVS_REMOVE_FAILED"; + case ESP_ERR_NVS_KEY_TOO_LONG: + return "ESP_ERR_NVS_KEY_TOO_LONG"; + case ESP_ERR_NVS_PAGE_FULL: + return "ESP_ERR_NVS_PAGE_FULL"; + case ESP_ERR_NVS_INVALID_STATE: + return "ESP_ERR_NVS_INVALID_STATE"; + case ESP_ERR_NVS_INVALID_LENGTH: + return "ESP_ERR_NVS_INVALID_LENGTH"; + case ESP_ERR_WIFI_NOT_INIT: + return "ESP_ERR_WIFI_NOT_INIT"; + //case ESP_ERR_WIFI_NOT_START: + // return "ESP_ERR_WIFI_NOT_START"; + case ESP_ERR_WIFI_IF: + return "ESP_ERR_WIFI_IF"; + case ESP_ERR_WIFI_MODE: + return "ESP_ERR_WIFI_MODE"; + case ESP_ERR_WIFI_STATE: + return "ESP_ERR_WIFI_STATE"; + case ESP_ERR_WIFI_CONN: + return "ESP_ERR_WIFI_CONN"; + case ESP_ERR_WIFI_NVS: + return "ESP_ERR_WIFI_NVS"; + case ESP_ERR_WIFI_MAC: + return "ESP_ERR_WIFI_MAC"; + case ESP_ERR_WIFI_SSID: + return "ESP_ERR_WIFI_SSID"; + case ESP_ERR_WIFI_PASSWORD: + return "ESP_ERR_WIFI_PASSWORD"; + case ESP_ERR_WIFI_TIMEOUT: + return "ESP_ERR_WIFI_TIMEOUT"; + case ESP_ERR_WIFI_WAKE_FAIL: + return "ESP_ERR_WIFI_WAKE_FAIL"; + } + return "Unknown ESP_ERR error"; +} // errorToString + + +/** + * @brief Restart the ESP32. + */ +void GeneralUtils::restart() { + esp_restart(); +} // restart diff --git a/lib/ESP32_BLE_Arduino/src/GeneralUtils.h b/lib/ESP32_BLE_Arduino/src/GeneralUtils.h new file mode 100644 index 00000000..2d55abfc --- /dev/null +++ b/lib/ESP32_BLE_Arduino/src/GeneralUtils.h @@ -0,0 +1,28 @@ +/* + * GeneralUtils.h + * + * Created on: May 20, 2017 + * Author: kolban + */ + +#ifndef COMPONENTS_CPP_UTILS_GENERALUTILS_H_ +#define COMPONENTS_CPP_UTILS_GENERALUTILS_H_ +#include +#include +#include + +/** + * @brief General utilities. + */ +class GeneralUtils { +public: + static bool base64Decode(const std::string& in, std::string* out); + static bool base64Encode(const std::string& in, std::string* out); + static bool endsWith(std::string str, char c); + static const char* errorToString(esp_err_t errCode); + static void hexDump(const uint8_t* pData, uint32_t length); + static std::string ipToString(uint8_t* ip); + static void restart(); +}; + +#endif /* COMPONENTS_CPP_UTILS_GENERALUTILS_H_ */ diff --git a/lib/IRremoteESP8266/CPPLINT.cfg b/lib/IRremoteESP8266/CPPLINT.cfg new file mode 100644 index 00000000..181f5204 --- /dev/null +++ b/lib/IRremoteESP8266/CPPLINT.cfg @@ -0,0 +1,3 @@ +set noparent +root=src +linelength=80 diff --git a/lib/IRremoteESP8266/LICENSE.txt b/lib/IRremoteESP8266/LICENSE.txt new file mode 100644 index 00000000..77cec6dd --- /dev/null +++ b/lib/IRremoteESP8266/LICENSE.txt @@ -0,0 +1,458 @@ + + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +not price. Our General Public Licenses are designed to make sure that +you have the freedom to distribute copies of free software (and charge +for this service if you wish); that you receive source code or can get +it if you want it; that you can change the software and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, complete source code means +all the source code for all modules it contains, plus any associated +interface definition files, plus the scripts used to control compilation +and installation of the library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete source code as you receive it, in any medium, provided that +you conspicuously and appropriately publish on each copy an +appropriate copyright notice and disclaimer of warranty; keep intact +all the notices that refer to this License and to the absence of any +warranty; and distribute a copy of this License along with the +Library. + + You may charge a fee for the physical act of transferring a copy, +and you may at your option offer warranty protection in exchange for a +fee. + + 2. You may modify your copy or copies of the Library or any portion +of it, thus forming a work based on the Library, and copy and +distribute such modifications or work under the terms of Section 1 +above, provided that you also meet all of these conditions: + + a) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +and can be reasonably considered independent and separate works in +themselves, then this License, and its terms, do not apply to those +sections when you distribute them as separate works. But when you +distribute the same sections as part of a whole which is a work based +on the Library, the distribution of the whole must be on the terms of +this License, whose permissions for other licensees extend to the +entire whole, and thus to each and every part regardless of who wrote +it. + +Thus, it is not the intent of this section to claim rights or contest +your rights to work written entirely by you; rather, the intent is to +exercise the right to control the distribution of derivative or +collective works based on the Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you accompany +it with the complete corresponding machine-readable source code, which +must be distributed under the terms of Sections 1 and 2 above on a +medium customarily used for software interchange. + + If distribution of object code is made by offering access to copy +from a designated place, then offering equivalent access to copy the +source code from the same place satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be distributed need not include anything that is +normally distributed (in either source or binary form) with the major +components (compiler, kernel, and so on) of the operating system on +which the executable runs, unless that component itself accompanies +the executable. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. You may place library facilities that are a work based on the +Library side-by-side in a single library together with other library +facilities not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library is void, and will automatically terminate your +rights under this License. However, parties who have received copies, +or rights, from you under this License will not have their licenses +terminated so long as such parties remain in full compliance. + + 9. You are not required to accept this License, since you have not +signed it. However, nothing else grants you permission to modify or +distribute the Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +subject to these terms and conditions. You may not impose any further +restrictions on the recipients' exercise of the rights granted herein. +You are not responsible for enforcing compliance by third parties with +this License. + + 11. If, as a consequence of a court judgment or allegation of patent +infringement or for any other reason (not limited to patent issues), +conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot +distribute so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you +may not distribute the Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library by +all those who receive copies directly or indirectly through you, then +the only way you could satisfy both it and this License would be to +refrain entirely from distribution of the Library. + +If any portion of this section is held invalid or unenforceable under any +particular circumstance, the balance of the section is intended to apply, +and the section as a whole is intended to apply in other circumstances. + +It is not the purpose of this section to induce you to infringe any +patents or other property right claims or to contest validity of any +such claims; this section has the sole purpose of protecting the +integrity of the free software distribution system which is +implemented by public license practices. Many people have made +generous contributions to the wide range of software distributed +through that system in reliance on consistent application of that +system; it is up to the author/donor to decide if he or she is willing +to distribute software through any other system and a licensee cannot +impose that choice. + +This section is intended to make thoroughly clear what is believed to +be a consequence of the rest of this License. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library under this License may add +an explicit geographical distribution limitation excluding those countries, +so that distribution is permitted only in or among countries not thus +excluded. In such case, this License incorporates the limitation as if +written in the body of this License. + + 13. The Free Software Foundation may publish revised and/or new +versions of the Lesser General Public License from time to time. +Such new versions will be similar in spirit to the present version, +but may differ in detail to address new problems or concerns. + +Each version is given a distinguishing version number. If the Library +specifies a version number of this License which applies to it and +"any later version", you have the option of following the terms and +conditions either of that version or of any later version published by +the Free Software Foundation. If the Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +write to the author to ask for permission. For software which is +copyrighted by the Free Software Foundation, write to the Free +Software Foundation; we sometimes make exceptions for this. Our +decision will be guided by the two goals of preserving the free status +of all derivatives of our free software and of promoting the sharing +and reuse of software generally. + + NO WARRANTY + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY +KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN +WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY +AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU +FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR +CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE +LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING +RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A +FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + diff --git a/lib/IRremoteESP8266/README.md b/lib/IRremoteESP8266/README.md new file mode 100644 index 00000000..ea916b2a --- /dev/null +++ b/lib/IRremoteESP8266/README.md @@ -0,0 +1,71 @@ +# IRremote ESP8266 Library + +[![Build Status](https://travis-ci.org/markszabo/IRremoteESP8266.svg?branch=master)](https://travis-ci.org/markszabo/IRremoteESP8266) + +This library enables you to **send and receive** infra-red signals on an ESP8266 using Arduino framework (https://github.com/esp8266/Arduino) + +## v2.2 Now Available +Version 2.2 of the library is now available. This is a significant internal change to existing versions. + +## Upgrading from versions prior to v2.0 +You will need to change your pre-v2.0 code slightly to work with post-v2.0 versions of the library. You can read more about the changes on our [wiki](https://github.com/markszabo/IRremoteESP8266/wiki/Upgrading-to-v2.0) page. +Please [report an issue](https://github.com/markszabo/IRremoteESP8266/issues/new) if you find any problems with the documentation or the library itself. + +## Troubleshooting +Before reporting an issue or asking for help, please try to follow our [Troubleshooting Guide](https://github.com/markszabo/IRremoteESP8266/wiki/Troubleshooting-Guide) first. + +## Frequently Asked Questions +Some common answers to common questions and problems can be found on our [F.A.Q. wiki page](https://github.com/markszabo/IRremoteESP8266/wiki/Frequently-Asked-Questions). + +## History +This library was originally based on Ken Shirriff's work (https://github.com/shirriff/Arduino-IRremote/) + +[Mark Szabo](https://github.com/markszabo/IRremoteESP8266) has updated the IRsend class to work on ESP8266 and [Sebastien Warin](https://github.com/sebastienwarin/IRremoteESP8266) the receiving & decoding part (IRrecv class). + +## Installation +1. Click "Download ZIP" +2. Extract the downloaded zip file +3. Rename the extracted folder to "IRremoteESP8266" +4. Move this folder to your libraries directory (under windows: C:\Users\YOURNAME\Documents\Arduino\libraries\) +5. Restart your Arduino ide +6. Check out the examples + +###### Using Git to install library ( Linux ) +``` +cd ~/Arduino/libraries +git clone https://github.com/markszabo/IRremoteESP8266.git +``` +###### To Update to the latest version of the library +` +cd ~/Arduino/libraries/IRremoteESP8266 && git pull +` + +## Unit Tests +The [Unit Tests](https://en.wikipedia.org/wiki/Unit_testing) under the test/ directory are for a Unix machine, **not** the micro-controller (ESP8266). +This allows execution under Travis and on the developer's machine. +We can do this from v2.0 of the library onwards, as everything now uses c98-style type definitions. +e.g. uint16_t etc. +Any Arduino/ESP8266 specific code needs to be disabled using something similar to the following lines: +``` +#ifndef UNIT_TEST + +#endif +``` + +This is not a perfect situation as we can not obviously emulate hardware specific features and differences. e.g. Interrupts, GPIOs, CPU instruction timing etc, etc. + +If you want to run all the tests yourself, try the following: +``` +$ cd test +$ make run +``` + +## Contributing +If you want to [contribute](.github/CONTRIBUTING.md#how-can-i-contribute) to this project, consider: +- [Report](.github/CONTRIBUTING.md#reporting-bugs) bugs and errors +- Ask for enhancements +- [Create issues](.github/CONTRIBUTING.md#reporting-bugs) and [pull requests](.github/CONTRIBUTING.md#pull-requests) +- Tell other people about this library + +## Contributors +Available [here](.github/Contributors.md) diff --git a/lib/IRremoteESP8266/examples/IRGCSendDemo/IRGCSendDemo.ino b/lib/IRremoteESP8266/examples/IRGCSendDemo/IRGCSendDemo.ino new file mode 100644 index 00000000..b36938e3 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRGCSendDemo/IRGCSendDemo.ino @@ -0,0 +1,63 @@ +/* + * IRremoteESP8266: IRsendGCDemo + * demonstrates sending Global Cache-formatted IR codes with IRsend + * Copyright 2009 Ken Shirriff + * http://arcfn.com + * + * Version 0.2 June, 2017 + * Added helpful comments + * Better includes files. + * Version 0.1 30 March, 2016 + * Based on Ken Shirriff's IrsendDemo + * Version 0.1 July, 2009 + * + * An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). + * + * TL;DR: The IR LED needs to be driven by a transistor for a good result. + * + * Suggested circuit: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending + * + * Common mistakes & tips: + * * Don't just connect the IR LED directly to the pin, it won't + * have enough current to drive the IR LED effectively. + * * Make sure you have the IR LED polarity correct. + * See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity + * * Typical digital camera/phones can be used to see if the IR LED is flashed. + * Replace the IR LED with a normal LED if you don't have a digital camera + * when debugging. + * * Avoid using the following pins unless you really know what you are doing: + * * Pin 0/D3: Can interfere with the boot/program mode & support circuits. + * * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. + * * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. + * * ESP-01 modules are tricky. We suggest you use a module with more GPIOs + * for your first time. e.g. ESP-12 etc. + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include + +// Codes are in Global Cache format less the emitter ID and request ID. +// These codes can be found in GC's Control Tower database. + +uint16_t Samsung_power_toggle[71] = { + 38000, 1, 1, 170, 170, 20, 63, 20, 63, 20, 63, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 20, 63, 20, 63, 20, 63, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, + 20, 20, 20, 63, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 20, 63, 20, + 20, 20, 63, 20, 63, 20, 63, 20, 63, 20, 63, 20, 63, 20, 1798}; + +IRsend irsend(4); // An IR LED is controlled by GPIO pin 4 (D2) + +void setup() { + irsend.begin(); + Serial.begin(115200); +} + +void loop() { + Serial.println("Toggling power"); + irsend.sendGC(Samsung_power_toggle, 71); + delay(10000); +} diff --git a/lib/IRremoteESP8266/examples/IRGCSendDemo/platformio.ini b/lib/IRremoteESP8266/examples/IRGCSendDemo/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRGCSendDemo/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRGCTCPServer/IRGCTCPServer.ino b/lib/IRremoteESP8266/examples/IRGCTCPServer/IRGCTCPServer.ino new file mode 100644 index 00000000..2fd38be4 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRGCTCPServer/IRGCTCPServer.ino @@ -0,0 +1,129 @@ +/* + * IRremoteESP8266: IRGCTCPServer - send Global Cache-formatted codes via TCP. + * An IR emitter must be connected to GPIO pin 4. + * Version 0.2 May, 2017 + * Copyright 2016 Hisham Khalifa, http://www.hishamkhalifa.com + * Copyright 2017 David Conran + * + * Example command - Samsung TV power toggle: 38000,1,1,170,170,20,63,20,63,20,63,20,20,20,20,20,20,20,20,20,20,20,63,20,63,20,63,20,20,20,20,20,20,20,20,20,20,20,20,20,63,20,20,20,20,20,20,20,20,20,20,20,20,20,63,20,20,20,63,20,63,20,63,20,63,20,63,20,63,20,1798\r\n + * For more codes, visit: https://irdb.globalcache.com/ + * + * How to use this program: + * 1) Update "ssid" and "password" below for your WIFI network. + * 2) Compile and upload the sketch to your ESP8266 module. + * 3) (Optional) Use the serial connection to confirm it started and get the + * IP address. + * 4) From a client machine, connect to port 4998 on the ESP8266, using + * 'telnet', 'nc' (netcat), 'putty' or similar command, etc. + * You may need to install one. + * Unix/OSX: + * Start a shell. Then type: + * telnet 4998 + * Windows: + * Start a new CMD window, then type: + * telnet 4998 + * + * 5) Enter a Global Cache-formatted code, starting at the frequency, + * and then a return/enter at the end. No spaces. e.g.: + * + * 38000,1,1,170,170,20,63,20,63,20,63,20,20,20,20,20,20,20,20,20,20,20,63,20,63,20,63,20,20,20,20,20,20,20,20,20,20,20,20,20,63,20,20,20,20,20,20,20,20,20,20,20,20,20,63,20,20,20,63,20,63,20,63,20,63,20,63,20,63,20,1798 + * + * To exit the 'telnet' command: + * press + <]> at the same time, then press 'q', and then . + * or: + * + might work. + * + * This program will display the ESP's IP address on the serial console, or you + * can check your wifi router for it's address. + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include +#include +#include + +const char* ssid = "..."; // Put your WIFI SSID here. +const char* password = "..."; // Put your WIFI password here. + +WiFiServer server(4998); // Uses port 4998. +WiFiClient client; + +uint16_t *code_array; +IRsend irsend(4); // An IR LED is controlled by GPIO pin 4 (D2) + +void sendGCString(String str) { + int16_t index; + uint16_t count; + + // Find out how many items there are in the string. + index = -1; + count = 1; + do { + index = str.indexOf(',', index + 1); + count++; + } while (index != -1); + + // Now we know how many there are, allocate the memory to store them all. + code_array = reinterpret_cast(malloc(count * sizeof(uint16_t))); + // Check we malloc'ed successfully. + if (code_array == NULL) { // malloc failed, so give up. + Serial.printf("\nCan't allocate %d bytes. (%d bytes free)\n", + count * sizeof(uint16_t), ESP.getFreeHeap()); + Serial.println("Giving up & forcing a reboot."); + ESP.restart(); // Reboot. + delay(500); // Wait for the restart to happen. + return; // Should never get here, but just in case. + } + + // Now convert the strings to integers and place them in code_array. + count = 0; + uint16_t start_from = 0; + do { + index = str.indexOf(',', start_from); + code_array[count] = str.substring(start_from, index).toInt(); + start_from = index + 1; + count++; + } while (index != -1); + + irsend.sendGC(code_array, count); // All done. Send it. + free(code_array); // Free up the memory allocated. +} + +void setup() { + // initialize serial: + Serial.begin(115200); + delay(100); + Serial.println(" "); + Serial.println("IR TCP Server"); + + while (WiFi.status() != WL_CONNECTED) { + delay(900); + Serial.print("."); + } + + server.begin(); + IPAddress myAddress = WiFi.localIP(); + Serial.println(myAddress); + irsend.begin(); +} + +void loop() { + while (!client) + client = server.available(); + + while (!client.connected()) { + delay(900); + client = server.available(); + } + + if (client.available()) { + String ir_code_str = client.readStringUntil('\r'); // Exclusive of \r + client.readStringUntil('\n'); // Skip new line as well + client.flush(); + sendGCString(ir_code_str); + } +} diff --git a/lib/IRremoteESP8266/examples/IRGCTCPServer/platformio.ini b/lib/IRremoteESP8266/examples/IRGCTCPServer/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRGCTCPServer/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRServer/IRServer.ino b/lib/IRremoteESP8266/examples/IRServer/IRServer.ino new file mode 100644 index 00000000..82f2e7dd --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRServer/IRServer.ino @@ -0,0 +1,121 @@ +/* + * IRremoteESP8266: IRServer - demonstrates sending IR codes controlled from a webserver + * Version 0.2 June, 2017 + * Copyright 2015 Mark Szabo + * + * An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). + * + * TL;DR: The IR LED needs to be driven by a transistor for a good result. + * + * Suggested circuit: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending + * + * Common mistakes & tips: + * * Don't just connect the IR LED directly to the pin, it won't + * have enough current to drive the IR LED effectively. + * * Make sure you have the IR LED polarity correct. + * See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity + * * Typical digital camera/phones can be used to see if the IR LED is flashed. + * Replace the IR LED with a normal LED if you don't have a digital camera + * when debugging. + * * Avoid using the following pins unless you really know what you are doing: + * * Pin 0/D3: Can interfere with the boot/program mode & support circuits. + * * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. + * * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. + * * ESP-01 modules are tricky. We suggest you use a module with more GPIOs + * for your first time. e.g. ESP-12 etc. + */ +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include +#include +#include +#include + +const char* ssid = "....."; +const char* password = "....."; +MDNSResponder mdns; + +ESP8266WebServer server(80); + +IRsend irsend(4); // An IR LED is controlled by GPIO pin 4 (D2) + +void handleRoot() { + server.send(200, "text/html", + "" \ + "ESP8266 Demo" \ + "" \ + "

Hello from ESP8266, you can send NEC encoded IR" \ + "signals from here!

" \ + "

Send 0xFFE01F

" \ + "

Send 0xFAB123

" \ + "

Send 0xFFE896

" \ + "" \ + ""); +} + +void handleIr() { + for (uint8_t i = 0; i < server.args(); i++) { + if (server.argName(i) == "code") { + uint32_t code = strtoul(server.arg(i).c_str(), NULL, 10); + irsend.sendNEC(code, 32); + } + } + handleRoot(); +} + +void handleNotFound() { + String message = "File Not Found\n\n"; + message += "URI: "; + message += server.uri(); + message += "\nMethod: "; + message += (server.method() == HTTP_GET)?"GET":"POST"; + message += "\nArguments: "; + message += server.args(); + message += "\n"; + for (uint8_t i = 0; i < server.args(); i++) + message += " " + server.argName(i) + ": " + server.arg(i) + "\n"; + server.send(404, "text/plain", message); +} + +void setup(void) { + irsend.begin(); + + Serial.begin(115200); + WiFi.begin(ssid, password); + Serial.println(""); + + // Wait for connection + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + Serial.println(""); + Serial.print("Connected to "); + Serial.println(ssid); + Serial.print("IP address: "); + Serial.println(WiFi.localIP()); + + if (mdns.begin("esp8266", WiFi.localIP())) { + Serial.println("MDNS responder started"); + } + + server.on("/", handleRoot); + server.on("/ir", handleIr); + + server.on("/inline", [](){ + server.send(200, "text/plain", "this works as well"); + }); + + server.onNotFound(handleNotFound); + + server.begin(); + Serial.println("HTTP server started"); +} + +void loop(void) { + server.handleClient(); +} diff --git a/lib/IRremoteESP8266/examples/IRServer/platformio.ini b/lib/IRremoteESP8266/examples/IRServer/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRServer/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRrecvDemo/IRrecvDemo.ino b/lib/IRremoteESP8266/examples/IRrecvDemo/IRrecvDemo.ino new file mode 100644 index 00000000..ae9ed66f --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRrecvDemo/IRrecvDemo.ino @@ -0,0 +1,44 @@ +/* + * IRremoteESP8266: IRrecvDemo - demonstrates receiving IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Copyright 2009 Ken Shirriff, http://arcfn.com + * Example circuit diagram: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-receiving + * Changes: + * Version 0.2 June, 2017 + * Changed GPIO pin to the same as other examples. + * Used our own method for printing a uint64_t. + * Changed the baud rate to 115200. + * Version 0.1 Sept, 2015 + * Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009 + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +// An IR detector/demodulator is connected to GPIO pin 14(D5 on a NodeMCU +// board). +uint16_t RECV_PIN = 14; + +IRrecv irrecv(RECV_PIN); + +decode_results results; + +void setup() { + Serial.begin(115200); + irrecv.enableIRIn(); // Start the receiver +} + +void loop() { + if (irrecv.decode(&results)) { + // print() & println() can't handle printing long longs. (uint64_t) + serialPrintUint64(results.value, HEX); + Serial.println(""); + irrecv.resume(); // Receive the next value + } + delay(100); +} diff --git a/lib/IRremoteESP8266/examples/IRrecvDemo/platformio.ini b/lib/IRremoteESP8266/examples/IRrecvDemo/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRrecvDemo/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRrecvDump/IRrecvDump.ino b/lib/IRremoteESP8266/examples/IRrecvDump/IRrecvDump.ino new file mode 100644 index 00000000..b018ec08 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRrecvDump/IRrecvDump.ino @@ -0,0 +1,90 @@ +/* + * IRremoteESP8266: IRrecvDump - dump details of IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Version 0.1 Sept, 2015 + * Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009, + * Copyright 2009 Ken Shirriff, http://arcfn.com + * JVC and Panasonic protocol added by Kristian Lauszus + * (Thanks to zenwheel and other people at the original blog post) + * LG added by Darryl Smith (based on the JVC protocol) + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +// an IR detector/demodulator is connected to GPIO pin 2 +uint16_t RECV_PIN = 2; + +IRrecv irrecv(RECV_PIN); + +decode_results results; + +void setup() { + Serial.begin(115200); + irrecv.enableIRIn(); // Start the receiver +} + +void dump(decode_results *results) { + // Dumps out the decode_results structure. + // Call this after IRrecv::decode() + uint16_t count = results->rawlen; + if (results->decode_type == UNKNOWN) { + Serial.print("Unknown encoding: "); + } else if (results->decode_type == NEC) { + Serial.print("Decoded NEC: "); + } else if (results->decode_type == SONY) { + Serial.print("Decoded SONY: "); + } else if (results->decode_type == RC5) { + Serial.print("Decoded RC5: "); + } else if (results->decode_type == RC5X) { + Serial.print("Decoded RC5X: "); + } else if (results->decode_type == RC6) { + Serial.print("Decoded RC6: "); + } else if (results->decode_type == RCMM) { + Serial.print("Decoded RCMM: "); + } else if (results->decode_type == PANASONIC) { + Serial.print("Decoded PANASONIC - Address: "); + Serial.print(results->address, HEX); + Serial.print(" Value: "); + } else if (results->decode_type == LG) { + Serial.print("Decoded LG: "); + } else if (results->decode_type == JVC) { + Serial.print("Decoded JVC: "); + } else if (results->decode_type == AIWA_RC_T501) { + Serial.print("Decoded AIWA RC T501: "); + } else if (results->decode_type == WHYNTER) { + Serial.print("Decoded Whynter: "); + } + serialPrintUint64(results->value, 16); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); + Serial.print("Raw ("); + Serial.print(count, DEC); + Serial.print("): "); + + for (uint16_t i = 1; i < count; i++) { + if (i % 100 == 0) + yield(); // Preemptive yield every 100th entry to feed the WDT. + if (i & 1) { + Serial.print(results->rawbuf[i] * RAWTICK, DEC); + } else { + Serial.write('-'); + Serial.print((uint32_t) results->rawbuf[i] * RAWTICK, DEC); + } + Serial.print(" "); + } + Serial.println(); +} + +void loop() { + if (irrecv.decode(&results)) { + serialPrintUint64(results.value, 16); + dump(&results); + irrecv.resume(); // Receive the next value + } +} diff --git a/lib/IRremoteESP8266/examples/IRrecvDump/platformio.ini b/lib/IRremoteESP8266/examples/IRrecvDump/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRrecvDump/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRrecvDumpV2/IRrecvDumpV2.ino b/lib/IRremoteESP8266/examples/IRrecvDumpV2/IRrecvDumpV2.ino new file mode 100644 index 00000000..d3ed15bb --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRrecvDumpV2/IRrecvDumpV2.ino @@ -0,0 +1,198 @@ +/* + * IRremoteESP8266: IRrecvDumpV2 - dump details of IR codes with IRrecv + * An IR detector/demodulator must be connected to the input RECV_PIN. + * Example circuit diagram: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-receiving + * Changes: + * Version 0.2 April, 2017 + * - Decode from a copy of the data so we can start capturing faster thus + * reduce the likelihood of miscaptures. + * Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009, Copyright 2009 Ken Shirriff, http://arcfn.com + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +// An IR detector/demodulator is connected to GPIO pin 14(D5 on a NodeMCU +// board). +uint16_t RECV_PIN = 14; +// As this program is a special purpose capture/decoder, let us use a larger +// than normal buffer so we can handle Air Conditioner remote codes. +uint16_t CAPTURE_BUFFER_SIZE = 1024; + +// Nr. of milli-Seconds of no-more-data before we consider a message ended. +// NOTE: Don't exceed MAX_TIMEOUT_MS. Typically 130ms. +#define TIMEOUT 15U // Suits most messages, while not swallowing repeats. +// #define TIMEOUT 90U // Suits messages with big gaps like XMP-1 & some aircon + // units, but can accidently swallow repeated messages + // in the rawData[] output. + +// Use turn on the save buffer feature for more complete capture coverage. +IRrecv irrecv(RECV_PIN, CAPTURE_BUFFER_SIZE, TIMEOUT, true); + +decode_results results; // Somewhere to store the results + +void setup() { + // Status message will be sent to the PC at 115200 baud + Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY); + delay(500); // Wait a bit for the serial connection to be establised. + + irrecv.enableIRIn(); // Start the receiver +} + +// Display encoding type +// +void encoding(decode_results *results) { + switch (results->decode_type) { + default: + case UNKNOWN: Serial.print("UNKNOWN"); break; + case NEC: Serial.print("NEC"); break; + case NEC_LIKE: Serial.print("NEC (non-strict)"); break; + case SONY: Serial.print("SONY"); break; + case RC5: Serial.print("RC5"); break; + case RC5X: Serial.print("RC5X"); break; + case RC6: Serial.print("RC6"); break; + case RCMM: Serial.print("RCMM"); break; + case DISH: Serial.print("DISH"); break; + case SHARP: Serial.print("SHARP"); break; + case JVC: Serial.print("JVC"); break; + case SANYO: Serial.print("SANYO"); break; + case SANYO_LC7461: Serial.print("SANYO_LC7461"); break; + case MITSUBISHI: Serial.print("MITSUBISHI"); break; + case SAMSUNG: Serial.print("SAMSUNG"); break; + case LG: Serial.print("LG"); break; + case WHYNTER: Serial.print("WHYNTER"); break; + case AIWA_RC_T501: Serial.print("AIWA_RC_T501"); break; + case PANASONIC: Serial.print("PANASONIC"); break; + case DENON: Serial.print("DENON"); break; + case COOLIX: Serial.print("COOLIX"); break; + } + if (results->repeat) Serial.print(" (Repeat)"); +} + +// Dump out the decode_results structure. +// +void dumpInfo(decode_results *results) { + if (results->overflow) + Serial.printf("WARNING: IR code too big for buffer (>= %d). " + "These results shouldn't be trusted until this is resolved. " + "Edit & increase CAPTURE_BUFFER_SIZE.\n", + CAPTURE_BUFFER_SIZE); + + // Show Encoding standard + Serial.print("Encoding : "); + encoding(results); + Serial.println(""); + + // Show Code & length + Serial.print("Code : "); + serialPrintUint64(results->value, 16); + Serial.print(" ("); + Serial.print(results->bits, DEC); + Serial.println(" bits)"); +} + +uint16_t getCookedLength(decode_results *results) { + uint16_t length = results->rawlen - 1; + for (uint16_t i = 0; i < results->rawlen - 1; i++) { + uint32_t usecs = results->rawbuf[i] * RAWTICK; + // Add two extra entries for multiple larger than UINT16_MAX it is. + length += (usecs / UINT16_MAX) * 2; + } + return length; +} + +// Dump out the decode_results structure. +// +void dumpRaw(decode_results *results) { + // Print Raw data + Serial.print("Timing["); + Serial.print(results->rawlen - 1, DEC); + Serial.println("]: "); + + for (uint16_t i = 1; i < results->rawlen; i++) { + if (i % 100 == 0) + yield(); // Preemptive yield every 100th entry to feed the WDT. + if (i % 2 == 0) { // even + Serial.print("-"); + } else { // odd + Serial.print(" +"); + } + Serial.printf("%6d", results->rawbuf[i] * RAWTICK); + if (i < results->rawlen - 1) + Serial.print(", "); // ',' not needed for last one + if (!(i % 8)) Serial.println(""); + } + Serial.println(""); // Newline +} + +// Dump out the decode_results structure. +// +void dumpCode(decode_results *results) { + // Start declaration + Serial.print("uint16_t "); // variable type + Serial.print("rawData["); // array name + Serial.print(getCookedLength(results), DEC); // array size + Serial.print("] = {"); // Start declaration + + // Dump data + for (uint16_t i = 1; i < results->rawlen; i++) { + uint32_t usecs; + for (usecs = results->rawbuf[i] * RAWTICK; + usecs > UINT16_MAX; + usecs -= UINT16_MAX) + Serial.printf("%d, 0", UINT16_MAX); + Serial.print(usecs, DEC); + if (i < results->rawlen - 1) + Serial.print(", "); // ',' not needed on last one + if (i % 2 == 0) Serial.print(" "); // Extra if it was even. + } + + // End declaration + Serial.print("};"); // + + // Comment + Serial.print(" // "); + encoding(results); + Serial.print(" "); + serialPrintUint64(results->value, HEX); + + // Newline + Serial.println(""); + + // Now dump "known" codes + if (results->decode_type != UNKNOWN) { + // Some protocols have an address &/or command. + // NOTE: It will ignore the atypical case when a message has been decoded + // but the address & the command are both 0. + if (results->address > 0 || results->command > 0) { + Serial.print("uint32_t address = 0x"); + Serial.print(results->address, HEX); + Serial.println(";"); + Serial.print("uint32_t command = 0x"); + Serial.print(results->command, HEX); + Serial.println(";"); + } + + // All protocols have data + Serial.print("uint64_t data = 0x"); + serialPrintUint64(results->value, 16); + Serial.println(";"); + } +} + +// The repeating section of the code +// +void loop() { + // Check if the IR code has been received. + if (irrecv.decode(&results)) { + dumpInfo(&results); // Output the results + dumpRaw(&results); // Output the results in RAW format + dumpCode(&results); // Output the results as source code + Serial.println(""); // Blank line between entries + } +} diff --git a/lib/IRremoteESP8266/examples/IRrecvDumpV2/platformio.ini b/lib/IRremoteESP8266/examples/IRrecvDumpV2/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRrecvDumpV2/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRsendDemo/IRsendDemo.ino b/lib/IRremoteESP8266/examples/IRsendDemo/IRsendDemo.ino new file mode 100644 index 00000000..1a688cba --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRsendDemo/IRsendDemo.ino @@ -0,0 +1,62 @@ +/* IRremoteESP8266: IRsendDemo - demonstrates sending IR codes with IRsend. + * + * Version 1.0 April, 2017 + * Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009, + * Copyright 2009 Ken Shirriff, http://arcfn.com + * + * An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). + * + * TL;DR: The IR LED needs to be driven by a transistor for a good result. + * + * Suggested circuit: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending + * + * Common mistakes & tips: + * * Don't just connect the IR LED directly to the pin, it won't + * have enough current to drive the IR LED effectively. + * * Make sure you have the IR LED polarity correct. + * See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity + * * Typical digital camera/phones can be used to see if the IR LED is flashed. + * Replace the IR LED with a normal LED if you don't have a digital camera + * when debugging. + * * Avoid using the following pins unless you really know what you are doing: + * * Pin 0/D3: Can interfere with the boot/program mode & support circuits. + * * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. + * * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. + * * ESP-01 modules are tricky. We suggest you use a module with more GPIOs + * for your first time. e.g. ESP-12 etc. + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include + +IRsend irsend(4); // An IR LED is controlled by GPIO pin 4 (D2) + +// Example of data captured by IRrecvDumpV2.ino +uint16_t rawData[67] = {9000, 4500, 650, 550, 650, 1650, 600, 550, 650, 550, + 600, 1650, 650, 550, 600, 1650, 650, 1650, 650, 1650, + 600, 550, 650, 1650, 650, 1650, 650, 550, 600, 1650, + 650, 1650, 650, 550, 650, 550, 650, 1650, 650, 550, + 650, 550, 650, 550, 600, 550, 650, 550, 650, 550, + 650, 1650, 600, 550, 650, 1650, 650, 1650, 650, 1650, + 650, 1650, 650, 1650, 650, 1650, 600}; + +void setup() { + irsend.begin(); + Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY); +} + +void loop() { + Serial.println("NEC"); + irsend.sendNEC(0x00FFE01FUL, 32); + delay(2000); + Serial.println("Sony"); + irsend.sendSony(0xa90, 12, 2); + delay(2000); + Serial.println("a rawData capture from IRrecvDumpV2"); + irsend.sendRaw(rawData, 67, 38); // Send a raw data capture at 38kHz. + delay(2000); +} diff --git a/lib/IRremoteESP8266/examples/IRsendDemo/platformio.ini b/lib/IRremoteESP8266/examples/IRsendDemo/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRsendDemo/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/IRsendProntoDemo/IRsendProntoDemo.ino b/lib/IRremoteESP8266/examples/IRsendProntoDemo/IRsendProntoDemo.ino new file mode 100644 index 00000000..0a7a014a --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRsendProntoDemo/IRsendProntoDemo.ino @@ -0,0 +1,105 @@ +/* IRremoteESP8266: IRsendProntoDemo + * Copyright 2017 David Conran + * + * Demonstrates sending Pronto codes with IRsend. + * + * Version 1.0 June, 2017 + * + * An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2), unless you + * change the irsend() value below. + * + * TL;DR: The IR LED needs to be driven by a transistor for a good result. + * + * Suggested circuit: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending + * + * Common mistakes & tips: + * * Don't just connect the IR LED directly to the pin, it won't + * have enough current to drive the IR LED effectively. + * * Make sure you have the IR LED polarity correct. + * See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity + * * Typical digital camera/phones can be used to see if the IR LED is flashed. + * Replace the IR LED with a normal LED if you don't have a digital camera + * when debugging. + * * Avoid using the following pins unless you really know what you are doing: + * * Pin 0/D3: Can interfere with the boot/program mode & support circuits. + * * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. + * * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. + * * ESP-01 modules are tricky. We suggest you use a module with more GPIOs + * for your first time. e.g. ESP-12 etc. + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include + +IRsend irsend(4); // An IR LED is controlled by GPIO pin 4 (D2) + +// Panasonic Plasma TV Descrete code (Power On). +// Acquired from: +// https://irdb.globalcache.com/ +// e.g. +// 0000 006D 0000 0022 00ac 00ac 0016 0040 0016 0040 0016 0040 0016 0015 0016 +// 0015 0016 0015 0016 0015 0016 0015 0016 0040 0016 0040 0016 0040 0016 0015 +// 0016 0015 0016 0015 0016 0015 0016 0015 0016 0040 0016 0015 0016 0015 0016 +// 0040 0016 0040 0016 0015 0016 0015 0016 0040 0016 0015 0016 0040 0016 0040 +// 0016 0015 0016 0015 0016 0040 0016 0040 0016 0015 0016 071c +// +// Or the equiv. of sendSamsung(0xE0E09966); +uint16_t samsungProntoCode[72] = { + 0x0000, 0x006D, 0x0000, 0x0022, + 0x00ac, 0x00ac, 0x0016, 0x0040, 0x0016, 0x0040, 0x0016, 0x0040, + 0x0016, 0x0015, 0x0016, 0x0015, 0x0016, 0x0015, 0x0016, 0x0015, + 0x0016, 0x0015, 0x0016, 0x0040, 0x0016, 0x0040, 0x0016, 0x0040, + 0x0016, 0x0015, 0x0016, 0x0015, 0x0016, 0x0015, 0x0016, 0x0015, + 0x0016, 0x0015, 0x0016, 0x0040, 0x0016, 0x0015, 0x0016, 0x0015, + 0x0016, 0x0040, 0x0016, 0x0040, 0x0016, 0x0015, 0x0016, 0x0015, + 0x0016, 0x0040, 0x0016, 0x0015, 0x0016, 0x0040, 0x0016, 0x0040, + 0x0016, 0x0015, 0x0016, 0x0015, 0x0016, 0x0040, 0x0016, 0x0040, + 0x0016, 0x0015, 0x0016, 0x071c +}; + +// Panasonic Plasma TV Descrete code (Power On). +// Acquired from: +// ftp://ftp.panasonic.com/pub/panasonic/drivers/monitors/Discrete-remote-control-codesProntoCCFformat.pdf +// e.g. +// 0000 0071 0000 0032 0080 003F 0010 0010 0010 0030 0010 0010 0010 0010 0010 +// 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 +// 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 +// 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 0010 0010 0010 0010 0010 +// 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0010 0030 0010 +// 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0010 0010 0010 0010 0030 +// 0010 0030 0010 0030 0010 0030 0010 0030 0010 0010 0010 0030 0010 0A98 +// +// Or the equiv. of sendPanasonic64(0x400401007C7D); +uint16_t panasonicProntoCode[104] = { + 0x0000, 0x0071, 0x0000, 0x0032, + 0x0080, 0x003F, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0030, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0030, + 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0030, + 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0030, 0x0010, 0x0A98}; + +void setup() { + irsend.begin(); + Serial.begin(115200, SERIAL_8N1, SERIAL_TX_ONLY); +} + +void loop() { + Serial.println("Sending a Samsung TV 'on' command."); + irsend.sendPronto(samsungProntoCode, 72); + delay(2000); + Serial.println("Sending a Panasonic Plasma TV 'on' command."); + irsend.sendPronto(panasonicProntoCode, 104); + delay(2000); +} diff --git a/lib/IRremoteESP8266/examples/IRsendProntoDemo/platformio.ini b/lib/IRremoteESP8266/examples/IRsendProntoDemo/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/IRsendProntoDemo/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino b/lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino new file mode 100644 index 00000000..9c706800 --- /dev/null +++ b/lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/JVCPanasonicSendDemo.ino @@ -0,0 +1,56 @@ +/* + * IRremoteESP8266: IRsendDemo - demonstrates sending IR codes with IRsend + * Version 0.1 June, 2015 + * Based on Ken Shirriff's IrsendDemo Version 0.1 July, 2009, Copyright 2009 Ken Shirriff, http://arcfn.com + * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) + * + * An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). + * + * TL;DR: The IR LED needs to be driven by a transistor for a good result. + * + * Suggested circuit: + * https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending + * + * Common mistakes & tips: + * * Don't just connect the IR LED directly to the pin, it won't + * have enough current to drive the IR LED effectively. + * * Make sure you have the IR LED polarity correct. + * See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity + * * Typical digital camera/phones can be used to see if the IR LED is flashed. + * Replace the IR LED with a normal LED if you don't have a digital camera + * when debugging. + * * Avoid using the following pins unless you really know what you are doing: + * * Pin 0/D3: Can interfere with the boot/program mode & support circuits. + * * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. + * * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. + * * ESP-01 modules are tricky. We suggest you use a module with more GPIOs + * for your first time. e.g. ESP-12 etc. + */ + +#ifndef UNIT_TEST +#include +#endif +#include +#include + +#define PanasonicAddress 0x4004 // Panasonic address (Pre data) +#define PanasonicPower 0x100BCBD // Panasonic Power button + +#define JVCPower 0xC5E8 + +IRsend irsend(4); // An IR LED is controlled by GPIO pin 4 (D2) + +void setup() { + irsend.begin(); +} + +void loop() { + // This should turn your TV on and off + irsend.sendPanasonic(PanasonicAddress, PanasonicPower); + + irsend.sendJVC(JVCPower, 16, 0); // hex value, 16 bits, no repeat + // see http://www.sbprojects.com/knowledge/ir/jvc.php for information + delayMicroseconds(50); + irsend.sendJVC(JVCPower, 16, 1); // hex value, 16 bits, repeat + delayMicroseconds(50); +} diff --git a/lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/platformio.ini b/lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/JVCPanasonicSendDemo/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/LGACSend/LGACSend.ino b/lib/IRremoteESP8266/examples/LGACSend/LGACSend.ino new file mode 100644 index 00000000..7cced0c8 --- /dev/null +++ b/lib/IRremoteESP8266/examples/LGACSend/LGACSend.ino @@ -0,0 +1,259 @@ +// Copyright 2015 chaeplin +// Copyright 2017 xpokor22 +// This is based on: +// https://github.com/z3t0/Arduino-IRremote/blob/master/examples/LGACSendDemo/LGACSendDemo.ino + +#include +#include + + +IRsend irsend(14); // An IR LED is controlled by GPIO pin 14 (D5) + +// 0 : TOWER +// 1 : WALL +const unsigned int kAc_Type = 1; + +// 0 : cooling +// 1 : heating +unsigned int ac_heat = 1; + +// 0 : off +// 1 : on +unsigned int ac_power_on = 0; + +// 0 : off +// 1 : on --> power on +unsigned int ac_air_clean_state = 0; + +// temperature : 18 ~ 30 +unsigned int ac_temperature = 24; + +// 0 : low +// 1 : mid +// 2 : high +// if kAc_Type = 1, 3 : change +unsigned int ac_flow = 0; + +const uint8_t kAc_Flow_Tower[3] = {0, 4, 6}; +const uint8_t kAc_Flow_Wall[4] = {0, 2, 4, 5}; + +uint32_t ac_code_to_sent; + +void Ac_Send_Code(uint32_t code) { + Serial.print("code to send : "); + Serial.print(code, BIN); + Serial.print(" : "); + Serial.println(code, HEX); + + irsend.sendLG(code, 28); +} + +void Ac_Activate(unsigned int temperature, unsigned int air_flow, + unsigned int heat) { + ac_heat = heat; + unsigned int ac_msbits1 = 8; + unsigned int ac_msbits2 = 8; + unsigned int ac_msbits3 = 0; + unsigned int ac_msbits4; + if (ac_heat == 1) + ac_msbits4 = 4; // heating + else + ac_msbits4 = 0; // cooling + unsigned int ac_msbits5 = (temperature < 15) ? 0 : temperature - 15; + unsigned int ac_msbits6; + + if (0 <= air_flow && air_flow <= 2) { + if (kAc_Type == 0) + ac_msbits6 = kAc_Flow_Tower[air_flow]; + else + ac_msbits6 = kAc_Flow_Wall[air_flow]; + } + + // calculating using other values + unsigned int ac_msbits7 = (ac_msbits3 + ac_msbits4 + ac_msbits5 + + ac_msbits6) & B00001111; + ac_code_to_sent = ac_msbits1 << 4; + ac_code_to_sent = (ac_code_to_sent + ac_msbits2) << 4; + ac_code_to_sent = (ac_code_to_sent + ac_msbits3) << 4; + ac_code_to_sent = (ac_code_to_sent + ac_msbits4) << 4; + ac_code_to_sent = (ac_code_to_sent + ac_msbits5) << 4; + ac_code_to_sent = (ac_code_to_sent + ac_msbits6) << 4; + ac_code_to_sent = (ac_code_to_sent + ac_msbits7); + + Ac_Send_Code(ac_code_to_sent); + + ac_power_on = 1; + ac_temperature = temperature; + ac_flow = air_flow; +} + +void Ac_Change_Air_Swing(int air_swing) { + if (kAc_Type == 0) { + if (air_swing == 1) + ac_code_to_sent = 0x881316B; + else + ac_code_to_sent = 0x881317C; + } else { + if (air_swing == 1) + ac_code_to_sent = 0x8813149; + else + ac_code_to_sent = 0x881315A; + } + Ac_Send_Code(ac_code_to_sent); +} + +void Ac_Power_Down() { + ac_code_to_sent = 0x88C0051; + + Ac_Send_Code(ac_code_to_sent); + + ac_power_on = 0; +} + +void Ac_Air_Clean(int air_clean) { + if (air_clean == '1') + ac_code_to_sent = 0x88C000C; + else + ac_code_to_sent = 0x88C0084; + + Ac_Send_Code(ac_code_to_sent); + + ac_air_clean_state = air_clean; +} + +void setup() { + Serial.begin(115200); + delay(1000); + irsend.begin(); +} + +void loop() { + char b; + Serial.println("# a : mode or temp b : air_flow, temp, swing, clean," + " cooling/heating"); + Serial.println("# 0 : off 0"); + Serial.println("# 1 : on 0"); + Serial.println("# 2 : air_swing 0 or 1"); + Serial.println("# 3 : air_clean 0 or 1"); + Serial.println("# 4 : air_flow 0 ~ 2 : flow"); + Serial.println("# + : temp + 1"); + Serial.println("# - : temp - 1"); + Serial.println("# c : cooling"); + Serial.println("# h : heating"); + Serial.println("# m : change cooling to air clean, air clean to cooling"); + + Serial.println("a="); // Prompt User for input + while (Serial.available() == 0) { // Wait for user input + } + char a = Serial.read(); // Read user input into a + switch (a) { + case '0': + case '1': + case '+': + case '-': + case 'c': + case 'h': + case 'm': + break; + default: + Serial.println("b="); // Prompt User for input + while (Serial.available() == 0) {} + char b = Serial.read(); + } + + /* + # a : mode or temp b : air_flow, temp, swing, clean, cooling/heating + # 18 ~ 30 : temp 0 ~ 2 : flow // on + # 0 : off 0 + # 1 : on 0 + # 2 : air_swing 0 or 1 + # 3 : air_clean 0 or 1 + # 4 : air_flow 0 ~ 3 : flow + # + : temp + 1 + # - : temp - 1 + # c : cooling + # h : heating + # m : change cooling to air clean, air clean to cooling + */ + Serial.print("a : "); + Serial.print(a); + Serial.print(" b : "); + Serial.println(b); + + switch (a) { + case '0': // off + Ac_Power_Down(); + break; + case '1': // on + Ac_Activate(ac_temperature, ac_flow, ac_heat); + break; + case '2': + if (b == '0') + Ac_Change_Air_Swing(0); + else + Ac_Change_Air_Swing(1); + break; + case '3': // 1 : clean on, power on + if (b == '0' | b == '1') + Ac_Air_Clean(b); + break; + case '4': + switch (b) { + case '1': + Ac_Activate(ac_temperature, 1, ac_heat); + break; + case '2': + Ac_Activate(ac_temperature, 2, ac_heat); + break; + case '3': + Ac_Activate(ac_temperature, 3, ac_heat); + break; + default: + Ac_Activate(ac_temperature, 0, ac_heat); + } + break; + case '+': + if (18 <= ac_temperature && ac_temperature <= 29) + Ac_Activate((ac_temperature + 1), ac_flow, ac_heat); + break; + case '-': + if (19 <= ac_temperature && ac_temperature <= 30) + Ac_Activate((ac_temperature - 1), ac_flow, ac_heat); + break; + case 'c': + ac_heat = 0; + Ac_Activate(ac_temperature, ac_flow, ac_heat); + break; + case 'h': + ac_heat = 1; + Ac_Activate(ac_temperature, ac_flow, ac_heat); + break; + case 'm': + /* + if ac is on, 1) turn off, 2) turn on Ac_Air_Clean(1) + if ac is off, 1) turn on, 2) turn off Ac_Air_Clean(0) + */ + if (ac_power_on == 1) { + Ac_Power_Down(); + delay(100); + Ac_Air_Clean(1); + } else { + if (ac_air_clean_state == 1) { + Ac_Air_Clean(0); + delay(100); + } + Ac_Activate(ac_temperature, ac_flow, ac_heat); + } + break; + } + + delay(100); + Serial.println("ac_temperature"); + Serial.println(ac_temperature); + Serial.println("ac_flow"); + Serial.println(ac_flow); + Serial.println("ac_heat"); + Serial.println(ac_heat); + Serial.println("ac_power_on"); + Serial.println(ac_power_on); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnArgoAC/TurnOnArgoAC.ino b/lib/IRremoteESP8266/examples/TurnOnArgoAC/TurnOnArgoAC.ino new file mode 100644 index 00000000..a2e450ac --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnArgoAC/TurnOnArgoAC.ino @@ -0,0 +1,52 @@ +/* Copyright 2017 crankyoldgit +* An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). +* +* TL;DR: The IR LED needs to be driven by a transistor for a good result. +* +* Suggested circuit: +* https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending +* +* Common mistakes & tips: +* * Don't just connect the IR LED directly to the pin, it won't +* have enough current to drive the IR LED effectively. +* * Make sure you have the IR LED polarity correct. +* See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity +* * Typical digital camera/phones can be used to see if the IR LED is flashed. +* Replace the IR LED with a normal LED if you don't have a digital camera +* when debugging. +* * Avoid using the following pins unless you really know what you are doing: +* * Pin 0/D3: Can interfere with the boot/program mode & support circuits. +* * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. +* * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. +* * ESP-01 modules are tricky. We suggest you use a module with more GPIOs +* for your first time. e.g. ESP-12 etc. +*/ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +IRArgoAC argoir(4); // An IR LED is controlled by GPIO pin 4 (D2) + +void setup() { + argoir.begin(); + Serial.begin(115200); +} + +void loop() { + Serial.println("Sending..."); + + // Set up what we want to send. See ir_Argo.cpp for all the options. + argoir.setPower(true); + argoir.setFan(ARGO_FAN_1); + argoir.setCoolMode(ARGO_COOL_AUTO); + argoir.setTemp(25); + + // Now send the IR signal. + argoir.send(); + + delay(5000); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnArgoAC/platformio.ini b/lib/IRremoteESP8266/examples/TurnOnArgoAC/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnArgoAC/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino b/lib/IRremoteESP8266/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino new file mode 100644 index 00000000..eb5cda5e --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnDaikinAC/TurnOnDaikinAC.ino @@ -0,0 +1,56 @@ +/* Copyright 2016 sillyfrog +* +* An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). +* +* TL;DR: The IR LED needs to be driven by a transistor for a good result. +* +* Suggested circuit: +* https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending +* +* Common mistakes & tips: +* * Don't just connect the IR LED directly to the pin, it won't +* have enough current to drive the IR LED effectively. +* * Make sure you have the IR LED polarity correct. +* See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity +* * Typical digital camera/phones can be used to see if the IR LED is flashed. +* Replace the IR LED with a normal LED if you don't have a digital camera +* when debugging. +* * Avoid using the following pins unless you really know what you are doing: +* * Pin 0/D3: Can interfere with the boot/program mode & support circuits. +* * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. +* * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. +* * ESP-01 modules are tricky. We suggest you use a module with more GPIOs +* for your first time. e.g. ESP-12 etc. +*/ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +IRDaikinESP dakinir(D2); // An IR LED is controlled by GPIO pin 4 (D2) + +void setup() { + dakinir.begin(); + Serial.begin(115200); +} + + +void loop() { + Serial.println("Sending..."); + + // Set up what we want to send. See ir_Daikin.cpp for all the options. + dakinir.on(); + dakinir.setFan(1); + dakinir.setMode(DAIKIN_COOL); + dakinir.setTemp(25); + dakinir.setSwingVertical(0); + dakinir.setSwingHorizontal(0); + + // Now send the IR signal. + dakinir.send(); + + delay(5000); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnDaikinAC/platformio.ini b/lib/IRremoteESP8266/examples/TurnOnDaikinAC/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnDaikinAC/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino b/lib/IRremoteESP8266/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino new file mode 100644 index 00000000..52e31b5d --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnFujitsuAC/TurnOnFujitsuAC.ino @@ -0,0 +1,44 @@ +// Copyright 2017 Jonny Graham +#include +#include + +IRFujitsuAC fujitsu(5); // IR led controlled by Pin D1. + +void printState() { + // Display the settings. + Serial.println("Fujitsu A/C remote is in the following state:"); + Serial.printf(" Command:%d, Mode: %d, Temp: %dC, Fan Speed: %d," \ + " Swing Mode: %d\n", + fujitsu.getCmd(), fujitsu.getMode(), fujitsu.getTemp(), + fujitsu.getFanSpeed(), fujitsu.getSwing()); + // Display the encoded IR sequence. + unsigned char* ir_code = fujitsu.getRaw(); + Serial.print("IR Code: 0x"); + for (uint8_t i = 0; i < FUJITSU_AC_STATE_LENGTH; i++) + Serial.printf("%02X", ir_code[i]); + Serial.println(); +} + +void setup() { + fujitsu.begin(); + Serial.begin(115200); + delay(200); + + // Set up what we want to send. See ir_Mitsubishi.cpp for all the options. + Serial.println("Default state of the remote."); + printState(); + Serial.println("Setting desired state for A/C."); + fujitsu.setCmd(FUJITSU_AC_CMD_TURN_ON); + fujitsu.setSwing(FUJITSU_AC_SWING_BOTH); + fujitsu.setMode(FUJITSU_AC_MODE_COOL); + fujitsu.setFanSpeed(FUJITSU_AC_FAN_HIGH); + fujitsu.setTemp(24); +} + +void loop() { + // Now send the IR signal. + Serial.println("Sending IR command to A/C ..."); + fujitsu.send(); + printState(); + delay(5000); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnFujitsuAC/platformio.ini b/lib/IRremoteESP8266/examples/TurnOnFujitsuAC/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnFujitsuAC/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino b/lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino new file mode 100644 index 00000000..393ba28f --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/TurnOnKelvinatorAC.ino @@ -0,0 +1,80 @@ +/* Copyright 2016 David Conran +* +* An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). +* +* TL;DR: The IR LED needs to be driven by a transistor for a good result. +* +* Suggested circuit: +* https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending +* +* Common mistakes & tips: +* * Don't just connect the IR LED directly to the pin, it won't +* have enough current to drive the IR LED effectively. +* * Make sure you have the IR LED polarity correct. +* See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity +* * Typical digital camera/phones can be used to see if the IR LED is flashed. +* Replace the IR LED with a normal LED if you don't have a digital camera +* when debugging. +* * Avoid using the following pins unless you really know what you are doing: +* * Pin 0/D3: Can interfere with the boot/program mode & support circuits. +* * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. +* * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. +* * ESP-01 modules are tricky. We suggest you use a module with more GPIOs +* for your first time. e.g. ESP-12 etc. +*/ +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +IRKelvinatorAC kelvir(D2); // An IR LED is controlled by GPIO pin 4 (D2) + +void printState() { + // Display the settings. + Serial.println("Kelvinator A/C remote is in the following state:"); + Serial.printf(" Basic\n Power: %d, Mode: %d, Temp: %dC, Fan Speed: %d\n", + kelvir.getPower(), kelvir.getMode(), kelvir.getTemp(), + kelvir.getFan()); + Serial.printf(" Options\n X-Fan: %d, Light: %d, Ion Filter: %d\n", + kelvir.getXFan(), kelvir.getLight(), kelvir.getIonFilter()); + Serial.printf(" Swing (V): %d, Swing (H): %d, Turbo: %d, Quiet: %d\n", + kelvir.getSwingVertical(), kelvir.getSwingHorizontal(), + kelvir.getTurbo(), kelvir.getQuiet()); + // Display the encoded IR sequence. + unsigned char* ir_code = kelvir.getRaw(); + Serial.print("IR Code: 0x"); + for (uint8_t i = 0; i < KELVINATOR_STATE_LENGTH; i++) + Serial.printf("%02X", ir_code[i]); + Serial.println(); +} + +void setup() { + kelvir.begin(); + Serial.begin(115200); + delay(200); + + // Set up what we want to send. See ir_Kelvinator.cpp for all the options. + // Most things default to off. + Serial.println("Default state of the remote."); + printState(); + Serial.println("Setting desired state for A/C."); + kelvir.on(); + kelvir.setFan(1); + kelvir.setMode(KELVINATOR_COOL); + kelvir.setTemp(26); + kelvir.setSwingVertical(false); + kelvir.setSwingHorizontal(true); + kelvir.setXFan(true); + kelvir.setIonFilter(false); + kelvir.setLight(true); +} + +void loop() { + // Now send the IR signal. + Serial.println("Sending IR command to A/C ..."); + kelvir.send(); + printState(); + delay(5000); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/platformio.ini b/lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnKelvinatorAC/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino b/lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino new file mode 100644 index 00000000..1ea9b0d3 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/TurnOnMitsubishiAC.ino @@ -0,0 +1,71 @@ +/* Copyright 2017 David Conran +* +* An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). +* +* TL;DR: The IR LED needs to be driven by a transistor for a good result. +* +* Suggested circuit: +* https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending +* +* Common mistakes & tips: +* * Don't just connect the IR LED directly to the pin, it won't +* have enough current to drive the IR LED effectively. +* * Make sure you have the IR LED polarity correct. +* See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity +* * Typical digital camera/phones can be used to see if the IR LED is flashed. +* Replace the IR LED with a normal LED if you don't have a digital camera +* when debugging. +* * Avoid using the following pins unless you really know what you are doing: +* * Pin 0/D3: Can interfere with the boot/program mode & support circuits. +* * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. +* * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. +* * ESP-01 modules are tricky. We suggest you use a module with more GPIOs +* for your first time. e.g. ESP-12 etc. +*/ +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +IRMitsubishiAC mitsubir(D2); // An IR LED is controlled by GPIO pin 4 (D2) + +void printState() { + // Display the settings. + Serial.println("Mitsubishi A/C remote is in the following state:"); + Serial.printf(" Power: %d, Mode: %d, Temp: %dC, Fan Speed: %d," \ + " Vane Mode: %d\n", + mitsubir.getPower(), mitsubir.getMode(), mitsubir.getTemp(), + mitsubir.getFan(), mitsubir.getVane()); + // Display the encoded IR sequence. + unsigned char* ir_code = mitsubir.getRaw(); + Serial.print("IR Code: 0x"); + for (uint8_t i = 0; i < MITSUBISHI_AC_STATE_LENGTH; i++) + Serial.printf("%02X", ir_code[i]); + Serial.println(); +} + +void setup() { + mitsubir.begin(); + Serial.begin(115200); + delay(200); + + // Set up what we want to send. See ir_Mitsubishi.cpp for all the options. + Serial.println("Default state of the remote."); + printState(); + Serial.println("Setting desired state for A/C."); + mitsubir.on(); + mitsubir.setFan(1); + mitsubir.setMode(MITSUBISHI_AC_COOL); + mitsubir.setTemp(26); + mitsubir.setVane(MITSUBISHI_AC_VANE_AUTO); +} + +void loop() { + // Now send the IR signal. + Serial.println("Sending IR command to A/C ..."); + mitsubir.send(); + printState(); + delay(5000); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/platformio.ini b/lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnMitsubishiAC/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino b/lib/IRremoteESP8266/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino new file mode 100644 index 00000000..2476ff55 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnTrotecAC/TurnOnTrotecAC.ino @@ -0,0 +1,52 @@ +/* Copyright 2017 stufisher +* An IR LED circuit *MUST* be connected to ESP8266 pin 4 (D2). +* +* TL;DR: The IR LED needs to be driven by a transistor for a good result. +* +* Suggested circuit: +* https://github.com/markszabo/IRremoteESP8266/wiki#ir-sending +* +* Common mistakes & tips: +* * Don't just connect the IR LED directly to the pin, it won't +* have enough current to drive the IR LED effectively. +* * Make sure you have the IR LED polarity correct. +* See: https://learn.sparkfun.com/tutorials/polarity/diode-and-led-polarity +* * Typical digital camera/phones can be used to see if the IR LED is flashed. +* Replace the IR LED with a normal LED if you don't have a digital camera +* when debugging. +* * Avoid using the following pins unless you really know what you are doing: +* * Pin 0/D3: Can interfere with the boot/program mode & support circuits. +* * Pin 1/TX/TXD0: Any serial transmissions from the ESP8266 will interfere. +* * Pin 3/RX/RXD0: Any serial transmissions to the ESP8266 will interfere. +* * ESP-01 modules are tricky. We suggest you use a module with more GPIOs +* for your first time. e.g. ESP-12 etc. +*/ + +#ifndef UNIT_TEST +#include +#endif +#include +#include +#include + +IRTrotecESP trotecir(D2); // An IR LED is controlled by GPIO pin 4 (D2) + +void setup() { + trotecir.begin(); + Serial.begin(115200); +} + +void loop() { + Serial.println("Sending..."); + + // Set up what we want to send. See ir_Trotec.cpp for all the options. + trotecir.setPower(true); + trotecir.setSpeed(TROTEC_FAN_LOW); + trotecir.setMode(TROTEC_COOL); + trotecir.setTemp(25); + + // Now send the IR signal. + trotecir.send(); + + delay(5000); +} diff --git a/lib/IRremoteESP8266/examples/TurnOnTrotecAC/platformio.ini b/lib/IRremoteESP8266/examples/TurnOnTrotecAC/platformio.ini new file mode 100644 index 00000000..eeb8d1f2 --- /dev/null +++ b/lib/IRremoteESP8266/examples/TurnOnTrotecAC/platformio.ini @@ -0,0 +1,17 @@ +[platformio] +lib_extra_dirs = ../../ +src_dir=. + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/keywords.txt b/lib/IRremoteESP8266/keywords.txt new file mode 100644 index 00000000..ab1b3f70 --- /dev/null +++ b/lib/IRremoteESP8266/keywords.txt @@ -0,0 +1,128 @@ +######################################### +# Syntax Coloring Map For IRremoteESP8266 +######################################### + +####################################################### +# The Arduino IDE requires the use of a tab separator +# between the name and identifier. Without this tab the +# keyword is not highlighted. +# +# Reference: https://github.com/arduino/Arduino/wiki/Arduino-IDE-1.5:-Library-specification#keywords +####################################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +decode_results KEYWORD1 +IRrecv KEYWORD1 +IRsend KEYWORD1 +IRtimer KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +decode KEYWORD2 +enableIRIn KEYWORD2 +disableIRIn KEYWORD2 +resume KEYWORD2 +begin KEYWORD2 +send KEYWORD2 +enableIROut KEYWORD2 +sendNEC KEYWORD2 +encodeNEC KEYWORD2 +sendLG KEYWORD2 +encodeLG KEYWORD2 +sendSony KEYWORD2 +encodeSony KEYWORD2 +sendSanyo KEYWORD2 +sendSanyoLC7461 KEYWORD2 +encodeSanyoLC7461 KEYWORD2 +sendMitsubishi KEYWORD2 +sendRaw KEYWORD2 +sendGC KEYWORD2 +sendRC5 KEYWORD2 +sendRC6 KEYWORD2 +sendRCMM KEYWORD2 +sendDISH KEYWORD2 +sendSharp KEYWORD2 +sendSharpRaw KEYWORD2 +encodeSharp KEYWORD2 +sendPanasonic KEYWORD2 +sendPanasonic64 KEYWORD2 +encodePanasonic KEYWORD2 +sendJVC KEYWORD2 +encodeJVC KEYWORD2 +sendWhynter KEYWORD2 +sendSAMSUNG KEYWORD2 +encodeSAMSUNG KEYWORD2 +sendDaikin KEYWORD2 +sendCOOLIX KEYWORD2 +sendDenon KEYWORD2 +sendKelvinator KEYWORD2 +sendSherwood KEYWORD2 +sendMitsubishiAC KEYWORD2 +mark KEYWORD2 +space KEYWORD2 +reset KEYWORD2 +elapsed KEYWORD2 +calcLGChecksum KEYWORD2 +reverseBits KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +NEC LITERAL1 +SONY LITERAL1 +SANYO LITERAL1 +MITSUBISHI LITERAL1 +RC5 LITERAL1 +RC5X LITERAL1 +RC6 LITERAL1 +DISH LITERAL1 +SHARP LITERAL1 +PANASONIC LITERAL1 +JVC LITERAL1 +LG LITERAL1 +SAMSUNG LITERAL1 +WHYNTER LITERAL1 +AIWA_RC_T501 LITERAL1 +COOLIX LITERAL1 +UNKNOWN LITERAL1 +REPEAT LITERAL1 +DENON LITERAL1 +DAIKIN LITERAL1 +KELVINATOR LITERAL1 +SHERWOOD LITERAL1 +MITSUBISHIAC LITERAL1 +RCMM LITERAL1 +SANYO_LC7461 LITERAL1 +NEC_BITS LITERAL1 +SHERWOOD_BITS LITERAL1 +SONY_MIN_BITS LITERAL1 +SONY_12_BITS LITERAL1 +SONY_15_BITS LITERAL1 +SONY_20_BITS LITERAL1 +SANYO_SA8650B_BITS LITERAL1 +MITSUBISHI_BITS LITERAL1 +PANASONIC_BITS LITERAL1 +JVC_BITS LITERAL1 +LG_BITS LITERAL1 +SAMSUNG_BITS LITERAL1 +COOLIX_BITS LITERAL1 +DAIKIN_BITS LITERAL1 +RC5X_BITS LITERAL1 +RC6_36_BITS LITERAL1 +RC6_MODE0_BITS LITERAL1 +RCMM_BITS LITERAL1 +WHYNTER_BITS LITERAL1 +SANYO_LC7461_BITS LITERAL1 +SHARP_BITS LITERAL1 +DISH_BITS LITERAL1 +DENON_BITS LITERAL1 +SONY_MIN_REPEAT LITERAL1 +MITSUBISHI_MIN_REPEAT LITERAL1 +DISH_MIN_REPEAT LITERAL1 +SHERWOOD_MIN_REPEAT LITERAL1 diff --git a/lib/IRremoteESP8266/library.json b/lib/IRremoteESP8266/library.json new file mode 100644 index 00000000..082a59e1 --- /dev/null +++ b/lib/IRremoteESP8266/library.json @@ -0,0 +1,44 @@ +{ + "name": "IRremoteESP8266", + "version": "2.2.0", + "keywords": "infrared, ir, remote, esp8266", + "description": "Send and receive infrared signals with multiple protocols (ESP8266)", + "repository": + { + "type": "git", + "url": "https://github.com/markszabo/IRremoteESP8266.git" + }, + "authors": [ + { + "name": "Ken Shirriff", + "email": "zetoslab@gmail.com" + }, + { + "name": "Mark Szabo", + "url": "http://nomartini-noparty.blogspot.com/", + "maintainer": true + }, + { + "name": "Sebastien Warin", + "url": "http://sebastien.warin.fr", + "maintainer": true + }, + { + "name": "David Conran", + "url": "https://plus.google.com/+davidconran", + "maintainer": true + }, + { + "name": "Roi Dayan", + "url": "https://github.com/roidayan/", + "maintainer": true + }, + { + "name": "Massimiliano Pinto", + "url": "https://github.com/pintomax/", + "maintainer": true + } + ], + "frameworks": "arduino", + "platforms": "espressif8266" +} diff --git a/lib/IRremoteESP8266/library.properties b/lib/IRremoteESP8266/library.properties new file mode 100644 index 00000000..69bc07bc --- /dev/null +++ b/lib/IRremoteESP8266/library.properties @@ -0,0 +1,9 @@ +name=IRremoteESP8266 +version=2.2.0 +author=Sebastien Warin, Mark Szabo, Ken Shirriff, David Conran +maintainer=Mark Szabo, David Conran, Sebastien Warin, Roi Dayan, Massimiliano Pinto +sentence=Send and receive infrared signals with multiple protocols (ESP8266) +paragraph=This library enables you to send and receive infra-red signals on an ESP8266. +category=Device Control +url=https://github.com/markszabo/IRremoteESP8266 +architectures=esp8266 diff --git a/lib/IRremoteESP8266/platformio.ini b/lib/IRremoteESP8266/platformio.ini new file mode 100644 index 00000000..63c3781e --- /dev/null +++ b/lib/IRremoteESP8266/platformio.ini @@ -0,0 +1,26 @@ +[platformio] +lib_extra_dirs = . +src_dir = examples/IRrecvDumpV2 + +[common] +build_flags = +lib_deps_builtin = +lib_deps_external = + +[env:nodemcuv2] +platform = espressif8266 +framework = arduino +board = nodemcuv2 +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} + +[env:d1_mini] +platform = espressif8266 +framework = arduino +board = d1_mini +build_flags = ${common.build_flags} +lib_deps = + ${common.lib_deps_builtin} + ${common.lib_deps_external} diff --git a/lib/IRremoteESP8266/src/CPPLINT.cfg b/lib/IRremoteESP8266/src/CPPLINT.cfg new file mode 100644 index 00000000..fc30d70f --- /dev/null +++ b/lib/IRremoteESP8266/src/CPPLINT.cfg @@ -0,0 +1 @@ +filter=-build/include,+build/include_alpha,+build/include_order,+build/include_what_you_use diff --git a/lib/IRremoteESP8266/src/IRrecv.cpp b/lib/IRremoteESP8266/src/IRrecv.cpp new file mode 100644 index 00000000..5b1df326 --- /dev/null +++ b/lib/IRremoteESP8266/src/IRrecv.cpp @@ -0,0 +1,627 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2015 Mark Szabo +// Copyright 2015 Sebastien Warin +// Copyright 2017 David Conran + +#include "IRrecv.h" +#include +#ifndef UNIT_TEST +extern "C" { + #include + #include +} +#include +#endif +#include +#include "IRremoteESP8266.h" + +#ifdef UNIT_TEST +#undef ICACHE_RAM_ATTR +#define ICACHE_RAM_ATTR +#endif +// Updated by Sebastien Warin (http://sebastien.warin.fr) for receiving IR code +// on ESP8266 +// Updated by markszabo (https://github.com/markszabo/IRremoteESP8266) for +// sending IR code on ESP8266 + +// Globals +#ifndef UNIT_TEST +static ETSTimer timer; +#endif +volatile irparams_t irparams; +irparams_t *irparams_save; // A copy of the interrupt state while decoding. + +#ifndef UNIT_TEST +static void ICACHE_RAM_ATTR read_timeout(void *arg __attribute__((unused))) { + os_intr_lock(); + if (irparams.rawlen) + irparams.rcvstate = STATE_STOP; + os_intr_unlock(); +} + +static void ICACHE_RAM_ATTR gpio_intr() { + uint32_t now = system_get_time(); + uint32_t gpio_status = GPIO_REG_READ(GPIO_STATUS_ADDRESS); + static uint32_t start = 0; + + os_timer_disarm(&timer); + GPIO_REG_WRITE(GPIO_STATUS_W1TC_ADDRESS, gpio_status); + + // Grab a local copy of rawlen to reduce instructions used in IRAM. + // This is an ugly premature optimisation code-wise, but we do everything we + // can to save IRAM. + // It seems referencing the value via the structure uses more instructions. + // Less instructions means faster and less IRAM used. + // N.B. It saves about 13 bytes of IRAM. + uint16_t rawlen = irparams.rawlen; + + if (rawlen >= irparams.bufsize) { + irparams.overflow = true; + irparams.rcvstate = STATE_STOP; + } + + if (irparams.rcvstate == STATE_STOP) + return; + + if (irparams.rcvstate == STATE_IDLE) { + irparams.rcvstate = STATE_MARK; + irparams.rawbuf[rawlen] = 1; + } else { + if (now < start) + irparams.rawbuf[rawlen] = (UINT32_MAX - start + now) / RAWTICK; + else + irparams.rawbuf[rawlen] = (now - start) / RAWTICK; + } + irparams.rawlen++; + + start = now; + #define ONCE 0 + os_timer_arm(&timer, irparams.timeout, ONCE); +} +#endif // UNIT_TEST + +// Start of IRrecv class ------------------- + +// Class constructor +// Args: +// recvpin: GPIO pin the IR receiver module's data pin is connected to. +// bufsize: Nr. of entries to have in the capture buffer. (Default: RAWBUF) +// timeout: Nr. of milli-Seconds of no signal before we stop capturing data. +// (Default: TIMEOUT_MS) +// save_buffer: Use a second (save) buffer to decode from. (Def: false) +// Returns: +// A IRrecv class object. +IRrecv::IRrecv(uint16_t recvpin, uint16_t bufsize, uint8_t timeout, + bool save_buffer) { + irparams.recvpin = recvpin; + irparams.bufsize = bufsize; + // Ensure we are going to be able to store all possible values in the + // capture buffer. + irparams.timeout = std::min(timeout, (uint8_t) MAX_TIMEOUT_MS); + irparams.rawbuf = new uint16_t[bufsize]; + if (irparams.rawbuf == NULL) { + DPRINTLN("Could not allocate memory for the primary IR buffer.\n" + "Try a smaller size for CAPTURE_BUFFER_SIZE.\nRebooting!"); +#ifndef UNIT_TEST + ESP.restart(); // Mem alloc failure. Reboot. +#endif + } + // If we have been asked to use a save buffer (for decoding), then create one. + if (save_buffer) { + irparams_save = new irparams_t; + irparams_save->rawbuf = new uint16_t[bufsize]; + // Check we allocated the memory successfully. + if (irparams_save->rawbuf == NULL) { + DPRINTLN("Could not allocate memory for the second IR buffer.\n" + "Try a smaller size for CAPTURE_BUFFER_SIZE.\nRebooting!"); +#ifndef UNIT_TEST + ESP.restart(); // Mem alloc failure. Reboot. +#endif + } + } else { + irparams_save = NULL; + } +} + +// Class destructor +IRrecv::~IRrecv(void) { + delete [] irparams.rawbuf; + if (irparams_save != NULL) { + delete [] irparams_save->rawbuf; + delete irparams_save; + } +} + +// initialization +void IRrecv::enableIRIn() { + // initialize state machine variables + resume(); + +#ifndef UNIT_TEST + // Initialize timer + os_timer_disarm(&timer); + os_timer_setfn(&timer, reinterpret_cast(read_timeout), + NULL); + + // Attach Interrupt + attachInterrupt(irparams.recvpin, gpio_intr, CHANGE); +#endif +} + +void IRrecv::disableIRIn() { +#ifndef UNIT_TEST + os_timer_disarm(&timer); + detachInterrupt(irparams.recvpin); +#endif +} + +void IRrecv::resume() { + irparams.rcvstate = STATE_IDLE; + irparams.rawlen = 0; + irparams.overflow = false; +} + +// Make a copy of the interrupt state & buffer data. +// Needed because irparams is marked as volatile, thus memcpy() isn't allowed. +// Only call this when you know the interrupt handlers won't modify anything. +// i.e. In STATE_STOP. +// +// Args: +// src: Pointer to an irparams_t structure to copy from. +// dst: Pointer to an irparams_t structure to copy to. +void IRrecv::copyIrParams(volatile irparams_t *src, irparams_t *dst) { + // Typecast src and dst addresses to (char *) + char *csrc = (char *) src; // NOLINT(readability/casting) + char *cdst = (char *) dst; // NOLINT(readability/casting) + + // Save the pointer to the destination's rawbuf so we don't lose it as + // the for-loop/copy after this will overwrite it with src's rawbuf pointer. + // This isn't immediately obvious due to typecasting/different variable names. + uint16_t *dst_rawbuf_ptr; + dst_rawbuf_ptr = dst->rawbuf; + + // Copy contents of src[] to dst[] + for (uint16_t i = 0; i < sizeof(irparams_t); i++) + cdst[i] = csrc[i]; + + // Restore the buffer pointer + dst->rawbuf = dst_rawbuf_ptr; + + // Copy the rawbuf + for (uint16_t i = 0; i < dst->bufsize; i++) + dst->rawbuf[i] = src->rawbuf[i]; +} + +// Obtain the maximum number of entries possible in the capture buffer. +// i.e. It's size. +uint16_t IRrecv::getBufSize() { + return irparams.bufsize; +} + +// Decodes the received IR message. +// If the interrupt state is saved, we will immediately resume waiting +// for the next IR message to avoid missing messages. +// Note: There is a trade-off here. Saving the state means less time lost until +// we can receiving the next message vs. using more RAM. Choose appropriately. +// +// Args: +// results: A pointer to where the decoded IR message will be stored. +// save: A pointer to an irparams_t instance in which to save +// the interrupt's memory/state. NULL means don't save it. +// Returns: +// A boolean indicating if an IR message is ready or not. +bool IRrecv::decode(decode_results *results, irparams_t *save) { + // Proceed only if an IR message been received. +#ifndef UNIT_TEST + if (irparams.rcvstate != STATE_STOP) + return false; +#endif + + // Clear the entry we are currently pointing to when we got the timeout. + // i.e. Stopped collecting IR data. + // It's junk as we never wrote an entry to it and can only confuse decoding. + // This is done here rather than logically the best place in read_timeout() + // as it saves a few bytes of ICACHE_RAM as that routine is bound to an + // interrupt. decode() is not stored in ICACHE_RAM. + // Another better option would be to zero the entire irparams.rawbuf[] on + // resume() but that is a much more expensive operation compare to this. + irparams.rawbuf[irparams.rawlen] = 0; + + bool resumed = false; // Flag indicating if we have resumed. + + // If we were requested to use a save buffer previously, do so. + if (save == NULL) + save = irparams_save; + + if (save == NULL) { + // We haven't been asked to copy it so use the existing memory. +#ifndef UNIT_TEST + results->rawbuf = irparams.rawbuf; + results->rawlen = irparams.rawlen; + results->overflow = irparams.overflow; +#endif + } else { + copyIrParams(&irparams, save); // Duplicate the interrupt's memory. + resume(); // It's now safe to rearm. The IR message won't be overridden. + resumed = true; + // Point the results at the saved copy. + results->rawbuf = save->rawbuf; + results->rawlen = save->rawlen; + results->overflow = save->overflow; + } + + // Reset any previously partially processed results. + results->decode_type = UNKNOWN; + results->bits = 0; + results->value = 0; + results->address = 0; + results->command = 0; + results->repeat = false; + +#if DECODE_AIWA_RC_T501 + DPRINTLN("Attempting Aiwa RC T501 decode"); + // Try decodeAiwaRCT501() before decodeSanyoLC7461() & decodeNEC() + // because the protocols are similar. This protocol is more specific than + // those ones, so should got before them. + if (decodeAiwaRCT501(results)) + return true; +#endif +#if DECODE_SANYO + DPRINTLN("Attempting Sanyo LC7461 decode"); + // Try decodeSanyoLC7461() before decodeNEC() because the protocols are + // similar in timings & structure, but the Sanyo one is much longer than the + // NEC protocol (42 vs 32 bits) so this one should be tried first to try to + // reduce false detection as a NEC packet. + if (decodeSanyoLC7461(results)) + return true; +#endif +#if DECODE_NEC + DPRINTLN("Attempting NEC decode"); + if (decodeNEC(results)) + return true; +#endif +#if DECODE_SONY + DPRINTLN("Attempting Sony decode"); + if (decodeSony(results)) + return true; +#endif +#if DECODE_MITSUBISHI + DPRINTLN("Attempting Mitsubishi decode"); + if (decodeMitsubishi(results)) + return true; +#endif +#if DECODE_RC5 + DPRINTLN("Attempting RC5 decode"); + if (decodeRC5(results)) + return true; +#endif +#if DECODE_RC6 + DPRINTLN("Attempting RC6 decode"); + if (decodeRC6(results)) + return true; +#endif +#if DECODE_RCMM + DPRINTLN("Attempting RC-MM decode"); + if (decodeRCMM(results)) + return true; +#endif +#if DECODE_DENON + // Denon needs to precede Panasonic as it is a special case of Panasonic. +#ifdef DEBUG + DPRINTLN("Attempting Denon decode"); +#endif + if (decodeDenon(results, DENON_48_BITS) || + decodeDenon(results, DENON_BITS) || + decodeDenon(results, DENON_LEGACY_BITS)) + return true; +#endif +#if DECODE_PANASONIC + DPRINTLN("Attempting Panasonic decode"); + if (decodePanasonic(results)) + return true; +#endif +#if DECODE_LG + DPRINTLN("Attempting LG (28-bit) decode"); + if (decodeLG(results, LG_BITS, true)) + return true; + DPRINTLN("Attempting LG (32-bit) decode"); + // LG32 should be tried before Samsung + if (decodeLG(results, LG32_BITS, true)) + return true; +#endif +#if DECODE_JVC + DPRINTLN("Attempting JVC decode"); + if (decodeJVC(results)) + return true; +#endif +#if DECODE_SAMSUNG + DPRINTLN("Attempting SAMSUNG decode"); + if (decodeSAMSUNG(results)) + return true; +#endif +#if DECODE_WHYNTER + DPRINTLN("Attempting Whynter decode"); + if (decodeWhynter(results)) + return true; +#endif +#if DECODE_DISH + DPRINTLN("Attempting DISH decode"); + if (decodeDISH(results)) + return true; +#endif +#if DECODE_SHARP + DPRINTLN("Attempting Sharp decode"); + if (decodeSharp(results)) + return true; +#endif +#if DECODE_COOLIX + DPRINTLN("Attempting Coolix decode"); + if (decodeCOOLIX(results)) + return true; +#endif +/* NOTE: Disabled due to poor quality. +#if DECODE_SANYO + // The Sanyo S866500B decoder is very poor quality & depricated. + // *IF* you are going to enable it, do it near last to avoid false positive + // matches. + DPRINTLN("Attempting Sanyo SA8650B decode"); + if (decodeSanyo(results)) + return true; +#endif +*/ +#if DECODE_NEC + // Some devices send NEC-like codes that don't follow the true NEC spec. + // This should detect those. e.g. Apple TV remote etc. + // This needs to be done after all other codes that use strict and some + // other protocols that are NEC-like as well, as turning off strict may + // cause this to match other valid protocols. + DPRINTLN("Attempting NEC (non-stict) decode"); + if (decodeNEC(results, NEC_BITS, false)) { + results->decode_type = NEC_LIKE; + return true; + } +#endif + // decodeHash returns a hash on any input. + // Thus, it needs to be last in the list. + // If you add any decodes, add them before this. + if (decodeHash(results)) { + return true; + } + // Throw away and start over + if (!resumed) // Check if we have already resumed. + resume(); + return false; +} + +// Calculate the lower bound of the nr. of ticks. +// +// Args: +// usecs: Nr. of uSeconds. +// tolerance: Percent as an integer. e.g. 10 is 10% +// Returns: +// Nr. of ticks. +uint32_t IRrecv::ticksLow(uint32_t usecs, uint8_t tolerance) { + // max() used to ensure the result can't drop below 0 before the cast. + return((uint32_t) std::max((int32_t) (usecs * (1.0 - tolerance / 100.0)), 0)); +} + +// Calculate the upper bound of the nr. of ticks. +// +// Args: +// usecs: Nr. of uSeconds. +// tolerance: Percent as an integer. e.g. 10 is 10% +// Returns: +// Nr. of ticks. +uint32_t IRrecv::ticksHigh(uint32_t usecs, uint8_t tolerance) { + return((uint32_t) (usecs * (1.0 + tolerance / 100.0)) + 1); +} + +// Check if we match a pulse(measured) with the desired within +// +/-tolerance percent. +// +// Args: +// measured: The recorded period of the signal pulse. +// desired: The expected period (in useconds) we are matching against. +// tolerance: A percentage expressed as an integer. e.g. 10 is 10%. +// +// Returns: +// Boolean: true if it matches, false if it doesn't. +bool IRrecv::match(uint32_t measured, uint32_t desired, + uint8_t tolerance) { + measured *= RAWTICK; // Convert to uSecs. + DPRINT("Matching: "); + DPRINT(ticksLow(desired, tolerance)); + DPRINT(" <= "); + DPRINT(measured); + DPRINT(" <= "); + DPRINTLN(ticksHigh(desired, tolerance)); + return (measured >= ticksLow(desired, tolerance) && + measured <= ticksHigh(desired, tolerance)); +} + + +// Check if we match a pulse(measured) of at least desired within +// +/-tolerance percent. +// +// Args: +// measured: The recorded period of the signal pulse. +// desired: The expected period (in useconds) we are matching against. +// tolerance: A percentage expressed as an integer. e.g. 10 is 10%. +// +// Returns: +// Boolean: true if it matches, false if it doesn't. +bool IRrecv::matchAtLeast(uint32_t measured, uint32_t desired, + uint8_t tolerance) { + measured *= RAWTICK; // Convert to uSecs. + DPRINT("Matching ATLEAST "); + DPRINT(measured); + DPRINT(" vs "); + DPRINT(desired); + DPRINT(". Matching: "); + DPRINT(measured); + DPRINT(" >= "); + DPRINT(ticksLow(std::min(desired, MS_TO_USEC(irparams.timeout)), tolerance)); + DPRINT(" [min("); + DPRINT(ticksLow(desired, tolerance)); + DPRINT(", "); + DPRINT(ticksLow(MS_TO_USEC(irparams.timeout), tolerance)); + DPRINTLN(")]"); + // We really should never get a value of 0, except as the last value + // in the buffer. If that is the case, then assume infinity and return true. + if (measured == 0) return true; + return measured >= ticksLow(std::min(desired, MS_TO_USEC(irparams.timeout)), + tolerance); +} + +// Check if we match a mark signal(measured) with the desired within +// +/-tolerance percent, after an expected is excess is added. +// +// Args: +// measured: The recorded period of the signal pulse. +// desired: The expected period (in useconds) we are matching against. +// tolerance: A percentage expressed as an integer. e.g. 10 is 10%. +// excess: Nr. of useconds. +// +// Returns: +// Boolean: true if it matches, false if it doesn't. +bool IRrecv::matchMark(uint32_t measured, uint32_t desired, + uint8_t tolerance, int16_t excess) { + DPRINT("Matching MARK "); + DPRINT(measured * RAWTICK); + DPRINT(" vs "); + DPRINT(desired); + DPRINT(" + "); + DPRINT(excess); + DPRINT(". "); + return match(measured, desired + excess, tolerance); +} + +// Check if we match a space signal(measured) with the desired within +// +/-tolerance percent, after an expected is excess is removed. +// +// Args: +// measured: The recorded period of the signal pulse. +// desired: The expected period (in useconds) we are matching against. +// tolerance: A percentage expressed as an integer. e.g. 10 is 10%. +// excess: Nr. of useconds. +// +// Returns: +// Boolean: true if it matches, false if it doesn't. +bool IRrecv::matchSpace(uint32_t measured, uint32_t desired, + uint8_t tolerance, int16_t excess) { + DPRINT("Matching SPACE "); + DPRINT(measured * RAWTICK); + DPRINT(" vs "); + DPRINT(desired); + DPRINT(" - "); + DPRINT(excess); + DPRINT(". "); + return match(measured, desired - excess, tolerance); +} + +/* ----------------------------------------------------------------------- + * hashdecode - decode an arbitrary IR code. + * Instead of decoding using a standard encoding scheme + * (e.g. Sony, NEC, RC5), the code is hashed to a 32-bit value. + * + * The algorithm: look at the sequence of MARK signals, and see if each one + * is shorter (0), the same length (1), or longer (2) than the previous. + * Do the same with the SPACE signals. Hash the resulting sequence of 0's, + * 1's, and 2's to a 32-bit value. This will give a unique value for each + * different code (probably), for most code systems. + * + * http://arcfn.com/2010/01/using-arbitrary-remotes-with-arduino.html + */ + +// Compare two tick values, returning 0 if newval is shorter, +// 1 if newval is equal, and 2 if newval is longer +// Use a tolerance of 20% +int16_t IRrecv::compare(uint16_t oldval, uint16_t newval) { + if (newval < oldval * 0.8) + return 0; + else if (oldval < newval * 0.8) + return 2; + else + return 1; +} + +/* Converts the raw code values into a 32-bit hash code. + * Hopefully this code is unique for each button. + * This isn't a "real" decoding, just an arbitrary value. + */ +bool IRrecv::decodeHash(decode_results *results) { + // Require at least 6 samples to prevent triggering on noise + if (results->rawlen < 6) + return false; + int32_t hash = FNV_BASIS_32; + // 'rawlen - 2' to avoid the look ahead from going out of bounds. + // Should probably be -3 to avoid comparing the trailing space entry, + // however it is left this way for compatibility with previously captured + // values. + for (uint16_t i = 1; i < results->rawlen - 2; i++) { + int16_t value = compare(results->rawbuf[i], results->rawbuf[i + 2]); + // Add value into the hash + hash = (hash * FNV_PRIME_32) ^ value; + } + results->value = hash & 0xFFFFFFFF; + results->bits = results->rawlen / 2; + results->address = 0; + results->command = 0; + results->decode_type = UNKNOWN; + return true; +} + +// Match & decode the typical data section of an IR message. +// The data value constructed as the Most Significant Bit first. +// +// Args: +// data_ptr: A pointer to where we are at in the capture buffer. +// nbits: Nr. of data bits we expect. +// onemark: Nr. of uSeconds in an expected mark signal for a '1' bit. +// onespace: Nr. of uSeconds in an expected space signal for a '1' bit. +// zeromark: Nr. of uSeconds in an expected mark signal for a '0' bit. +// zerospace: Nr. of uSeconds in an expected space signal for a '0' bit. +// Returns: +// A match_result_t structure containing the success (or not), the data value, +// and how many buffer entries were used. +match_result_t IRrecv::matchData(volatile uint16_t *data_ptr, uint16_t nbits, + uint16_t onemark, uint32_t onespace, + uint16_t zeromark, uint32_t zerospace) { + match_result_t result; + result.success = false; + result.data = 0; + if (onemark == zeromark) { // Is this space encoded data format? + for (result.used = 0; + result.used < nbits * 2; + result.used += 2, data_ptr++) { + if (!matchMark(*data_ptr, onemark)) + return result; // Fail + data_ptr++; + if (matchSpace(*data_ptr, onespace)) + result.data = (result.data << 1) | 1; + else if (matchSpace(*data_ptr, zerospace)) + result.data <<= 1; + else + return result; // Fail + } + result.success = true; + } else if (onespace == zerospace) { // Is this mark encoded data format? + for (result.used = 0; + result.used < nbits * 2; + result.used += 2, data_ptr++) { + if (matchMark(*data_ptr, onemark)) + result.data = (result.data << 1) | 1; + else if (matchMark(*data_ptr, zeromark)) + result.data <<= 1; + else + return result; // Fail + data_ptr++; + if (!matchSpace(*data_ptr, onespace)) + return result; // Fail + } + result.success = true; + } + return result; +} + +// End of IRrecv class ------------------- diff --git a/lib/IRremoteESP8266/src/IRrecv.h b/lib/IRremoteESP8266/src/IRrecv.h new file mode 100644 index 00000000..4e74a885 --- /dev/null +++ b/lib/IRremoteESP8266/src/IRrecv.h @@ -0,0 +1,203 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2015 Mark Szabo +// Copyright 2015 Sebastien Warin +// Copyright 2017 David Conran + +#ifndef IRRECV_H_ +#define IRRECV_H_ + +#ifndef UNIT_TEST +#include +#endif +#include +#define __STDC_LIMIT_MACROS +#include +#include "IRremoteESP8266.h" + +// Constants +#define HEADER 2U // Usual nr. of header entries. +#define FOOTER 2U // Usual nr. of footer (stop bits) entries. +#define OFFSET_START 1U // Usual rawbuf entry to start processing from. +#define MS_TO_USEC(x) (x * 1000U) // Convert milli-Seconds to micro-Seconds. +// Marks tend to be 100us too long, and spaces 100us too short +// when received due to sensor lag. +#define MARK_EXCESS 50U +#define RAWBUF 100U // Default length of raw capture buffer +#define REPEAT UINT64_MAX +// receiver states +#define STATE_IDLE 2U +#define STATE_MARK 3U +#define STATE_SPACE 4U +#define STATE_STOP 5U +#define TOLERANCE 25U // default percent tolerance in measurements +#define RAWTICK 2U // Capture tick to uSec factor. +// How long (ms) before we give up wait for more data? +// Don't exceed MAX_TIMEOUT_MS without a good reason. +// That is the capture buffers maximum value size. (UINT16_MAX / RAWTICK) +// Typically messages/protocols tend to repeat around the 100ms timeframe, +// thus we should timeout before that to give us some time to try to decode +// before we need to start capturing a possible new message. +// Typically 15ms suits most applications. However, some protocols demand a +// higher value. e.g. 90ms for XMP-1 and some aircon units. +#define TIMEOUT_MS 15U // In MilliSeconds. +#define MAX_TIMEOUT_MS (RAWTICK * UINT16_MAX / MS_TO_USEC(1)) + +// Use FNV hash algorithm: http://isthe.com/chongo/tech/comp/fnv/#FNV-param +#define FNV_PRIME_32 16777619UL +#define FNV_BASIS_32 2166136261UL + +// Types +// information for the interrupt handler +typedef struct { + uint8_t recvpin; // pin for IR data from detector + uint8_t rcvstate; // state machine + uint16_t timer; // state timer, counts 50uS ticks. + uint16_t bufsize; // max. nr. of entries in the capture buffer. + uint16_t *rawbuf; // raw data + // uint16_t is used for rawlen as it saves 3 bytes of iram in the interrupt + // handler. Don't ask why, I don't know. It just does. + uint16_t rawlen; // counter of entries in rawbuf. + uint8_t overflow; // Buffer overflow indicator. + uint8_t timeout; // Nr. of milliSeconds before we give up. +} irparams_t; + +// results from a data match +typedef struct { + bool success; // Was the match successful? + uint64_t data; // The data found. + uint16_t used; // How many buffer positions were used. +} match_result_t; + +// Classes + +// Results returned from the decoder +class decode_results { + public: + decode_type_t decode_type; // NEC, SONY, RC5, UNKNOWN + uint64_t value; // Decoded value + uint16_t bits; // Number of bits in decoded value + volatile uint16_t *rawbuf; // Raw intervals in .5 us ticks + uint16_t rawlen; // Number of records in rawbuf. + bool overflow; + bool repeat; // Is the result a repeat code? + uint32_t address; // Decoded device address. + uint32_t command; // Decoded command. +}; + +// main class for receiving IR +class IRrecv { + public: + explicit IRrecv(uint16_t recvpin, uint16_t bufsize = RAWBUF, + uint8_t timeout = TIMEOUT_MS, + bool save_buffer = false); // Constructor + ~IRrecv(); // Destructor + bool decode(decode_results *results, irparams_t *save = NULL); + void enableIRIn(); + void disableIRIn(); + void resume(); + uint16_t getBufSize(); + +#ifndef UNIT_TEST + + private: +#endif + irparams_t *irparams_save; + // These are called by decode + void copyIrParams(volatile irparams_t *src, irparams_t *dst); + int16_t compare(uint16_t oldval, uint16_t newval); + uint32_t ticksLow(uint32_t usecs, uint8_t tolerance = TOLERANCE); + uint32_t ticksHigh(uint32_t usecs, uint8_t tolerance = TOLERANCE); + bool match(uint32_t measured, uint32_t desired, + uint8_t tolerance = TOLERANCE); + bool matchAtLeast(uint32_t measured, uint32_t desired, + uint8_t tolerance = TOLERANCE); + bool matchMark(uint32_t measured, uint32_t desired, + uint8_t tolerance = TOLERANCE, int16_t excess = MARK_EXCESS); + bool matchSpace(uint32_t measured, uint32_t desired, + uint8_t tolerance = TOLERANCE, int16_t excess = MARK_EXCESS); + match_result_t matchData(volatile uint16_t *data_ptr, uint16_t nbits, + uint16_t onemark, uint32_t onespace, + uint16_t zeromark, uint32_t zerospace); + bool decodeHash(decode_results *results); +#if (DECODE_NEC || DECODE_SHERWOOD || DECODE_AIWA_RC_T501 || SEND_SANYO) + bool decodeNEC(decode_results *results, uint16_t nbits = NEC_BITS, + bool strict = true); +#endif +#if DECODE_SONY + bool decodeSony(decode_results *results, uint16_t nbits = SONY_MIN_BITS, + bool strict = false); +#endif +#if DECODE_SANYO + // DISABLED due to poor quality. + // bool decodeSanyo(decode_results *results, + // uint16_t nbits = SANYO_SA8650B_BITS, + // bool strict = false); + bool decodeSanyoLC7461(decode_results *results, + uint16_t nbits = SANYO_LC7461_BITS, + bool strict = true); +#endif +#if DECODE_MITSUBISHI + bool decodeMitsubishi(decode_results *results, + uint16_t nbits = MITSUBISHI_BITS, + bool strict = true); +#endif +#if (DECODE_RC5 || DECODE_R6) + int16_t getRClevel(decode_results *results, uint16_t *offset, uint16_t *used, + uint16_t bitTime); +#endif +#if DECODE_RC5 + bool decodeRC5(decode_results *results, uint16_t nbits = RC5X_BITS, + bool strict = true); +#endif +#if DECODE_RC6 + bool decodeRC6(decode_results *results, uint16_t nbits = RC6_MODE0_BITS, + bool strict = false); +#endif +#if DECODE_RCMM + bool decodeRCMM(decode_results *results, uint16_t nbits = RCMM_BITS, + bool strict = false); +#endif +#if (DECODE_PANASONIC || DECODE_DENON) + bool decodePanasonic(decode_results *results, uint16_t nbits = PANASONIC_BITS, + bool strict = false, + uint32_t manufacturer = PANASONIC_MANUFACTURER); +#endif +#if DECODE_LG + bool decodeLG(decode_results *results, uint16_t nbits = LG_BITS, + bool strict = false); +#endif +#if DECODE_JVC + bool decodeJVC(decode_results *results, uint16_t nbits = JVC_BITS, + bool strict = true); +#endif +#if DECODE_SAMSUNG + bool decodeSAMSUNG(decode_results *results, uint16_t nbits = SAMSUNG_BITS, + bool strict = true); +#endif +#if DECODE_WHYNTER + bool decodeWhynter(decode_results *results, uint16_t nbits = WHYNTER_BITS, + bool strict = true); +#endif +#if DECODE_COOLIX + bool decodeCOOLIX(decode_results *results, uint16_t nbits = COOLIX_BITS, + bool strict = true); +#endif +#if DECODE_DENON + bool decodeDenon(decode_results *results, uint16_t nbits = DENON_BITS, + bool strict = true); +#endif +#if DECODE_DISH + bool decodeDISH(decode_results *results, uint16_t nbits = DISH_BITS, + bool strict = true); +#endif +#if (DECODE_SHARP || DECODE_DENON) + bool decodeSharp(decode_results *results, uint16_t nbits = SHARP_BITS, + bool strict = true, bool expansion = true); +#endif +#if DECODE_AIWA_RC_T501 + bool decodeAiwaRCT501(decode_results *results, + uint16_t nbits = AIWA_RC_T501_BITS, bool strict = true); +#endif +}; + +#endif // IRRECV_H_ diff --git a/lib/IRremoteESP8266/src/IRremoteESP8266.h b/lib/IRremoteESP8266/src/IRremoteESP8266.h new file mode 100644 index 00000000..0864b60a --- /dev/null +++ b/lib/IRremoteESP8266/src/IRremoteESP8266.h @@ -0,0 +1,243 @@ + /*************************************************** + * IRremote for ESP8266 + * + * Based on the IRremote library for Arduino by Ken Shirriff + * Version 0.11 August, 2009 + * Copyright 2009 Ken Shirriff + * For details, see http://arcfn.com/2009/08/multi-protocol-infrared-remote-library.html + * + * Edited by Mitra to add new controller SANYO + * + * Interrupt code based on NECIRrcv by Joe Knapp + * http://www.arduino.cc/cgi-bin/yabb2/YaBB.pl?num=1210243556 + * Also influenced by http://zovirl.com/2008/11/12/building-a-universal-remote-with-an-arduino/ + * + * JVC and Panasonic protocol added by Kristian Lauszus (Thanks to zenwheel and other people at the original blog post) + * LG added by Darryl Smith (based on the JVC protocol) + * Whynter A/C ARC-110WD added by Francesco Meschia + * Coolix A/C / heatpump added by (send) bakrus & (decode) crankyoldgit + * Denon: sendDenon, decodeDenon added by Massimiliano Pinto + (from https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Denon.cpp) + * Kelvinator A/C and Sherwood added by crankyoldgit + * Mitsubishi (TV) sending added by crankyoldgit + * Pronto code sending added by crankyoldgit + * Mitsubishi A/C added by crankyoldgit + * (derived from https://github.com/r45635/HVAC-IR-Control) + * DISH decode by marcosamarinho + * Gree Heatpump sending added by Ville Skyttä (scop) + * (derived from https://github.com/ToniA/arduino-heatpumpir/blob/master/GreeHeatpumpIR.cpp) + * Updated by markszabo (https://github.com/markszabo/IRremoteESP8266) for sending IR code on ESP8266 + * Updated by Sebastien Warin (http://sebastien.warin.fr) for receiving IR code on ESP8266 + * + * Updated by sillyfrog for Daikin, adopted from + * (https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/) + * Fujitsu A/C code added by jonnygraham + * Trotec AC code by stufisher + * GPL license, all text above must be included in any redistribution + ****************************************************/ + +#ifndef IRREMOTEESP8266_H_ +#define IRREMOTEESP8266_H_ + +#define __STDC_LIMIT_MACROS +#include +#ifdef UNIT_TEST +#include +#endif + +// Library Version +#define _IRREMOTEESP8266_VERSION_ "2.2.0" +// Supported IR protocols +// Each protocol you include costs memory and, during decode, costs time +// Disable (set to false) all the protocols you do not need/want! +// +#define DECODE_NEC true +#define SEND_NEC true + +#define DECODE_SHERWOOD true // Doesn't exist. Actually is DECODE_NEC +#define SEND_SHERWOOD true + +#define DECODE_RC5 true +#define SEND_RC5 true + +#define DECODE_RC6 true +#define SEND_RC6 true + +#define DECODE_RCMM true +#define SEND_RCMM true + +#define DECODE_SONY true +#define SEND_SONY true + +#define DECODE_PANASONIC true +#define SEND_PANASONIC true + +#define DECODE_JVC true +#define SEND_JVC true + +#define DECODE_SAMSUNG true +#define SEND_SAMSUNG true + +#define DECODE_WHYNTER true +#define SEND_WHYNTER true + +#define DECODE_AIWA_RC_T501 true +#define SEND_AIWA_RC_T501 true + +#define DECODE_LG true +#define SEND_LG true + +#define DECODE_SANYO true +#define SEND_SANYO true + +#define DECODE_MITSUBISHI true +#define SEND_MITSUBISHI true + +#define DECODE_DISH true +#define SEND_DISH true + +#define DECODE_SHARP true +#define SEND_SHARP true + +#define DECODE_DENON true +#define SEND_DENON true + +#define DECODE_KELVINATOR false // Not written. +#define SEND_KELVINATOR true + +#define DECODE_MITSUBISHI_AC false // Not written. +#define SEND_MITSUBISHI_AC true + +#define DECODE_FUJITSU_AC false // Not written. +#define SEND_FUJITSU_AC true + +#define DECODE_DAIKIN false // Not finished. +#define SEND_DAIKIN true + +#define DECODE_COOLIX true +#define SEND_COOLIX true + +#define DECODE_GLOBALCACHE false // Not written. +#define SEND_GLOBALCACHE true + +#define DECODE_GREE false // Not written. +#define SEND_GREE true + +#define DECODE_PRONTO false // Not written. +#define SEND_PRONTO true + +#define DECODE_ARGO false // Not written. +#define SEND_ARGO true + +#define DECODE_TROTEC false // Not implemented. +#define SEND_TROTEC true + +/* + * Always add to the end of the list and should never remove entries + * or change order. Projects may save the type number for later usage + * so numbering should always stay the same. + */ +enum decode_type_t { + UNKNOWN = -1, + UNUSED = 0, + RC5, + RC6, + NEC, + SONY, + PANASONIC, + JVC, + SAMSUNG, + WHYNTER, + AIWA_RC_T501, + LG, + SANYO, + MITSUBISHI, + DISH, + SHARP, + COOLIX, + DAIKIN, + DENON, + KELVINATOR, + SHERWOOD, + MITSUBISHI_AC, + RCMM, + SANYO_LC7461, + RC5X, + GREE, + PRONTO, + NEC_LIKE, + ARGO, + TROTEC +}; + +// Message lengths & required repeat values +#define AIWA_RC_T501_BITS 15U +#define AIWA_RC_T501_MIN_REPEAT 1U +#define COOLIX_BITS 24U +#define DAIKIN_BITS 99U +#define DAIKIN_COMMAND_LENGTH 27U +#define DENON_BITS SHARP_BITS +#define DENON_48_BITS PANASONIC_BITS +#define DENON_LEGACY_BITS 14U +#define DISH_BITS 16U +#define DISH_MIN_REPEAT 3U +#define GREE_STATE_LENGTH 8U +#define GREE_BITS (GREE_STATE_LENGTH * 8) +#define JVC_BITS 16U +#define KELVINATOR_STATE_LENGTH 16U +#define LG_BITS 28U +#define LG32_BITS 32U +#define MITSUBISHI_BITS 16U +// TODO(anyone): Verify that the Mitsubishi repeat is really needed. +#define MITSUBISHI_MIN_REPEAT 1U // Based on marcosamarinho's code. +#define MITSUBISHI_AC_STATE_LENGTH 18U +#define MITSUBISHI_AC_MIN_REPEAT 1U +#define FUJITSU_AC_MIN_REPEAT 0U +#define NEC_BITS 32U +#define PANASONIC_BITS 48U +#define PANASONIC_MANUFACTURER 0x4004ULL +#define PRONTO_MIN_LENGTH 6U +#define RC5_RAW_BITS 14U +#define RC5_BITS RC5_RAW_BITS - 2U +#define RC5X_BITS RC5_RAW_BITS - 1U +#define RC6_MODE0_BITS 20U // Excludes the 'start' bit. +#define RC6_36_BITS 36U // Excludes the 'start' bit. +#define RCMM_BITS 24U +#define SAMSUNG_BITS 32U +#define SANYO_SA8650B_BITS 12U +#define SANYO_LC7461_ADDRESS_BITS 13U +#define SANYO_LC7461_COMMAND_BITS 8U +#define SANYO_LC7461_BITS ((SANYO_LC7461_ADDRESS_BITS + \ + SANYO_LC7461_COMMAND_BITS) * 2) +#define SHARP_ADDRESS_BITS 5U +#define SHARP_COMMAND_BITS 8U +#define SHARP_BITS (SHARP_ADDRESS_BITS + SHARP_COMMAND_BITS + 2) // 15U +#define SHERWOOD_BITS NEC_BITS +#define SHERWOOD_MIN_REPEAT 1U +#define SONY_12_BITS 12U +#define SONY_15_BITS 15U +#define SONY_20_BITS 20U +#define SONY_MIN_BITS SONY_12_BITS +#define SONY_MIN_REPEAT 2U +#define TROTEC_COMMAND_LENGTH 9U +#define WHYNTER_BITS 32U +#define ARGO_COMMAND_LENGTH 12U + +// Turn on Debugging information by uncommenting the following line. +// #define DEBUG 1 + +#ifdef DEBUG +#ifdef UNIT_TEST +#define DPRINT(x) do { std::cout << x; } while (0) +#define DPRINTLN(x) do { std::cout << x << std::endl; } while (0) +#endif // UNIT_TEST +#ifdef ARDUINO +#define DPRINT(x) do { Serial.print(x); } while (0) +#define DPRINTLN(x) do { Serial.println(x); } while (0) +#endif // ARDUINO +#else // DEBUG +#define DPRINT(x) +#define DPRINTLN(x) +#endif // DEBUG + +#endif // IRREMOTEESP8266_H_ diff --git a/lib/IRremoteESP8266/src/IRsend.cpp b/lib/IRremoteESP8266/src/IRsend.cpp new file mode 100644 index 00000000..300b1fa9 --- /dev/null +++ b/lib/IRremoteESP8266/src/IRsend.cpp @@ -0,0 +1,327 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2015 Mark Szabo +// Copyright 2017 David Conran + +#include "IRsend.h" +#ifndef UNIT_TEST +#include +#else +#define __STDC_LIMIT_MACROS +#include +#endif +#include +#ifdef UNIT_TEST +#include +#endif +#include "IRtimer.h" + +// Originally from https://github.com/shirriff/Arduino-IRremote/ +// Updated by markszabo (https://github.com/markszabo/IRremoteESP8266) for +// sending IR code on ESP8266 + +// IRsend ---------------------------------------------------------------------- +// Create an IRsend object. +// +// Args: +// IRsendPin: Which GPIO pin to use when sending an IR command. +// inverted: *DANGER* Optional flag to invert the output. (default = false) +// e.g. LED is illuminated when GPIO is LOW rather than HIGH. +// Setting this to something other than the default could +// easily destroy your IR LED if you are overdriving it. +// Unless you *REALLY* know what you are doing, don't change this. +// Returns: +// An IRsend object. +IRsend::IRsend(uint16_t IRsendPin, bool inverted) : IRpin(IRsendPin), + periodOffset(PERIOD_OFFSET) { + if (inverted) { + outputOn = LOW; + outputOff = HIGH; + } else { + outputOn = HIGH; + outputOff = LOW; + } +} + +// Enable the pin for output. +void IRsend::begin() { +#ifndef UNIT_TEST + pinMode(IRpin, OUTPUT); +#endif +} + +// Turn off the IR LED. +void IRsend::ledOff() { +#ifndef UNIT_TEST + digitalWrite(IRpin, outputOff); +#endif +} + +// Calculate the period for a given frequency. (T = 1/f) +// +// Args: +// freq: Frequency in Hz. +// use_offset: Should we use the calculated offset or not? +// Returns: +// nr. of uSeconds. +uint32_t IRsend::calcUSecPeriod(uint32_t hz, bool use_offset) { + if (hz == 0) hz = 1; // Avoid Zero hz. Divide by Zero is nasty. + uint32_t period = (1000000UL + hz/2) / hz; // The equiv of round(1000000/hz). + // Apply the offset and ensure we don't result in a <= 0 value. + if (use_offset) + return std::max((uint32_t) 1, period + periodOffset); + else + return std::max((uint32_t) 1, period); +} + +// Set the output frequency modulation and duty cycle. +// +// Args: +// freq: The freq we want to modulate at. Assumes < 1000 means kHz else Hz. +// duty: Percentage duty cycle of the LED. e.g. 25 = 25% = 1/4 on, 3/4 off. +// +// Note: +// Integer timing functions & math mean we can't do fractions of +// microseconds timing. Thus minor changes to the freq & duty values may have +// limited effect. You've been warned. +void IRsend::enableIROut(uint32_t freq, uint8_t duty) { + // Can't have more than 100% duty cycle. + duty = std::min(duty, (uint8_t) 100); + if (freq < 1000) // Were we given kHz? Supports the old call usage. + freq *= 1000; + uint32_t period = calcUSecPeriod(freq); + // Nr. of uSeconds the LED will be on per pulse. + onTimePeriod = (period * duty) / 100; + // Nr. of uSeconds the LED will be off per pulse. + offTimePeriod = period - onTimePeriod; +} + +// Modulate the IR LED for the given period (usec) and at the duty cycle set. +// +// Args: +// usec: The period of time to modulate the IR LED for, in microseconds. +// Returns: +// Nr. of pulses actually sent. +// +// Note: +// The ESP8266 has no good way to do hardware PWM, so we have to do it all +// in software. There is a horrible kludge/brilliant hack to use the second +// serial TX line to do fairly accurate hardware PWM, but it is only +// available on a single specific GPIO and only available on some modules. +// e.g. It's not available on the ESP-01 module. +// Hence, for greater compatibility & choice, we don't use that method. +// Ref: +// https://www.analysir.com/blog/2017/01/29/updated-esp8266-nodemcu-backdoor-upwm-hack-for-ir-signals/ +uint16_t IRsend::mark(uint16_t usec) { + uint16_t counter = 0; + IRtimer usecTimer = IRtimer(); + // Cache the time taken so far. This saves us calling time, and we can be + // assured that we can't have odd math problems. i.e. unsigned under/overflow. + uint32_t elapsed = usecTimer.elapsed(); + + while (elapsed < usec) { // Loop until we've met/exceeded our required time. +#ifndef UNIT_TEST + digitalWrite(IRpin, outputOn); // Turn the LED on. + // Calculate how long we should pulse on for. + // e.g. Are we to close to the end of our requested mark time (usec)? + delayMicroseconds(std::min((uint32_t) onTimePeriod, usec - elapsed)); + digitalWrite(IRpin, outputOff); // Turn the LED off. +#endif + counter++; + if (elapsed + onTimePeriod >= usec) + return counter; // LED is now off & we've passed our allotted time. + // Wait for the lesser of the rest of the duty cycle, or the time remaining. +#ifndef UNIT_TEST + delayMicroseconds(std::min(usec - elapsed - onTimePeriod, + (uint32_t) offTimePeriod)); +#endif + elapsed = usecTimer.elapsed(); // Update & recache the actual elapsed time. + } + return counter; +} + +// Turn the pin (LED) off for a given time. +// Sends an IR space for the specified number of microseconds. +// A space is no output, so the PWM output is disabled. +// +// Args: +// time: Time in microseconds (us). +void IRsend::space(uint32_t time) { + ledOff(); + if (time == 0) return; +#ifndef UNIT_TEST + // delayMicroseconds is only accurate to 16383us. + // Ref: https://www.arduino.cc/en/Reference/delayMicroseconds + if (time <= 16383) { + delayMicroseconds(time); + } else { + // Invoke a delay(), where possible, to avoid triggering the WDT. + delay(time / 1000UL); // Delay for as many whole milliseconds as we can. + // Delay the remaining sub-millisecond. + delayMicroseconds(static_cast(time % 1000UL)); + } +#endif +} + +// Calculate & set any offsets to account for execution times. +// +// Args: +// hz: The frequency to calibrate at >= 1000Hz. Default is 38000Hz. +// +// Status: ALPHA / Untested. +// +// NOTE: +// This will generate an 65535us mark() IR LED signal. +// This only needs to be called once, if at all. +void IRsend::calibrate(uint16_t hz) { + if (hz < 1000) // Were we given kHz? Supports the old call usage. + hz *= 1000; + periodOffset = 0; // Turn off any existing offset while we calibrate. + enableIROut(hz); + IRtimer usecTimer = IRtimer(); // Start a timer *just* before we do the call. + uint16_t pulses = mark(UINT16_MAX); // Generate a PWM of 65,535 us. (Max.) + uint32_t timeTaken = usecTimer.elapsed(); // Record the time it took. + // While it shouldn't be necessary, assume at least 1 pulse, to avoid a + // divide by 0 situation. + pulses = std::max(pulses, (uint16_t) 1U); + uint32_t calcPeriod = calcUSecPeriod(hz); // e.g. @38kHz it should be 26us. + // Assuming 38kHz for the example calculations: + // In a 65535us pulse, we should have 2520.5769 pulses @ 26us periods. + // e.g. 65535.0us / 26us = 2520.5769 + // This should have caused approx 2520 loops through the main loop in mark(). + // The average over that many interations should give us a reasonable + // approximation at what offset we need to use to account for instruction + // execution times. + // + // Calculate the actual period from the actual time & the actual pulses + // generated. + double_t actualPeriod = (double_t) timeTaken / (double_t) pulses; + // Store the difference between the actual time per period vs. calculated. + periodOffset = (int8_t) ((double_t) calcPeriod - actualPeriod); +} + +// Generic method for sending data that is common to most protocols. +// Will send leading or trailing 0's if the nbits is larger than the number +// of bits in data. +// +// Args: +// onemark: Nr. of usecs for the led to be pulsed for a '1' bit. +// onespace: Nr. of usecs for the led to be fully off for a '1' bit. +// zeromark: Nr. of usecs for the led to be pulsed for a '0' bit. +// zerospace: Nr. of usecs for the led to be fully off for a '0' bit. +// data: The data to be transmitted. +// nbits: Nr. of bits of data to be sent. +// MSBfirst: Flag for bit transmission order. Defaults to MSB->LSB order. +void IRsend::sendData(uint16_t onemark, uint32_t onespace, + uint16_t zeromark, uint32_t zerospace, + uint64_t data, uint16_t nbits, bool MSBfirst) { + if (nbits == 0) // If we are asked to send nothing, just return. + return; + if (MSBfirst) { // Send the MSB first. + // Send 0's until we get down to a bit size we can actually manage. + while (nbits > sizeof(data) * 8) { + mark(zeromark); + space(zerospace); + nbits--; + } + // Send the supplied data. + for (uint64_t mask = 1ULL << (nbits - 1); mask; mask >>= 1) + if (data & mask) { // Send a 1 + mark(onemark); + space(onespace); + } else { // Send a 0 + mark(zeromark); + space(zerospace); + } + } else { // Send the Least Significant Bit (LSB) first / MSB last. + for (uint16_t bit = 0; bit < nbits; bit++, data >>= 1) + if (data & 1) { // Send a 1 + mark(onemark); + space(onespace); + } else { // Send a 0 + mark(zeromark); + space(zerospace); + } + } +} + +// Send a raw IRremote message. +// +// Args: +// buf: An array of uint16_t's that has microseconds elements. +// len: Nr. of elements in the buf[] array. +// hz: Frequency to send the message at. (kHz < 1000; Hz >= 1000) +// +// Status: STABLE / Known working. +// +// Notes: +// Even elements are Mark times (On), Odd elements are Space times (Off). +// +// Ref: +// examples/IRrecvDumpV2/IRrecvDumpV2.ino +void IRsend::sendRaw(uint16_t buf[], uint16_t len, uint16_t hz) { + // Set IR carrier frequency + enableIROut(hz); + for (uint16_t i = 0; i < len; i++) { + if (i & 1) { // Odd bit. + space(buf[i]); + } else { // Even bit. + mark(buf[i]); + } + } + ledOff(); // We potentially have ended with a mark(), so turn of the LED. +} + +#ifndef UNIT_TEST +void IRsend::send(uint16_t type, uint64_t data, uint16_t nbits) { + switch (type) { +#if SEND_NEC + case NEC: sendNEC(data, nbits); break; +#endif +#if SEND_SONY + case SONY: sendSony(data, nbits); break; +#endif +#if SEND_RC5 + case RC5: sendRC5(data, nbits); break; +#endif +#if SEND_RC6 + case RC6: sendRC6(data, nbits); break; +#endif +#if SEND_DISH + case DISH: sendDISH(data, nbits); break; +#endif +#if SEND_JVC + case JVC: sendJVC(data, nbits); break; +#endif +#if SEND_SAMSUNG + case SAMSUNG: sendSAMSUNG(data, nbits); break; +#endif +#if SEND_LG + case LG: sendLG(data, nbits); break; +#endif +#if SEND_WHYNTER + case WHYNTER: sendWhynter(data, nbits); break; +#endif +#if SEND_COOLIX + case COOLIX: sendCOOLIX(data, nbits); break; +#endif +#if SEND_DENON + case DENON: sendDenon(data, nbits); break; +#endif +#if SEND_SHERWOOD + case SHERWOOD: sendSherwood(data, nbits); break; +#endif +#if SEND_RCMM + case RCMM: sendRCMM(data, nbits); break; +#endif +#if SEND_MITSUBISHI + case MITSUBISHI: sendMitsubishi(data, nbits); break; +#endif +#if SEND_SHARP + case SHARP: sendSharpRaw(data, nbits); break; +#endif +#if SEND_AIWA_RC_T501 + case AIWA_RC_T501: sendAiwaRCT501(data, nbits); break; +#endif + } +} +#endif diff --git a/lib/IRremoteESP8266/src/IRsend.h b/lib/IRremoteESP8266/src/IRsend.h new file mode 100644 index 00000000..19e8fcbc --- /dev/null +++ b/lib/IRremoteESP8266/src/IRsend.h @@ -0,0 +1,206 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2015 Mark Szabo +// Copyright 2017 David Conran +#ifndef IRSEND_H_ +#define IRSEND_H_ + +#define __STDC_LIMIT_MACROS +#include +#include "IRremoteESP8266.h" + +// Originally from https://github.com/shirriff/Arduino-IRremote/ +// Updated by markszabo (https://github.com/markszabo/IRremoteESP8266) for +// sending IR code on ESP8266 + +#if TEST || UNIT_TEST +#define VIRTUAL virtual +#else +#define VIRTUAL +#endif + +// Constants +// Offset (in microseconds) to use in Period time calculations to account for +// code excution time in producing the software PWM signal. +// Value determined in https://github.com/markszabo/IRremoteESP8266/issues/62 +#define PERIOD_OFFSET -3 +#define DUTY_DEFAULT 50 + +// Classes +class IRsend { + public: + explicit IRsend(uint16_t IRsendPin, bool inverted = false); + void begin(); + void enableIROut(uint32_t freq, uint8_t duty = DUTY_DEFAULT); + VIRTUAL uint16_t mark(uint16_t usec); + VIRTUAL void space(uint32_t usec); + void calibrate(uint16_t hz = 38000U); + void sendRaw(uint16_t buf[], uint16_t len, uint16_t hz); + void sendData(uint16_t onemark, uint32_t onespace, uint16_t zeromark, + uint32_t zerospace, uint64_t data, uint16_t nbits, + bool MSBfirst = true); + void send(uint16_t type, uint64_t data, uint16_t nbits); +#if (SEND_NEC || SEND_SHERWOOD || SEND_AIWA_RC_T501 || SEND_SANYO) + void sendNEC(uint64_t data, uint16_t nbits = NEC_BITS, uint16_t repeat = 0); + uint32_t encodeNEC(uint16_t address, uint16_t command); +#endif +#if SEND_SONY + // sendSony() should typically be called with repeat=2 as Sony devices + // expect the code to be sent at least 3 times. (code + 2 repeats = 3 codes) + // Legacy use of this procedure was to only send a single code so call it with + // repeat=0 for backward compatibility. As of v2.0 it defaults to sending + // a Sony command that will be accepted be a device. + void sendSony(uint64_t data, uint16_t nbits = SONY_20_BITS, + uint16_t repeat = SONY_MIN_REPEAT); + uint32_t encodeSony(uint16_t nbits, uint16_t command, uint16_t address, + uint16_t extended = 0); +#endif +#if SEND_SHERWOOD + void sendSherwood(uint64_t data, uint16_t nbits = SHERWOOD_BITS, + uint16_t repeat = SHERWOOD_MIN_REPEAT); +#endif +#if SEND_SAMSUNG + void sendSAMSUNG(uint64_t data, uint16_t nbits = SAMSUNG_BITS, + uint16_t repeat = 0); + uint32_t encodeSAMSUNG(uint8_t customer, uint8_t command); +#endif +#if SEND_LG + void sendLG(uint64_t data, uint16_t nbits = LG_BITS, uint16_t repeat = 0); + uint32_t encodeLG(uint16_t address, uint16_t command); +#endif +#if (SEND_SHARP || SEND_DENON) + uint32_t encodeSharp(uint16_t address, uint16_t command, + uint16_t expansion = 1, uint16_t check = 0, + bool MSBfirst = false); + void sendSharp(uint16_t address, uint16_t command, + uint16_t nbits = SHARP_BITS, uint16_t repeat = 0); + void sendSharpRaw(uint64_t data, uint16_t nbits = SHARP_BITS, + uint16_t repeat = 0); +#endif +#if SEND_JVC + void sendJVC(uint64_t data, uint16_t nbits = JVC_BITS, uint16_t repeat = 0); + uint16_t encodeJVC(uint8_t address, uint8_t command); +#endif +#if SEND_DENON + void sendDenon(uint64_t data, uint16_t nbits = DENON_BITS, + uint16_t repeat = 0); +#endif +#if SEND_SANYO + uint64_t encodeSanyoLC7461(uint16_t address, uint8_t command); + void sendSanyoLC7461(uint64_t data, uint16_t nbits = SANYO_LC7461_BITS, + uint16_t repeat = 0); +#endif +#if SEND_DISH + // sendDISH() should typically be called with repeat=3 as DISH devices + // expect the code to be sent at least 4 times. (code + 3 repeats = 4 codes) + // Legacy use of this procedure was only to send a single code + // so use repeat=0 for backward compatibility. + void sendDISH(uint64_t data, uint16_t nbits = DISH_BITS, + uint16_t repeat = DISH_MIN_REPEAT); +#endif +#if (SEND_PANASONIC || SEND_DENON) + void sendPanasonic64(uint64_t data, uint16_t nbits = PANASONIC_BITS, + uint16_t repeat = 0); + void sendPanasonic(uint16_t address, uint32_t data, + uint16_t nbits = PANASONIC_BITS, uint16_t repeat = 0); + uint64_t encodePanasonic(uint16_t manufacturer, uint8_t device, + uint8_t subdevice, uint8_t function); +#endif +#if SEND_RC5 + void sendRC5(uint64_t data, uint16_t nbits = RC5X_BITS, uint16_t repeat = 0); + uint16_t encodeRC5(uint8_t address, uint8_t command, + bool key_released = false); + uint16_t encodeRC5X(uint8_t address, uint8_t command, + bool key_released = false); + uint64_t toggleRC5(uint64_t data); +#endif +#if SEND_RC6 + void sendRC6(uint64_t data, uint16_t nbits = RC6_MODE0_BITS, + uint16_t repeat = 0); + uint64_t encodeRC6(uint32_t address, uint8_t command, + uint16_t mode = RC6_MODE0_BITS); + uint64_t toggleRC6(uint64_t data, uint16_t nbits = RC6_MODE0_BITS); +#endif +#if SEND_RCMM + void sendRCMM(uint64_t data, uint16_t nbits = RCMM_BITS, uint16_t repeat = 0); +#endif +#if SEND_COOLIX + void sendCOOLIX(uint64_t data, uint16_t nbits = COOLIX_BITS, + uint16_t repeat = 0); +#endif +#if SEND_WHYNTER + void sendWhynter(uint64_t data, uint16_t nbits = WHYNTER_BITS, + uint16_t repeat = 0); +#endif +#if SEND_MITSUBISHI + void sendMitsubishi(uint64_t data, uint16_t nbits = MITSUBISHI_BITS, + uint16_t repeat = MITSUBISHI_MIN_REPEAT); +#endif +#if SEND_MITSUBISHI_AC + void sendMitsubishiAC(unsigned char data[], + uint16_t nbytes = MITSUBISHI_AC_STATE_LENGTH, + uint16_t repeat = MITSUBISHI_AC_MIN_REPEAT); +#endif +#if SEND_FUJITSU_AC + void sendFujitsuAC(unsigned char data[], + uint16_t nbytes, + uint16_t repeat = FUJITSU_AC_MIN_REPEAT); +#endif +#if SEND_GLOBALCACHE + void sendGC(uint16_t buf[], uint16_t len); +#endif +#if SEND_KELVINATOR + void sendKelvinator(unsigned char data[], + uint16_t nbytes = KELVINATOR_STATE_LENGTH, + uint16_t repeat = 0); +#endif +#if SEND_DAIKIN + void sendDaikin(unsigned char data[], + uint16_t nbytes = DAIKIN_COMMAND_LENGTH, + uint16_t repeat = 0); +#endif +#if SEND_AIWA_RC_T501 + void sendAiwaRCT501(uint64_t data, uint16_t nbits = AIWA_RC_T501_BITS, + uint16_t repeat = AIWA_RC_T501_MIN_REPEAT); +#endif +#if SEND_GREE + void sendGree(uint64_t data, uint16_t nbits = GREE_BITS, uint16_t repeat = 0); + void sendGree(uint8_t data[], uint16_t nbytes = GREE_STATE_LENGTH, + uint16_t repeat = 0); +#endif +#if SEND_PRONTO + void sendPronto(uint16_t data[], uint16_t len, uint16_t repeat = 0); +#endif +#if SEND_ARGO + void sendArgo(unsigned char data[], + uint16_t nbytes = ARGO_COMMAND_LENGTH, + uint16_t repeat = 0); +#endif + +#if SEND_TROTEC + void sendTrotec(unsigned char data[], + uint16_t nbytes = TROTEC_COMMAND_LENGTH, + uint16_t repeat = 0); +#endif + + protected: +#ifdef UNIT_TEST +#ifndef HIGH +#define HIGH 0x1 +#endif +#ifndef LOW +#define LOW 0x0 +#endif +#endif // UNIT_TEST + uint8_t outputOn; + uint8_t outputOff; + + private: + uint16_t onTimePeriod; + uint16_t offTimePeriod; + uint16_t IRpin; + int8_t periodOffset; + void ledOff(); + uint32_t calcUSecPeriod(uint32_t hz, bool use_offset = true); +}; + +#endif // IRSEND_H_ diff --git a/lib/IRremoteESP8266/src/IRtimer.cpp b/lib/IRremoteESP8266/src/IRtimer.cpp new file mode 100644 index 00000000..cc5cdfaf --- /dev/null +++ b/lib/IRremoteESP8266/src/IRtimer.cpp @@ -0,0 +1,33 @@ +// Copyright 2017 David Conran + +#include "IRtimer.h" +#ifndef UNIT_TEST +#include +#endif + +// This class performs a simple time in useconds since instantiated. +// Handles when the system timer wraps around (once). + +IRtimer::IRtimer() { + reset(); +} + +void IRtimer::reset() { +#ifndef UNIT_TEST + start = micros(); +#else + start = 0; +#endif +} + +uint32_t IRtimer::elapsed() { +#ifndef UNIT_TEST + uint32_t now = micros(); +#else + uint32_t now = 0; +#endif + if (start <= now) // Check if the system timer has wrapped. + return now - start; // No wrap. + else + return UINT32_MAX - start + now; // Has wrapped. +} diff --git a/lib/IRremoteESP8266/src/IRtimer.h b/lib/IRremoteESP8266/src/IRtimer.h new file mode 100644 index 00000000..6cf7f7dc --- /dev/null +++ b/lib/IRremoteESP8266/src/IRtimer.h @@ -0,0 +1,20 @@ +// Copyright 2017 David Conran + +#ifndef IRTIMER_H_ +#define IRTIMER_H_ + +#define __STDC_LIMIT_MACROS +#include + +// Classes +class IRtimer { + public: + IRtimer(); + void reset(); + uint32_t elapsed(); + + private: + uint32_t start; +}; + +#endif // IRTIMER_H_ diff --git a/lib/IRremoteESP8266/src/IRutils.cpp b/lib/IRremoteESP8266/src/IRutils.cpp new file mode 100644 index 00000000..ba3bb75a --- /dev/null +++ b/lib/IRremoteESP8266/src/IRutils.cpp @@ -0,0 +1,59 @@ +// Copyright 2017 David Conran + +#include "IRutils.h" +#ifndef UNIT_TEST +#include +#endif +#define __STDC_LIMIT_MACROS +#include +#include +#include "IRrecv.h" + +// Reverse the order of the requested least significant nr. of bits. +// Args: +// input: Bit pattern/integer to reverse. +// nbits: Nr. of bits to reverse. +// Returns: +// The reversed bit pattern. +uint64_t reverseBits(uint64_t input, uint16_t nbits) { + if (nbits <= 1) + return input; // Reversing <= 1 bits makes no change at all. + // Cap the nr. of bits to rotate to the max nr. of bits in the input. + nbits = std::min(nbits, (uint16_t) (sizeof(input) * 8)); + uint64_t output = 0; + for (uint16_t i = 0; i < nbits; i++) { + output <<= 1; + output |= (input & 1); + input >>= 1; + } + // Merge any remaining unreversed bits back to the top of the reversed bits. + return (input << nbits) | output; +} + +// Print a uint64_t/unsigned long long to the Serial port +// Serial.print() can't handle printing long longs. (uint64_t) +// +// Args: +// input: The value to print +// base: The output base. +// Note: Based on Arduino's Print::printNumber() +void serialPrintUint64(uint64_t input, uint8_t base) { + char buf[8 * sizeof(input) + 1]; // Assumes 8-bit chars plus zero byte. + char *str = &buf[sizeof(buf) - 1]; + + *str = '\0'; + + // prevent crash if called with base == 1 + if (base < 2) base = 10; + + do { + char c = input % base; + input /= base; + + *--str = c < 10 ? c + '0' : c + 'A' - 10; + } while (input); + +#ifndef UNIT_TEST + Serial.print(str); +#endif +} diff --git a/lib/IRremoteESP8266/src/IRutils.h b/lib/IRremoteESP8266/src/IRutils.h new file mode 100644 index 00000000..e333fe47 --- /dev/null +++ b/lib/IRremoteESP8266/src/IRutils.h @@ -0,0 +1,12 @@ +#ifndef IRUTILS_H_ +#define IRUTILS_H_ + +// Copyright 2017 David Conran + +#define __STDC_LIMIT_MACROS +#include + +uint64_t reverseBits(uint64_t input, uint16_t nbits); +void serialPrintUint64(uint64_t input, uint8_t base); + +#endif // IRUTILS_H_ diff --git a/lib/IRremoteESP8266/src/ir_Aiwa.cpp b/lib/IRremoteESP8266/src/ir_Aiwa.cpp new file mode 100644 index 00000000..99a97e18 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Aiwa.cpp @@ -0,0 +1,118 @@ +// Copyright 2017 David Conran + +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" + +// AAA IIIII W W AAA +// A A I W W A A +// AAAAA I W W W AAAAA +// A A I W W W A A +// A A IIIII WWW A A + +// Based off the RC-T501 RCU +// Added by David Conran. (Inspired by IRremoteESP8266's implementation: +// https://github.com/z3t0/Arduino-IRremote) + +#define AIWA_RC_T501_PRE_BITS 26U +#define AIWA_RC_T501_POST_BITS 1U +// NOTE: These are the compliment (inverted) of lirc values as +// lirc uses a '0' for a mark, and a '1' for a space. +#define AIWA_RC_T501_PRE_DATA 0x1D8113FULL // 26-bits +#define AIWA_RC_T501_POST_DATA 1ULL + +#if SEND_AIWA_RC_T501 +// Send a Aiwa RC T501 formatted message. +// +// Args: +// data: The message to be sent. +// nbits: The number of bits of the message to be sent. +// Typically AIWA_RC_T501_BITS. Max is 37 = (64 - 27) +// repeat: The number of times the command is to be repeated. +// +// Status: BETA / Should work. +// +// Ref: +// http://lirc.sourceforge.net/remotes/aiwa/RC-T501 +void IRsend::sendAiwaRCT501(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Appears to be an extended NEC1 protocol. i.e. 42 bits instead of 32 bits. + // So use sendNEC instead, however the twist is it has a fixed 26 bit + // prefix, and a fixed postfix bit. + uint64_t new_data = ( + (AIWA_RC_T501_PRE_DATA << (nbits + AIWA_RC_T501_POST_BITS)) | + (data << AIWA_RC_T501_POST_BITS) | AIWA_RC_T501_POST_DATA); + nbits += AIWA_RC_T501_PRE_BITS + AIWA_RC_T501_POST_BITS; + if (nbits > sizeof(new_data) * 8) + return; // We are overflowing. Abort, and don't send. + sendNEC(new_data, nbits, repeat); +} +#endif + +#if DECODE_AIWA_RC_T501 +// Decode the supplied Aiwa RC T501 message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: The number of data bits to expect. Typically AIWA_RC_T501_BITS. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should work. +// +// Notes: +// Aiwa RC T501 appears to be a 42 bit variant of the NEC1 protocol. +// However, we historically (original Arduino IRremote project) treats it as +// a 15 bit (data) protocol. So, we expect nbits to typically be 15, and we +// will remove the prefix and postfix from the raw data, and use that as +// the result. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/nec.php +bool IRrecv::decodeAiwaRCT501(decode_results *results, uint16_t nbits, + bool strict) { + // Compliance + if (strict && nbits != AIWA_RC_T501_BITS) + return false; // Doesn't match our protocol defn. + + // Add on the pre & post bits to our requested bit length. + uint16_t expected_nbits = nbits + AIWA_RC_T501_PRE_BITS + + AIWA_RC_T501_POST_BITS; + uint64_t new_data; + if (expected_nbits > sizeof(new_data) * 8) + return false; // We can't possibly match something that big. + // Decode it as a much bigger (non-standard) NEC message, so we have to turn + // off strict mode checking for NEC. + if (!decodeNEC(results, expected_nbits, false)) + return false; // The NEC decode had a problem, so we should too. + uint16_t actual_bits = results->bits; + new_data = results->value; + if (actual_bits < expected_nbits) + return false; // The data we caught was undersized. Throw it back. + if ((new_data & 0x1ULL) != AIWA_RC_T501_POST_DATA) + return false; // The post data doesn't match, so it can't be this protocol. + // Trim off the post data bit. + new_data >>= AIWA_RC_T501_POST_BITS; + actual_bits -= AIWA_RC_T501_POST_BITS; + + // Extract out our likely new value and put it back in the results. + actual_bits -= AIWA_RC_T501_PRE_BITS; + results->value = new_data & ((1ULL << actual_bits) - 1); + + // Check the prefix data matches. + new_data >>= actual_bits; // Trim off the new data to expose the prefix. + if (new_data != AIWA_RC_T501_PRE_DATA) // Check the prefix. + return false; + + // Compliance + if (strict && results->bits != expected_nbits) + return false; + + // Success + results->decode_type = AIWA_RC_T501; + results->bits = actual_bits; + results->address = 0; + results->command = 0; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Argo.cpp b/lib/IRremoteESP8266/src/ir_Argo.cpp new file mode 100644 index 00000000..0129c723 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Argo.cpp @@ -0,0 +1,264 @@ +/* +Node MCU/ESP8266 Sketch to emulate Argo Ulisse 13 DCI remote +Controls Argo Ulisse 13 DCI A/C +Copyright 2017 Schmolders +*/ + +#include "ir_Argo.h" +#include +#include "IRremoteESP8266.h" +#include "IRutils.h" + +// Constants +// using SPACE modulation. MARK is always const 400u +#define ARGO_PREAMBLE_1 6400U // Mark +#define ARGO_PREAMBLE_2 3300U // Space +#define ARGO_MARK 400U +#define ARGO_ONE_SPACE 2200U +#define ARGO_ZERO_SPACE 900U + +#if SEND_ARGO +// Send a Argo A/C message. +// +// Args: +// data: An array of ARGO_COMMAND_LENGTH bytes containing the IR command. +// +// Status: ALPHA / Untested. +// +// Overloading the IRSend Function + +void IRsend::sendArgo(unsigned char data[], uint16_t nbytes, uint16_t repeat) { + // Check if we have enough bytes to send a proper message. + if (nbytes < ARGO_COMMAND_LENGTH) return; + // Set IR carrier frequency + enableIROut(38); + for (uint16_t r = 0; r <= repeat; r++) { + // Header + // TODO(kaschmo): validate + mark(ARGO_PREAMBLE_1); + space(ARGO_PREAMBLE_2); + // send data, defined in IRSend.cpp + for (uint16_t i = 0; i < nbytes; i++) + sendData(ARGO_MARK, ARGO_ONE_SPACE, ARGO_MARK, + ARGO_ZERO_SPACE, data[i], 8, false); + // send LSB first reverses the bit order in array for sending. + } +} + +IRArgoAC::IRArgoAC(uint16_t pin) : _irsend(pin) { + stateReset(); +} + +void IRArgoAC::begin() { + _irsend.begin(); +} + +void IRArgoAC::send() { + // Serial.println("Sending IR code"); // Only for Debug + checksum(); // Create valid checksum before sending + _irsend.sendArgo(argo); +} + +void IRArgoAC::checksum() { + uint8_t sum = 2; // Corresponds to byte 11 being constant 0b01 + uint8_t i; + + // Only add up bytes to 9. byte 10 is 0b01 constant anyway. + // Assume that argo array is MSB first (left) + for (i = 0; i < 10; i++) + sum += argo[i]; + + sum = sum % 256; // modulo 256 + // Append sum to end of array + // Set const part of checksum bit 10 + argo[10] = 0b00000010; + argo[10] += sum << 2; // Shift up 2 bits and append to byte 10 + argo[11] = sum >> 6; // Shift down 6 bits and add in two LSBs of bit 11 +} + +void IRArgoAC::stateReset() { + for (uint8_t i = 0; i < ARGO_COMMAND_LENGTH; i++) + argo[i] = 0x0; + + // Argo Message. Store MSB left. + // Default message: + argo[0] = 0b10101100; // LSB first (as sent) 0b00110101; //const preamble + argo[1] = 0b11110101; // LSB first: 0b10101111; //const preamble + // Keep payload 2-9 at zero + argo[10] = 0b00000010; // Const 01, checksum 6bit + argo[11] = 0b00000000; // Checksum 2bit + + this->off(); + this->setTemp(20); + this->setRoomTemp(25); + this->setCoolMode(ARGO_COOL_AUTO); + this->setFan(ARGO_FAN_AUTO); +} + +uint8_t* IRArgoAC::getRaw() { + checksum(); // Ensure correct bit array before returning + return argo; +} + +void IRArgoAC::on() { + // state = ON; + ac_state = 1; + // Bit 5 of byte 9 is on/off + // in MSB first + argo[9] = argo[9] | 0b00100000; // Set ON/OFF bit to 1 +} + +void IRArgoAC::off() { + // state = OFF; + ac_state = 0; + // in MSB first + // bit 5 of byte 9 to off + argo[9] = argo[9] & 0b11011111; // Set on/off bit to 0 +} + +void IRArgoAC::setPower(bool state) { + if (state) + on(); + else + off(); +} + +uint8_t IRArgoAC::getPower() { + return ac_state; +} + +void IRArgoAC::setMax(bool state) { + max_mode = state; + if (max_mode) + argo[9] |= 0b00001000; + else + argo[9] &= 0b11110111; +} + +bool IRArgoAC::getMax() { + return max_mode; +} + +// Set the temp in deg C +// Sending 0 equals +4 +void IRArgoAC::setTemp(uint8_t temp) { + if (temp < ARGO_MIN_TEMP) + temp = ARGO_MIN_TEMP; + else if (temp > ARGO_MAX_TEMP) + temp = ARGO_MAX_TEMP; + + // Store in attributes + set_temp = temp; + // offset 4 degrees. "If I want 12 degrees, I need to send 8" + temp -= 4; + // Settemp = Bit 6,7 of byte 2, and bit 0-2 of byte 3 + // mask out bits + // argo[13] & 0x00000100; // mask out ON/OFF Bit + argo[2] &= 0b00111111; + argo[3] &= 0b11111000; + + argo[2] += temp << 6; // append to bit 6,7 + argo[3] += temp >> 2; // remove lowest to bits and append in 0-2 +} + +uint8_t IRArgoAC::getTemp() { + return set_temp; +} + +// Set the speed of the fan +void IRArgoAC::setFan(uint8_t fan) { + // Set the fan speed bits, leave low 4 bits alone + fan_mode = fan; + // Mask out bits + argo[3] &= 0b11100111; + // Set fan mode at bit positions + argo[3] += fan << 3; +} + +uint8_t IRArgoAC::getFan() { + return fan_mode; +} + +void IRArgoAC::setFlap(uint8_t flap) { + flap_mode = flap; + // TODO(kaschmo): set correct bits for flap mode +} + +uint8_t IRArgoAC::getFlap() { + return flap_mode; +} + +uint8_t IRArgoAC::getMode() { + // return cooling 0, heating 1 + return ac_mode; +} + +void IRArgoAC::setCoolMode(uint8_t mode) { + ac_mode = 0; // Set ac mode to cooling + cool_mode = mode; + // Mask out bits, also leave bit 5 on 0 for cooling + argo[2] &= 0b11000111; + + // Set cool mode at bit positions + argo[2] += mode << 3; +} + +uint8_t IRArgoAC::getCoolMode() { + return cool_mode; +} + +void IRArgoAC::setHeatMode(uint8_t mode) { + ac_mode = 1; // Set ac mode to heating + heat_mode = mode; + // Mask out bits + argo[2] &= 0b11000111; + // Set heating bit + argo[2] |= 0b00100000; + // Set cool mode at bit positions + argo[2] += mode << 3; +} + +uint8_t IRArgoAC::getHeatMode() { + return heat_mode; +} + +void IRArgoAC::setNight(bool state) { + night_mode = state; + if (night_mode) + // Set bit at night position: bit 2 + argo[9] |= 0b00000100; + else + argo[9] &= 0b11111011; +} + +bool IRArgoAC::getNight() { + return night_mode; +} + +void IRArgoAC::setiFeel(bool state) { + ifeel_mode = state; + if (ifeel_mode) + // Set bit at iFeel position: bit 7 + argo[9] |= 0b10000000; + else + argo[9] &= 0b01111111; +} + +bool IRArgoAC::getiFeel() { + return ifeel_mode; +} + +void IRArgoAC::setTime() { + // TODO(kaschmo): use function call from checksum to set time first +} + +void IRArgoAC::setRoomTemp(uint8_t temp) { + temp -= 4; + // Mask out bits + argo[3] &= 0b00011111; + argo[4] &= 0b11111100; + + argo[3] += temp << 5; // Append to bit 5,6,7 + argo[4] += temp >> 3; // Remove lowest 3 bits and append in 0,1 +} +#endif // SEND_ARGO diff --git a/lib/IRremoteESP8266/src/ir_Argo.h b/lib/IRremoteESP8266/src/ir_Argo.h new file mode 100644 index 00000000..a2519920 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Argo.h @@ -0,0 +1,124 @@ +/* Copyright 2017 Schmolders +// Adds support for Argo Ulisse 13 DCI Mobile Split ACs. +*/ +#ifndef IR_ARGO_H_ +#define IR_ARGO_H_ + +#include "IRremoteESP8266.h" +#include "IRsend.h" + +// ARGO Ulisse DCI + +/* + Protocol Description: + All in LSB first as it is sent. argo message array will be stored MSB first! + do LSB-MSB conversion in sendData + Byte 0: const 0 0 1 1 0 1 0 1 + Byte 1: const 1 0 1 0 1 1 1 1 + Byte 2: 0 0 0, 3bit Cool/Heat Mode, 2bit start SetTemp LSB first + Byte 3: 3bit End SetTemp, 2bit Fan Mode, 3bit RoomTemp LSB first + Byte 4: 2bit RoomTemp, 3bit Flap Mode, 3bit OnTimer + Byte 5: 8bit OnTimer + Byte 6: 8Bit OffTimer + Byte 7: 3bit OffTimer, 5bit Time + Byte 8: 6bit Time, 1bit Timer On/Off, 1bit Timer Program + Byte 9: 1bit Timer Program, 1bit Timer 1h, 1 bit Night Mode, 1bit Max Mode, 1bit Filter, 1bit on/off, 1bit const 0, 1bit iFeel + Byte 10: 2bit const 0 1, 6bit Checksum + Byte 11: 2bit Checksum +*/ + +// Constants. Store MSB left. + +#define ARGO_COOL_ON 0U // 0b000 +#define ARGO_COOL_OFF 3U // 0b110 +#define ARGO_COOL_AUTO 2U // 0b010 +#define ARGO_COOl_HUM 1U // 0b100 + +#define ARGO_HEAT_ON 0U // 0b001 +#define ARGO_HEAT_AUTO 1U // 0b101 +#define ARGO_HEAT_BLINK 2U // 0b011 // ??no idea what mode that is + + +#define ARGO_MIN_TEMP 10U // Celsius offset +4 +#define ARGO_MAX_TEMP 32U // Celsius + +#define ARGO_FAN_AUTO 0U // 0b00 +#define ARGO_FAN_3 3U // 0b11 +#define ARGO_FAN_2 2U // 0b01 +#define ARGO_FAN_1 1U // 0b10 + +#define ARGO_FLAP_AUTO 0U // 0b000 +#define ARGO_FLAP_1 1U // 0b100 +#define ARGO_FLAP_2 2U // 0b010 +#define ARGO_FLAP_3 3U // 0b110 +#define ARGO_FLAP_4 4U // 0b001 +#define ARGO_FLAP_5 5U // 0b101 +#define ARGO_FLAP_6 6U // 0b011 +#define ARGO_FLAP_FULL 7U // 0b111 + + +#if SEND_ARGO +class IRArgoAC { + public: + explicit IRArgoAC(uint16_t pin); + + void send(); + void begin(); + void on(); + void off(); + + void setPower(bool state); + uint8_t getPower(); + + void setTemp(uint8_t temp); + uint8_t getTemp(); + + void setFan(uint8_t fan); + uint8_t getFan(); + + void setFlap(uint8_t flap); + uint8_t getFlap(); + + void setCoolMode(uint8_t mode); + uint8_t getCoolMode(); + + void setHeatMode(uint8_t mode); + uint8_t getHeatMode(); + uint8_t getMode(); + + void setMax(bool state); + bool getMax(); + + void setNight(bool state); + bool getNight(); + + void setiFeel(bool state); + bool getiFeel(); + + void setTime(); + void setRoomTemp(uint8_t temp); + + uint8_t* getRaw(); + + private: + // # of bytes per command + uint8_t argo[ARGO_COMMAND_LENGTH]; // Defined in IRremoteESP8266.h + void stateReset(); + void checksum(); + IRsend _irsend; // instance of the IR send class + + // Attributes + uint8_t set_temp; + uint8_t fan_mode; + uint8_t flap_mode; + uint8_t ac_state; + uint8_t ac_mode; // heat 1, cool 0 + uint8_t heat_mode; + uint8_t cool_mode; + uint8_t night_mode; // on/off + uint8_t max_mode; // on/off + uint8_t ifeel_mode; // on/off +}; +#endif // SEND_ARGO + +#endif // IR_ARGO_H_ diff --git a/lib/IRremoteESP8266/src/ir_Coolix.cpp b/lib/IRremoteESP8266/src/ir_Coolix.cpp new file mode 100644 index 00000000..f664d6ad --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Coolix.cpp @@ -0,0 +1,167 @@ +// Copyright bakrus +// Copyright 2017 David Conran + +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// CCCCC OOOOO OOOOO LL IIIII XX XX +// CC C OO OO OO OO LL III XX XX +// CC OO OO OO OO LL III XXXX +// CC C OO OO OO OO LL III XX XX +// CCCCC OOOO0 OOOO0 LLLLLLL IIIII XX XX + +// Coolix A/C / heatpump added by (send) bakrus & (decode) crankyoldgit + +// Constants +// Pulse parms are *50-100 for the Mark and *50+100 for the space +// First MARK is the one after the long gap +// pulse parameters in usec +#define COOLIX_TICK 560U // Approximately 21 cycles at 38kHz +#define COOLIX_BIT_MARK_TICKS 1U +#define COOLIX_BIT_MARK (COOLIX_BIT_MARK_TICKS * COOLIX_TICK) +#define COOLIX_ONE_SPACE_TICKS 3U +#define COOLIX_ONE_SPACE (COOLIX_ONE_SPACE_TICKS * COOLIX_TICK) +#define COOLIX_ZERO_SPACE_TICKS 1U +#define COOLIX_ZERO_SPACE (COOLIX_ZERO_SPACE_TICKS * COOLIX_TICK) +#define COOLIX_HDR_MARK_TICKS 8U +#define COOLIX_HDR_MARK (COOLIX_HDR_MARK_TICKS * COOLIX_TICK) +#define COOLIX_HDR_SPACE_TICKS 8U +#define COOLIX_HDR_SPACE (COOLIX_HDR_SPACE_TICKS * COOLIX_TICK) +#define COOLIX_MIN_GAP_TICKS (COOLIX_HDR_MARK_TICKS + \ + COOLIX_ZERO_SPACE_TICKS) +#define COOLIX_MIN_GAP (COOLIX_MIN_GAP_TICKS * COOLIX_TICK) + +#if SEND_COOLIX +// Send a Coolix message +// +// Args: +// data: Contents of the message to be sent. +// nbits: Nr. of bits of data to be sent. Typically COOLIX_BITS. +// repeat: Nr. of additional times the message is to be sent. +// +// Status: BETA / Probably works. +// +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_COOLIX.cpp +// TODO(anyone): Verify repeat functionality against a real unit. +void IRsend::sendCOOLIX(uint64_t data, uint16_t nbits, uint16_t repeat) { + if (nbits % 8 != 0) + return; // nbits is required to be a multiple of 8. + + // Set IR carrier frequency + enableIROut(38); + + for (uint16_t r = 0; r <= repeat; r++) { + // Header + mark(COOLIX_HDR_MARK); + space(COOLIX_HDR_SPACE); + + // Data + // Break data into byte segments, starting at the Most Significant + // Byte. Each byte then being sent normal, then followed inverted. + for (uint16_t i = 8; i <= nbits; i += 8) { + // Grab a bytes worth of data. + uint8_t segment = (data >> (nbits - i)) & 0xFF; + // Normal + sendData(COOLIX_BIT_MARK, COOLIX_ONE_SPACE, + COOLIX_BIT_MARK, COOLIX_ZERO_SPACE, + segment, 8, true); + // Inverted. + sendData(COOLIX_BIT_MARK, COOLIX_ONE_SPACE, + COOLIX_BIT_MARK, COOLIX_ZERO_SPACE, + segment ^ 0xFF, 8, true); + } + + // Footer + mark(COOLIX_BIT_MARK); + space(COOLIX_MIN_GAP); // Pause before repeating + } +} +#endif + +#if DECODE_COOLIX +// Decode the supplied Coolix message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: The number of data bits to expect. Typically COOLIX_BITS. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Probably working. +bool IRrecv::decodeCOOLIX(decode_results *results, uint16_t nbits, + bool strict) { + // The protocol sends the data normal + inverted, alternating on + // each byte. Hence twice the number of expected data bits. + if (results->rawlen < 2 * 2 * nbits + HEADER + FOOTER - 1) + return false; // Can't possibly be a valid COOLIX message. + if (strict && nbits != COOLIX_BITS) + return false; // Not strictly an COOLIX message. + if (nbits % 8 != 0) // nbits has to be a multiple of nr. of bits in a byte. + return false; + + uint64_t data = 0; + uint64_t inverted = 0; + uint16_t offset = OFFSET_START; + + if (nbits > sizeof(data) * 8) + return false; // We can't possibly capture a Coolix packet that big. + + // Header + if (!matchMark(results->rawbuf[offset], COOLIX_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / COOLIX_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], COOLIX_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / + COOLIX_HDR_SPACE_TICKS; + + // Data + // Twice as many bits as there are normal plus inverted bits. + for (uint16_t i = 0; i < nbits * 2; i++, offset++) { + bool flip = (i / 8) % 2; + if (!matchMark(results->rawbuf[offset++], COOLIX_BIT_MARK_TICKS * m_tick)) + return false; + if (matchSpace(results->rawbuf[offset], COOLIX_ONE_SPACE_TICKS * s_tick)) { + if (flip) + inverted = (inverted << 1) | 1; + else + data = (data << 1) | 1; + } else if (matchSpace(results->rawbuf[offset], + COOLIX_ZERO_SPACE_TICKS * s_tick)) { + if (flip) + inverted <<= 1; + else + data <<= 1; + } else { + return false; + } + } + + // Footer + if (!matchMark(results->rawbuf[offset++], COOLIX_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], COOLIX_MIN_GAP_TICKS * s_tick)) + return false; + + // Compliance + uint64_t orig = data; // Save a copy of the data. + if (strict) { + for (uint16_t i = 0; i < nbits; i += 8, data >>= 8, inverted >>= 8) + if ((data & 0xFF) != ((inverted & 0xFF) ^ 0xFF)) + return false; + } + + // Success + results->decode_type = COOLIX; + results->bits = nbits; + results->value = orig; + results->address = 0; + results->command = 0; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Daikin.cpp b/lib/IRremoteESP8266/src/ir_Daikin.cpp new file mode 100644 index 00000000..f57b6760 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Daikin.cpp @@ -0,0 +1,347 @@ +/* +An Arduino sketch to emulate IR Daikin ARC433** remote control unit +Read more at: +http://harizanov.com/2012/02/control-daikin-air-conditioner-over-the-internet/ + +Copyright 2016 sillyfrog +*/ + +#include "ir_Daikin.h" +#include +#include "IRremoteESP8266.h" +#include "IRutils.h" + +// DDDDD AAA IIIII KK KK IIIII NN NN +// DD DD AAAAA III KK KK III NNN NN +// DD DD AA AA III KKKK III NN N NN +// DD DD AAAAAAA III KK KK III NN NNN +// DDDDDD AA AA IIIII KK KK IIIII NN NN + +// Constants +// Ref: +// https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/tree/master/IRremote +#define DAIKIN_HDR_MARK 3650U // DAIKIN_ZERO_MARK * 8 +#define DAIKIN_HDR_SPACE 1623U // DAIKIN_ZERO_MARK * 4 +#define DAIKIN_ONE_SPACE 1280U +#define DAIKIN_ONE_MARK 428U +#define DAIKIN_ZERO_MARK 428U +#define DAIKIN_ZERO_SPACE 428U +#define DAIKIN_GAP 29000U + +#if SEND_DAIKIN +// Send a Daikin A/C message. +// +// Args: +// data: An array of DAIKIN_COMMAND_LENGTH bytes containing the IR command. +// +// Status: STABLE +// +// Ref: +// IRDaikinESP.cpp +// https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/tree/master/IRremote +void IRsend::sendDaikin(unsigned char data[], uint16_t nbytes, + uint16_t repeat) { + if (nbytes < DAIKIN_COMMAND_LENGTH) + return; // Not enough bytes to send a proper message. + // Set IR carrier frequency + enableIROut(38); + for (uint16_t r = 0; r <= repeat; r++) { + // Header #1 + mark(DAIKIN_HDR_MARK); + space(DAIKIN_HDR_SPACE); + // Data #1 + for (uint16_t i = 0; i < 8 && i < nbytes; i++) + sendData(DAIKIN_ONE_MARK, DAIKIN_ONE_SPACE, DAIKIN_ZERO_MARK, + DAIKIN_ZERO_SPACE, data[i], 8, false); + // Footer #1 + mark(DAIKIN_ONE_MARK); + space(DAIKIN_ZERO_SPACE + DAIKIN_GAP); + + // Header #2 + mark(DAIKIN_HDR_MARK); + space(DAIKIN_HDR_SPACE); + // Data #2 + for (uint16_t i = 8; i < nbytes; i++) + sendData(DAIKIN_ONE_MARK, DAIKIN_ONE_SPACE, DAIKIN_ZERO_MARK, + DAIKIN_ZERO_SPACE, data[i], 8, false); + // Footer #2 + mark(DAIKIN_ONE_MARK); + space(DAIKIN_ZERO_SPACE + DAIKIN_GAP); + } +} + +IRDaikinESP::IRDaikinESP(uint16_t pin) : _irsend(pin) { + stateReset(); +} + +void IRDaikinESP::begin() { + _irsend.begin(); +} + +void IRDaikinESP::send() { + _irsend.sendDaikin(daikin); +} + +void IRDaikinESP::checksum() { + uint8_t sum = 0; + uint8_t i; + + for (i = 0; i <= 6; i++) + sum += daikin[i]; + + daikin[7] = sum & 0xFF; + sum = 0; + for (i = 8; i <= 25; i++) + sum += daikin[i]; + daikin[26] = sum & 0xFF; +} + + +void IRDaikinESP::stateReset() { + for (uint8_t i = 4; i < DAIKIN_COMMAND_LENGTH; i++) + daikin[i] = 0x0; + + daikin[0] = 0x11; + daikin[1] = 0xDA; + daikin[2] = 0x27; + daikin[3] = 0xF0; + daikin[7] = 0x20; + daikin[8] = 0x11; + daikin[9] = 0xDA; + daikin[10] = 0x27; + daikin[13] = 0x41; + daikin[14] = 0x1E; + daikin[16] = 0xB0; + daikin[23] = 0xC0; + daikin[26] = 0xE3; + checksum(); +} + +uint8_t* IRDaikinESP::getRaw() { + checksum(); // Ensure correct settings before sending. + return daikin; +} + +void IRDaikinESP::on() { + // state = ON; + daikin[13] |= 0x01; + checksum(); +} + +void IRDaikinESP::off() { + // state = OFF; + daikin[13] &= 0xFE; + checksum(); +} + +void IRDaikinESP::setPower(bool state) { + if (state) + on(); + else + off(); +} + +uint8_t IRDaikinESP::getPower() { + return daikin[13] & 0x01; +} + +// DAIKIN_SILENT or DAIKIN_POWERFUL +void IRDaikinESP::setAux(uint8_t aux) { + daikin[21] = aux; + checksum(); +} + +uint8_t IRDaikinESP::getAux() { + return daikin[21]; +} + +void IRDaikinESP::setQuiet(bool state) { + if (state) + setAux(DAIKIN_SILENT); + else + setAux(0x0); +} + +bool IRDaikinESP::getQuiet() { + return (getAux() == DAIKIN_SILENT); +} + +void IRDaikinESP::setPowerful(bool state) { + if (state) + setAux(DAIKIN_POWERFUL); + else + setAux(0x0); +} + +bool IRDaikinESP::getPowerful() { + return (getAux() == DAIKIN_POWERFUL); +} + +// Set the temp in deg C +void IRDaikinESP::setTemp(uint8_t temp) { + if (temp < DAIKIN_MIN_TEMP) + temp = DAIKIN_MIN_TEMP; + else if (temp > DAIKIN_MAX_TEMP) + temp = DAIKIN_MAX_TEMP; + daikin[14] = temp * 2; + checksum(); +} + +uint8_t IRDaikinESP::getTemp() { + return daikin[14] / 2; +} + +// Set the speed of the fan, 0-5, 0 is auto, 1-5 is the speed +void IRDaikinESP::setFan(uint8_t fan) { + // Set the fan speed bits, leave low 4 bits alone + uint8_t fanset; + daikin[16] &= 0x0F; + fan = std::min(fan, DAIKIN_FAN_MAX); + if (fan == DAIKIN_FAN_AUTO) + fanset = 0xA0; + else + fanset = 0x20 + (0x10 * fan); + daikin[16] |= fanset; + checksum(); +} + +uint8_t IRDaikinESP::getFan() { + uint8_t fan = daikin[16] >> 4; + fan -= 2; + if (fan > DAIKIN_FAN_MAX) + fan = DAIKIN_FAN_AUTO; + return fan; +} + +uint8_t IRDaikinESP::getMode() { + /* + DAIKIN_COOL + DAIKIN_HEAT + DAIKIN_FAN + DAIKIN_AUTO + DAIKIN_DRY + */ + return daikin[13] >> 4; +} + +void IRDaikinESP::setMode(uint8_t mode) { + switch (mode) { + case DAIKIN_COOL: + case DAIKIN_HEAT: + case DAIKIN_FAN: + case DAIKIN_DRY: + break; + default: + mode = DAIKIN_AUTO; + } + daikin[13] = (mode << 4) | getPower(); + checksum(); +} + +void IRDaikinESP::setSwingVertical(bool state) { + if (state) + daikin[16] |= 0x0F; + else + daikin[16] &= 0xF0; + checksum(); +} + +bool IRDaikinESP::getSwingVertical() { + return daikin[16] & 0x01; +} + +void IRDaikinESP::setSwingHorizontal(bool state) { + if (state) + daikin[17] |= 0x0F; + else + daikin[17] &= 0xF0; + checksum(); +} + +bool IRDaikinESP::getSwingHorizontal() { + return daikin[17] & 0x01; +} +#endif // SEND_DAIKIN + +#if DECODE_DAIKIN +// TODO(crankyoldgit): NOT WORKING. This needs to be finished. +// Decode the supplied Daikin A/C message. (NOT WORKING - DO NOT USE) +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of bits to expect in the data portion. Typically SAMSUNG_BITS. +// strict: Flag to indicate if we strictly adhere to the specification. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: UNFINISHED / Completely not working, not even vaguely. +// +// Ref: +// https://github.com/mharizanov/Daikin-AC-remote-control-over-the-Internet/tree/master/IRremote +bool IRrecv::decodeDaikin(decode_results *results, uint16_t nbits, + bool strict) { + if (results->rawlen < 2 * nbits + HEADER + FOOTER) + return false; + + // Compliance + if (strict && nbits != DAIKIN_BITS) + return false; + + uint32_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset++], DAIKIN_HDR_MARK)) + return false; + if (!matchSpace(results->rawbuf[offset++], DAIKIN_HDR_SPACE)) + return false; + + // Data (#1) + for (uint8_t i = 0; i < sizeof(data) * 8; i++, offset++) { + if (!matchMark(results->rawbuf[offset++], DAIKIN_ONE_MARK)) + return false; + if (matchSpace(results->rawbuf[offset], DAIKIN_ONE_SPACE)) + data = (data << 1) | 1; // 1 + else if (matchSpace(results->rawbuf[offset], DAIKIN_ZERO_SPACE)) + data <<= 1; // 0 + else + return false; + } + + uint32_t number = data; // some number... + uint32_t reversed = reverseBits(number, sizeof(number) * 8) + + DPRINT("Code "); + DPRINTLN(reversed, HEX); + + // Data (#2) + for (uint8_t i = 0; i < sizeof(data) * 8; i++, offset++) { + if (!matchMark(results->rawbuf[offset++], DAIKIN_ONE_MARK)) + return false; + if (matchSpace(results->rawbuf[offset], DAIKIN_ONE_SPACE)) + data = (data << 1) | 1; // 1 + else if (matchSpace(results->rawbuf[offset], DAIKIN_ZERO_SPACE)) + data <<= 1; // 0 + else + return false; + } + + number = data; // some number... + reversed = reverseBits(number, sizeof(number) * 8) + + DPRINT("Code2 "); + DPRINTLN(reversed, HEX); + + if (!matchSpace(results->rawbuf[offset++], DAIKIN_GAP)) { + DPRINTLN("no gap"); + return false; + } + + // Success + results->bits = DAIKIN_BITS; + results->value = reversed; + results->decode_type = DAIKIN; + results->address = 0; + results->command = 0; + return true; +} +#endif // DECODE_DAIKIN diff --git a/lib/IRremoteESP8266/src/ir_Daikin.h b/lib/IRremoteESP8266/src/ir_Daikin.h new file mode 100644 index 00000000..7172a5e2 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Daikin.h @@ -0,0 +1,107 @@ +/* Copyright 2016 sillyfrog */ +#ifndef IR_DAIKIN_H_ +#define IR_DAIKIN_H_ + +#include "IRremoteESP8266.h" +#include "IRsend.h" + +// DDDDD AAA IIIII KK KK IIIII NN NN +// DD DD AAAAA III KK KK III NNN NN +// DD DD AA AA III KKKK III NN N NN +// DD DD AAAAAAA III KK KK III NN NNN +// DDDDDD AA AA IIIII KK KK IIIII NN NN + +/* + Daikin AC map + byte 7= checksum of the first part (and last byte before a 29ms pause) + byte 13=mode + b7 = 0 + b6+b5+b4 = Mode + Modes: b6+b5+b4 + 011 = Cool + 100 = Heat (temp 23) + 110 = FAN (temp not shown, but 25) + 000 = Fully Automatic (temp 25) + 010 = DRY (temp 0xc0 = 96 degrees c) + b3 = 0 + b2 = OFF timer set + b1 = ON timer set + b0 = Air Conditioner ON + byte 14=temp*2 (Temp should be between 18 - 32) + byte 16=Fan + FAN control + b7+b6+b5+b4 = Fan speed + Fan: b7+b6+b5+b4 + 0×30 = 1 bar + 0×40 = 2 bar + 0×50 = 3 bar + 0×60 = 4 bar + 0×70 = 5 bar + 0xa0 = Auto + 0xb0 = Not auto, moon + tree + b3+b2+b1+b0 = Swing control up/down + Swing control up/down: + 0000 = Swing up/down off + 1111 = Swing up/down on + byte 17 + Swing control left/right: + 0000 = Swing left/right off + 1111 = Swing left/right on + byte 21=Aux -> Powerful (bit 1), Silent (bit 5) + byte 24=Aux2 -> Intelligent eye on (bit 7) + byte 26= checksum of the second part +*/ + +// Constants +#define DAIKIN_COOL 0b011 +#define DAIKIN_HEAT 0b100 +#define DAIKIN_FAN 0b110 +#define DAIKIN_AUTO 0b000 +#define DAIKIN_DRY 0b010 +#define DAIKIN_POWERFUL 0b00000010 +#define DAIKIN_SILENT 0b00100000 +#define DAIKIN_MIN_TEMP 18U // Celsius +#define DAIKIN_MAX_TEMP 32U // Celsius +#define DAIKIN_FAN_AUTO (uint8_t) 0U +#define DAIKIN_FAN_MIN (uint8_t) 1U +#define DAIKIN_FAN_MAX (uint8_t) 5U + +#if SEND_DAIKIN +class IRDaikinESP { + public: + explicit IRDaikinESP(uint16_t pin); + + void send(); + void begin(); + void on(); + void off(); + void setPower(bool state); + uint8_t getPower(); + void setAux(uint8_t aux); + uint8_t getAux(); + void setTemp(uint8_t temp); + uint8_t getTemp(); + void setFan(uint8_t fan); + uint8_t getFan(); + uint8_t getMode(); + void setMode(uint8_t mode); + void setSwingVertical(bool state); + bool getSwingVertical(); + void setSwingHorizontal(bool state); + bool getSwingHorizontal(); + bool getQuiet(); + void setQuiet(bool state); + bool getPowerful(); + void setPowerful(bool state); + uint8_t* getRaw(); + + private: + // # of bytes per command + uint8_t daikin[DAIKIN_COMMAND_LENGTH]; + void stateReset(); + void checksum(); + IRsend _irsend; +}; +#endif + +#endif // IR_DAIKIN_H_ diff --git a/lib/IRremoteESP8266/src/ir_Denon.cpp b/lib/IRremoteESP8266/src/ir_Denon.cpp new file mode 100644 index 00000000..538e5af1 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Denon.cpp @@ -0,0 +1,153 @@ +// Copyright 2016 Massimiliano Pinto +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// DDDD EEEEE N N OOO N N +// D D E NN N O O NN N +// D D EEE N N N O O N N N +// D D E N NN O O N NN +// DDDD EEEEE N N OOO N N + +// Original Denon support added by https://github.com/csBlueChip +// Ported over by Massimiliano Pinto + +// Constants +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Denon.cpp +#define DENON_TICK 263U +#define DENON_HDR_MARK_TICKS 1U +#define DENON_HDR_MARK (DENON_HDR_MARK_TICKS * DENON_TICK) +#define DENON_HDR_SPACE_TICKS 3U +#define DENON_HDR_SPACE (DENON_HDR_SPACE_TICKS * DENON_TICK) +#define DENON_BIT_MARK_TICKS 1U +#define DENON_BIT_MARK (DENON_BIT_MARK_TICKS * DENON_TICK) +#define DENON_ONE_SPACE_TICKS 7U +#define DENON_ONE_SPACE (DENON_ONE_SPACE_TICKS * DENON_TICK) +#define DENON_ZERO_SPACE_TICKS 3U +#define DENON_ZERO_SPACE (DENON_ZERO_SPACE_TICKS * DENON_TICK) +#define DENON_MIN_COMMAND_LENGTH_TICKS 510U +#define DENON_MIN_COMMAND_LENGTH (DENON_MIN_COMMAND_LENGTH_TICKS * DENON_TICK) +#define DENON_MIN_GAP_TICKS (DENON_MIN_COMMAND_LENGTH_TICKS - \ + (DENON_HDR_MARK_TICKS + DENON_HDR_SPACE_TICKS + \ + DENON_BITS * (DENON_BIT_MARK_TICKS + DENON_ONE_SPACE_TICKS) + \ + DENON_BIT_MARK_TICKS)) +#define DENON_MIN_GAP (DENON_MIN_GAP_TICKS * DENON_TICK) +#define DENON_MANUFACTURER 0x2A4CULL + +#if SEND_DENON +// Send a Denon message +// +// Args: +// data: Contents of the message to be sent. +// nbits: Nr. of bits of data to be sent. Typically DENON_BITS. +// repeat: Nr. of additional times the message is to be sent. +// +// Status: BETA / Should be working. +// +// Notes: +// Some Denon devices use a Kaseikyo/Panasonic 48-bit format +// Others use the Sharp protocol. +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Denon.cpp +// http://assets.denon.com/documentmaster/us/denon%20master%20ir%20hex.xls +void IRsend::sendDenon(uint64_t data, uint16_t nbits, uint16_t repeat) { + if (nbits >= PANASONIC_BITS) // Is this really Panasonic? + sendPanasonic64(data, nbits, repeat); + else if (nbits == DENON_LEGACY_BITS) + // Support legacy (broken) calls of sendDenon(). + sendSharpRaw(data & (~0x2000ULL), nbits + 1, repeat); + else + sendSharpRaw(data, nbits, repeat); +} +#endif + +#if DECODE_DENON +// Decode a Denon message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Expected nr. of data bits. (Typically DENON_BITS) +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should work fine. +// +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Denon.cpp +bool IRrecv::decodeDenon(decode_results *results, uint16_t nbits, bool strict) { + // Compliance + if (strict) { + switch (nbits) { + case DENON_BITS: + case DENON_48_BITS: + case DENON_LEGACY_BITS: + break; + default: + return false; + } + } + + // Denon uses the Sharp & Panasonic(Kaseikyo) protocol for some + // devices, so check for those first. + // It is not exactly like Sharp's protocols, but close enough. + // e.g. The expansion bit is not set for Denon vs. set for Sharp. + // Ditto for Panasonic, it's the same except for a different + // manufacturer code. + + if (!decodeSharp(results, nbits, true, false) && + !decodePanasonic(results, nbits, true, DENON_MANUFACTURER)) { + // We couldn't decode it as expected, so try the old legacy method. + // NOTE: I don't think this following protocol actually exists. + // Looks like a partial version of the Sharp protocol. + // Check we have enough data + if (results->rawlen < 2 * nbits + HEADER + FOOTER - 1) + return false; + if (strict && nbits != DENON_LEGACY_BITS) + return false; + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset], DENON_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / + DENON_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], DENON_HDR_SPACE)) return false; + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / + DENON_HDR_SPACE_TICKS; + + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + DENON_BIT_MARK_TICKS * m_tick, + DENON_ONE_SPACE_TICKS * s_tick, + DENON_BIT_MARK_TICKS * m_tick, + DENON_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!matchMark(results->rawbuf[offset++], DENON_BIT_MARK_TICKS * m_tick)) + return false; + + // Success + results->bits = nbits; + results->value = data; + results->address = 0; + results->command = 0; + } // Legacy decode. + + // Compliance + if (strict && nbits != results->bits) return false; + + // Success + results->decode_type = DENON; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Dish.cpp b/lib/IRremoteESP8266/src/ir_Dish.cpp new file mode 100644 index 00000000..4555db92 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Dish.cpp @@ -0,0 +1,144 @@ +// Copyright Todd Treece +// Copyright 2017 David Conran + +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// DDDD IIIII SSSS H H +// D D I S H H +// D D I SSS HHHHH +// D D I S H H +// DDDD IIIII SSSS H H + +// DISH support originally by Todd Treece +// http://unionbridge.org/design/ircommand + +// Constants +// Ref: +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Dish.cpp +// http://www.hifi-remote.com/wiki/index.php?title=Dish +#define DISH_TICK 100U +#define DISH_HDR_MARK_TICKS 4U +#define DISH_HDR_MARK (DISH_HDR_MARK_TICKS * DISH_TICK) +#define DISH_HDR_SPACE_TICKS 61U +#define DISH_HDR_SPACE (DISH_HDR_SPACE_TICKS * DISH_TICK) +#define DISH_BIT_MARK_TICKS 4U +#define DISH_BIT_MARK (DISH_BIT_MARK_TICKS * DISH_TICK) +#define DISH_ONE_SPACE_TICKS 17U +#define DISH_ONE_SPACE (DISH_ONE_SPACE_TICKS * DISH_TICK) +#define DISH_ZERO_SPACE_TICKS 28U +#define DISH_ZERO_SPACE (DISH_ZERO_SPACE_TICKS * DISH_TICK) +#define DISH_RPT_SPACE_TICKS DISH_HDR_SPACE_TICKS +#define DISH_RPT_SPACE (DISH_RPT_SPACE_TICKS * DISH_TICK) + +#if SEND_DISH +// Send an IR command to a DISH NETWORK device. +// +// Args: +// data: The contents of the command you want to send. +// nbits: The bit size of the command being sent. +// repeat: The number of times you want the command to be repeated. +// +// Status: BETA / Previously working. +// +// Note: +// Dishplayer is a different protocol. +// Typically a DISH device needs to get a command a total of at least 4 +// times to accept it. e.g. repeat=3 +// +// Here is the LIRC file I found that seems to match the remote codes from the +// oscilloscope: +// DISH NETWORK (echostar 301): +// http://lirc.sourceforge.net/remotes/echostar/301_501_3100_5100_58xx_59xx +// +// Ref: +// http://www.hifi-remote.com/wiki/index.php?title=Dish +void IRsend::sendDISH(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set 57.6kHz IR carrier frequency, duty cycle is unknown. + enableIROut(57600); + // Header + mark(DISH_HDR_MARK); + space(DISH_HDR_SPACE); + // We always send a command, even for repeat=0, hence '<= repeat'. + for (uint16_t i = 0; i <= repeat; i++) { + // Data + sendData(DISH_BIT_MARK, DISH_ONE_SPACE, DISH_BIT_MARK, DISH_ZERO_SPACE, + data, nbits, true); + // Footer + mark(DISH_BIT_MARK); + space(DISH_RPT_SPACE); + } +} +#endif + +#if DECODE_DISH +// Decode the supplied DISH NETWORK message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of bits to expect in the data portion. Typically DISH_BITS. +// strict: Flag to indicate if we strictly adhere to the specification. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: ALPHA (untested and unconfirmed.) +// +// Note: +// Dishplayer is a different protocol. +// Typically a DISH device needs to get a command a total of at least 4 +// times to accept it. +// Ref: +// http://www.hifi-remote.com/wiki/index.php?title=Dish +// http://lirc.sourceforge.net/remotes/echostar/301_501_3100_5100_58xx_59xx +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Dish.cpp +bool IRrecv::decodeDISH(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < 2 * nbits + HEADER + FOOTER - 1) + return false; // Not enough entries to be valid. + if (strict && nbits != DISH_BITS) + return false; // Not strictly compliant. + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!match(results->rawbuf[offset], DISH_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / DISH_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], DISH_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / DISH_HDR_SPACE_TICKS; + + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + DISH_BIT_MARK_TICKS * m_tick, + DISH_ONE_SPACE_TICKS * s_tick, + DISH_BIT_MARK_TICKS * m_tick, + DISH_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!matchMark(results->rawbuf[offset++], DISH_BIT_MARK_TICKS * m_tick)) + return false; + + // Compliance + if (strict) { + // The DISH protocol calls for a repeated message, so strictly speaking + // there should be a code following this. Only require it if we are set to + // strict matching. + if (!matchSpace(results->rawbuf[offset], DISH_RPT_SPACE_TICKS * s_tick)) + return false; + } + + // Success + results->decode_type = DISH; + results->bits = nbits; + results->value = data; + results->address = 0; + results->command = 0; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Fujitsu.cpp b/lib/IRremoteESP8266/src/ir_Fujitsu.cpp new file mode 100644 index 00000000..adf753c0 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Fujitsu.cpp @@ -0,0 +1,221 @@ +// Copyright 2017 Jonny Graham +#include "ir_Fujitsu.h" +#include +#include "IRsend.h" + + +// Fujitsu A/C support added by Jonny Graham + + +// Fujitsu A/C +// Ref: +// These values are based on averages of measurements +#define FUJITSU_AC_HDR_MARK 3224U +#define FUJITSU_AC_HDR_SPACE 1574U +#define FUJITSU_AC_BIT_MARK 448U +#define FUJITSU_AC_ONE_SPACE 1182U +#define FUJITSU_AC_ZERO_SPACE 367U +#define FUJITSU_AC_TRL_MARK 448U +#define FUJITSU_AC_TRL_SPACE 8100U + +#if SEND_FUJITSU_AC +// Send a Fujitsu A/C message. +// +// Args: +// data: An array of bytes containing the IR command. +// nbytes: Nr. of bytes of data in the array. (typically either +// FUJITSU_AC_STATE_LENGTH or FUJITSU_AC_STATE_LENGTH_SHORT) +// repeat: Nr. of times the message is to be repeated. +// (Default = FUJITSU_AC_MIN_REPEAT). +// +// Status: BETA / Appears to be working. +// +void IRsend::sendFujitsuAC(unsigned char data[], uint16_t nbytes, + uint16_t repeat) { + // Set IR carrier frequency + enableIROut(38); + for (uint16_t r = 0; r <= repeat; ++r) { + // Header + mark(FUJITSU_AC_HDR_MARK); + space(FUJITSU_AC_HDR_SPACE); + // Data + for (uint16_t i = 0; i < nbytes; i++) + sendData(FUJITSU_AC_BIT_MARK, FUJITSU_AC_ONE_SPACE, + FUJITSU_AC_BIT_MARK, FUJITSU_AC_ZERO_SPACE, + data[i], 8, false); + // Footer + mark(FUJITSU_AC_TRL_MARK); + space(FUJITSU_AC_TRL_SPACE); + } +} + +// Code to emulate Fujitsu A/C IR remote control unit. + +// Warning: Consider this very alpha code. Seems to work, but not validated. +// +// Equipment it seems compatible with: +// * Fujitsu ASYG30LFCA with remote AR-RAH2E +// * +// Initialise the object. +IRFujitsuAC::IRFujitsuAC(uint16_t pin) : _irsend(pin) { + stateReset(); +} + +// Reset the state of the remote to a known good state/sequence. +void IRFujitsuAC::stateReset() { + _temp = 24; + _fanSpeed = FUJITSU_AC_FAN_HIGH; + _mode = FUJITSU_AC_MODE_COOL; + _swingMode = FUJITSU_AC_SWING_BOTH; + _cmd = FUJITSU_AC_CMD_TURN_ON; +} + +// Configure the pin for output. +void IRFujitsuAC::begin() { + _irsend.begin(); +} + +// Send the current desired state to the IR LED. +void IRFujitsuAC::send() { + getRaw(); + uint8_t len = getCommandLength(); + _irsend.sendFujitsuAC(remote_state, len); +} + +uint8_t IRFujitsuAC::getCommandLength() { + if (remote_state[5] != 0xFE) + return FUJITSU_AC_STATE_LENGTH_SHORT; + else + return FUJITSU_AC_STATE_LENGTH; +} + +// Return a pointer to the internal state date of the remote. +uint8_t* IRFujitsuAC::getRaw() { + remote_state[0] = 0x14; + remote_state[1] = 0x63; + remote_state[2] = 0x00; + remote_state[3] = 0x10; + remote_state[4] = 0x10; + bool fullCmd = false; + switch (_cmd) { + case FUJITSU_AC_CMD_TURN_OFF: + remote_state[5] = 0x02; + break; + case FUJITSU_AC_CMD_STEP_HORIZ: + remote_state[5] = 0x79; + break; + case FUJITSU_AC_CMD_STEP_VERT: + remote_state[5] = 0x6C; + break; + default: + remote_state[5] = 0xFE; + fullCmd = true; + break; + } + if (fullCmd) { + remote_state[6] = 0x09; + remote_state[7] = 0x30; + uint8_t tempByte = _temp - FUJITSU_AC_MIN_TEMP; + remote_state[8] = (_cmd == FUJITSU_AC_CMD_TURN_ON) | (tempByte << 4); + remote_state[9] = _mode | 0 << 4; // timer off + remote_state[10] = _fanSpeed | _swingMode << 4; + remote_state[11] = 0; // timerOff values + remote_state[12] = 0; // timerOff/on values + remote_state[13] = 0; // timerOn values + remote_state[14] = 0x20; + // Checksum is the sum of the 8th to 16th bytes (ie remote_state[7] + // thru remote_state[15]). + // The checksum itself is stored in the 16th byte (ie remote_state[15]). + // So we sum bytes 8th-15th... + uint8_t checksum = 0; + for (uint8_t i = 7 ; i < 15; ++i) { + checksum += remote_state[i]; + } + // and then do 0 - sum and store it in 16th. + remote_state[15] = 0 - checksum; + } else { + // For the short codes, byte 7 is the inverse of byte 6 + remote_state[6] = ~remote_state[5]; + for (uint8_t i = 7; i < FUJITSU_AC_STATE_LENGTH; ++i) { + remote_state[i] = 0; + } + } + return remote_state; +} + +// Set the requested power state of the A/C to off. +void IRFujitsuAC::off() { + _cmd = FUJITSU_AC_CMD_TURN_OFF; +} + +void IRFujitsuAC::stepHoriz() { + _cmd = FUJITSU_AC_CMD_STEP_HORIZ; +} + +void IRFujitsuAC::stepVert() { + _cmd = FUJITSU_AC_CMD_STEP_VERT; +} + +// Set the requested command of the A/C. +void IRFujitsuAC::setCmd(uint8_t cmd) { + switch (cmd) { + case FUJITSU_AC_CMD_TURN_OFF: + case FUJITSU_AC_CMD_TURN_ON: + case FUJITSU_AC_CMD_STAY_ON: + case FUJITSU_AC_CMD_STEP_HORIZ: + case FUJITSU_AC_CMD_STEP_VERT: + break; + default: + cmd = FUJITSU_AC_CMD_STAY_ON; + break; + } + _cmd = cmd; +} + +uint8_t IRFujitsuAC::getCmd() { + return _cmd; +} + +// Set the temp. in deg C +void IRFujitsuAC::setTemp(uint8_t temp) { + temp = std::max((uint8_t) FUJITSU_AC_MIN_TEMP, temp); + temp = std::min((uint8_t) FUJITSU_AC_MAX_TEMP, temp); + _temp = temp; +} + +uint8_t IRFujitsuAC::getTemp() { + return _temp; +} + +// Set the speed of the fan +void IRFujitsuAC::setFanSpeed(uint8_t fanSpeed) { + if (fanSpeed > FUJITSU_AC_FAN_QUIET) + fanSpeed = FUJITSU_AC_FAN_HIGH; // Set the fan to maximum if out of range. + _fanSpeed = fanSpeed; +} +uint8_t IRFujitsuAC::getFanSpeed() { + return _fanSpeed; +} + +// Set the requested climate operation mode of the a/c unit. +void IRFujitsuAC::setMode(uint8_t mode) { + if (mode > FUJITSU_AC_MODE_HEAT) + mode = FUJITSU_AC_MODE_HEAT; // Set the mode to maximum if out of range. + _mode = mode; +} + +uint8_t IRFujitsuAC::getMode() { + return _mode; +} +// Set the requested swing operation mode of the a/c unit. +void IRFujitsuAC::setSwing(uint8_t swingMode) { + if (swingMode > FUJITSU_AC_SWING_BOTH) + swingMode = FUJITSU_AC_SWING_BOTH; // Set the mode to max if out of range + _swingMode = swingMode; +} + +uint8_t IRFujitsuAC::getSwing() { + return _swingMode; +} + +#endif diff --git a/lib/IRremoteESP8266/src/ir_Fujitsu.h b/lib/IRremoteESP8266/src/ir_Fujitsu.h new file mode 100644 index 00000000..451a5b20 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Fujitsu.h @@ -0,0 +1,80 @@ +// Copyright 2017 Jonny Graham +#ifndef IR_FUJITSU_H_ +#define IR_FUJITSU_H_ + +#define __STDC_LIMIT_MACROS +#include +#include "IRremoteESP8266.h" +#include "IRsend.h" + + +// FUJITSU A/C support added by Jonny Graham + +// Constants + +#define FUJITSU_AC_MODE_AUTO 0x00U +#define FUJITSU_AC_MODE_COOL 0x01U +#define FUJITSU_AC_MODE_DRY 0x02U +#define FUJITSU_AC_MODE_FAN 0x03U +#define FUJITSU_AC_MODE_HEAT 0x04U + +#define FUJITSU_AC_CMD_STAY_ON 0x00U +#define FUJITSU_AC_CMD_TURN_ON 0x01U +#define FUJITSU_AC_CMD_TURN_OFF 0x02U +#define FUJITSU_AC_CMD_STEP_HORIZ 0x79U +#define FUJITSU_AC_CMD_STEP_VERT 0x6CU + +#define FUJITSU_AC_FAN_AUTO 0x00U +#define FUJITSU_AC_FAN_HIGH 0x01U +#define FUJITSU_AC_FAN_MED 0x02U +#define FUJITSU_AC_FAN_LOW 0x03U +#define FUJITSU_AC_FAN_QUIET 0x04U + +#define FUJITSU_AC_MIN_TEMP 16U // 16C +#define FUJITSU_AC_MAX_TEMP 30U // 30C + +#define FUJITSU_AC_SWING_OFF 0x00U +#define FUJITSU_AC_SWING_VERT 0x01U +#define FUJITSU_AC_SWING_HORIZ 0x02U +#define FUJITSU_AC_SWING_BOTH 0x03U + +#define FUJITSU_AC_STATE_LENGTH 16 +#define FUJITSU_AC_STATE_LENGTH_SHORT 7 + +#if SEND_FUJITSU_AC +class IRFujitsuAC { + public: + explicit IRFujitsuAC(uint16_t pin); + + void stateReset(); + void send(); + void begin(); + void off(); + void stepHoriz(); + void stepVert(); + void setCmd(uint8_t cmd); + uint8_t getCmd(); + void setTemp(uint8_t temp); + uint8_t getTemp(); + void setFanSpeed(uint8_t fan); + uint8_t getFanSpeed(); + void setMode(uint8_t mode); + uint8_t getMode(); + void setSwing(uint8_t mode); + uint8_t getSwing(); + uint8_t* getRaw(); + + private: + uint8_t remote_state[FUJITSU_AC_STATE_LENGTH]; + uint8_t getCommandLength(); + IRsend _irsend; + uint8_t _temp; + uint8_t _fanSpeed; + uint8_t _mode; + uint8_t _swingMode; + uint8_t _cmd; +}; + +#endif + +#endif // IR_FUJITSU_H_ diff --git a/lib/IRremoteESP8266/src/ir_GlobalCache.cpp b/lib/IRremoteESP8266/src/ir_GlobalCache.cpp new file mode 100644 index 00000000..019413b9 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_GlobalCache.cpp @@ -0,0 +1,72 @@ +// Copyright 2016 Hisham Khalifa +// Copyright 2017 David Conran + +#include +#include "IRsend.h" +#include "IRtimer.h" + +// GGG L OOOO BBBB AA L CCCC AA CCCC H H EEEEEE +// G G L O O B B AAAA L C C AAAA C C H H E +// G L O O BBBBB A A L C A A C HHHHHH EEEE +// G GG L O O B BB AAAAAA L C C AAAAAA C C H H E +// GGGGG LLLLLL OOOO BBBBB A A LLLLLL CCCC A A CCCC H H EEEEEE + +// Global Cache IR format sender originally added by Hisham Khalifa +// (http://www.hishamkhalifa.com) + +// Constants +#define GLOBALCACHE_MAX_REPEAT 50U +#define GLOBALCACHE_MIN_USEC 80U +#define GLOBALCACHE_FREQ_INDEX 0U +#define GLOBALCACHE_RPT_INDEX GLOBALCACHE_FREQ_INDEX + 1U +#define GLOBALCACHE_RPT_START_INDEX GLOBALCACHE_RPT_INDEX + 1U +#define GLOBALCACHE_START_INDEX GLOBALCACHE_RPT_START_INDEX + 1U + +#if SEND_GLOBALCACHE +// Send a shortened GlobalCache (GC) IRdb/control tower formatted message. +// +// Args: +// buf: An array of uint16_t containing the shortened GlobalCache data. +// len: Nr. of entries in the buf[] array. +// +// Status: STABLE / Known working. +// +// Note: +// Global Cache format without the emitter ID or request ID. +// Starts at the frequency (Hertz), followed by nr. of times to emit (count), +// then the offset for repeats (where a repeat will start from), +// then the rest of entries are the actual IR message as units of periodic +// time. +// e.g. sendir,1:1,1,38000,1,1,9,70,9,30,9,... -> 38000,1,1,9,70,9,30,9,... +// Ref: +// https://irdb.globalcache.com/Home/Database +void IRsend::sendGC(uint16_t buf[], uint16_t len) { + uint16_t hz = buf[GLOBALCACHE_FREQ_INDEX]; // GC frequency is in Hz. + enableIROut(hz); + uint32_t periodic_time = calcUSecPeriod(hz, false); + uint8_t emits = std::min(buf[GLOBALCACHE_RPT_INDEX], + (uint16_t) GLOBALCACHE_MAX_REPEAT); + // Repeat + for (uint8_t repeat = 0; repeat < emits; repeat++) { + // First time through, start at the beginning (GLOBALCACHE_START_INDEX), + // otherwise for repeats, we start a specified offset from that. + uint16_t offset = GLOBALCACHE_START_INDEX; + if (repeat) + offset += buf[GLOBALCACHE_RPT_START_INDEX] - 1; + // Data + for (; offset < len; offset++) { + // Convert periodic units to microseconds. + // Minimum is GLOBALCACHE_MIN_USEC for actual GC units. + uint32_t microseconds = std::max(buf[offset] * periodic_time, + GLOBALCACHE_MIN_USEC); + // These codes start at an odd index (not even as with sendRaw). + if (offset & 1) // Odd bit. + mark(microseconds); + else // Even bit. + space(microseconds); + } + } + // It's possible that we've ended on a mark(), thus ensure the LED is off. + ledOff(); +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Gree.cpp b/lib/IRremoteESP8266/src/ir_Gree.cpp new file mode 100644 index 00000000..d1bc760b --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Gree.cpp @@ -0,0 +1,113 @@ +// Copyright 2017 Ville Skyttä (scop) +// Copyright 2017 David Conran +// +// Gree protocol compatible heat pump carrying the "Ultimate" brand name. +// + +#include "IRremoteESP8266.h" +#include "IRsend.h" + +// GGGG RRRRRR EEEEEEE EEEEEEE +// GG GG RR RR EE EE +// GG RRRRRR EEEEE EEEEE +// GG GG RR RR EE EE +// GGGGGG RR RR EEEEEEE EEEEEEE + +// Constants +// Ref: https://github.com/ToniA/arduino-heatpumpir/blob/master/GreeHeatpumpIR.h +#define GREE_HDR_MARK 9000U +#define GREE_HDR_SPACE 4000U +#define GREE_BIT_MARK 620U +#define GREE_ONE_SPACE 1600U +#define GREE_ZERO_SPACE 540U +#define GREE_MSG_SPACE 19000U + +#if SEND_GREE +// Send a Gree Heat Pump message. +// +// Args: +// data: An array of bytes containing the IR command. +// nbytes: Nr. of bytes of data in the array. (>=GREE_STATE_LENGTH) +// repeat: Nr. of times the message is to be repeated. (Default = 0). +// +// Status: ALPHA / Untested. +// +// Ref: +// https://github.com/ToniA/arduino-heatpumpir/blob/master/GreeHeatpumpIR.cpp +void IRsend::sendGree(unsigned char data[], uint16_t nbytes, uint16_t repeat) { + if (nbytes < GREE_STATE_LENGTH) + return; // Not enough bytes to send a proper message. + + // Set IR carrier frequency + enableIROut(38); + + for (uint16_t r = 0; r <= repeat; r++) { + // Header #1 + mark(GREE_HDR_MARK); + space(GREE_HDR_SPACE); + + // Data #1 + uint16_t i; + for (i = 0; i < 4 && i < nbytes; i++) + sendData(GREE_BIT_MARK, GREE_ONE_SPACE, GREE_BIT_MARK, GREE_ZERO_SPACE, + data[i], 8, false); + + // Footer #1 (010) + sendData(GREE_BIT_MARK, GREE_ONE_SPACE, GREE_BIT_MARK, GREE_ZERO_SPACE, + 0b010, 3); + + // Header #2 + mark(GREE_BIT_MARK); + space(GREE_MSG_SPACE); + + // Data #2 + for (; i < nbytes; i++) + sendData(GREE_BIT_MARK, GREE_ONE_SPACE, GREE_BIT_MARK, GREE_ZERO_SPACE, + data[i], 8, false); + + // Footer #2 + mark(GREE_BIT_MARK); + space(GREE_MSG_SPACE); + } +} + +// Send a Gree Heat Pump message. +// +// Args: +// data: The raw message to be sent. +// nbits: Nr. of bits of data in the message. (Default is GREE_BITS) +// repeat: Nr. of times the message is to be repeated. (Default = 0). +// +// Status: ALPHA / Untested. +// +// Ref: +// https://github.com/ToniA/arduino-heatpumpir/blob/master/GreeHeatpumpIR.cpp +void IRsend::sendGree(uint64_t data, uint16_t nbits, uint16_t repeat) { + if (nbits != GREE_BITS) + return; // Wrong nr. of bits to send a proper message. + // Set IR carrier frequency + enableIROut(38); + + for (uint16_t r = 0; r <= repeat; r++) { + // Header + mark(GREE_HDR_MARK); + space(GREE_HDR_SPACE); + + // Data + for (int16_t i = 8; i <= nbits; i += 8) { + sendData(GREE_BIT_MARK, GREE_ONE_SPACE, GREE_BIT_MARK, GREE_ZERO_SPACE, + (data >> (nbits - i)) & 0xFF, 8, false); + if (i == nbits / 2) { + // Send the mid-message Footer. + sendData(GREE_BIT_MARK, GREE_ONE_SPACE, GREE_BIT_MARK, GREE_ZERO_SPACE, + 0b010, 3); + mark(GREE_BIT_MARK); + space(GREE_MSG_SPACE); + } + } + // Footer + mark(GREE_BIT_MARK); + space(GREE_MSG_SPACE); + } +} +#endif // SEND_GREE diff --git a/lib/IRremoteESP8266/src/ir_JVC.cpp b/lib/IRremoteESP8266/src/ir_JVC.cpp new file mode 100644 index 00000000..194e3925 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_JVC.cpp @@ -0,0 +1,165 @@ +// Copyright 2015 Kristian Lauszus +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// JJJJJ V V CCCC +// J V V C +// J V V C +// J J V V C +// J V CCCC + +// JVC originally added by Kristian Lauszus +// (Thanks to zenwheel and other people at the original blog post) + +// Constants +// Ref: +// http://www.sbprojects.com/knowledge/ir/jvc.php +#define JVC_TICK 75U +#define JVC_HDR_MARK_TICKS 112U +#define JVC_HDR_MARK (JVC_HDR_MARK_TICKS * JVC_TICK) +#define JVC_HDR_SPACE_TICKS 56U +#define JVC_HDR_SPACE (JVC_HDR_SPACE_TICKS * JVC_TICK) +#define JVC_BIT_MARK_TICKS 7U +#define JVC_BIT_MARK (JVC_BIT_MARK_TICKS * JVC_TICK) +#define JVC_ONE_SPACE_TICKS 23U +#define JVC_ONE_SPACE (JVC_ONE_SPACE_TICKS * JVC_TICK) +#define JVC_ZERO_SPACE_TICKS 7U +#define JVC_ZERO_SPACE (JVC_ZERO_SPACE_TICKS * JVC_TICK) +#define JVC_RPT_LENGTH_TICKS 800U +#define JVC_RPT_LENGTH (JVC_RPT_LENGTH_TICKS * JVC_TICK) +#define JVC_MIN_GAP_TICKS (JVC_RPT_LENGTH_TICKS - \ + (JVC_HDR_MARK_TICKS + JVC_HDR_SPACE_TICKS + \ + JVC_BITS * (JVC_BIT_MARK_TICKS + JVC_ONE_SPACE_TICKS) + \ + JVC_BIT_MARK_TICKS)) +#define JVC_MIN_GAP (JVC_MIN_GAP_TICKS * JVC_TICK) + +#if SEND_JVC +// Send a JVC message. +// +// Args: +// data: The contents of the command you want to send. +// nbits: The bit size of the command being sent. (JVC_BITS) +// repeat: The number of times you want the command to be repeated. +// +// Status: STABLE. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/jvc.php +void IRsend::sendJVC(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set 38kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(38, 33); + + IRtimer usecs = IRtimer(); + // Header + // Only sent for the first message. + mark(JVC_HDR_MARK); + space(JVC_HDR_SPACE); + + // We always send the data & footer at least once, hence '<= repeat'. + for (uint16_t i = 0; i <= repeat; i++) { + // Data + sendData(JVC_BIT_MARK, JVC_ONE_SPACE, JVC_BIT_MARK, JVC_ZERO_SPACE, + data, nbits, true); + // Footer + mark(JVC_BIT_MARK); + // Wait till the end of the repeat time window before we send another code. + space(std::max(JVC_MIN_GAP, JVC_RPT_LENGTH - usecs.elapsed())); + usecs.reset(); + } +} + +// Calculate the raw JVC data based on address and command. +// +// Args: +// address: An 8-bit address value. +// command: An 8-bit command value. +// Returns: +// A raw JVC message. +// +// Status: BETA / Should work fine. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/jvc.php +uint16_t IRsend::encodeJVC(uint8_t address, uint8_t command) { + return reverseBits((command << 8) | address, 16); +} +#endif + +#if DECODE_JVC +// Decode the supplied JVC message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of bits of data to expect. Typically JVC_BITS. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: STABLE +// +// Note: +// JVC repeat codes don't have a header. +// Ref: +// http://www.sbprojects.com/knowledge/ir/jvc.php +bool IRrecv::decodeJVC(decode_results *results, uint16_t nbits, bool strict) { + if (strict && nbits != JVC_BITS) + return false; // Must be called with the correct nr. of bits. + if (results->rawlen < 2 * nbits + FOOTER - 1) + return false; // Can't possibly be a valid JVC message. + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + bool isRepeat = true; + + uint32_t m_tick; + uint32_t s_tick; + // Header + // (Optional as repeat codes don't have the header) + if (matchMark(results->rawbuf[offset], JVC_HDR_MARK)) { + isRepeat = false; + m_tick = results->rawbuf[offset++] * RAWTICK / JVC_HDR_MARK_TICKS; + if (results->rawlen < 2 * nbits + 4) + return false; // Can't possibly be a valid JVC message with a header. + if (!matchSpace(results->rawbuf[offset], JVC_HDR_SPACE)) + return false; + s_tick = results->rawbuf[offset++] * RAWTICK / JVC_HDR_SPACE_TICKS; + } else { + // We can't easily auto-calibrate as there is no header, so assume + // the default tick time. + m_tick = JVC_TICK; + s_tick = JVC_TICK; + } + + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + JVC_BIT_MARK_TICKS * m_tick, + JVC_ONE_SPACE_TICKS * s_tick, + JVC_BIT_MARK_TICKS * m_tick, + JVC_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!matchMark(results->rawbuf[offset++], JVC_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], JVC_MIN_GAP_TICKS * s_tick)) + return false; + + // Success + results->decode_type = JVC; + results->bits = nbits; + results->value = data; + // command & address are transmitted LSB first, so we need to reverse them. + results->address = reverseBits(data >> 8, 8); // The first 8 bits sent. + results->command = reverseBits(data & 0xFF, 8); // The last 8 bits sent. + results->repeat = isRepeat; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Kelvinator.cpp b/lib/IRremoteESP8266/src/ir_Kelvinator.cpp new file mode 100644 index 00000000..257a32e1 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Kelvinator.cpp @@ -0,0 +1,329 @@ +// Copyright 2016 David Conran +// +// Code to emulate IR Kelvinator YALIF remote control unit, which should control +// at least the following Kelvinator A/C units: +// KSV26CRC, KSV26HRC, KSV35CRC, KSV35HRC, KSV53HRC, KSV62HRC, KSV70CRC, +// KSV70HRC, KSV80HRC. +// +// Note: +// * Unsupported: +// - All Sleep modes. +// - All Timer modes. +// - "I Feel" button & mode. +// - Energy Saving mode. +// - Low Heat mode. +// - Fahrenheit. + +#include "ir_Kelvinator.h" +#include + +// KK KK EEEEEEE LL VV VV IIIII NN NN AAA TTTTTTT OOOOO RRRRRR +// KK KK EE LL VV VV III NNN NN AAAAA TTT OO OO RR RR +// KKKK EEEEE LL VV VV III NN N NN AA AA TTT OO OO RRRRRR +// KK KK EE LL VV VV III NN NNN AAAAAAA TTT OO OO RR RR +// KK KK EEEEEEE LLLLLLL VVV IIIII NN NN AA AA TTT OOOO0 RR RR + +// Constants +#define KELVINATOR_HDR_MARK 8990U +#define KELVINATOR_HDR_SPACE 4490U +#define KELVINATOR_BIT_MARK 675U +#define KELVINATOR_ONE_SPACE 1560U +#define KELVINATOR_ZERO_SPACE 520U +#define KELVINATOR_GAP_SPACE 19950U +#define KELVINATOR_CMD_FOOTER 2U + +#define KELVINATOR_POWER 8U +#define KELVINATOR_MODE_MASK 0xF8U +#define KELVINATOR_FAN_OFFSET 4U +#define KELVINATOR_BASIC_FAN_MASK uint8_t(0xFFU ^ (3U << KELVINATOR_FAN_OFFSET)) +#define KELVINATOR_FAN_MASK uint8_t(0xFFU ^ (7U << KELVINATOR_FAN_OFFSET)) +#define KELVINATOR_CHECKSUM_START 10U +#define KELVINATOR_VENT_SWING_OFFSET 6U +#define KELVINATOR_VENT_SWING uint8_t(1U << KELVINATOR_VENT_SWING_OFFSET) +#define KELVINATOR_VENT_SWING_V uint8_t(1U) +#define KELVINATOR_VENT_SWING_H uint8_t(1U << 4) +#define KELVINATOR_SLEEP_1_AND_3 uint8_t(1U << 7) +#define KELVINATOR_QUIET_OFFSET 7U +#define KELVINATOR_QUIET uint8_t(1U << KELVINATOR_QUIET_OFFSET) +#define KELVINATOR_ION_FILTER_OFFSET 6U +#define KELVINATOR_ION_FILTER uint8_t(1U << KELVINATOR_ION_FILTER_OFFSET) +#define KELVINATOR_LIGHT_OFFSET 5U +#define KELVINATOR_LIGHT uint8_t(1U << KELVINATOR_LIGHT_OFFSET) +#define KELVINATOR_XFAN_OFFSET 7U +#define KELVINATOR_XFAN uint8_t(1U << KELVINATOR_XFAN_OFFSET) +#define KELVINATOR_TURBO_OFFSET 4U +#define KELVINATOR_TURBO uint8_t(1U << KELVINATOR_TURBO_OFFSET) + +#if SEND_KELVINATOR +// Send a Kelvinator A/C message. +// +// Args: +// data: An array of bytes containing the IR command. +// nbytes: Nr. of bytes of data in the array. (>=KELVINATOR_STATE_LENGTH) +// repeat: Nr. of times the message is to be repeated. (Default = 0). +// +// Status: STABLE / Known working. +// +void IRsend::sendKelvinator(unsigned char data[], uint16_t nbytes, + uint16_t repeat) { + if (nbytes < KELVINATOR_STATE_LENGTH) + return; // Not enough bytes to send a proper message. + + // Set IR carrier frequency + enableIROut(38); + + for (uint16_t r = 0; r <= repeat; r++) { + // Header #1 + mark(KELVINATOR_HDR_MARK); + space(KELVINATOR_HDR_SPACE); + // Data (command) + // Send the first command data (4 bytes) + uint8_t i; + for (i = 0; i < 4; i++) + sendData(KELVINATOR_BIT_MARK, KELVINATOR_ONE_SPACE, KELVINATOR_BIT_MARK, + KELVINATOR_ZERO_SPACE, data[i], 8, false); + // Send Footer for the command data (3 bits (0b010)) + sendData(KELVINATOR_BIT_MARK, KELVINATOR_ONE_SPACE, KELVINATOR_BIT_MARK, + KELVINATOR_ZERO_SPACE, KELVINATOR_CMD_FOOTER, 3, false); + // Send an interdata gap. + mark(KELVINATOR_BIT_MARK); + space(KELVINATOR_GAP_SPACE); + // Data (options) + // Send the 1st option chunk of data (4 bytes). + for (; i < 8; i++) + sendData(KELVINATOR_BIT_MARK, KELVINATOR_ONE_SPACE, KELVINATOR_BIT_MARK, + KELVINATOR_ZERO_SPACE, data[i], 8, false); + // Send a double data gap to signify we are starting a new command sequence. + mark(KELVINATOR_BIT_MARK); + space(KELVINATOR_GAP_SPACE * 2); + // Header #2 + mark(KELVINATOR_HDR_MARK); + space(KELVINATOR_HDR_SPACE); + // Data (command) + // Send the 2nd command data (4 bytes). + // Basically an almost identical repeat of the earlier command data. + for (; i < 12; i++) + sendData(KELVINATOR_BIT_MARK, KELVINATOR_ONE_SPACE, KELVINATOR_BIT_MARK, + KELVINATOR_ZERO_SPACE, data[i], 8, false); + // Send Footer for the command data (3 bits (B010)) + sendData(KELVINATOR_BIT_MARK, KELVINATOR_ONE_SPACE, KELVINATOR_BIT_MARK, + KELVINATOR_ZERO_SPACE, KELVINATOR_CMD_FOOTER, 3, false); + // Send an interdata gap. + mark(KELVINATOR_BIT_MARK); + space(KELVINATOR_GAP_SPACE); + // Data (options) + // Send the 2nd option chunk of data (4 bytes). + // Unlike the commands, definitely not a repeat of the earlier option data. + for (; i < KELVINATOR_STATE_LENGTH; i++) + sendData(KELVINATOR_BIT_MARK, KELVINATOR_ONE_SPACE, KELVINATOR_BIT_MARK, + KELVINATOR_ZERO_SPACE, data[i], 8, false); + // Footer + mark(KELVINATOR_BIT_MARK); + space(KELVINATOR_GAP_SPACE * 2); + } +} + +IRKelvinatorAC::IRKelvinatorAC(uint16_t pin) : _irsend(pin) { + stateReset(); +} + +void IRKelvinatorAC::stateReset() { + for (uint8_t i = 0; i < KELVINATOR_STATE_LENGTH; i++) + remote_state[i] = 0x0; + remote_state[3] = 0x50; + remote_state[11] = 0x70; +} + +void IRKelvinatorAC::begin() { + _irsend.begin(); +} + +void IRKelvinatorAC::fixup() { + // X-Fan mode is only valid in COOL or DRY modes. + if (getMode() != KELVINATOR_COOL && getMode() != KELVINATOR_DRY) + setXFan(false); + checksum(); // Calculate the checksums +} + +void IRKelvinatorAC::send() { + fixup(); // Ensure correct settings before sending. + _irsend.sendKelvinator(remote_state); +} + +uint8_t* IRKelvinatorAC::getRaw() { + fixup(); // Ensure correct settings before sending. + return remote_state; +} + +// Many Bothans died to bring us this information. +void IRKelvinatorAC::checksum() { + // For each command + options block. + for (uint8_t offset = 0; offset < KELVINATOR_STATE_LENGTH; offset += 8) { + uint8_t sum = KELVINATOR_CHECKSUM_START; + // Sum the lower half of the first 4 bytes of this block. + for (uint8_t i = 0; i < 4; i++) + sum += (remote_state[i + offset] & 0xFU); + // then sum the upper half of the next 3 bytes. + for (uint8_t i = 4; i < 7; i++) + sum += (remote_state[i + offset] >> 4); + // Trim it down to fit into the 4 bits allowed. i.e. Mod 16. + sum &= 0xFU; + // Place it into the IR code in the top half of the 8th & 16th byte. + remote_state[7 + offset] = (sum << 4) | (remote_state[7 + offset] & 0xFU); + } +} + +void IRKelvinatorAC::on() { + remote_state[0] |= KELVINATOR_POWER; + remote_state[8] = remote_state[0]; // Duplicate to the 2nd command chunk. +} + +void IRKelvinatorAC::off() { + remote_state[0] &= ~KELVINATOR_POWER; + remote_state[8] = remote_state[0]; // Duplicate to the 2nd command chunk. +} + +void IRKelvinatorAC::setPower(bool state) { + if (state) + on(); + else + off(); +} + +bool IRKelvinatorAC::getPower() { + return ((remote_state[0] & KELVINATOR_POWER) != 0); +} + +// Set the temp. in deg C +void IRKelvinatorAC::setTemp(uint8_t temp) { + temp = std::max((uint8_t) KELVINATOR_MIN_TEMP, temp); + temp = std::min((uint8_t) KELVINATOR_MAX_TEMP, temp); + remote_state[1] = (remote_state[1] & 0xF0U) | (temp - KELVINATOR_MIN_TEMP); + remote_state[9] = remote_state[1]; // Duplicate to the 2nd command chunk. +} + +// Return the set temp. in deg C +uint8_t IRKelvinatorAC::getTemp() { + return ((remote_state[1] & 0xFU) + KELVINATOR_MIN_TEMP); +} + +// Set the speed of the fan, 0-5, 0 is auto, 1-5 is the speed +void IRKelvinatorAC::setFan(uint8_t fan) { + fan = std::min((uint8_t) KELVINATOR_FAN_MAX, fan); // Bounds check + + // Only change things if we need to. + if (fan != getFan()) { + // Set the basic fan values. + uint8_t fan_basic = std::min((uint8_t) KELVINATOR_BASIC_FAN_MAX, fan); + remote_state[0] = (remote_state[0] & KELVINATOR_BASIC_FAN_MASK) | + (fan_basic << KELVINATOR_FAN_OFFSET); + remote_state[8] = remote_state[0]; // Duplicate to the 2nd command chunk. + // Set the advanced(?) fan value. + remote_state[14] = (remote_state[14] & KELVINATOR_FAN_MASK) | + (fan << KELVINATOR_FAN_OFFSET); + setTurbo(false); // Turbo mode is turned off if we change the fan settings. + } +} + +uint8_t IRKelvinatorAC::getFan() { + return ((remote_state[14] & ~KELVINATOR_FAN_MASK) >> KELVINATOR_FAN_OFFSET); +} + +uint8_t IRKelvinatorAC::getMode() { + return (remote_state[0] & ~KELVINATOR_MODE_MASK); +} + +void IRKelvinatorAC::setMode(uint8_t mode) { + // If we get an unexpected mode, default to AUTO. + if (mode > KELVINATOR_HEAT) mode = KELVINATOR_AUTO; + remote_state[0] = (remote_state[0] & KELVINATOR_MODE_MASK) | mode; + remote_state[8] = remote_state[0]; // Duplicate to the 2nd command chunk. + if (mode == KELVINATOR_AUTO || KELVINATOR_DRY) + // When the remote is set to Auto or Dry, it defaults to 25C and doesn't + // show it. + setTemp(KELVINATOR_AUTO_TEMP); +} + +void IRKelvinatorAC::setSwingVertical(bool state) { + if (state) { + remote_state[0] |= KELVINATOR_VENT_SWING; + remote_state[4] |= KELVINATOR_VENT_SWING_V; + } else { + remote_state[4] &= ~KELVINATOR_VENT_SWING_V; + if (!getSwingHorizontal()) + remote_state[0] &= ~KELVINATOR_VENT_SWING; + } + remote_state[8] = remote_state[0]; // Duplicate to the 2nd command chunk. +} + +bool IRKelvinatorAC::getSwingVertical() { + return ((remote_state[4] & KELVINATOR_VENT_SWING_V) != 0); +} + +void IRKelvinatorAC::setSwingHorizontal(bool state) { + if (state) { + remote_state[0] |= KELVINATOR_VENT_SWING; + remote_state[4] |= KELVINATOR_VENT_SWING_H; + } else { + remote_state[4] &= ~KELVINATOR_VENT_SWING_H; + if (!getSwingVertical()) + remote_state[0] &= ~KELVINATOR_VENT_SWING; + } + remote_state[8] = remote_state[0]; // Duplicate to the 2nd command chunk. +} + +bool IRKelvinatorAC::getSwingHorizontal() { + return ((remote_state[4] & KELVINATOR_VENT_SWING_H) != 0); +} + +void IRKelvinatorAC::setQuiet(bool state) { + remote_state[12] &= ~KELVINATOR_QUIET; + remote_state[12] |= (state << KELVINATOR_QUIET_OFFSET); +} + +bool IRKelvinatorAC::getQuiet() { + return ((remote_state[12] & KELVINATOR_QUIET) != 0); +} + +void IRKelvinatorAC::setIonFilter(bool state) { + remote_state[2] &= ~KELVINATOR_ION_FILTER; + remote_state[2] |= (state << KELVINATOR_ION_FILTER_OFFSET); + remote_state[10] = remote_state[2]; // Duplicate to the 2nd command chunk. +} + +bool IRKelvinatorAC::getIonFilter() { + return ((remote_state[2] & KELVINATOR_ION_FILTER) != 0); +} + +void IRKelvinatorAC::setLight(bool state) { + remote_state[2] &= ~KELVINATOR_LIGHT; + remote_state[2] |= (state << KELVINATOR_LIGHT_OFFSET); + remote_state[10] = remote_state[2]; // Duplicate to the 2nd command chunk. +} + +bool IRKelvinatorAC::getLight() { + return ((remote_state[2] & KELVINATOR_LIGHT) != 0); +} + +// Note: XFan mode is only valid in Cool or Dry mode. +void IRKelvinatorAC::setXFan(bool state) { + remote_state[2] &= ~KELVINATOR_XFAN; + remote_state[2] |= (state << KELVINATOR_XFAN_OFFSET); + remote_state[10] = remote_state[2]; // Duplicate to the 2nd command chunk. +} + +bool IRKelvinatorAC::getXFan() { + return ((remote_state[2] & KELVINATOR_XFAN) != 0); +} + +// Note: Turbo mode is turned off if the fan speed is changed. +void IRKelvinatorAC::setTurbo(bool state) { + remote_state[2] &= ~KELVINATOR_TURBO; + remote_state[2] |= (state << KELVINATOR_TURBO_OFFSET); + remote_state[10] = remote_state[2]; // Duplicate to the 2nd command chunk. +} + +bool IRKelvinatorAC::getTurbo() { + return ((remote_state[2] & KELVINATOR_TURBO) != 0); +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Kelvinator.h b/lib/IRremoteESP8266/src/ir_Kelvinator.h new file mode 100644 index 00000000..c15d85c6 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Kelvinator.h @@ -0,0 +1,152 @@ +// Kelvinator A/C +// +// Copyright 2016 David Conran + +#ifndef IR_KELVINATOR_H_ +#define IR_KELVINATOR_H_ + +#define __STDC_LIMIT_MACROS +#include +#include "IRremoteESP8266.h" +#include "IRsend.h" + +// KK KK EEEEEEE LL VV VV IIIII NN NN AAA TTTTTTT OOOOO RRRRRR +// KK KK EE LL VV VV III NNN NN AAAAA TTT OO OO RR RR +// KKKK EEEEE LL VV VV III NN N NN AA AA TTT OO OO RRRRRR +// KK KK EE LL VV VV III NN NNN AAAAAAA TTT OO OO RR RR +// KK KK EEEEEEE LLLLLLL VVV IIIII NN NN AA AA TTT OOOO0 RR RR + +// Constants +#define KELVINATOR_AUTO 0U +#define KELVINATOR_COOL 1U +#define KELVINATOR_DRY 2U +#define KELVINATOR_FAN 3U +#define KELVINATOR_HEAT 4U +#define KELVINATOR_BASIC_FAN_MAX 3U +#define KELVINATOR_FAN_MAX 5U +#define KELVINATOR_MIN_TEMP 16U // 16C +#define KELVINATOR_MAX_TEMP 30U // 30C +#define KELVINATOR_AUTO_TEMP 25U // 25C + +/* + Kelvinator AC map + + (header mark and space) + byte 0 = Basic Modes + b2-0 = Modes + Modes: + 000 = Auto (temp = 25C) + 001 = Cool + 010 = Dry (temp = 25C, but not shown) + 011 = Fan + 100 = Heat + b3 = Power Status (1 = On, 0 = Off) + b5-4 = Fan (Basic modes) + Fan: + 00 = Auto + 01 = Fan 1 + 10 = Fan 2 + 11 = Fan 3 or higher (See byte 14) + b6 = Vent swing (1 = On, 0 = Off) (See byte 4) + b7 = Sleep Modes 1 & 3 (1 = On, 0 = Off) + byte 1 = Temperature + b3-0: Degrees C. + 0000 (0) = 16C + 0001 (1) = 17C + 0010 (2) = 18C + ... + 1101 (13) = 29C + 1110 (14) = 30C + byte 2 = Extras + b3-0 = UNKNOWN, typically 0. + b4 = Turbo Fan (1 = On, 0 = Off) + b5 = Light (Display) (1 = On, 0 = Off) + b6 = Ion Filter (1 = On, 0 = Off) + b7 = X-Fan (Fan runs for a while after power off) (1 = On, 0 = Off) + byte 3 = Section Indicator + b3-0 = Unused (Typically 0) + b5-4 = Unknown (possibly timer related) (Typically 0b01) + b7-6 = End of command block (B01) + (B010 marker and a gap of 20ms) + byte 4 = Extended options + b0 = Swing Vent Vertical (1 = On, 0 = Off) + b4 = Swing Vent Horizontal (1 = On, 0 = Off) + byte 5-6 = Timer related. Typically 0 except when timer in use. + byte 7 = checksum + b3-0 = Unknown (Used in Timer mode) + b7-4 = checksum of the previous bytes (0-6) + (gap of 40ms) + (header mark and space) + byte 8 = Repeat of byte 0 + byte 9 = Repeat of byte 1 + byte 10 = Repeat of byte 2 + byte 11 = Section Indicator + b3-0 = Unused (Typically 0) + b5-4 = Unknown (possibly timer related) (Typically 0b11) + b7-6 = End of command block (B01) + (B010 marker and a gap of 20ms) + byte 12 = Extended options + b0 = Sleep mode 2 (1 = On, 0=Off) + b6-1 = Unknown (Used in Sleep Mode 3, Typically 0b000000) + b7 = Quiet Mode (1 = On, 0=Off) + byte 13 = Unknown (Sleep Mode 3 related, Typically 0x00) + byte 14 = Fan control + b3-0 = Unknown (Sleep Mode 3 related, Typically 0b0000) + b6-4 = Fan speed + 0b000 (0) = Automatic + 0b001 (1) = Fan 1 + 0b010 (2) = Fan 2 + 0b011 (3) = Fan 3 + 0b100 (4) = Fan 4 + 0b101 (5) = Fan 5 + byte 15 = checksum + b3-0 = Unknown (Typically 0b0000) + b7-4 = checksum of the previous bytes (8-14) +*/ + +#if SEND_KELVINATOR + +// Classes +class IRKelvinatorAC { + public: + explicit IRKelvinatorAC(uint16_t pin); + + void stateReset(); + void send(); + void begin(); + void on(); + void off(); + void setPower(bool state); + bool getPower(); + void setTemp(uint8_t temp); + uint8_t getTemp(); + void setFan(uint8_t fan); + uint8_t getFan(); + void setMode(uint8_t mode); + uint8_t getMode(); + void setSwingVertical(bool state); + bool getSwingVertical(); + void setSwingHorizontal(bool state); + bool getSwingHorizontal(); + void setQuiet(bool state); + bool getQuiet(); + void setIonFilter(bool state); + bool getIonFilter(); + void setLight(bool state); + bool getLight(); + void setXFan(bool state); + bool getXFan(); + void setTurbo(bool state); + bool getTurbo(); + uint8_t* getRaw(); + + private: + // The state of the IR remote in IR code form. + uint8_t remote_state[KELVINATOR_STATE_LENGTH]; + void checksum(); + void fixup(); + IRsend _irsend; +}; +#endif + +#endif // IR_KELVINATOR_H_ diff --git a/lib/IRremoteESP8266/src/ir_LG.cpp b/lib/IRremoteESP8266/src/ir_LG.cpp new file mode 100644 index 00000000..716ddd20 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_LG.cpp @@ -0,0 +1,233 @@ +// Copyright 2015 Darryl Smith +// Copyright 2015 cheaplin +// Copyright 2017 David Conran + +#include "ir_LG.h" +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// L GGGG +// L G +// L G GG +// L G G +// LLLLL GGG + +// LG decode originally added by Darryl Smith (based on the JVC protocol) +// LG send originally added by https://github.com/chaeplin + +// Constants +#define LG_TICK 50U +#define LG_HDR_MARK_TICKS 160U +#define LG_HDR_MARK (LG_HDR_MARK_TICKS * LG_TICK) +#define LG_HDR_SPACE_TICKS 80U +#define LG_HDR_SPACE (LG_HDR_SPACE_TICKS * LG_TICK) +#define LG_BIT_MARK_TICKS 11U +#define LG_BIT_MARK (LG_BIT_MARK_TICKS * LG_TICK) +#define LG_ONE_SPACE_TICKS 32U +#define LG_ONE_SPACE (LG_ONE_SPACE_TICKS * LG_TICK) +#define LG_ZERO_SPACE_TICKS 11U +#define LG_ZERO_SPACE (LG_ZERO_SPACE_TICKS * LG_TICK) +#define LG_RPT_SPACE_TICKS 45U +#define LG_RPT_SPACE (LG_RPT_SPACE_TICKS * LG_TICK) +#define LG_MIN_GAP_TICKS 795U +#define LG_MIN_GAP (LG_MIN_GAP_TICKS * LG_TICK) +#define LG_MIN_MESSAGE_LENGTH_TICKS 2161U +#define LG_MIN_MESSAGE_LENGTH (LG_MIN_MESSAGE_LENGTH_TICKS * LG_TICK) +#define LG32_HDR_MARK_TICKS 90U +#define LG32_HDR_MARK (LG32_HDR_MARK_TICKS * LG_TICK) +#define LG32_HDR_SPACE_TICKS 89U +#define LG32_HDR_SPACE (LG32_HDR_SPACE_TICKS * LG_TICK) +#define LG32_RPT_HDR_MARK_TICKS 179U +#define LG32_RPT_HDR_MARK (LG32_RPT_HDR_MARK_TICKS * LG_TICK) + +#if (SEND_LG || DECODE_LG) +// Calculate the rolling 4-bit wide checksum over all of the data. +// Args: +// data: The value to be checksum'ed. +// Returns: +// A 4-bit checksum. +uint8_t calcLGChecksum(uint16_t data) { + return(((data >> 12) + ((data >> 8) & 0xF) + ((data >> 4) & 0xF) + + (data & 0xF)) & 0xF); +} +#endif + +#if SEND_LG +// Send an LG formatted message. +// +// Args: +// data: The contents of the message you want to send. +// nbits: The bit size of the message being sent. +// Typically LG_BITS or LG32_BITS. +// repeat: The number of times you want the message to be repeated. +// +// Status: Beta / Should be working. +// +// Notes: +// LG has a separate message to indicate a repeat, like NEC does. +void IRsend::sendLG(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set IR carrier frequency + enableIROut(38); + + uint16_t repeatHeaderMark = 0; + IRtimer usecTimer = IRtimer(); + + if (nbits >= LG32_BITS) { + // LG 32bit protocol is near identical to Samsung except for repeats. + sendSAMSUNG(data, nbits, 0); // Send it as a single Samsung message. + repeatHeaderMark = LG32_RPT_HDR_MARK; + repeat++; + } else { + // LG (28-bit) protocol. + repeatHeaderMark = LG_HDR_MARK; + // Header + usecTimer.reset(); + mark(LG_HDR_MARK); + space(LG_HDR_SPACE); + // Data + sendData(LG_BIT_MARK, LG_ONE_SPACE, LG_BIT_MARK, LG_ZERO_SPACE, + data, nbits, true); + // Footer + mark(LG_BIT_MARK); + space(std::max((uint32_t) (LG_MIN_MESSAGE_LENGTH - usecTimer.elapsed()), + (uint32_t) LG_MIN_GAP)); + } + + // Repeat + // Protocol has a mandatory repeat-specific code sent after every command. + for (uint16_t i = 0; i < repeat; i++) { + usecTimer.reset(); + mark(repeatHeaderMark); + space(LG_RPT_SPACE); + mark(LG_BIT_MARK); + space(std::max((uint32_t) LG_MIN_MESSAGE_LENGTH - usecTimer.elapsed(), + (uint32_t) LG_MIN_GAP)); + } +} + +// Construct a raw 28-bit LG message from the supplied address & command. +// +// Args: +// address: The address code. +// command: The command code. +// Returns: +// A raw 28-bit LG message suitable for sendLG(). +// +// Status: BETA / Should work. +// +// Notes: +// e.g. Sequence of bits = address + command + checksum. +uint32_t IRsend::encodeLG(uint16_t address, uint16_t command) { + return ((address << 20) | (command << 4) | calcLGChecksum(command)); +} +#endif + +#if DECODE_LG +// Decode the supplied LG message. +// LG protocol has a repeat code which is 4 items long. +// Even though the protocol has 28/32 bits of data, only 24/28 bits are +// distinct. +// In transmission order, the 28/32 bits are constructed as follows: +// 8/12 bits of address + 16 bits of command + 4 bits of checksum. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of bits to expect in the data portion. +// Typically LG_BITS or LG32_BITS. +// strict: Flag to indicate if we strictly adhere to the specification. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should work. +// +// Note: +// LG 32bit protocol appears near identical to the Samsung protocol. +// They possibly differ on how they repeat and initial HDR mark. + +// Ref: +// https://funembedded.wordpress.com/2014/11/08/ir-remote-control-for-lg-conditioner-using-stm32f302-mcu-on-mbed-platform/ +bool IRrecv::decodeLG(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < 2 * nbits + HEADER + FOOTER - 1 && results->rawlen != 4) + return false; // Can't possibly be a valid LG message. + if (strict && nbits != LG_BITS && nbits != LG32_BITS) + return false; // Doesn't comply with expected LG protocol. + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset], LG_HDR_MARK) && + !matchMark(results->rawbuf[offset], LG32_HDR_MARK)) return false; + uint32_t m_tick; + if (matchMark(results->rawbuf[offset], LG_HDR_MARK)) + m_tick = results->rawbuf[offset++] * RAWTICK / LG_HDR_MARK_TICKS; + else + m_tick = results->rawbuf[offset++] * RAWTICK / LG32_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], LG_HDR_SPACE) && + !matchSpace(results->rawbuf[offset], LG32_HDR_SPACE)) return false; + uint32_t s_tick; + if (matchSpace(results->rawbuf[offset], LG_HDR_SPACE)) + s_tick = results->rawbuf[offset++] * RAWTICK / LG_HDR_SPACE_TICKS; + else + s_tick = results->rawbuf[offset++] * RAWTICK / LG32_HDR_SPACE_TICKS; + + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + LG_BIT_MARK_TICKS * m_tick, + LG_ONE_SPACE_TICKS * s_tick, + LG_BIT_MARK_TICKS * m_tick, + LG_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!matchMark(results->rawbuf[offset++], LG_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], LG_MIN_GAP_TICKS * s_tick)) + return false; + + // Repeat + if (nbits >= LG32_BITS) { + // If we are expecting the LG 32-bit protocol, there is always + // a repeat message. So, check for it. +#ifndef UNIT_TEST + if (!matchSpace(results->rawbuf[offset], LG_MIN_GAP_TICKS * s_tick)) +#else + if (!(matchSpace(results->rawbuf[offset], + LG_MIN_MESSAGE_LENGTH_TICKS * s_tick) || + matchSpace(results->rawbuf[offset], 65500) || + matchSpace(results->rawbuf[offset], LG_MIN_GAP_TICKS * s_tick))) +#endif // UNIT_TEST + return false; + offset++; + if (!matchMark(results->rawbuf[offset++], LG32_RPT_HDR_MARK_TICKS * m_tick)) + return false; + if (!matchSpace(results->rawbuf[offset++], LG_RPT_SPACE_TICKS * s_tick)) + return false; + if (!matchMark(results->rawbuf[offset++], LG_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], LG_MIN_GAP_TICKS * s_tick)) + return false; + } + + // Compliance + uint16_t command = (data >> 4) & 0xFFFF; // The 16 bits before the checksum. + + if (strict && (data & 0xF) != calcLGChecksum(command)) + return false; // The last 4 bits sent are the expected checksum. + + // Success + results->decode_type = LG; + results->bits = nbits; + results->value = data; + results->command = command; + results->address = data >> 20; // The bits before the command. + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_LG.h b/lib/IRremoteESP8266/src/ir_LG.h new file mode 100644 index 00000000..25d56bc2 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_LG.h @@ -0,0 +1,17 @@ +// Copyright 2017 David Conran + +#ifndef IR_LG_H_ +#define IR_LG_H_ + +// L GGGG +// L G +// L G GG +// L G G +// LLLLL GGG + +#define __STDC_LIMIT_MACROS +#include + +uint8_t calcLGChecksum(uint16_t data); + +#endif // IR_LG_H_ diff --git a/lib/IRremoteESP8266/src/ir_Mitsubishi.cpp b/lib/IRremoteESP8266/src/ir_Mitsubishi.cpp new file mode 100644 index 00000000..df8b6e1e --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Mitsubishi.cpp @@ -0,0 +1,349 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran + +#include "ir_Mitsubishi.h" +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// MMMMM IIIII TTTTT SSSS U U BBBB IIIII SSSS H H IIIII +// M M M I T S U U B B I S H H I +// M M M I T SSS U U BBBB I SSS HHHHH I +// M M I T S U U B B I S H H I +// M M IIIII T SSSS UUU BBBBB IIIII SSSS H H IIIII + +// Mitsubishi (TV) decoding added from https://github.com/z3t0/Arduino-IRremote +// Mitsubishi (TV) sending & Mitsubishi A/C support added by David Conran + +// Constants +// Mitsubishi TV +// period time is 1/33000Hz = 30.303 uSeconds (T) +// Ref: +// GlobalCache's Control Tower's Mitsubishi TV data. +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Mitsubishi.cpp +#define MITSUBISHI_TICK 30U +#define MITSUBISHI_BIT_MARK_TICKS 10U +#define MITSUBISHI_BIT_MARK (MITSUBISHI_BIT_MARK_TICKS * \ + MITSUBISHI_TICK) +#define MITSUBISHI_ONE_SPACE_TICKS 70U +#define MITSUBISHI_ONE_SPACE (MITSUBISHI_ONE_SPACE_TICKS * \ + MITSUBISHI_TICK) +#define MITSUBISHI_ZERO_SPACE_TICKS 30U +#define MITSUBISHI_ZERO_SPACE (MITSUBISHI_ZERO_SPACE_TICKS * \ + MITSUBISHI_TICK) +#define MITSUBISHI_MIN_COMMAND_LENGTH_TICKS 1786U +#define MITSUBISHI_MIN_COMMAND_LENGTH (MITSUBISHI_MIN_COMMAND_LENGTH_TICKS * \ + MITSUBISHI_TICK) +#define MITSUBISHI_MIN_GAP_TICKS 936U +#define MITSUBISHI_MIN_GAP (MITSUBISHI_MIN_GAP_TICKS * \ + MITSUBISHI_TICK) + +// Mitsubishi A/C +// Ref: +// https://github.com/r45635/HVAC-IR-Control/blob/master/HVAC_ESP8266/HVAC_ESP8266.ino#L84 +#define MITSUBISHI_AC_HDR_MARK 3400U +#define MITSUBISHI_AC_HDR_SPACE 1750U +#define MITSUBISHI_AC_BIT_MARK 450U +#define MITSUBISHI_AC_ONE_SPACE 1300U +#define MITSUBISHI_AC_ZERO_SPACE 420U +#define MITSUBISHI_AC_RPT_MARK 440U +#define MITSUBISHI_AC_RPT_SPACE 17100UL + +#if SEND_MITSUBISHI +// Send a Mitsubishi message +// +// Args: +// data: Contents of the message to be sent. +// nbits: Nr. of bits of data to be sent. Typically MITSUBISHI_BITS. +// repeat: Nr. of additional times the message is to be sent. +// +// Status: ALPHA / untested. +// +// Notes: +// This protocol appears to have no header. +// Ref: +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Mitsubishi.cpp +// GlobalCache's Control Tower's Mitsubishi TV data. +void IRsend::sendMitsubishi(uint64_t data, uint16_t nbits, uint16_t repeat) { + enableIROut(33); // Set IR carrier frequency + IRtimer usecTimer = IRtimer(); + + for (uint16_t i = 0; i <= repeat; i++) { + usecTimer.reset(); + // No header + + // Data + sendData(MITSUBISHI_BIT_MARK, MITSUBISHI_ONE_SPACE, + MITSUBISHI_BIT_MARK, MITSUBISHI_ZERO_SPACE, + data, nbits, true); + // Footer + mark(MITSUBISHI_BIT_MARK); + space(std::max(MITSUBISHI_MIN_COMMAND_LENGTH - usecTimer.elapsed(), + MITSUBISHI_MIN_GAP)); + } +} +#endif + +#if DECODE_MITSUBISHI +// Decode the supplied Mitsubishi message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / previously working. +// +// Notes: +// This protocol appears to have no header. +// +// Ref: +// GlobalCache's Control Tower's Mitsubishi TV data. +bool IRrecv::decodeMitsubishi(decode_results *results, uint16_t nbits, + bool strict) { + if (results->rawlen < 2 * nbits + FOOTER - 1) + return false; // Shorter than shortest possibly expected. + if (strict && nbits != MITSUBISHI_BITS) + return false; // Request is out of spec. + + uint16_t offset = OFFSET_START; + uint64_t data = 0; + + // No Header + // But try to auto-calibrate off the initial mark signal. + if (!matchMark(results->rawbuf[offset], MITSUBISHI_BIT_MARK, 30)) + return false; + // Calculate how long the common tick time is based on the initial mark. + uint32_t tick = results->rawbuf[offset] * RAWTICK / MITSUBISHI_BIT_MARK_TICKS; + + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + MITSUBISHI_BIT_MARK_TICKS * tick, + MITSUBISHI_ONE_SPACE_TICKS * tick, + MITSUBISHI_BIT_MARK_TICKS * tick, + MITSUBISHI_ZERO_SPACE_TICKS * tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + uint16_t actualBits = data_result.used / 2; + + // Footer + if (!matchMark(results->rawbuf[offset++], MITSUBISHI_BIT_MARK_TICKS * tick, + 30)) return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], MITSUBISHI_MIN_GAP_TICKS * tick)) + return false; + + // Compliance + if (actualBits < nbits) + return false; + if (strict && actualBits != nbits) + return false; // Not as we expected. + + // Success + results->decode_type = MITSUBISHI; + results->bits = actualBits; + results->value = data; + results->address = 0; + results->command = 0; + return true; +} +#endif + +#if SEND_MITSUBISHI_AC +// Send a Mitsubishi A/C message. +// +// Args: +// data: An array of bytes containing the IR command. +// nbytes: Nr. of bytes of data in the array. (>=MITSUBISHI_AC_STATE_LENGTH) +// repeat: Nr. of times the message is to be repeated. +// (Default = MITSUBISHI_AC_MIN_REPEAT). +// +// Status: BETA / Appears to be working. +// +void IRsend::sendMitsubishiAC(unsigned char data[], uint16_t nbytes, + uint16_t repeat) { + if (nbytes < MITSUBISHI_AC_STATE_LENGTH) + return; // Not enough bytes to send a proper message. + + // Set IR carrier frequency + enableIROut(38); + // Mitsubishi AC remote sends the packet twice. + for (uint16_t r = 0; r <= repeat; r++) { + // Header + mark(MITSUBISHI_AC_HDR_MARK); + space(MITSUBISHI_AC_HDR_SPACE); + // Data + for (uint16_t i = 0; i < nbytes; i++) + sendData(MITSUBISHI_AC_BIT_MARK, MITSUBISHI_AC_ONE_SPACE, + MITSUBISHI_AC_BIT_MARK, MITSUBISHI_AC_ZERO_SPACE, + data[i], 8, false); + // Footer + mark(MITSUBISHI_AC_RPT_MARK); + space(MITSUBISHI_AC_RPT_SPACE); + } +} + +// Code to emulate Mitsubishi A/C IR remote control unit. +// Inspired and derived from the work done at: +// https://github.com/r45635/HVAC-IR-Control +// +// Warning: Consider this very alpha code. Seems to work, but not validated. +// +// Equipment it seems compatible with: +// * +// Initialise the object. +IRMitsubishiAC::IRMitsubishiAC(uint16_t pin) : _irsend(pin) { + stateReset(); +} + +// Reset the state of the remote to a known good state/sequence. +void IRMitsubishiAC::stateReset() { + // The state of the IR remote in IR code form. + // Known good state obtained from: + // https://github.com/r45635/HVAC-IR-Control/blob/master/HVAC_ESP8266/HVAC_ESP8266.ino#L108 + // Note: Can't use the following because it requires -std=c++11 + // uint8_t known_good_state[MITSUBISHI_AC_STATE_LENGTH] = { + // 0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x08, 0x06, 0x30, 0x45, 0x67, 0x00, + // 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}; + remote_state[0] = 0x23; + remote_state[1] = 0xCB; + remote_state[2] = 0x26; + remote_state[3] = 0x01; + remote_state[4] = 0x00; + remote_state[5] = 0x20; + remote_state[6] = 0x08; + remote_state[7] = 0x06; + remote_state[8] = 0x30; + remote_state[9] = 0x45; + remote_state[10] = 0x67; + for (uint8_t i = 11; i < MITSUBISHI_AC_STATE_LENGTH - 1; i++) + remote_state[i] = 0; + remote_state[MITSUBISHI_AC_STATE_LENGTH - 1] = 0x1F; + checksum(); // Calculate the checksum +} + +// Configure the pin for output. +void IRMitsubishiAC::begin() { + _irsend.begin(); +} + +// Send the current desired state to the IR LED. +void IRMitsubishiAC::send() { + checksum(); // Ensure correct checksum before sending. + _irsend.sendMitsubishiAC(remote_state); +} + +// Return a pointer to the internal state date of the remote. +uint8_t* IRMitsubishiAC::getRaw() { + checksum(); + return remote_state; +} + +// Calculate the checksum for the current internal state of the remote. +void IRMitsubishiAC::checksum() { + uint8_t sum = 0; + // Checksum is simple addition of all previous bytes stored + // as a 8 bit value. + for (uint8_t i = 0; i < 17; i++) + sum += remote_state[i]; + remote_state[17] = sum & 0xFFU; +} + +// Set the requested power state of the A/C to off. +void IRMitsubishiAC::on() { + // state = ON; + remote_state[5] |= MITSUBISHI_AC_POWER; +} + +// Set the requested power state of the A/C to off. +void IRMitsubishiAC::off() { + // state = OFF; + remote_state[5] &= ~MITSUBISHI_AC_POWER; +} + +// Set the requested power state of the A/C. +void IRMitsubishiAC::setPower(bool state) { + if (state) + on(); + else + off(); +} + +// Return the requested power state of the A/C. +bool IRMitsubishiAC::getPower() { + return((remote_state[5] & MITSUBISHI_AC_POWER) != 0); +} + +// Set the temp. in deg C +void IRMitsubishiAC::setTemp(uint8_t temp) { + temp = std::max((uint8_t) MITSUBISHI_AC_MIN_TEMP, temp); + temp = std::min((uint8_t) MITSUBISHI_AC_MAX_TEMP, temp); + remote_state[7] = temp - MITSUBISHI_AC_MIN_TEMP; +} + +// Return the set temp. in deg C +uint8_t IRMitsubishiAC::getTemp() { + return(remote_state[7] + MITSUBISHI_AC_MIN_TEMP); +} + +// Set the speed of the fan, 0-6. +// 0 is auto, 1-5 is the speed, 6 is silent. +void IRMitsubishiAC::setFan(uint8_t fan) { + // Bounds check + if (fan > MITSUBISHI_AC_FAN_SILENT) + fan = MITSUBISHI_AC_FAN_MAX; // Set the fan to maximum if out of range. + if (fan == MITSUBISHI_AC_FAN_AUTO) { // Automatic is a special case. + remote_state[9] = 0b10000000 | (remote_state[9] & 0b01111000); + return; + } else if (fan >= MITSUBISHI_AC_FAN_MAX) { + fan--; // There is no spoon^H^H^Heed 5 (max), pretend it doesn't exist. + } + remote_state[9] &= 0b01111000; // Clear the previous state + remote_state[9] |= fan; +} + +// Return the requested state of the unit's fan. +uint8_t IRMitsubishiAC::getFan() { + uint8_t fan = remote_state[9] & 0b111; + if (fan == MITSUBISHI_AC_FAN_MAX) + return MITSUBISHI_AC_FAN_SILENT; + return fan; +} + +// Return the requested climate operation mode of the a/c unit. +uint8_t IRMitsubishiAC::getMode() { + return(remote_state[6]); +} + +// Set the requested climate operation mode of the a/c unit. +void IRMitsubishiAC::setMode(uint8_t mode) { + // If we get an unexpected mode, default to AUTO. + switch (mode) { + case MITSUBISHI_AC_AUTO: break; + case MITSUBISHI_AC_COOL: break; + case MITSUBISHI_AC_DRY: break; + case MITSUBISHI_AC_HEAT: break; + default: mode = MITSUBISHI_AC_AUTO; + } + remote_state[6] = mode; +} + +// Set the requested vane operation mode of the a/c unit. +void IRMitsubishiAC::setVane(uint8_t mode) { + mode = std::min(mode, (uint8_t) 0b111); // bounds check + mode |= 0b1000; + mode <<= 3; + remote_state[9] &= 0b11000111; // Clear the previous setting. + remote_state[9] |= mode; +} + +// Return the requested vane operation mode of the a/c unit. +uint8_t IRMitsubishiAC::getVane() { + return ((remote_state[9] & 0b00111000) >> 3); +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Mitsubishi.h b/lib/IRremoteESP8266/src/ir_Mitsubishi.h new file mode 100644 index 00000000..e9f5731a --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Mitsubishi.h @@ -0,0 +1,65 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran +#ifndef IR_MITSUBISHI_H_ +#define IR_MITSUBISHI_H_ + +#define __STDC_LIMIT_MACROS +#include +#include "IRremoteESP8266.h" +#include "IRsend.h" + +// MMMMM IIIII TTTTT SSSS U U BBBB IIIII SSSS H H IIIII +// M M M I T S U U B B I S H H I +// M M M I T SSS U U BBBB I SSS HHHHH I +// M M I T S U U B B I S H H I +// M M IIIII T SSSS UUU BBBBB IIIII SSSS H H IIIII + +// Mitsubishi (TV) decoding added from https://github.com/z3t0/Arduino-IRremote +// Mitsubishi (TV) sending & Mitsubishi A/C support added by David Conran + +// Constants +#define MITSUBISHI_AC_AUTO 0x20U +#define MITSUBISHI_AC_COOL 0x18U +#define MITSUBISHI_AC_DRY 0x10U +#define MITSUBISHI_AC_HEAT 0x08U +#define MITSUBISHI_AC_POWER 0x20U +#define MITSUBISHI_AC_FAN_AUTO 0U +#define MITSUBISHI_AC_FAN_MAX 5U +#define MITSUBISHI_AC_FAN_REAL_MAX 4U +#define MITSUBISHI_AC_FAN_SILENT 6U +#define MITSUBISHI_AC_MIN_TEMP 16U // 16C +#define MITSUBISHI_AC_MAX_TEMP 31U // 31C +#define MITSUBISHI_AC_VANE_AUTO 0U +#define MITSUBISHI_AC_VANE_AUTO_MOVE 7U + +#if SEND_MITSUBISHI_AC +class IRMitsubishiAC { + public: + explicit IRMitsubishiAC(uint16_t pin); + + void stateReset(); + void send(); + void begin(); + void on(); + void off(); + void setPower(bool state); + bool getPower(); + void setTemp(uint8_t temp); + uint8_t getTemp(); + void setFan(uint8_t fan); + uint8_t getFan(); + void setMode(uint8_t mode); + uint8_t getMode(); + void setVane(uint8_t mode); + uint8_t getVane(); + uint8_t* getRaw(); + + private: + uint8_t remote_state[MITSUBISHI_AC_STATE_LENGTH]; + void checksum(); + IRsend _irsend; +}; + +#endif + +#endif // IR_MITSUBISHI_H_ diff --git a/lib/IRremoteESP8266/src/ir_NEC.cpp b/lib/IRremoteESP8266/src/ir_NEC.cpp new file mode 100644 index 00000000..a5febe1b --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_NEC.cpp @@ -0,0 +1,210 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran + +#define __STDC_LIMIT_MACROS +#include +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// N N EEEEE CCCC +// NN N E C +// N N N EEE C +// N NN E C +// N N EEEEE CCCC + +// NEC originally added from https://github.com/shirriff/Arduino-IRremote/ + +// Constants +// Ref: +// http://www.sbprojects.com/knowledge/ir/nec.php +#define NEC_TICK 560U +#define NEC_HDR_MARK_TICKS 16U +#define NEC_HDR_MARK (NEC_HDR_MARK_TICKS * NEC_TICK) +#define NEC_HDR_SPACE_TICKS 8U +#define NEC_HDR_SPACE (NEC_HDR_SPACE_TICKS * NEC_TICK) +#define NEC_BIT_MARK_TICKS 1U +#define NEC_BIT_MARK (NEC_BIT_MARK_TICKS * NEC_TICK) +#define NEC_ONE_SPACE_TICKS 3U +#define NEC_ONE_SPACE (NEC_TICK * NEC_ONE_SPACE_TICKS) +#define NEC_ZERO_SPACE_TICKS 1U +#define NEC_ZERO_SPACE (NEC_TICK * NEC_ZERO_SPACE_TICKS) +#define NEC_RPT_SPACE_TICKS 4U +#define NEC_RPT_SPACE (NEC_RPT_SPACE_TICKS * NEC_TICK) +#define NEC_RPT_LENGTH 4U +#define NEC_MIN_COMMAND_LENGTH_TICKS 193U +#define NEC_MIN_COMMAND_LENGTH (NEC_MIN_COMMAND_LENGTH_TICKS * NEC_TICK) +#define NEC_MIN_GAP (NEC_MIN_COMMAND_LENGTH - \ + (NEC_HDR_MARK + NEC_HDR_SPACE + NEC_BITS * (NEC_BIT_MARK + NEC_ONE_SPACE) \ + + NEC_BIT_MARK)) +#define NEC_MIN_GAP_TICKS (NEC_MIN_COMMAND_LENGTH_TICKS - \ + (NEC_HDR_MARK_TICKS + NEC_HDR_SPACE_TICKS + \ + NEC_BITS * (NEC_BIT_MARK_TICKS + NEC_ONE_SPACE_TICKS) + \ + NEC_BIT_MARK_TICKS)) + +#if (SEND_NEC || SEND_SHERWOOD || SEND_AIWA_RC_T501 || SEND_SANYO) +// Send a raw NEC(Renesas) formatted message. +// +// Args: +// data: The message to be sent. +// nbits: The number of bits of the message to be sent. Typically NEC_BITS. +// repeat: The number of times the command is to be repeated. +// +// Status: STABLE / Known working. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/nec.php +void IRsend::sendNEC(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set 38kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(38, 33); + IRtimer usecs = IRtimer(); + // Header + mark(NEC_HDR_MARK); + space(NEC_HDR_SPACE); + // Data + sendData(NEC_BIT_MARK, NEC_ONE_SPACE, NEC_BIT_MARK, NEC_ZERO_SPACE, + data, nbits, true); + // Footer + mark(NEC_BIT_MARK); + // Gap to next command. + space(std::max(NEC_MIN_GAP, NEC_MIN_COMMAND_LENGTH - usecs.elapsed())); + + // Optional command repeat sequence. + for (uint16_t i = 0; i < repeat; i++) { + usecs.reset(); + mark(NEC_HDR_MARK); + space(NEC_RPT_SPACE); + mark(NEC_BIT_MARK); + // Gap till next command. + space(std::max(NEC_MIN_GAP, NEC_MIN_COMMAND_LENGTH - usecs.elapsed())); + } +} + +// Calculate the raw NEC data based on address and command. +// Args: +// address: An address value. +// command: An 8-bit command value. +// Returns: +// A raw 32-bit NEC message. +// +// Status: BETA / Expected to work. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/nec.php +uint32_t IRsend::encodeNEC(uint16_t address, uint16_t command) { + command &= 0xFF; // We only want the least significant byte of command. + // sendNEC() sends MSB first, but protocol says this is LSB first. + command = reverseBits(command, 8); + command = (command << 8) + (command ^ 0xFF); // Calculate the new command. + if (address > 0xFF) { // Is it Extended NEC? + address = reverseBits(address, 16); + return ((address << 16) + command); // Extended. + } else { + address = reverseBits(address, 8); + return (address << 24) + ((address ^ 0xFF) << 16) + command; // Normal. + } +} +#endif + +#if (DECODE_NEC || DECODE_SHERWOOD || DECODE_AIWA_RC_T501 || DECODE_SANYO) +// Decode the supplied NEC message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: The number of data bits to expect. Typically NEC_BITS. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: STABLE / Known good. +// +// Notes: +// NEC protocol has three varients/forms. +// Normal: a 8 bit address & a 8 bit command in 32 bit data form. +// i.e. address + inverted(address) + command + inverted(command) +// Extended: a 16 bit address & a 8 bit command in 32 bit data form. +// i.e. address + command + inverted(command) +// Repeat: a 0-bit code. i.e. No data bits. Just the header + footer. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/nec.php +bool IRrecv::decodeNEC(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < 2 * nbits + HEADER + FOOTER - 1 && + results->rawlen != NEC_RPT_LENGTH) + return false; // Can't possibly be a valid NEC message. + if (strict && nbits != NEC_BITS) + return false; // Not strictly an NEC message. + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset], NEC_HDR_MARK)) return false; + // Calculate how long the lowest tick time is based on the header mark. + uint32_t mark_tick = results->rawbuf[offset++] * RAWTICK / + NEC_HDR_MARK_TICKS; + // Check if it is a repeat code. + if (results->rawlen == NEC_RPT_LENGTH && + matchSpace(results->rawbuf[offset], NEC_RPT_SPACE) && + matchMark(results->rawbuf[offset + 1], NEC_BIT_MARK_TICKS * mark_tick)) { + results->value = REPEAT; + results->decode_type = NEC; + results->bits = 0; + results->address = 0; + results->command = 0; + results->repeat = true; + return true; + } + + // Header (cont.) + if (!matchSpace(results->rawbuf[offset], NEC_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t space_tick = results->rawbuf[offset++] * RAWTICK / + NEC_HDR_SPACE_TICKS; + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + NEC_BIT_MARK_TICKS * mark_tick, + NEC_ONE_SPACE_TICKS * space_tick, + NEC_BIT_MARK_TICKS * mark_tick, + NEC_ZERO_SPACE_TICKS * space_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!matchMark(results->rawbuf[offset++], NEC_BIT_MARK_TICKS * mark_tick)) + return false; + if (offset <= results->rawlen && + !matchAtLeast(results->rawbuf[offset], NEC_MIN_GAP_TICKS * space_tick)) + return false; + + // Compliance + // Calculate command and optionally enforce integrity checking. + uint8_t command = (data & 0xFF00) >> 8; + // Command is sent twice, once as plain and then inverted. + if ((command ^ 0xFF) != (data & 0xFF)) { + if (strict) + return false; // Command integrity failed. + command = 0; // The command value isn't valid, so default to zero. + } + + // Success + results->bits = nbits; + results->value = data; + results->decode_type = NEC; + // NEC command and address are technically in LSB first order so the + // final versions have to be reversed. + results->command = reverseBits(command, 8); + // Normal NEC protocol has an 8 bit address sent, followed by it inverted. + uint8_t address = (data & 0xFF000000) >> 24; + uint8_t address_inverted = (data & 0x00FF0000) >> 16; + if (address == (address_inverted ^ 0xFF)) + // Inverted, so it is normal NEC protocol. + results->address = reverseBits(address, 8); + else // Not inverted, so must be Extended NEC protocol, thus 16 bit address. + results->address = reverseBits((data >> 16) & UINT16_MAX, 16); + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Panasonic.cpp b/lib/IRremoteESP8266/src/ir_Panasonic.cpp new file mode 100644 index 00000000..fb1f1223 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Panasonic.cpp @@ -0,0 +1,196 @@ +// Copyright 2015 Kristian Lauszus +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// PPPP AAA N N AAA SSSS OOO N N IIIII CCCC +// P P A A NN N A A S O O NN N I C +// PPPP AAAAA N N N AAAAA SSS O O N N N I C +// P A A N NN A A S O O N NN I C +// P A A N N A A SSSS OOO N N IIIII CCCC + +// Panasonic protocol originally added by Kristian Lauszus from: +// https://github.com/z3t0/Arduino-IRremote +// (Thanks to zenwheel and other people at the original blog post) + +// Constants +// Ref: +// http://www.remotecentral.com/cgi-bin/mboard/rc-pronto/thread.cgi?26152 +#define PANASONIC_TICK 432U +#define PANASONIC_HDR_MARK_TICKS 8U +#define PANASONIC_HDR_MARK (PANASONIC_HDR_MARK_TICKS * PANASONIC_TICK) +#define PANASONIC_HDR_SPACE_TICKS 4U +#define PANASONIC_HDR_SPACE (PANASONIC_HDR_SPACE_TICKS * PANASONIC_TICK) +#define PANASONIC_BIT_MARK_TICKS 1U +#define PANASONIC_BIT_MARK (PANASONIC_BIT_MARK_TICKS * PANASONIC_TICK) +#define PANASONIC_ONE_SPACE_TICKS 3U +#define PANASONIC_ONE_SPACE (PANASONIC_ONE_SPACE_TICKS * PANASONIC_TICK) +#define PANASONIC_ZERO_SPACE_TICKS 1U +#define PANASONIC_ZERO_SPACE (PANASONIC_ZERO_SPACE_TICKS * PANASONIC_TICK) +#define PANASONIC_MIN_COMMAND_LENGTH_TICKS 300UL +#define PANASONIC_MIN_COMMAND_LENGTH (PANASONIC_MIN_COMMAND_LENGTH_TICKS * \ + PANASONIC_TICK) +#define PANASONIC_END_GAP 5000U // See issue #245 +#define PANASONIC_MIN_GAP_TICKS (PANASONIC_MIN_COMMAND_LENGTH_TICKS - \ + (PANASONIC_HDR_MARK_TICKS + PANASONIC_HDR_SPACE_TICKS + \ + PANASONIC_BITS * (PANASONIC_BIT_MARK_TICKS + PANASONIC_ONE_SPACE_TICKS) + \ + PANASONIC_BIT_MARK_TICKS)) +#define PANASONIC_MIN_GAP ((uint32_t)(PANASONIC_MIN_GAP_TICKS * PANASONIC_TICK)) +#if (SEND_PANASONIC || SEND_DENON) +// Send a Panasonic formatted message. +// +// Args: +// data: The message to be sent. +// nbits: The number of bits of the message to be sent. (PANASONIC_BITS). +// repeat: The number of times the command is to be repeated. +// +// Status: BETA / Should be working. +// +// Note: +// This protocol is a modified version of Kaseikyo. +void IRsend::sendPanasonic64(uint64_t data, uint16_t nbits, uint16_t repeat) { + enableIROut(36700U); // Set IR carrier frequency of 36.7kHz. + IRtimer usecTimer = IRtimer(); + + for (uint16_t i = 0; i <= repeat; i++) { + usecTimer.reset(); + // Header + mark(PANASONIC_HDR_MARK); + space(PANASONIC_HDR_SPACE); + // Data + sendData(PANASONIC_BIT_MARK, PANASONIC_ONE_SPACE, + PANASONIC_BIT_MARK, PANASONIC_ZERO_SPACE, + data, nbits, true); + // Footer + mark(PANASONIC_BIT_MARK); + space(std::max((uint32_t) PANASONIC_MIN_COMMAND_LENGTH - + usecTimer.elapsed(), + PANASONIC_MIN_GAP)); + } +} + +// Send a Panasonic formatted message. +// +// Args: +// address: The manufacturer code. +// data: The data portion to be sent. +// nbits: The number of bits of the message to be sent. (PANASONIC_BITS). +// repeat: The number of times the command is to be repeated. +// +// Status: STABLE. +// +// Note: +// This protocol is a modified version of Kaseikyo. +void IRsend::sendPanasonic(uint16_t address, uint32_t data, uint16_t nbits, + uint16_t repeat) { + sendPanasonic64(((uint64_t) address << 32) | (uint64_t) data, nbits, repeat); +} + +// Calculate the raw Panasonic data based on device, subdevice, & function. +// +// Args: +// manufacturer: A 16-bit manufacturer code. e.g. 0x4004 is Panasonic. +// device: An 8-bit code. +// subdevice: An 8-bit code. +// function: An 8-bit code. +// Returns: +// A raw uint64_t Panasonic message. +// +// Status: BETA / Should be working.. +// +// Note: +// Panasonic 48-bit protocol is a modified version of Kaseikyo. +// Ref: +// http://www.remotecentral.com/cgi-bin/mboard/rc-pronto/thread.cgi?2615 +uint64_t IRsend::encodePanasonic(uint16_t manufacturer, + uint8_t device, + uint8_t subdevice, + uint8_t function) { + uint8_t checksum = device ^ subdevice ^ function; + return (((uint64_t) manufacturer << 32) | + ((uint64_t) device << 24) | + ((uint64_t) subdevice << 16) | + ((uint64_t) function << 8) | + checksum); +} +#endif // (SEND_PANASONIC || SEND_DENON) + +#if (DECODE_PANASONIC || DECODE_DENON) +// Decode the supplied Panasonic message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should be working. +// Note: +// Panasonic 48-bit protocol is a modified version of Kaseikyo. +// Ref: +// http://www.remotecentral.com/cgi-bin/mboard/rc-pronto/thread.cgi?26152 +// http://www.hifi-remote.com/wiki/index.php?title=Panasonic +bool IRrecv::decodePanasonic(decode_results *results, uint16_t nbits, + bool strict, uint32_t manufacturer) { + if (results->rawlen < 2 * nbits + HEADER + FOOTER - 1) + return false; // Not enough entries to be a Panasonic message. + if (strict && nbits != PANASONIC_BITS) + return false; // Request is out of spec. + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset], PANASONIC_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / + PANASONIC_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], PANASONIC_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / + PANASONIC_HDR_SPACE_TICKS; + + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + PANASONIC_BIT_MARK_TICKS * m_tick, + PANASONIC_ONE_SPACE_TICKS * s_tick, + PANASONIC_BIT_MARK_TICKS * m_tick, + PANASONIC_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!match(results->rawbuf[offset++], PANASONIC_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], PANASONIC_END_GAP)) + return false; + + // Compliance + uint32_t address = data >> 32; + uint32_t command = data & 0xFFFFFFFF; + if (strict) { + if (address != manufacturer) // Verify the Manufacturer code. + return false; + // Verify the checksum. + uint8_t checksumOrig = data & 0xFF; + uint8_t checksumCalc = ((data >> 24) ^ (data >> 16) ^ (data >> 8)) & 0xFF; + if (checksumOrig != checksumCalc) + return false; + } + + // Success + results->value = data; + results->address = address; + results->command = command; + results->decode_type = PANASONIC; + results->bits = nbits; + return true; +} +#endif // (DECODE_PANASONIC || DECODE_DENON) diff --git a/lib/IRremoteESP8266/src/ir_Pronto.cpp b/lib/IRremoteESP8266/src/ir_Pronto.cpp new file mode 100644 index 00000000..ca76f084 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Pronto.cpp @@ -0,0 +1,109 @@ +// Copyright 2017 David Conran + +#include +#include "IRsend.h" +#include "IRtimer.h" + +// PPPPPP tt +// PP PP rr rr oooo nn nnn tt oooo +// PPPPPP rrr r oo oo nnn nn tttt oo oo +// PP rr oo oo nn nn tt oo oo +// PP rr oooo nn nn tttt oooo + +// Constants +#define PRONTO_FREQ_FACTOR 0.241246 +#define PRONTO_TYPE_OFFSET 0U +#define PRONTO_FREQ_OFFSET 1U +#define PRONTO_SEQ_1_LEN_OFFSET 2U +#define PRONTO_SEQ_2_LEN_OFFSET 3U +#define PRONTO_DATA_OFFSET 4U + +#if SEND_PRONTO +// Send a Pronto Code formatted message. +// +// Args: +// data: An array of uint16_t containing the pronto codes. +// len: Nr. of entries in the data[] array. +// repeat: Nr. of times to repeat the message. +// +// Status: ALPHA / Not tested in the real world. +// +// Note: +// Pronto codes are typically represented in hexadecimal. +// You will need to convert the code to an array of integers, and calculate +// it's length. +// e.g. +// A Sony 20 bit DVD remote command. +// "0000 0067 0000 0015 0060 0018 0018 0018 0030 0018 0030 0018 0030 0018 +// 0018 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0030 0018 +// 0030 0018 0030 0018 0018 0018 0018 0018 0030 0018 0018 0018 0018 0018 +// 0030 0018 0018 03f6" +// +// converts to: +// +// uint16_t prontoCode[46] = { +// 0x0000, 0x0067, 0x0000, 0x0015, +// 0x0060, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0030, 0x0018, +// 0x0030, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, +// 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, +// 0x0030, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, +// 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, +// 0x0018, 0x03f6}; +// // Send the Pronto(Sony) code. Repeat twice as Sony's require that. +// sendPronto(prontoCode, 46, SONY_MIN_REPEAT); +// +// Ref: +// http://www.etcwiki.org/wiki/Pronto_Infrared_Format +// http://www.remotecentral.com/features/irdisp2.htm +void IRsend::sendPronto(uint16_t data[], uint16_t len, uint16_t repeat) { + // Check we have enough data to work out what to send. + if (len < PRONTO_MIN_LENGTH) return; + + // We only know how to deal with 'raw' pronto codes types. Reject all others. + if (data[PRONTO_TYPE_OFFSET] != 0) return; + + // Pronto frequency is in Hz. + uint16_t hz = (uint16_t) (1000000U / (data[PRONTO_FREQ_OFFSET] * + PRONTO_FREQ_FACTOR)); + enableIROut(hz); + + // Grab the length of the two sequences. + uint16_t seq_1_len = data[PRONTO_SEQ_1_LEN_OFFSET] * 2; + uint16_t seq_2_len = data[PRONTO_SEQ_2_LEN_OFFSET] * 2; + // Calculate where each sequence starts in the buffer. + uint16_t seq_1_start = PRONTO_DATA_OFFSET; + uint16_t seq_2_start = PRONTO_DATA_OFFSET + seq_1_len; + + uint32_t periodic_time = calcUSecPeriod(hz, false); + + // Normal (1st sequence) case. + // Is there a first (normal) sequence to send? + if (seq_1_len > 0) { + // Check we have enough data to send the complete first sequence. + if (seq_1_len + seq_1_start > len) return; + // Send the contents of the 1st sequence. + for (uint16_t i = seq_1_start; i < seq_1_start + seq_1_len; i += 2) { + mark(data[i] * periodic_time); + space(data[i + 1] * periodic_time); + } + } else { + // There was no first sequence to send, it is implied that we have to send + // the 2nd/repeat sequence an additional time. i.e. At least once. + repeat++; + } + + // Repeat (2nd sequence) case. + // Is there a second (repeat) sequence to be sent? + if (seq_2_len > 0) { + // Check we have enough data to send the complete second sequence. + if (seq_2_len + seq_2_start > len) return; + + // Send the contents of the 2nd sequence. + for (uint16_t r = 0; r < repeat; r++) + for (uint16_t i = seq_2_start; i < seq_2_start + seq_2_len; i += 2) { + mark(data[i] * periodic_time); + space(data[i + 1] * periodic_time); + } + } +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_RC5_RC6.cpp b/lib/IRremoteESP8266/src/ir_RC5_RC6.cpp new file mode 100644 index 00000000..65aaf88d --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_RC5_RC6.cpp @@ -0,0 +1,514 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// RRRRRR CCCCC 555555 XX XX RRRRRR CCCCC 666 +// RR RR CC C 55 XX XX RR RR CC C 66 +// RRRRRR CC _____ 555555 XXXX RRRRRR CC _____ 666666 +// RR RR CC C 5555 XX XX RR RR CC C 66 66 +// RR RR CCCCC 555555 XX XX RR RR CCCCC 66666 + +// RC-5 & RC-6 support added from https://github.com/z3t0/Arduino-IRremote +// RC-5X support added by David Conran + +// Constants +// RC-5/RC-5X +// Ref: +// https://en.wikipedia.org/wiki/RC-5 +// http://www.sbprojects.com/knowledge/ir/rc5.php +#define MIN_RC5_SAMPLES 11U +#define MIN_RC6_SAMPLES 1U +#define RC5_T1 889U +#define RC5_MIN_COMMAND_LENGTH 113778UL +#define RC5_MIN_GAP (RC5_MIN_COMMAND_LENGTH - RC5_RAW_BITS * (2 * RC5_T1)) +#define RC5_TOGGLE_MASK 0x800U // (The 12th bit) +// RC-6 +// Ref: +// https://en.wikipedia.org/wiki/RC-6 +// http://www.pcbheaven.com/userpages/The_Philips_RC6_Protocol/ +#define RC6_TICK 444U +#define RC6_HDR_MARK_TICKS 6U +#define RC6_HDR_MARK (RC6_HDR_MARK_TICKS * RC6_TICK) +#define RC6_HDR_SPACE_TICKS 2U +#define RC6_HDR_SPACE (RC6_HDR_SPACE_TICKS * RC6_TICK) +#define RC6_RPT_LENGTH_TICKS 187U +#define RC6_RPT_LENGTH (RC6_RPT_LENGTH_TICKS * RC6_TICK) +#define RC6_TOGGLE_MASK 0x10000UL // (The 17th bit) +#define RC6_36_TOGGLE_MASK 0x8000U // (The 16th bit) + +// Common (getRClevel()) +#define MARK 0U +#define SPACE 1U + + +#if SEND_RC5 +// Send a Philips RC-5/RC-5X packet. +// +// Args: +// data: The message you wish to send. +// nbits: Bit size of the protocol you want to send. +// repeat: Nr. of extra times the data will be sent. +// +// Status: RC-5 (stable), RC-5X (alpha) +// +// Note: +// Caller needs to take care of flipping the toggle bit. +// That bit differentiates between key press & key release. +// For RC-5 it is the MSB of the data. +// For RC-5X it is the 2nd MSB of the data. +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc5.php +// https://en.wikipedia.org/wiki/RC-5 +// https://en.wikipedia.org/wiki/Manchester_code +// TODO(anyone): +// Testing of the RC-5X components. +void IRsend::sendRC5(uint64_t data, uint16_t nbits, uint16_t repeat) { + if (nbits > sizeof(data) * 8) + return; // We can't send something that big. + bool skipSpace = true; + bool field_bit = true; + // Set 36kHz IR carrier frequency & a 1/4 (25%) duty cycle. + enableIROut(36, 25); + + if (nbits >= RC5X_BITS) { // Is this a RC-5X message? + // field bit is the inverted MSB of RC-5X data. + field_bit = ((data >> (nbits - 1)) ^ 1) & 1; + nbits--; + } + + IRtimer usecTimer = IRtimer(); + for (uint16_t i = 0; i <= repeat; i++) { + usecTimer.reset(); + + // Header + // First start bit (0x1). space, then mark. + if (skipSpace) + skipSpace = false; // First time through, we assume the leading space(). + else + space(RC5_T1); + mark(RC5_T1); + // Field/Second start bit. + if (field_bit) { // Send a 1. Normal for RC-5. + space(RC5_T1); + mark(RC5_T1); + } else { // Send a 0. Special case for RC-5X. Means 7th command bit is 1. + mark(RC5_T1); + space(RC5_T1); + } + + // Data + for (uint64_t mask = 1ULL << (nbits - 1); mask; mask >>= 1) + if (data & mask) { // 1 + space(RC5_T1); // 1 is space, then mark. + mark(RC5_T1); + } else { // 0 + mark(RC5_T1); // 0 is mark, then space. + space(RC5_T1); + } + // Footer + space(std::max(RC5_MIN_GAP, RC5_MIN_COMMAND_LENGTH - usecTimer.elapsed())); + } +} + +// Encode a Philips RC-5 data message. +// +// Args: +// address: The 5-bit address value for the message. +// command: The 6-bit command value for the message. +// key_released: Boolean flag indicating if the remote key has been released. +// +// Returns: +// A data message suitable for use in sendRC5(). +// +// Status: Beta / Should be working. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc5.php +// https://en.wikipedia.org/wiki/RC-5 +uint16_t IRsend::encodeRC5(uint8_t address, uint8_t command, + bool key_released) { + return (key_released << (RC5_BITS - 1)) | + ((address & 0x1f) << 6) | + (command & 0x3F); +} + +// Encode a Philips RC-5X data message. +// +// Args: +// address: The 5-bit address value for the message. +// command: The 7-bit command value for the message. +// key_released: Boolean flag indicating if the remote key has been released. +// +// Returns: +// A data message suitable for use in sendRC5(). +// +// Status: Beta / Should be working. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc5.php +// https://en.wikipedia.org/wiki/RC-5 +uint16_t IRsend::encodeRC5X(uint8_t address, uint8_t command, + bool key_released) { + // The 2nd start/field bit (MSB of the return value) is the value of the 7th + // command bit. + bool s2 = (command >> 6) & 1; + return ((uint16_t) s2 << (RC5X_BITS - 1)) | + encodeRC5(address, command, key_released); +} + +// Flip the toggle bit of a Philips RC-5/RC-5X data message. +// Used to indicate a change of remote button's state. +// +// Args: +// data: The existing RC-5/RC-5X message. +// +// Returns: +// A data message suitable for use in sendRC5() with the toggle bit flipped. +// +// Status: STABLE. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc5.php +// https://en.wikipedia.org/wiki/RC-5 +uint64_t IRsend::toggleRC5(uint64_t data) { + return data ^ RC5_TOGGLE_MASK; +} +#endif // SEND_RC5 + +#if SEND_RC6 +// Flip the toggle bit of a Philips RC-6 data message. +// Used to indicate a change of remote button's state. +// For RC-6 (20-bits), it is the 17th least significant bit. +// for RC-6 (36-bits/Xbox-360), it is the 16th least significant bit. +// +// Args: +// data: The existing RC-6 message. +// nbits: Nr. of bits in the RC-6 protocol. +// +// Returns: +// A data message suitable for use in sendRC6() with the toggle bit flipped. +// +// Status: BETA / Should work fine. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc6.php +// http://www.righto.com/2010/12/64-bit-rc6-codes-arduino-and-xbox.html +uint64_t IRsend::toggleRC6(uint64_t data, uint16_t nbits) { + if (nbits == RC6_36_BITS) + return data ^ RC6_36_TOGGLE_MASK; + return data ^ RC6_TOGGLE_MASK; +} + +// Encode a Philips RC-6 data message. +// +// Args: +// address: The address (aka. control) value for the message. +// Includes the field/mode/toggle bits. +// command: The 8-bit command value for the message. (aka. information) +// mode: Which protocol to use. Defined by nr. of bits in the protocol. +// +// Returns: +// A data message suitable for use in sendRC6(). +// +// Status: Beta / Should be working. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc6.php +// http://www.righto.com/2010/12/64-bit-rc6-codes-arduino-and-xbox.html +// http://www.pcbheaven.com/userpages/The_Philips_RC6_Protocol/ +uint64_t IRsend::encodeRC6(uint32_t address, uint8_t command, + uint16_t mode) { + switch (mode) { + case RC6_MODE0_BITS: + return ((address & 0xFFF) << 8) | (command & 0xFF); + case RC6_36_BITS: + return ((uint64_t) (address & 0xFFFFFFF) << 8) | (command & 0xFF); + default: + return 0; + } +} + +// Send a Philips RC-6 packet. +// Note: Caller needs to take care of flipping the toggle bit (The 4th Most +// Significant Bit). That bit differentiates between key press & key release. +// +// Args: +// data: The message you wish to send. +// nbits: Bit size of the protocol you want to send. +// repeat: Nr. of extra times the data will be sent. +// +// Status: Stable. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc6.php +// http://www.righto.com/2010/12/64-bit-rc6-codes-arduino-and-xbox.html +// https://en.wikipedia.org/wiki/Manchester_code +void IRsend::sendRC6(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Check we can send the number of bits requested. + if (nbits > sizeof(data) * 8) + return; + // Set 36kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(36, 33); + for (uint16_t r = 0; r <= repeat; r++) { + // Header + mark(RC6_HDR_MARK); + space(RC6_HDR_SPACE); + // Start bit. + mark(RC6_TICK); // mark, then space == 0x1. + space(RC6_TICK); + // Data + uint16_t bitTime; + for (uint64_t i = 1, mask = 1ULL << (nbits - 1); mask; i++, mask >>= 1) { + if (i == 4) // The fourth bit we send is a "double width trailer bit". + bitTime = 2 * RC6_TICK; // double-wide trailer bit + else + bitTime = RC6_TICK; // Normal bit + if (data & mask) { // 1 + mark(bitTime); + space(bitTime); + } else { // 0 + space(bitTime); + mark(bitTime); + } + } + // Footer + space(RC6_RPT_LENGTH); + } +} +#endif // SEND_RC6 + +#if (DECODE_RC5 || DECODE_RC6) +// Gets one undecoded level at a time from the raw buffer. +// The RC5/6 decoding is easier if the data is broken into time intervals. +// E.g. if the buffer has MARK for 2 time intervals and SPACE for 1, +// successive calls to getRClevel will return MARK, MARK, SPACE. +// offset and used are updated to keep track of the current position. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// offset: Ptr to the currect offset to the rawbuf. +// used: Ptr to the current used counter. +// bitTime: Time interval of single bit in microseconds. +// Returns: +// int: MARK, SPACE, or -1 for error (The measured time interval is not a +// multiple of t1.) +// Ref: +// https://en.wikipedia.org/wiki/Manchester_code +int16_t IRrecv::getRClevel(decode_results *results, uint16_t *offset, + uint16_t *used, uint16_t bitTime) { + if (*offset >= results->rawlen) + return SPACE; // After end of recorded buffer, assume SPACE. + uint16_t width = results->rawbuf[*offset]; + // If the value of offset is odd, it's a MARK. Even, it's a SPACE. + uint16_t val = ((*offset) % 2) ? MARK : SPACE; + // Check to see if we have hit an inter-message gap (> 20ms). + if (val == SPACE && width > 20000) + return SPACE; + int16_t correction = (val == MARK) ? MARK_EXCESS : -MARK_EXCESS; + + // Calculate the look-ahead for our current position in the buffer. + uint16_t avail; + // Note: We want to match in greedy order as the other way leads to + // mismatches due to overlaps induced by the correction and tolerance + // values. + if (match(width, 3 * bitTime + correction)) + avail = 3; + else if (match(width, 2 * bitTime + correction)) + avail = 2; + else if (match(width, bitTime + correction)) + avail = 1; + else + return -1; // The width is not what we expected. + + (*used)++; // Count another one of the avail slots as used. + if (*used >= avail) { // Are we out of look-ahead/avail slots? + // Yes, so reset the used counter, and move the offset ahead. + *used = 0; + (*offset)++; + } + + return val; +} +#endif // (DECODE_RC5 || DECODE_RC6) + +#if DECODE_RC5 +// Decode the supplied RC-5/RC5X message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: The number of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: RC-5 (stable), RC-5X (alpha) +// +// Note: +// The 'toggle' bit is included as the 6th (MSB) address bit, the MSB of data, +// & in the count of bits decoded. +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc5.php +// https://en.wikipedia.org/wiki/RC-5 +// https://en.wikipedia.org/wiki/Manchester_code +// TODO(anyone): +// Serious testing of the RC-5X and strict aspects needs to be done. +bool IRrecv::decodeRC5(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < MIN_RC5_SAMPLES + HEADER - 1) return false; + + // Compliance + if (strict && nbits != RC5_BITS && nbits != RC5X_BITS) + return false; // It's neither RC-5 or RC-5X. + + uint16_t offset = OFFSET_START; + uint16_t used = 0; + bool is_rc5x = false; + uint64_t data = 0; + + // Header + // Get start bit #1. + if (getRClevel(results, &offset, &used, RC5_T1) != MARK) return false; + // Get field/start bit #2 (inverted bit-7 of the command if RC-5X protocol) + uint16_t actual_bits = 1; + int16_t levelA = getRClevel(results, &offset, &used, RC5_T1); + int16_t levelB = getRClevel(results, &offset, &used, RC5_T1); + if (levelA == SPACE && levelB == MARK) { // Matched a 1. + is_rc5x = false; + } else if (levelA == MARK && levelB == SPACE) { // Matched a 0. + if (nbits <= RC5_BITS) return false; // Field bit must be '1' for RC5. + is_rc5x = true; + data = 1; + } else { + return false; // Not what we expected. + } + + // Data + for (; offset < results->rawlen; actual_bits++) { + int16_t levelA = getRClevel(results, &offset, &used, RC5_T1); + int16_t levelB = getRClevel(results, &offset, &used, RC5_T1); + if (levelA == SPACE && levelB == MARK) + data = (data << 1) | 1; // 1 + else if (levelA == MARK && levelB == SPACE) + data <<= 1; // 0 + else + break; + } + // Footer (None) + + // Compliance + if (actual_bits < nbits) return false; // Less data than we expected. + if (strict && actual_bits != RC5_BITS && + actual_bits != RC5X_BITS) return false; + + // Success + results->value = data; + results->address = (data >> 6) & 0x1F; + results->command = data & 0x3F; + results->repeat = false; + if (is_rc5x) { + results->decode_type = RC5X; + results->command |= ((uint32_t) is_rc5x) << 6; + } else { + results->decode_type = RC5; + actual_bits--; // RC5 doesn't count the field bit as data. + } + results->bits = actual_bits; + return true; +} +#endif // DECODE_RC5 + +#if DECODE_RC6 +// Decode the supplied RC6 message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: The number of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: Stable. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rc6.php +// https://en.wikipedia.org/wiki/Manchester_code +// TODO(anyone): +// Testing of the strict compliance aspects. +bool IRrecv::decodeRC6(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < HEADER + 2 + 4) // Up to the double-wide T bit. + return false; // Smaller than absolute smallest possible RC6 message. + + if (strict) { // Compliance + // Unlike typical protocols, the ability to have mark+space, and space+mark + // as data bits means it is possible to only have nbits of entries for the + // data portion, rather than the typically required 2 * nbits. + // Also due to potential melding with the start bit, we can only count + // the start bit as 1, instead of a more typical 2 value. The header still + // remains as normal. + if (results->rawlen < nbits + HEADER + 1) + return false; // Don't have enough entries/samples to be valid. + switch (nbits) { + case RC6_MODE0_BITS: + case RC6_36_BITS: + break; + default: + return false; // Asking for the wrong number of bits. + } + } + + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset], RC6_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t tick = results->rawbuf[offset++] * RAWTICK / RC6_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset++], RC6_HDR_SPACE_TICKS * tick)) + return false; + + uint16_t used = 0; + + // Get the start bit. e.g. 1. + if (getRClevel(results, &offset, &used, tick) != MARK) return false; + if (getRClevel(results, &offset, &used, tick) != SPACE) return false; + + uint16_t actual_bits; + uint64_t data = 0; + + // Data (Warning: Here be dragons^Wpointers!!) + for (actual_bits = 0; offset < results->rawlen; actual_bits++) { + int16_t levelA, levelB; // Next two levels + levelA = getRClevel(results, &offset, &used, tick); + // T bit is double wide; make sure second half matches + if (actual_bits == 3 && + levelA != getRClevel(results, &offset, &used, tick)) + return false; + levelB = getRClevel(results, &offset, &used, tick); + // T bit is double wide; make sure second half matches + if (actual_bits == 3 && + levelB != getRClevel(results, &offset, &used, tick)) + return false; + if (levelA == MARK && levelB == SPACE) // reversed compared to RC5 + data = (data << 1) | 1; // 1 + else if (levelA == SPACE && levelB == MARK) + data <<= 1; // 0 + else + break; + } + + // More compliance + if (strict && actual_bits != nbits) + return false; // Actual nr. of bits didn't match expected. + + // Success + results->decode_type = RC6; + results->bits = actual_bits; + results->value = data; + results->address = data >> 8; + results->command = data & 0xFF; + return true; +} +#endif // DECODE_RC6 diff --git a/lib/IRremoteESP8266/src/ir_RCMM.cpp b/lib/IRremoteESP8266/src/ir_RCMM.cpp new file mode 100644 index 00000000..362702b6 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_RCMM.cpp @@ -0,0 +1,174 @@ +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// RRRRRR CCCCC MM MM MM MM +// RR RR CC C MMM MMM MMM MMM +// RRRRRR CC _____ MM MM MM MM MM MM +// RR RR CC C MM MM MM MM +// RR RR CCCCC MM MM MM MM + +// Send & decode support for RC-MM added by David Conran + +// Constants +// Ref: +// http://www.sbprojects.com/knowledge/ir/rcmm.php +#define RCMM_TICK 28U // Technically it would be 27.777* +#define RCMM_HDR_MARK_TICKS 15U +#define RCMM_HDR_MARK 416U +#define RCMM_HDR_SPACE_TICKS 10U +#define RCMM_HDR_SPACE 277U +#define RCMM_BIT_MARK_TICKS 6U +#define RCMM_BIT_MARK 166U +#define RCMM_BIT_SPACE_0_TICKS 10U +#define RCMM_BIT_SPACE_0 277U +#define RCMM_BIT_SPACE_1_TICKS 16U +#define RCMM_BIT_SPACE_1 444U +#define RCMM_BIT_SPACE_2_TICKS 22U +#define RCMM_BIT_SPACE_2 611U +#define RCMM_BIT_SPACE_3_TICKS 28U +#define RCMM_BIT_SPACE_3 777U +#define RCMM_RPT_LENGTH_TICKS 992U +#define RCMM_RPT_LENGTH 27778U +#define RCMM_MIN_GAP_TICKS 120U +#define RCMM_MIN_GAP 3360U +// Use a tolerance of +/-10% when matching some data spaces. +#define RCMM_TOLERANCE 10U +#define RCMM_EXCESS 50U + +#if SEND_RCMM +// Send a Philips RC-MM packet. +// +// Args: +// data: The data we want to send. MSB first. +// nbits: The number of bits of data to send. (Typically 12, 24, or 32[Nokia]) +// repeat: The nr. of times the message should be sent. +// +// Status: BETA / Should be working. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rcmm.php +void IRsend::sendRCMM(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set 36kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(36, 33); + IRtimer usecs = IRtimer(); + + for (uint16_t r = 0; r <= repeat; r++) { + usecs.reset(); + // Header + mark(RCMM_HDR_MARK); + space(RCMM_HDR_SPACE); + // Data + uint64_t mask = 0b11ULL << (nbits - 2); + // RC-MM sends data 2 bits at a time. + for (int32_t i = nbits; i > 0; i -= 2) { + mark(RCMM_BIT_MARK); + // Grab the next Most Significant Bits to send. + switch ((data & mask) >> (i - 2)) { + case 0b00: space(RCMM_BIT_SPACE_0); break; + case 0b01: space(RCMM_BIT_SPACE_1); break; + case 0b10: space(RCMM_BIT_SPACE_2); break; + case 0b11: space(RCMM_BIT_SPACE_3); break; + } + mask >>= 2; + } + // Footer + mark(RCMM_BIT_MARK); + // Protocol requires us to wait at least RCMM_RPT_LENGTH usecs from the + // start or RCMM_MIN_GAP usecs. + space(std::max(RCMM_RPT_LENGTH - usecs.elapsed(), RCMM_MIN_GAP)); + } +} +#endif + +#if DECODE_RCMM +// Decode a Philips RC-MM packet (between 12 & 32 bits) if possible. +// Places successful decode information in the results pointer. +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of bits to expect in the data portion. Typically RCMM_BITS. +// strict: Flag to indicate if we strictly adhere to the specification. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should be working. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/rcmm.php +bool IRrecv::decodeRCMM(decode_results *results, uint16_t nbits, bool strict) { + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + if (results->rawlen <= 4) + return false; // Not enough entries to ever be RCMM. + + // Calc the maximum size in bits, the message can be, or that we can accept. + int16_t maxBitSize = std::min((uint16_t) results->rawlen - 4, + (uint16_t) sizeof(data) * 8); + // Compliance + if (strict) { + // Technically the spec says bit sizes should be 12 xor 24. however + // 32 bits has been seen from a device. We are going to assume + // 12 <= bits <= 32 is the 'required' bit length for the spec. + if (maxBitSize < 12 || maxBitSize > 32) + return false; + if (maxBitSize < nbits) + return false; // Short cut, we can never reach the expected nr. of bits. + } + // Header decode + if (!matchMark(results->rawbuf[offset], RCMM_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / RCMM_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], RCMM_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / RCMM_HDR_SPACE_TICKS; + + // Data decode + // RC-MM has two bits of data per mark/space pair. + uint16_t actualBits; + for (actualBits = 0; actualBits < maxBitSize; actualBits += 2, offset++) { + if (!match(results->rawbuf[offset++], RCMM_BIT_MARK_TICKS * m_tick)) + return false; + + data <<= 2; + // Use non-default tolerance & excess for matching some of the spaces as the + // defaults are too generous and causes mis-matches in some cases. + if (match(results->rawbuf[offset], RCMM_BIT_SPACE_0_TICKS * s_tick, + TOLERANCE)) + data += 0; + else if (match(results->rawbuf[offset], RCMM_BIT_SPACE_1_TICKS * s_tick, + TOLERANCE)) + data += 1; + else if (match(results->rawbuf[offset], RCMM_BIT_SPACE_2_TICKS * s_tick, + RCMM_TOLERANCE)) + data += 2; + else if (match(results->rawbuf[offset], RCMM_BIT_SPACE_3_TICKS * s_tick, + RCMM_TOLERANCE)) + data += 3; + else + return false; + } + // Footer decode + if (!match(results->rawbuf[offset++], RCMM_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], RCMM_MIN_GAP_TICKS * s_tick)) + return false; + + // Compliance + if (strict && actualBits != nbits) + return false; + + // Success + results->value = data; + results->decode_type = RCMM; + results->bits = actualBits; + results->address = 0; + results->command = 0; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Samsung.cpp b/lib/IRremoteESP8266/src/ir_Samsung.cpp new file mode 100644 index 00000000..dbd94bcd --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Samsung.cpp @@ -0,0 +1,175 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// SSSS AAA MMM SSSS U U N N GGGG +// S A A M M M S U U NN N G +// SSS AAAAA M M M SSS U U N N N G GG +// S A A M M S U U N NN G G +// SSSS A A M M SSSS UUU N N GGG + +// Samsung originally added from https://github.com/shirriff/Arduino-IRremote/ + +// Constants +// Ref: +// http://elektrolab.wz.cz/katalog/samsung_protocol.pdf +#define SAMSUNG_TICK 560U +#define SAMSUNG_HDR_MARK_TICKS 8U +#define SAMSUNG_HDR_MARK (SAMSUNG_HDR_MARK_TICKS * SAMSUNG_TICK) +#define SAMSUNG_HDR_SPACE_TICKS 8U +#define SAMSUNG_HDR_SPACE (SAMSUNG_HDR_SPACE_TICKS * SAMSUNG_TICK) +#define SAMSUNG_BIT_MARK_TICKS 1U +#define SAMSUNG_BIT_MARK (SAMSUNG_BIT_MARK_TICKS * SAMSUNG_TICK) +#define SAMSUNG_ONE_SPACE_TICKS 3U +#define SAMSUNG_ONE_SPACE (SAMSUNG_ONE_SPACE_TICKS * SAMSUNG_TICK) +#define SAMSUNG_ZERO_SPACE_TICKS 1U +#define SAMSUNG_ZERO_SPACE (SAMSUNG_ZERO_SPACE_TICKS * SAMSUNG_TICK) +#define SAMSUNG_RPT_SPACE_TICKS 4U +#define SAMSUNG_RPT_SPACE (SAMSUNG_RPT_SPACE_TICKS * SAMSUNG_TICK) +#define SAMSUNG_MIN_MESSAGE_LENGTH_TICKS 193U +#define SAMSUNG_MIN_MESSAGE_LENGTH (SAMSUNG_MIN_MESSAGE_LENGTH_TICKS * \ + SAMSUNG_TICK) +#define SAMSUNG_MIN_GAP_TICKS (SAMSUNG_MIN_MESSAGE_LENGTH_TICKS - \ + (SAMSUNG_HDR_MARK_TICKS + SAMSUNG_HDR_SPACE_TICKS + \ + SAMSUNG_BITS * (SAMSUNG_BIT_MARK_TICKS + SAMSUNG_ONE_SPACE_TICKS) + \ + SAMSUNG_BIT_MARK_TICKS)) +#define SAMSUNG_MIN_GAP (SAMSUNG_MIN_GAP_TICKS * SAMSUNG_TICK) + + + +#if SEND_SAMSUNG +// Send a Samsung formatted message. +// Samsung has a separate message to indicate a repeat, like NEC does. +// TODO(crankyoldgit): Confirm that is actually how Samsung sends a repeat. +// The refdoc doesn't indicate it is true. +// +// Args: +// data: The message to be sent. +// nbits: The bit size of the message being sent. typically SAMSUNG_BITS. +// repeat: The number of times the message is to be repeated. +// +// Status: BETA / Should be working. +// +// Ref: http://elektrolab.wz.cz/katalog/samsung_protocol.pdf +void IRsend::sendSAMSUNG(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set 38kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(38, 33); + IRtimer usecTimer = IRtimer(); + // We always send a message, even for repeat=0, hence '<= repeat'. + for (uint16_t i=0; i <= repeat; i++) { + usecTimer.reset(); + // Header + mark(SAMSUNG_HDR_MARK); + space(SAMSUNG_HDR_SPACE); + // Data + sendData(SAMSUNG_BIT_MARK, SAMSUNG_ONE_SPACE, SAMSUNG_BIT_MARK, + SAMSUNG_ZERO_SPACE, data, nbits, true); + // Footer + mark(SAMSUNG_BIT_MARK); + space(std::max((uint32_t) SAMSUNG_MIN_GAP, + (uint32_t) (SAMSUNG_MIN_MESSAGE_LENGTH - + usecTimer.elapsed()))); + } +} + +// Construct a raw Samsung message from the supplied customer(address) & +// command. +// +// Args: +// customer: The customer code. (aka. Address) +// command: The command code. +// Returns: +// A raw 32-bit Samsung message suitable for sendSAMSUNG(). +// +// Status: BETA / Should be working. +uint32_t IRsend::encodeSAMSUNG(uint8_t customer, uint8_t command) { + customer = reverseBits(customer, sizeof(customer) * 8); + command = reverseBits(command, sizeof(command) * 8); + return((command ^ 0xFF) | (command << 8) | + (customer << 16) | (customer << 24)); +} +#endif + +#if DECODE_SAMSUNG +// Decode the supplied Samsung message. +// Samsung messages whilst 32 bits in size, only contain 16 bits of distinct +// data. e.g. In transmition order: +// customer_byte + customer_byte(same) + address_byte + invert(address_byte) +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of bits to expect in the data portion. Typically SAMSUNG_BITS. +// strict: Flag to indicate if we strictly adhere to the specification. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: STABLE +// +// Note: +// LG 32bit protocol appears near identical to the Samsung protocol. +// They differ on their compliance criteria and how they repeat. +// Ref: +// http://elektrolab.wz.cz/katalog/samsung_protocol.pdf +bool IRrecv::decodeSAMSUNG(decode_results *results, uint16_t nbits, + bool strict) { + if (results->rawlen < 2 * nbits + HEADER + FOOTER - 1) + return false; // Can't possibly be a valid Samsung message. + if (strict && nbits != SAMSUNG_BITS) + return false; // We expect Samsung to be 32 bits of message. + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // Header + if (!matchMark(results->rawbuf[offset], SAMSUNG_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / + SAMSUNG_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], SAMSUNG_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / + SAMSUNG_HDR_SPACE_TICKS; + // Data + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + SAMSUNG_BIT_MARK_TICKS * m_tick, + SAMSUNG_ONE_SPACE_TICKS * s_tick, + SAMSUNG_BIT_MARK_TICKS * m_tick, + SAMSUNG_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + // Footer + if (!matchMark(results->rawbuf[offset++], SAMSUNG_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], SAMSUNG_MIN_GAP_TICKS * s_tick)) + return false; + + // Compliance + + // According to the spec, the customer (address) code is the first 8 + // transmitted bits. It's then repeated. Check for that. + uint8_t address = data >> 24; + if (strict && address != ((data >> 16) & 0xFF)) + return false; + // Spec says the command code is the 3rd block of transmitted 8-bits, + // followed by the inverted command code. + uint8_t command = (data & 0xFF00) >> 8; + if (strict && command != ((data & 0xFF) ^ 0xFF)) + return false; + + // Success + results->bits = nbits; + results->value = data; + results->decode_type = SAMSUNG; + // command & address need to be reversed as they are transmitted LSB first, + results->command = reverseBits(command, sizeof(command) * 8); + results->address = reverseBits(address, sizeof(address) * 8); + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Sanyo.cpp b/lib/IRremoteESP8266/src/ir_Sanyo.cpp new file mode 100644 index 00000000..cbb13a32 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Sanyo.cpp @@ -0,0 +1,239 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2016 marcosamarinho +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" + +// SSSS AAA N N Y Y OOO +// S A A NN N Y Y O O +// SSS AAAAA N N N Y O O +// S A A N NN Y O O +// SSSS A A N N Y OOO + +// Sanyo SA 8650B originally added from: +// https://github.com/shirriff/Arduino-IRremote/ +// Sanyo LC7461 support originally by marcosamarinho + +// Constants +// Sanyo SA 8650B +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Sanyo.cpp +#define SANYO_SA8650B_HDR_MARK 3500U // seen range 3500 +#define SANYO_SA8650B_HDR_SPACE 950U // seen 950 +#define SANYO_SA8650B_ONE_MARK 2400U // seen 2400 +#define SANYO_SA8650B_ZERO_MARK 700U // seen 700 +// usually see 713 - not using ticks as get number wrapround +#define SANYO_SA8650B_DOUBLE_SPACE_USECS 800U +#define SANYO_SA8650B_RPT_LENGTH 45000U +// Sanyo LC7461 +// Ref: +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Sanyo.cpp +// http://slydiman.narod.ru/scr/kb/sanyo.htm +// http://pdf.datasheetcatalog.com/datasheet/sanyo/LC7461.pdf +#define SANYO_LC7461_ADDRESS_MASK ((1 << SANYO_LC7461_ADDRESS_BITS) - 1) +#define SANYO_LC7461_COMMAND_MASK ((1 << SANYO_LC7461_COMMAND_BITS) - 1) +#define SANYO_LC7461_HDR_MARK 9000U +#define SANYO_LC7461_HDR_SPACE 4500U +#define SANYO_LC7461_BIT_MARK 560U // 1T +#define SANYO_LC7461_ONE_SPACE 1690U // 3T +#define SANYO_LC7461_ZERO_SPACE 560U // 1T +#define SANYO_LC7461_MIN_COMMAND_LENGTH 108000UL +#define SANYO_LC7461_MIN_GAP SANYO_LC7461_MIN_COMMAND_LENGTH - \ + (SANYO_LC7461_HDR_MARK + SANYO_LC7461_HDR_SPACE + SANYO_LC7461_BITS * \ + (SANYO_LC7461_BIT_MARK + (SANYO_LC7461_ONE_SPACE + \ + SANYO_LC7461_ZERO_SPACE) / 2) \ + + SANYO_LC7461_BIT_MARK) + +#if SEND_SANYO +// Construct a Sanyo LC7461 message. +// +// Args: +// address: The 13 bit value of the address(Custom) portion of the protocol. +// command: The 8 bit value of the command(Key) portion of the protocol. +// Returns: +// An uint64_t with the encoded raw 42 bit Sanyo LC7461 data value. +// +// Notes: +// This protocol uses the NEC protocol timings. However, data is +// formatted as : address(13 bits), !address, command(8 bits), !command. +// According with LIRC, this protocol is used on Sanyo, Aiwa and Chinon +uint64_t IRsend::encodeSanyoLC7461(uint16_t address, uint8_t command) { + // Mask our input values to ensure the correct bit sizes. + address &= SANYO_LC7461_ADDRESS_MASK; + command &= SANYO_LC7461_COMMAND_MASK; + + uint64_t data = address; + address ^= SANYO_LC7461_ADDRESS_MASK; // Invert the 13 LSBs. + // Append the now inverted address. + data = (data << SANYO_LC7461_ADDRESS_BITS) | address; + // Append the command. + data = (data << SANYO_LC7461_COMMAND_BITS) | command; + command ^= SANYO_LC7461_COMMAND_MASK; // Invert the command. + // Append the now inverted command. + data = (data << SANYO_LC7461_COMMAND_BITS) | command; + + return data; +} + +// Send a Sanyo LC7461 message. +// +// Args: +// data: The contents of the command you want to send. +// nbits: The bit size of the command being sent. +// repeat: The number of times you want the command to be repeated. +// +// Status: BETA / Probably works. +// +// Notes: +// Based on @marcosamarinho's work. +// This protocol uses the NEC protocol timings. However, data is +// formatted as : address(13 bits), !address, command (8 bits), !command. +// According with LIRC, this protocol is used on Sanyo, Aiwa and Chinon +// Information for this protocol is available at the Sanyo LC7461 datasheet. +// Repeats are performed similar to the NEC method of sending a special +// repeat message, rather than duplicating the entire message. +// Ref: +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Sanyo.cpp +// http://pdf.datasheetcatalog.com/datasheet/sanyo/LC7461.pdf +void IRsend::sendSanyoLC7461(uint64_t data, uint16_t nbits, uint16_t repeat) { + // This protocol appears to be another 42-bit variant of the NEC protcol. + sendNEC(data, nbits, repeat); +} +#endif // SEND_SANYO + +#if DECODE_SANYO +// Decode the supplied SANYO LC7461 message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Probably works. +// +// Notes: +// Based on @marcosamarinho's work. +// This protocol uses the NEC protocol. However, data is +// formatted as : address(13 bits), !address, command (8 bits), !command. +// According with LIRC, this protocol is used on Sanyo, Aiwa and Chinon +// Information for this protocol is available at the Sanyo LC7461 datasheet. +// Ref: +// http://slydiman.narod.ru/scr/kb/sanyo.htm +// https://github.com/marcosamarinho/IRremoteESP8266/blob/master/ir_Sanyo.cpp +// http://pdf.datasheetcatalog.com/datasheet/sanyo/LC7461.pdf +bool IRrecv::decodeSanyoLC7461(decode_results *results, uint16_t nbits, + bool strict) { + if (strict && nbits != SANYO_LC7461_BITS) + return false; // Not strictly in spec. + // This protocol is basically a 42-bit variant of the NEC protocol. + if (!decodeNEC(results, nbits, false)) + return false; // Didn't match a NEC format (without strict) + + // Bits 30 to 42+. + uint16_t address = results->value >> (SANYO_LC7461_BITS - + SANYO_LC7461_ADDRESS_BITS); + // Bits 9 to 16. + uint8_t command = (results->value >> SANYO_LC7461_COMMAND_BITS) & + SANYO_LC7461_COMMAND_MASK; + // Compliance + if (strict) { + if (results->bits != nbits) + return false; + // Bits 17 to 29. + uint16_t inverted_address = + (results->value >> (SANYO_LC7461_COMMAND_BITS * 2)) & + SANYO_LC7461_ADDRESS_MASK; + // Bits 1-8. + uint8_t inverted_command = results->value & SANYO_LC7461_COMMAND_MASK; + if ((address ^ SANYO_LC7461_ADDRESS_MASK) != inverted_address) + return false; // Address integrity check failed. + if ((command ^ SANYO_LC7461_COMMAND_MASK) != inverted_command) + return false; // Command integrity check failed. + } + + // Success + results->decode_type = SANYO_LC7461; + results->address = address; + results->command = command; + return true; +} + +/* NOTE: Disabled due to poor quality. +// Decode the supplied Sanyo SA 8650B message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: Depricated. +// +// NOTE: This decoder looks like rubbish. Only keeping it for compatibility +// with the Arduino IRremote library. Seriously, don't trust it. +// If someone has a device that this is supposed to be for, please log an +// Issue on github with a rawData dump please. We should probably remove +// it. We think this is a Sanyo decoder - serial = SA 8650B +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Sanyo.cpp +bool IRrecv::decodeSanyo(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < 2 * nbits + HEADER - 1) + return false; // Shorter than shortest possible. + if (strict && nbits != SANYO_SA8650B_BITS) + return false; // Doesn't match the spec. + + uint16_t offset = 0; + + // TODO(crankyoldgit): This repeat code looks like garbage, it should never + // match or if it does, it won't be reliable. We should probably just + // remove it. + if (results->rawbuf[offset++] < SANYO_SA8650B_DOUBLE_SPACE_USECS) { + results->bits = 0; + results->value = REPEAT; + results->decode_type = SANYO; + results->address = 0; + results->command = 0; + results->repeat = true; + return true; + } + + // Header + if (!matchMark(results->rawbuf[offset++], SANYO_SA8650B_HDR_MARK)) + return false; + // NOTE: These next two lines look very wrong. Treat as suspect. + if (!matchMark(results->rawbuf[offset++], SANYO_SA8650B_HDR_MARK)) + return false; + // Data + uint64_t data = 0; + while (offset + 1 < results->rawlen) { + if (!matchSpace(results->rawbuf[offset], SANYO_SA8650B_HDR_SPACE)) + break; + offset++; + if (matchMark(results->rawbuf[offset], SANYO_SA8650B_ONE_MARK)) + data = (data << 1) | 1; // 1 + else if (matchMark(results->rawbuf[offset], SANYO_SA8650B_ZERO_MARK)) + data <<= 1; // 0 + else + return false; + offset++; + } + + if (strict && SANYO_SA8650B_BITS > (offset - 1U) / 2U) + return false; + + // Success + results->bits = (offset - 1) / 2; + results->decode_type = SANYO; + results->value = data; + results->address = 0; + results->command = 0; + return true; +} +*/ +#endif // DECODE_SANYO diff --git a/lib/IRremoteESP8266/src/ir_Sharp.cpp b/lib/IRremoteESP8266/src/ir_Sharp.cpp new file mode 100644 index 00000000..1a0bb355 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Sharp.cpp @@ -0,0 +1,278 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// SSSS H H AAA RRRR PPPP +// S H H A A R R P P +// SSS HHHHH AAAAA RRRR PPPP +// S H H A A R R P +// SSSS H H A A R R P + +// Constants +// period time = 1/38000Hz = 26.316 microseconds. +// Ref: +// GlobalCache's IR Control Tower data. +// http://www.sbprojects.com/knowledge/ir/sharp.php +#define SHARP_TICK 26U +#define SHARP_BIT_MARK_TICKS 10U +#define SHARP_BIT_MARK (SHARP_BIT_MARK_TICKS * SHARP_TICK) +#define SHARP_ONE_SPACE_TICKS 70U +#define SHARP_ONE_SPACE (SHARP_ONE_SPACE_TICKS * SHARP_TICK) +#define SHARP_ZERO_SPACE_TICKS 30U +#define SHARP_ZERO_SPACE (SHARP_ZERO_SPACE_TICKS * SHARP_TICK) +#define SHARP_GAP_TICKS 1677U +#define SHARP_GAP (SHARP_GAP_TICKS * SHARP_TICK) + +// Address(5) + Command(8) + Expansion(1) + Check(1) +#define SHARP_TOGGLE_MASK ((1 << (SHARP_BITS - SHARP_ADDRESS_BITS)) - 1) +#define SHARP_ADDRESS_MASK ((1 << SHARP_ADDRESS_BITS) - 1) +#define SHARP_COMMAND_MASK ((1 << SHARP_COMMAND_BITS) - 1) + +#if (SEND_SHARP || SEND_DENON) +// Send a (raw) Sharp message +// +// Args: +// data: Contents of the message to be sent. +// nbits: Nr. of bits of data to be sent. Typically SHARP_BITS. +// repeat: Nr. of additional times the message is to be sent. +// +// Status: BETA / Previously working fine. +// +// Notes: +// This procedure handles the inversion of bits required per protocol. +// The protocol spec says to send the LSB first, but legacy code & usage +// has us sending the MSB first. Grrrr. Normal invocation of encodeSharp() +// handles this for you, assuming you are using the correct/standard values. +// e.g. sendSharpRaw(encodeSharp(address, command)); +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/sharp.htm +// http://lirc.sourceforge.net/remotes/sharp/GA538WJSA +// http://www.mwftr.com/ucF08/LEC14%20PIC%20IR.pdf +// http://www.hifi-remote.com/johnsfine/DecodeIR.html#Sharp +void IRsend::sendSharpRaw(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set 38kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(38, 33); + + for (uint16_t i = 0; i <= repeat; i++) { + // Protocol demands that the data be sent twice; once normally, + // then with all but the address bits inverted. + // Note: Previously this used to be performed 3 times (normal, inverted, + // normal), however all data points to that being incorrect. + for (uint8_t n = 0; n < 2; n++) { + // No Header + + // Data + sendData(SHARP_BIT_MARK, SHARP_ONE_SPACE, + SHARP_BIT_MARK, SHARP_ZERO_SPACE, + data, nbits, true); + // Footer + mark(SHARP_BIT_MARK); + space(SHARP_GAP); + + // Invert the data per protocol. This is always called twice, so it's + // retured to original upon exiting the inner loop. + data ^= SHARP_TOGGLE_MASK; + } + } +} + +// Encode a (raw) Sharp message from it's components. +// +// Args: +// address: The value of the address to be sent. +// command: The value of the address to be sent. (8 bits) +// expansion: The value of the expansion bit to use. (0 or 1, typically 1) +// check: The value of the check bit to use. (0 or 1, typically 0) +// MSBfirst: Flag indicating MSB first or LSB first order. (Default: false) +// Returns: +// An uint32_t containing the raw Sharp message for sendSharpRaw(). +// +// Status: BETA / Should work okay. +// +// Notes: +// Assumes the standard Sharp bit sizes. +// Historically sendSharp() sends address & command in +// MSB first order. This is actually incorrect. It should be sent in LSB +// order. The behaviour of sendSharp() hasn't been changed to maintain +// backward compatibility. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/sharp.htm +// http://lirc.sourceforge.net/remotes/sharp/GA538WJSA +// http://www.mwftr.com/ucF08/LEC14%20PIC%20IR.pdf +uint32_t IRsend::encodeSharp(uint16_t address, uint16_t command, + uint16_t expansion, uint16_t check, + bool MSBfirst) { + // Mask any unexpected bits. + address &= ((1 << SHARP_ADDRESS_BITS) - 1); + command &= ((1 << SHARP_COMMAND_BITS) - 1); + expansion &= 1; + check &= 1; + + if (!MSBfirst) { // Correct bit order if needed. + address = reverseBits(address, SHARP_ADDRESS_BITS); + command = reverseBits(command, SHARP_COMMAND_BITS); + } + // Concatinate all the bits. + return (address << (SHARP_COMMAND_BITS + 2)) | (command << 2) | + (expansion << 1) | check; +} + +// Send a Sharp message +// +// Args: +// address: Address value to be sent. +// command: Command value to be sent. +// nbits: Nr. of bits of data to be sent. Typically SHARP_BITS. +// repeat: Nr. of additional times the message is to be sent. +// +// Status: DEPRICATED / Previously working fine. +// +// Notes: +// This procedure has a non-standard invocation style compared to similar +// sendProtocol() routines. This is due to legacy, compatibility, & historic +// reasons. Normally the calling syntax version is like sendSharpRaw(). +// This procedure transmits the address & command in MSB first order, which is +// incorrect. This behaviour is left as-is to maintain backward +// compatibility with legacy code. +// In short, you should use sendSharpRaw(), encodeSharp(), and the correct +// values of address & command instead of using this, & the wrong values. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/sharp.htm +// http://lirc.sourceforge.net/remotes/sharp/GA538WJSA +// http://www.mwftr.com/ucF08/LEC14%20PIC%20IR.pdf +void IRsend::sendSharp(uint16_t address, uint16_t command, uint16_t nbits, + uint16_t repeat) { + sendSharpRaw(encodeSharp(address, command, 1, 0, true), nbits, repeat); +} +#endif // (SEND_SHARP || SEND_DENON) + +#if (DECODE_SHARP || DECODE_DENON) +// Decode the supplied Sharp message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of data bits to expect. Typically SHARP_BITS. +// strict: Flag indicating if we should perform strict matching. +// expansion: Should we expect the expansion bit to be set. Default is true. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should work okay. +// +// Note: +// This procedure returns a value suitable for use in sendSharpRaw(). +// TODO(crankyoldgit): Need to ensure capture of the inverted message as it can +// be missed due to the interrupt timeout used to detect an end of message. +// Several compliance checks are disabled until that is resolved. +// Ref: +// http://www.sbprojects.com/knowledge/ir/sharp.php +// http://www.mwftr.com/ucF08/LEC14%20PIC%20IR.pdf +// http://www.hifi-remote.com/johnsfine/DecodeIR.html#Sharp +bool IRrecv::decodeSharp(decode_results *results, uint16_t nbits, bool strict, + bool expansion) { + if (results->rawlen < 2 * nbits + FOOTER - 1) + return false; // Not enough entries to be a Sharp message. + // Compliance + if (strict) { + if (nbits != SHARP_BITS) + return false; // Request is out of spec. + // DISABLED - See TODO +#ifdef UNIT_TEST + // An in spec message has the data sent normally, then inverted. So we + // expect twice as many entries than to just get the results. + if (results->rawlen < 2 * (2 * nbits + FOOTER)) + return false; +#endif + } + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + + // No header + // But try to auto-calibrate off the initial mark signal. + if (!matchMark(results->rawbuf[offset], SHARP_BIT_MARK, 35)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t tick = results->rawbuf[offset] * RAWTICK / SHARP_BIT_MARK_TICKS; + // Data + for (uint16_t i = 0; i < nbits; i++, offset++) { + // Use a higher tolerance value for SHARP_BIT_MARK as it is quite small. + if (!matchMark(results->rawbuf[offset++], SHARP_BIT_MARK_TICKS * tick, 35)) + return false; + if (matchSpace(results->rawbuf[offset], SHARP_ONE_SPACE_TICKS * tick)) + data = (data << 1) | 1; // 1 + else if (matchSpace(results->rawbuf[offset], SHARP_ZERO_SPACE_TICKS * tick)) + data <<= 1; // 0 + else + return false; + } + + // Footer + if (!match(results->rawbuf[offset++], SHARP_BIT_MARK_TICKS * tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], SHARP_GAP_TICKS * tick)) + return false; + + // Compliance + if (strict) { + // Check the state of the expansion bit is what we expect. + if ((data & 0b10) >> 1 != expansion) + return false; + // The check bit should be cleared in a normal message. + if (data & 0b1) + return false; + // DISABLED - See TODO +#ifdef UNIT_TEST + // Grab the second copy of the data (i.e. inverted) + // Header + // i.e. The inter-data/command repeat gap. + if (!matchSpace(results->rawbuf[offset++], SHARP_GAP_TICKS * tick)) + return false; + + // Data + uint64_t second_data = 0; + for (uint16_t i = 0; i < nbits; i++, offset++) { + // Use a higher tolerance value for SHARP_BIT_MARK as it is quite small. + if (!matchMark(results->rawbuf[offset++], SHARP_BIT_MARK_TICKS * tick, + 35)) + return false; + if (matchSpace(results->rawbuf[offset], SHARP_ONE_SPACE_TICKS * tick)) + second_data = (second_data << 1) | 1; // 1 + else if (matchSpace(results->rawbuf[offset], + SHARP_ZERO_SPACE_TICKS * tick)) + second_data <<= 1; // 0 + else + return false; + } + // Footer + if (!match(results->rawbuf[offset++], SHARP_BIT_MARK_TICKS * tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], SHARP_GAP_TICKS * tick)) + return false; + + // Check that second_data has been inverted correctly. + if (data != (second_data ^ SHARP_TOGGLE_MASK)) + return false; +#endif // UNIT_TEST + } + + // Success + results->decode_type = SHARP; + results->bits = nbits; + results->value = data; + // Address & command are actually transmitted in LSB first order. + results->address = reverseBits(data, nbits) & SHARP_ADDRESS_MASK; + results->command = reverseBits((data >> 2) & SHARP_COMMAND_MASK, + SHARP_COMMAND_BITS); + return true; +} +#endif // (DECODE_SHARP || DECODE_DENON) diff --git a/lib/IRremoteESP8266/src/ir_Sherwood.cpp b/lib/IRremoteESP8266/src/ir_Sherwood.cpp new file mode 100644 index 00000000..97e75067 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Sherwood.cpp @@ -0,0 +1,29 @@ +// Copyright 2017 David Conran + +#include +#include "IRsend.h" + +// SSSSS HH HH EEEEEEE RRRRRR WW WW OOOOO OOOOO DDDDD +// SS HH HH EE RR RR WW WW OO OO OO OO DD DD +// SSSSS HHHHHHH EEEEE RRRRRR WW W WW OO OO OO OO DD DD +// SS HH HH EE RR RR WW WWW WW OO OO OO OO DD DD +// SSSSS HH HH EEEEEEE RR RR WW WW OOOO0 OOOO0 DDDDDD + +#if SEND_SHERWOOD +// Send an IR command to a Sherwood device. +// +// Args: +// data: The contents of the command you want to send. +// nbits: The bit size of the command being sent. (SHERWOOD_BITS) +// repeat: The nr. of times you want the command to be repeated. (Default: 1) +// +// Status: STABLE / Known working. +// +// Note: +// Sherwood remote codes appear to be NEC codes with a manditory repeat code. +// i.e. repeat should be >= SHERWOOD_MIN_REPEAT (1). +void IRsend::sendSherwood(uint64_t data, uint16_t nbits, + uint16_t repeat) { + sendNEC(data, nbits, std::max((uint16_t) SHERWOOD_MIN_REPEAT, repeat)); +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Sony.cpp b/lib/IRremoteESP8266/src/ir_Sony.cpp new file mode 100644 index 00000000..fd2652d1 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Sony.cpp @@ -0,0 +1,197 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2016 marcosamarinho +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// SSSS OOO N N Y Y +// S O O NN N Y Y +// SSS O O N N N Y +// S O O N NN Y +// SSSS OOO N N Y + +// Sony originally added from https://github.com/shirriff/Arduino-IRremote/ +// Updates from marcosamarinho + +// Constants +// Ref: +// http://www.sbprojects.com/knowledge/ir/sirc.php +#define SONY_TICK 200U +#define SONY_HDR_MARK_TICKS 12U +#define SONY_HDR_MARK (SONY_HDR_MARK_TICKS * SONY_TICK) +#define SONY_SPACE_TICKS 3U +#define SONY_SPACE (SONY_SPACE_TICKS * SONY_TICK) +#define SONY_ONE_MARK_TICKS 6U +#define SONY_ONE_MARK (SONY_ONE_MARK_TICKS * SONY_TICK) +#define SONY_ZERO_MARK_TICKS 3U +#define SONY_ZERO_MARK (SONY_ZERO_MARK_TICKS * SONY_TICK) +#define SONY_RPT_LENGTH_TICKS 225U +#define SONY_RPT_LENGTH (SONY_RPT_LENGTH_TICKS * SONY_TICK) +#define SONY_MIN_GAP_TICKS 50U +#define SONY_MIN_GAP (SONY_MIN_GAP_TICKS * SONY_TICK) + +#if SEND_SONY +// Send a Sony/SIRC(Serial Infra-Red Control) message. +// +// Args: +// data: message to be sent. +// nbits: Nr. of bits of the message to be sent. +// repeat: Nr. of additional times the message is to be sent. (Default: 2) +// +// Status: STABLE / Known working. +// +// Notes: +// sendSony() should typically be called with repeat=2 as Sony devices +// expect the message to be sent at least 3 times. +// +// Ref: +// http://www.sbprojects.com/knowledge/ir/sirc.php +void IRsend::sendSony(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Sony devices use a 40kHz IR carrier frequency & a 1/3 (33%) duty cycle. + enableIROut(40, 33); + IRtimer usecs = IRtimer(); + + for (uint16_t i = 0; i <= repeat; i++) { // Typically loop 3 or more times. + usecs.reset(); + // Header + mark(SONY_HDR_MARK); + space(SONY_SPACE); + // Data + sendData(SONY_ONE_MARK, SONY_SPACE, SONY_ZERO_MARK, SONY_SPACE, + data, nbits, true); + // Footer + // The Sony protocol requires us to wait 45ms from start of a code to the + // start of the next one. A 10ms minimum gap is also required. + space(std::max(SONY_MIN_GAP, SONY_RPT_LENGTH - usecs.elapsed())); + } + // A space() is always performed last, so no need to turn off the LED. +} + +// Convert Sony/SIRC command, address, & extended bits into sendSony format. +// Args: +// nbits: Sony protocol bit size. +// command: Sony command bits. +// address: Sony address bits. +// extended: Sony extended bits. +// Returns: +// A sendSony compatible data message. +// +// Status: BETA / Should be working. +uint32_t IRsend::encodeSony(uint16_t nbits, uint16_t command, + uint16_t address, uint16_t extended) { + uint32_t result = 0; + switch (nbits) { + case 12: // 5 address bits. + result = address & 0x1F; + break; + case 15: // 8 address bits. + result = address & 0xFF; + break; + case 20: // 5 address bits, 8 extended bits. + result = address & 0x1F; + result |= (extended & 0xFF) << 5; + break; + default: + return 0; // This is not an expected Sony bit size/protocol. + } + result = (result << 7) | (command & 0x7F); // All sizes have 7 command bits. + return reverseBits(result, nbits); // sendSony uses reverse ordered bits. +} +#endif + +#if DECODE_SONY +// Decode the supplied Sony/SIRC message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: The number of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA / Should be working. strict mode is ALPHA / Untested. +// +// Notes: +// SONY protocol, SIRC (Serial Infra-Red Control) can be 12,15,20 bits long. +// Ref: +// http://www.sbprojects.com/knowledge/ir/sirc.php +bool IRrecv::decodeSony(decode_results *results, uint16_t nbits, bool strict) { + if (results->rawlen < 2 * nbits + HEADER - 1) + return false; // Message is smaller than we expected. + + // Compliance + if (strict) { + switch (nbits) { // Check we've been called with a correct bit size. + case 12: + case 15: + case 20: + break; + default: + return false; // The request doesn't strictly match the protocol defn. + } + } + + uint64_t data = 0; + uint16_t offset = OFFSET_START; + uint16_t actualBits; + uint32_t timeSoFar = 0; // Time in uSecs of the message length. + + // Header + timeSoFar += results->rawbuf[offset] * RAWTICK; + if (!matchMark(results->rawbuf[offset], SONY_HDR_MARK)) + return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t tick = results->rawbuf[offset++] * RAWTICK / SONY_HDR_MARK_TICKS; + + // Data + for (actualBits = 0; offset < results->rawlen - 1; actualBits++, offset++) { + // The gap after a Sony packet for a repeat should be SONY_MIN_GAP or + // (SONY_RPT_LENGTH - timeSoFar) according to the spec. + if (matchSpace(results->rawbuf[offset], SONY_MIN_GAP_TICKS * tick) || + matchAtLeast(results->rawbuf[offset], SONY_RPT_LENGTH - timeSoFar)) + break; // Found a repeat space. + timeSoFar += results->rawbuf[offset] * RAWTICK; + if (!matchSpace(results->rawbuf[offset++], SONY_SPACE_TICKS * tick)) + return false; + timeSoFar += results->rawbuf[offset] * RAWTICK; + if (matchMark(results->rawbuf[offset], SONY_ONE_MARK_TICKS * tick)) + data = (data << 1) | 1; + else if (matchMark(results->rawbuf[offset], SONY_ZERO_MARK_TICKS * tick)) + data <<= 1; + else + return false; + } + // No Footer for Sony. + + // Compliance + if (strict && actualBits != nbits) + return false; // We got the wrong number of bits. + + // Success + results->bits = actualBits; + results->value = data; + results->decode_type = SONY; + // Message comes in LSB first. Convert ot MSB first. + data = reverseBits(data, actualBits); + // Decode the address & command from raw decode value. + switch (actualBits) { + case 12: // 7 command bits, 5 address bits. + case 15: // 7 command bits, 8 address bits. + results->command = data & 0x7F; // Bits 0-6 + results->address = data >> 7; // Bits 7-14 + break; + case 20: // 7 command bits, 5 address bits, 8 extended (command) bits. + results->command = (data & 0x7F) + ((data >> 12) << 7); // Bits 0-6,12-19 + results->address = (data >> 7) & 0x1F; // Bits 7-11 + break; + default: // Shouldn't happen, but just in case. + results->address = 0; + results->command = 0; + } + return true; +} +#endif diff --git a/lib/IRremoteESP8266/src/ir_Trotec.cpp b/lib/IRremoteESP8266/src/ir_Trotec.cpp new file mode 100644 index 00000000..ef8e9efa --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Trotec.cpp @@ -0,0 +1,151 @@ +// Copyright 2017 stufisher + +#include "ir_Trotec.h" +#include "IRremoteESP8266.h" +#include "IRutils.h" + +// Constants +#define TROTEC_HDR_MARK 5952U +#define TROTEC_HDR_SPACE 7364U +#define TROTEC_ONE_MARK 592U +#define TROTEC_ONE_SPACE 1560U +#define TROTEC_ZERO_MARK 592U +#define TROTEC_ZERO_SPACE 592U +#define TROTEC_GAP 6184U +#define TROTEC_GAP_END 1500U // made up value + +#if SEND_TROTEC + +void IRsend::sendTrotec(unsigned char data[], uint16_t nbytes, + uint16_t repeat) { + if (nbytes < TROTEC_COMMAND_LENGTH) + return; + + enableIROut(36); + + for (uint16_t r = 0; r <= repeat; r++) { + // Header + mark(TROTEC_HDR_MARK); + space(TROTEC_HDR_SPACE); + + // Data + for (uint16_t i = 0; i < nbytes; i++) + sendData(TROTEC_ONE_MARK, TROTEC_ONE_SPACE, TROTEC_ZERO_MARK, + TROTEC_ZERO_SPACE, data[i], 8, false); + + // Footer + mark(TROTEC_ONE_MARK); + space(TROTEC_GAP); + mark(TROTEC_ONE_MARK); + space(TROTEC_GAP_END); + } +} + +IRTrotecESP::IRTrotecESP(uint16_t pin) : _irsend(pin) { + stateReset(); +} + +void IRTrotecESP::begin() { + _irsend.begin(); +} + +void IRTrotecESP::send() { + checksum(); + _irsend.sendTrotec(trotec); +} + +void IRTrotecESP::checksum() { + uint8_t sum = 0; + uint8_t i; + + for (i = 2; i < 8; i++) sum += trotec[i]; + + trotec[8] = sum & 0xFF; +} + +void IRTrotecESP::stateReset() { + for (uint8_t i = 2; i < TROTEC_COMMAND_LENGTH; i++) + trotec[i] = 0x0; + + trotec[0] = TROTEC_INTRO1; + trotec[1] = TROTEC_INTRO2; + + setPower(false); + setTemp(TROTEC_DEF_TEMP); + setSpeed(TROTEC_FAN_MED); + setMode(TROTEC_AUTO); +} + +uint8_t* IRTrotecESP::getRaw() { + checksum(); + return trotec; +} + +void IRTrotecESP::setPower(bool state) { + if (state) + trotec[2] |= (TROTEC_ON << 3); + else + trotec[2] &= ~(TROTEC_ON << 3); +} + +uint8_t IRTrotecESP::getPower() { + return trotec[2] & (TROTEC_ON << 3); +} + +void IRTrotecESP::setSpeed(uint8_t speed) { + trotec[2] = (trotec[2] & 0xcf) | (speed << 4); +} + +uint8_t IRTrotecESP::getSpeed() { + return trotec[2] & 0x30; +} + +void IRTrotecESP::setMode(uint8_t mode) { + trotec[2] = (trotec[2] & 0xfc) | mode; +} + +uint8_t IRTrotecESP::getMode() { + return trotec[2] & 0x03; +} + +void IRTrotecESP::setTemp(uint8_t temp) { + if (temp < TROTEC_MIN_TEMP) + temp = TROTEC_MIN_TEMP; + else if (temp > TROTEC_MAX_TEMP) + temp = TROTEC_MAX_TEMP; + + trotec[3] = (trotec[3] & 0x80) | (temp - TROTEC_MIN_TEMP); +} + +uint8_t IRTrotecESP::getTemp() { + return trotec[3] & 0x7f; +} + +void IRTrotecESP::setSleep(bool sleep) { + if (sleep) + trotec[3] |= (TROTEC_SLEEP_ON << 7); + else + trotec[3] &= ~(TROTEC_SLEEP_ON << 7); +} + +bool IRTrotecESP::getSleep(void) { + return trotec[3] & (TROTEC_SLEEP_ON << 7); +} + +void IRTrotecESP::setTimer(uint8_t timer) { + if (timer > TROTEC_MAX_TIMER) timer = TROTEC_MAX_TIMER; + + if (timer) { + trotec[5] |= (TROTEC_TIMER_ON << 6); + trotec[6] = timer; + } else { + trotec[5] &= ~(TROTEC_TIMER_ON << 6); + trotec[6] = 0; + } +} + +uint8_t IRTrotecESP::getTimer() { + return trotec[6]; +} + +#endif // SEND_TROTEC diff --git a/lib/IRremoteESP8266/src/ir_Trotec.h b/lib/IRremoteESP8266/src/ir_Trotec.h new file mode 100644 index 00000000..01ac13c5 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Trotec.h @@ -0,0 +1,80 @@ +// Copyright 2017 stufisher + +#ifndef IR_TROTEC_H_ +#define IR_TROTEC_H_ + +#include "IRremoteESP8266.h" +#include "IRsend.h" + +// Constants +// Byte 0 +#define TROTEC_INTRO1 0x12 + +// Byte 1 +#define TROTEC_INTRO2 0x34 + +// Byte 2 +#define TROTEC_AUTO 0 +#define TROTEC_COOL 1 +#define TROTEC_DRY 2 +#define TROTEC_FAN 3 + +#define TROTEC_ON 1 +#define TROTEC_OFF 0 + +#define TROTEC_FAN_LOW 1 +#define TROTEC_FAN_MED 2 +#define TROTEC_FAN_HIGH 3 + +// Byte 3 +#define TROTEC_MIN_TEMP 18 +#define TROTEC_MAX_TEMP 32 +#define TROTEC_DEF_TEMP 25 + +#define TROTEC_SLEEP_ON 1 + +// Byte 5 +#define TROTEC_TIMER_ON 1 + +// Byte 6 +#define TROTEC_MIN_TIMER 0 +#define TROTEC_MAX_TIMER 23 + +#if SEND_TROTEC + +class IRTrotecESP { + public: + explicit IRTrotecESP(uint16_t pin); + + void send(); + void begin(); + + void setPower(bool state); + uint8_t getPower(); + + void setTemp(uint8_t temp); + uint8_t getTemp(); + + void setSpeed(uint8_t fan); + uint8_t getSpeed(); + + uint8_t getMode(); + void setMode(uint8_t mode); + + bool getSleep(); + void setSleep(bool sleep); + + uint8_t getTimer(); + void setTimer(uint8_t timer); + + uint8_t* getRaw(); + + private: + uint8_t trotec[TROTEC_COMMAND_LENGTH]; + void stateReset(); + void checksum(); + IRsend _irsend; +}; +#endif + +#endif // IR_TROTEC_H_ diff --git a/lib/IRremoteESP8266/src/ir_Whynter.cpp b/lib/IRremoteESP8266/src/ir_Whynter.cpp new file mode 100644 index 00000000..4efb2c57 --- /dev/null +++ b/lib/IRremoteESP8266/src/ir_Whynter.cpp @@ -0,0 +1,144 @@ +// Copyright 2009 Ken Shirriff +// Copyright 2017 David Conran + +#include +#include "IRrecv.h" +#include "IRsend.h" +#include "IRtimer.h" +#include "IRutils.h" + +// W W H H Y Y N N TTTTT EEEEE RRRRR +// W W H H Y Y NN N T E R R +// W W W HHHHH Y N N N T EEE RRRR +// W W W H H Y N NN T E R R +// WWW H H Y N N T EEEEE R R + +// Whynter A/C ARC-110WD added by Francesco Meschia +// Whynter originally added from https://github.com/shirriff/Arduino-IRremote/ + +// Constants +#define WHYNTER_TICK 50U +#define WHYNTER_HDR_MARK_TICKS 57U +#define WHYNTER_HDR_MARK (WHYNTER_HDR_MARK_TICKS * WHYNTER_TICK) +#define WHYNTER_HDR_SPACE_TICKS 57U +#define WHYNTER_HDR_SPACE (WHYNTER_HDR_SPACE_TICKS * \ + WHYNTER_TICK) +#define WHYNTER_BIT_MARK_TICKS 15U +#define WHYNTER_BIT_MARK (WHYNTER_BIT_MARK_TICKS * WHYNTER_TICK) +#define WHYNTER_ONE_SPACE_TICKS 43U +#define WHYNTER_ONE_SPACE (WHYNTER_ONE_SPACE_TICKS * \ + WHYNTER_TICK) +#define WHYNTER_ZERO_SPACE_TICKS 15U +#define WHYNTER_ZERO_SPACE (WHYNTER_ZERO_SPACE_TICKS * \ + WHYNTER_TICK) +#define WHYNTER_MIN_COMMAND_LENGTH_TICKS 2160U // Completely made up value. +#define WHYNTER_MIN_COMMAND_LENGTH (WHYNTER_MIN_COMMAND_LENGTH_TICKS * \ + WHYNTER_TICK) +#define WHYNTER_MIN_GAP_TICKS (WHYNTER_MIN_COMMAND_LENGTH_TICKS - \ + (2 * (WHYNTER_BIT_MARK_TICKS + WHYNTER_ZERO_SPACE_TICKS) + \ + WHYNTER_BITS * (WHYNTER_BIT_MARK_TICKS + WHYNTER_ONE_SPACE_TICKS))) +#define WHYNTER_MIN_GAP (WHYNTER_MIN_GAP_TICKS * WHYNTER_TICK) + +#if SEND_WHYNTER +// Send a Whynter message. +// +// Args: +// data: message to be sent. +// nbits: Nr. of bits of the message to be sent. +// repeat: Nr. of additional times the message is to be sent. +// +// Status: STABLE +// +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Whynter.cpp +void IRsend::sendWhynter(uint64_t data, uint16_t nbits, uint16_t repeat) { + // Set IR carrier frequency + enableIROut(38); + IRtimer usecTimer = IRtimer(); + + for (uint16_t i = 0; i <= repeat; i++) { + usecTimer.reset(); + // Header + mark(WHYNTER_BIT_MARK); + space(WHYNTER_ZERO_SPACE); + mark(WHYNTER_HDR_MARK); + space(WHYNTER_HDR_SPACE); + // Data + sendData(WHYNTER_BIT_MARK, WHYNTER_ONE_SPACE, WHYNTER_BIT_MARK, + WHYNTER_ZERO_SPACE, data, nbits, true); + // Footer + mark(WHYNTER_BIT_MARK); + space(std::max(WHYNTER_MIN_COMMAND_LENGTH - usecTimer.elapsed(), + WHYNTER_MIN_GAP)); + } +} +#endif + +#if DECODE_WHYNTER +// Decode the supplied Whynter message. +// +// Args: +// results: Ptr to the data to decode and where to store the decode result. +// nbits: Nr. of data bits to expect. +// strict: Flag indicating if we should perform strict matching. +// Returns: +// boolean: True if it can decode it, false if it can't. +// +// Status: BETA Strict mode is ALPHA. +// +// Ref: +// https://github.com/z3t0/Arduino-IRremote/blob/master/ir_Whynter.cpp +bool IRrecv::decodeWhynter(decode_results *results, uint16_t nbits, + bool strict) { + if (results->rawlen < 2 * nbits + 2 * HEADER + FOOTER - 1) + return false; // We don't have enough entries to possibly match. + + // Compliance + if (strict && nbits != WHYNTER_BITS) + return false; // Incorrect nr. of bits per spec. + + uint16_t offset = OFFSET_START; + + // Header + // Sequence begins with a bit mark and a zero space. + // These are typically small, so we'll prefer to do the calibration + // on the much larger header mark & space that are next. + if (!matchMark(results->rawbuf[offset++], WHYNTER_BIT_MARK)) return false; + if (!matchSpace(results->rawbuf[offset++], WHYNTER_ZERO_SPACE)) return false; + // Main header mark and space + if (!matchMark(results->rawbuf[offset], WHYNTER_HDR_MARK)) return false; + // Calculate how long the common tick time is based on the header mark. + uint32_t m_tick = results->rawbuf[offset++] * RAWTICK / + WHYNTER_HDR_MARK_TICKS; + if (!matchSpace(results->rawbuf[offset], WHYNTER_HDR_SPACE)) return false; + // Calculate how long the common tick time is based on the header space. + uint32_t s_tick = results->rawbuf[offset++] * RAWTICK / + WHYNTER_HDR_SPACE_TICKS; + + // Data + uint64_t data = 0; + match_result_t data_result = matchData(&(results->rawbuf[offset]), nbits, + WHYNTER_BIT_MARK_TICKS * m_tick, + WHYNTER_ONE_SPACE_TICKS * s_tick, + WHYNTER_BIT_MARK_TICKS * m_tick, + WHYNTER_ZERO_SPACE_TICKS * s_tick); + if (data_result.success == false) return false; + data = data_result.data; + offset += data_result.used; + + // Footer + if (!matchMark(results->rawbuf[offset++], WHYNTER_BIT_MARK_TICKS * m_tick)) + return false; + if (offset < results->rawlen && + !matchAtLeast(results->rawbuf[offset], WHYNTER_MIN_GAP_TICKS * s_tick)) + return false; + + // Success + results->decode_type = WHYNTER; + results->bits = nbits; + results->value = data; + results->address = 0; + results->command = 0; + return true; +} +#endif diff --git a/lib/IRremoteESP8266/test/IRrecv_test.cpp b/lib/IRremoteESP8266/test/IRrecv_test.cpp new file mode 100644 index 00000000..4b22656f --- /dev/null +++ b/lib/IRremoteESP8266/test/IRrecv_test.cpp @@ -0,0 +1,448 @@ +// Copyright 2017 David Conran + +#include "IRremoteESP8266.h" +#include "IRrecv.h" +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for the IRrecv object. +TEST(TestIRrecv, DefaultBufferSize) { + IRrecv irrecv_default(1); + EXPECT_EQ(RAWBUF, irrecv_default.getBufSize()); +} + +TEST(TestIRrecv, LargeBufferSize) { + IRrecv irrecv_large(3, 1024); + EXPECT_EQ(1024, irrecv_large.getBufSize()); +} + +TEST(TestIRrecv, SmallBufferSize) { + IRrecv irrecv_small(4, 80); + EXPECT_EQ(80, irrecv_small.getBufSize()); +} + +TEST(TestIRrecv, MediumBufferSize) { + IRrecv irrecv_medium(4, 512); + EXPECT_EQ(512, irrecv_medium.getBufSize()); +} + +TEST(TestIRrecv, IRrecvDestructor) { + IRrecv *irrecv_ptr = new IRrecv(1); + EXPECT_EQ(RAWBUF, irrecv_ptr->getBufSize()); + + delete irrecv_ptr; + irrecv_ptr = new IRrecv(1, 1234); + EXPECT_EQ(1234, irrecv_ptr->getBufSize()); + delete irrecv_ptr; + + irrecv_ptr = new IRrecv(1, 123); + EXPECT_EQ(123, irrecv_ptr->getBufSize()); + delete irrecv_ptr; +} + +// Tests for copyIrParams() + +TEST(TestCopyIrParams, CopyEmpty) { + irparams_t src; + irparams_t dst; + uint16_t test_size = 1234; + src.bufsize = test_size; + src.rawlen = 0; + src.rawbuf = new uint16_t[test_size]; + src.overflow = false; + dst.bufsize = 4567; + dst.rawlen = 123; + dst.rawbuf = new uint16_t[test_size]; + dst.overflow = true; + // Confirm we are looking at different memory for the buffers. + ASSERT_NE(src.rawbuf, dst.rawbuf); + + IRrecv irrecv(4); + irrecv.copyIrParams(&src, &dst); + + ASSERT_EQ(src.bufsize, dst.bufsize); + ASSERT_EQ(src.rawlen, dst.rawlen); + ASSERT_NE(src.rawbuf, dst.rawbuf); // Pointers, not content. + ASSERT_EQ(src.overflow, dst.overflow); + // Contents of the buffers needs to match. + EXPECT_EQ(0, memcmp(src.rawbuf, dst.rawbuf, src.bufsize * sizeof(uint16_t))); +} + +TEST(TestCopyIrParams, CopyNonEmpty) { + irparams_t src; + irparams_t dst; + uint16_t test_size = 1234; + src.bufsize = test_size; + src.rawlen = 67; + src.rawbuf = new uint16_t[test_size]; + src.rawbuf[0] = 0xF00D; + src.rawbuf[1] = 0xBEEF; + src.rawbuf[test_size - 1] = 0xDEAD; + src.overflow = true; + dst.bufsize = 0; + dst.rawlen = 0; + dst.rawbuf = new uint16_t[test_size]; + dst.overflow = false; + // Confirm we are looking at different memory for the buffers. + ASSERT_NE(src.rawbuf, dst.rawbuf); + // and that they differ before we test. + EXPECT_NE(0, memcmp(src.rawbuf, dst.rawbuf, src.bufsize * sizeof(uint16_t))); + + IRrecv irrecv(4); + irrecv.copyIrParams(&src, &dst); + + ASSERT_EQ(src.bufsize, dst.bufsize); + EXPECT_EQ(test_size, dst.bufsize); + ASSERT_EQ(src.rawlen, dst.rawlen); + EXPECT_EQ(67, dst.rawlen); + ASSERT_EQ(src.overflow, dst.overflow); + EXPECT_TRUE(dst.overflow); + ASSERT_NE(src.rawbuf, dst.rawbuf); // Pointers, not content. + // Contents of the buffers needs to match. + EXPECT_EQ(0, memcmp(src.rawbuf, dst.rawbuf, src.bufsize * sizeof(uint16_t))); + // Check the canary values. + EXPECT_EQ(0xF00D, dst.rawbuf[0]); + EXPECT_EQ(0xBEEF, dst.rawbuf[1]); + EXPECT_EQ(0xDEAD, dst.rawbuf[test_size - 1]); +} + +// Tests for decode(). + +// Test decode of a NEC message. +TEST(TestDecode, DecodeNEC) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendNEC(0x807F40BF); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x807F40BF, irsend.capture.value); +} + +// Test decode of a JVC message. +TEST(TestDecode, DecodeJVC) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendJVC(0xC2B8); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); +} + +// Test decode of a LG message. +TEST(TestDecode, DecodeLG) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendLG(0x4B4AE51); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG_BITS, irsend.capture.bits); + EXPECT_EQ(0x4B4AE51, irsend.capture.value); + + irsend.reset(); + irsend.sendLG(0xB4B4AE51, LG32_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG32_BITS, irsend.capture.bits); + EXPECT_EQ(0xB4B4AE51, irsend.capture.value); +} + +// Test decode of a Panasonic message. +TEST(TestDecode, DecodePanasonic) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendPanasonic64(0x40040190ED7C); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); +} + +// Test decode of a Samsun message. +TEST(TestDecode, DecodeSamsung) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendSAMSUNG(0xE0E09966); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0xE0E09966, irsend.capture.value); +} + +// Test decode of a Sherwood message. +TEST(TestDecode, DecodeSherwood) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendSherwood(0x807F40BF); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + // Sherwood codes are really NEC codes. + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x807F40BF, irsend.capture.value); +} + +// Test decode of a Whynter message. +TEST(TestDecode, DecodeWhynter) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendWhynter(0x87654321); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(WHYNTER_BITS, irsend.capture.bits); + EXPECT_EQ(0x87654321, irsend.capture.value); +} + +// Test decode of Sony messages. +TEST(TestDecode, DecodeSony) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + + // Synthesised Normal Sony 20-bit message. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_20_BITS, 0x1, 0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_20_BITS, irsend.capture.bits); + EXPECT_EQ(0x81080, irsend.capture.value); + + // Synthesised Normal Sony 15-bit message. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_15_BITS, 21, 1), SONY_15_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_15_BITS, irsend.capture.bits); + EXPECT_EQ(0x5480, irsend.capture.value); + + + // Synthesised Normal Sony 12-bit message. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_12_BITS, 21, 1), SONY_12_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_12_BITS, irsend.capture.bits); + EXPECT_EQ(0xA90, irsend.capture.value); +} + +// Test decode of Sharp messages. +TEST(TestDecode, DecodeSharp) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendSharpRaw(0x454A); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x454A, irsend.capture.value); +} + +// Test decode of Sanyo messages. +TEST(TestDecode, DecodeSanyo) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendSanyoLC7461(0x2468DCB56A9); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x2468DCB56A9, irsend.capture.value); +} + +// Test decode of RC-MM messages. +TEST(TestDecode, DecodeRCMM) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + + // Normal RCMM 24-bit message. + irsend.reset(); + irsend.sendRCMM(0xe0a600); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(RCMM_BITS, irsend.capture.bits); + EXPECT_EQ(0xe0a600, irsend.capture.value); + + // Normal RCMM 12-bit message. + irsend.reset(); + irsend.sendRCMM(0x600, 12); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(12, irsend.capture.bits); + EXPECT_EQ(0x600, irsend.capture.value); + + // Normal RCMM 32-bit message. + irsend.reset(); + irsend.sendRCMM(0x28e0a600, 32); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x28e0a600, irsend.capture.value); +} + +// Test decode of Mitsubishi messages. +TEST(TestDecode, DecodeMitsubishi) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendMitsubishi(0xC2B8); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); +} + +// Test decode of RC-5/RC-5X messages. +TEST(TestDecode, DecodeRC5) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + // Normal RC-5 12-bit message. + irsend.reset(); + irsend.sendRC5(0x175); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + // Synthesised Normal RC-5X 13-bit message. + irsend.reset(); + irsend.sendRC5(irsend.encodeRC5X(0x02, 0x41, true), RC5X_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RC5X, irsend.capture.decode_type); + EXPECT_EQ(RC5X_BITS, irsend.capture.bits); + EXPECT_EQ(0x1881, irsend.capture.value); +} + +// Test decode of RC-6 messages. +TEST(TestDecode, DecodeRC6) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + // Normal RC-6 Mode 0 (20-bit) message. + irsend.reset(); + irsend.sendRC6(0x175); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + + // Normal RC-6 36-bit message. + irsend.reset(); + irsend.sendRC6(0xC800F742A, RC6_36_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0xC800F742A, irsend.capture.value); +} + +// Test decode of Dish messages. +TEST(TestDecode, DecodeDish) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendDISH(0x9C00); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(DISH_BITS, irsend.capture.bits); + EXPECT_EQ(0x9C00, irsend.capture.value); +} + +// Test decode of Denon messages. +TEST(TestDecode, DecodeDenon) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + // Normal Denon 15-bit message. (Sharp) + irsend.reset(); + irsend.sendDenon(0x2278); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_BITS, irsend.capture.bits); + EXPECT_EQ(0x2278, irsend.capture.value); + // Legacy Denon 14-bit message. + irsend.reset(); + irsend.sendDenon(0x1278, DENON_LEGACY_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_BITS, irsend.capture.bits); + EXPECT_EQ(0x1278, irsend.capture.value); + // Normal Denon 48-bit message. (Panasonic/Kaseikyo) + irsend.reset(); + irsend.sendDenon(0x2A4C028D6CE3, DENON_48_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_48_BITS, irsend.capture.bits); + EXPECT_EQ(0x2A4C028D6CE3, irsend.capture.value); +} + +// Test decode of Coolix messages. +TEST(TestDecode, DecodeCoolix) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendCOOLIX(0x123456); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456, irsend.capture.value); +} + +// Test decode of Aiwa messages. +TEST(TestDecode, DecodeAiwa) { + IRsendTest irsend(0); + IRrecv irrecv(1); + irsend.begin(); + irsend.reset(); + irsend.sendAiwaRCT501(0x7F); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(AIWA_RC_T501_BITS, irsend.capture.bits); + EXPECT_EQ(0x7F, irsend.capture.value); +} diff --git a/lib/IRremoteESP8266/test/IRsend_test.cpp b/lib/IRremoteESP8266/test/IRsend_test.cpp new file mode 100644 index 00000000..3b18ae58 --- /dev/null +++ b/lib/IRremoteESP8266/test/IRsend_test.cpp @@ -0,0 +1,139 @@ +// Copyright 2017 David Conran + +#include "IRsend_test.h" +#include "IRsend.h" +#include "gtest/gtest.h" + +// Tests sendData(). + +// Test sending zero bits. +TEST(TestSendData, SendZeroBits) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendData(1, 2, 3, 4, 0b1, 0, true); + EXPECT_EQ("", irsend.outputStr()); +} + +// Test sending zero and one. +TEST(TestSendData, SendSingleBit) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendData(1, 2, 3, 4, 0b1, 1, true); + EXPECT_EQ("m1s2", irsend.outputStr()); + irsend.sendData(1, 2, 3, 4, 0b0, 1, true); + EXPECT_EQ("m3s4", irsend.outputStr()); +} + +// Test sending bit order. +TEST(TestSendData, TestingBitSendOrder) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendData(1, 2, 3, 4, 0b10, 2, true); + EXPECT_EQ("m1s2m3s4", irsend.outputStr()); + irsend.sendData(1, 2, 3, 4, 0b10, 2, false); + EXPECT_EQ("m3s4m1s2", irsend.outputStr()); + irsend.sendData(1, 2, 3, 4, 0b0001, 4, false); + EXPECT_EQ("m1s2m3s4m3s4m3s4", irsend.outputStr()); +} + +// Test sending typical data. +TEST(TestSendData, SendTypicalData) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendData(1, 2, 3, 4, 0b1010110011110000, 16, true); + EXPECT_EQ("m1s2m3s4m1s2m3s4m1s2m1s2m3s4m3s4m1s2m1s2m1s2m1s2m3s4m3s4m3s4m3s4", + irsend.outputStr()); + irsend.sendData(1, 2, 3, 4, 0x1234567890ABCDEF, 64, true); + EXPECT_EQ("m3s4m3s4m3s4m1s2m3s4m3s4m1s2m3s4m3s4m3s4m1s2m1s2m3s4m1s2m3s4m3s4" + "m3s4m1s2m3s4m1s2m3s4m1s2m1s2m3s4m3s4m1s2m1s2m1s2m1s2m3s4m3s4m3s4" + "m1s2m3s4m3s4m1s2m3s4m3s4m3s4m3s4m1s2m3s4m1s2m3s4m1s2m3s4m1s2m1s2" + "m1s2m1s2m3s4m3s4m1s2m1s2m3s4m1s2m1s2m1s2m1s2m3s4m1s2m1s2m1s2m1s2", + irsend.outputStr()); +} + +// Test sending more than expected bits. +TEST(TestSendData, SendOverLargeData) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendData(1, 2, 3, 4, 0xFFFFFFFFFFFFFFFF, 70, true); + EXPECT_EQ("m3s4m3s4m3s4m3s4m3s4m3s4" + "m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2" + "m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2" + "m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2" + "m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2m1s2", + irsend.outputStr()); +} + +// Test inverting the output. +TEST(TestIRSend, InvertedOutput) { + IRsendTest irsend(4, true); + irsend.begin(); + irsend.sendData(1, 2, 3, 4, 0b1, 1, true); + EXPECT_EQ("s1m2", irsend.outputStr()); + irsend.sendData(1, 2, 3, 4, 0b0, 1, true); + EXPECT_EQ("s3m4", irsend.outputStr()); +} + +// Test typical use of sendRaw(). +TEST(TestSendRaw, GeneralUse) { + IRsendTest irsend(4); + IRrecv irrecv(0); + + irsend.begin(); + // NEC C3E0E0E8 as measured in #204 + uint16_t rawData[67] = {8950, 4500, 550, 1650, 600, 1650, 550, 550, 600, 500, + 600, 550, 550, 550, 600, 1650, 550, 1650, 600, 1650, + 600, 1650, 550, 1700, 550, 550, 600, 550, 550, 550, + 600, 500, 600, 550, 550, 1650, 600, 1650, 600, 1650, + 550, 550, 600, 500, 600, 500, 600, 550, 550, 550, + 600, 1650, 550, 1650, 600, 1650, 600, 500, 650, 1600, + 600, 500, 600, 550, 550, 550, 600}; + + irsend.sendRaw(rawData, 67, 38); + EXPECT_EQ( + "m8950s4500" + "m550s1650m600s1650m550s550m600s500m600s550m550s550m600s1650m550s1650" + "m600s1650m600s1650m550s1700m550s550m600s550m550s550m600s500m600s550" + "m550s1650m600s1650m600s1650m550s550m600s500m600s500m600s550m550s550" + "m600s1650m550s1650m600s1650m600s500m650s1600m600s500m600s550m550s550" + "m600", irsend.outputStr()); + + irsend.reset(); + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m8950s4500" + "m550s1650m600s1650m550s550m600s500m600s550m550s550m600s1650m550s1650" + "m600s1650m600s1650m550s1700m550s550m600s550m550s550m600s500m600s550" + "m550s1650m600s1650m600s1650m550s550m600s500m600s500m600s550m550s550" + "m600s1650m550s1650m600s1650m600s500m650s1600m600s500m600s550m550s550" + "m600", irsend.outputStr()); + ASSERT_TRUE(irrecv.decodeNEC(&irsend.capture, NEC_BITS, false)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0xC3E0E0E8, irsend.capture.value); +} + +// Incorrect handling of decodes from Raw. i.e. There is no gap recorded at +// the end of a command when using the interrupt code. sendRaw() best emulates +// this for unit testing purposes. sendGC() and sendXXX() will add the trailing +// gap. Users won't see this in normal use. +TEST(TestSendRaw, NoTrailingGap) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + uint16_t rawData[67] = {9000, 4500, 650, 550, 650, 1650, 600, 550, 650, 550, + 600, 1650, 650, 550, 600, 1650, 650, 1650, 650, 1650, + 600, 550, 650, 1650, 650, 1650, 650, 550, 600, 1650, + 650, 1650, 650, 550, 650, 550, 650, 1650, 650, 550, + 650, 550, 650, 550, 600, 550, 650, 550, 650, 550, + 650, 1650, 600, 550, 650, 1650, 650, 1650, 650, 1650, + 650, 1650, 650, 1650, 650, 1650, 600}; + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); +} diff --git a/lib/IRremoteESP8266/test/IRsend_test.h b/lib/IRremoteESP8266/test/IRsend_test.h new file mode 100644 index 00000000..564e8ce5 --- /dev/null +++ b/lib/IRremoteESP8266/test/IRsend_test.h @@ -0,0 +1,104 @@ +// Copyright 2017 David Conran + +#ifndef TEST_IRSEND_TEST_H_ +#define TEST_IRSEND_TEST_H_ + +#define __STDC_LIMIT_MACROS +#include +#include +#include +#include +#include "IRrecv.h" +#include "IRsend.h" + +#define OUTPUT_BUF 1000U +#define RAW_BUF 1000U +class IRsendTest: public IRsend { + public: + uint32_t output[OUTPUT_BUF]; + uint16_t last; + uint16_t rawbuf[RAW_BUF]; + decode_results capture; + + explicit IRsendTest(uint16_t x, bool i = false) : IRsend(x, i) { + reset(); + } + + void reset() { + last = 0; + output[last] = 0; + } + + std::string outputStr() { + std::stringstream result; + if (last == 0 && output[0] == 0) + return ""; + for (uint16_t i = 0; i <= last; i++) { + if ((i & 1) != outputOff ) // Odd XOR outputOff + result << "s"; + else + result << "m"; + result << output[i]; + } + reset(); + return result.str(); + } + + void makeDecodeResult(uint16_t offset = 0) { + capture.decode_type = UNKNOWN; + capture.bits = 0; + capture.rawlen = last + 1 - offset; + capture.overflow = (last - offset >= (int16_t) RAW_BUF); + capture.repeat = false; + capture.address = 0; + capture.command = 0; + capture.value = 0; + capture.rawbuf = rawbuf; + for (uint16_t i = 0; + (i < RAW_BUF - 1) && (offset < OUTPUT_BUF); + i++, offset++) + if (output[offset] / RAWTICK > UINT16_MAX) + rawbuf[i + 1] = UINT16_MAX; + else + rawbuf[i + 1] = output[offset] / RAWTICK; + } + + void dumpRawResult() { + std::cout << "uint16_t rawbuf["<< capture.rawlen << "] =\n"; + for (uint16_t i = 0; i < capture.rawlen; i++) { + std::cout << (capture.rawbuf[i] * RAWTICK); + std::cout << "("; + std::cout << capture.rawbuf[i]; + std::cout << "), "; + if (i % 8 == 7) + std::cout << "\n"; + } + std::cout << "\n"; + } + + void addGap(uint32_t usecs) { + space(usecs); + } + + protected: + uint16_t mark(uint16_t usec) { + if (last >= OUTPUT_BUF) + return 0; + if (last & 1) // Is odd? (i.e. last call was a space()) + output[++last] = usec; + else + output[last] += usec; + return 0; + } + + void space(uint32_t time) { + if (last >= OUTPUT_BUF) + return; + if (last & 1) { // Is odd? (i.e. last call was a space()) + output[last] += time; + } else { + output[++last] = time; + } + } +}; +#endif // TEST_IRSEND_TEST_H_ diff --git a/lib/IRremoteESP8266/test/IRutils_test.cpp b/lib/IRremoteESP8266/test/IRutils_test.cpp new file mode 100644 index 00000000..2225022f --- /dev/null +++ b/lib/IRremoteESP8266/test/IRutils_test.cpp @@ -0,0 +1,35 @@ +// Copyright 2017 David Conran + +#include "IRutils.h" +#include "gtest/gtest.h" + +// Tests reverseBits(). + +// Tests reverseBits for typical use. +TEST(ReverseBitsTest, TypicalUse) { + EXPECT_EQ(0xF, reverseBits(0xF0, 8)); + EXPECT_EQ(0xFFFF, reverseBits(0xFFFF0000, 32)); + EXPECT_EQ(0x555500005555FFFF, reverseBits(0xFFFFAAAA0000AAAA, 64)); + EXPECT_EQ(0, reverseBits(0, 64)); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, reverseBits(0xFFFFFFFFFFFFFFFF, 64)); +} + +// Tests reverseBits for bit size values <= 1 +TEST(ReverseBitsTest, LessThanTwoBitsReversed) { + EXPECT_EQ(0x12345678, reverseBits(0x12345678, 1)); + EXPECT_EQ(1234, reverseBits(1234, 0)); +} + +// Tests reverseBits for bit size larger than a uint64_t. +TEST(ReverseBitsTest, LargerThan64BitsReversed) { + EXPECT_EQ(0, reverseBits(0, 65)); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, reverseBits(0xFFFFFFFFFFFFFFFF, 100)); + EXPECT_EQ(0x555500005555FFFF, reverseBits(0xFFFFAAAA0000AAAA, 3000)); +} + +// Tests reverseBits for bit sizes less than all the data stored. +TEST(ReverseBitsTest, LessBitsReversedThanInputHasSet) { + EXPECT_EQ(0xF8, reverseBits(0xF1, 4)); + EXPECT_EQ(0xF5, reverseBits(0xFA, 4)); + EXPECT_EQ(0x12345678FFFF0000, reverseBits(0x123456780000FFFF, 32)); +} diff --git a/lib/IRremoteESP8266/test/Makefile b/lib/IRremoteESP8266/test/Makefile new file mode 100644 index 00000000..787beb56 --- /dev/null +++ b/lib/IRremoteESP8266/test/Makefile @@ -0,0 +1,339 @@ +# SYNOPSIS: +# +# make [all] - makes everything. +# make TARGET - makes the given target. +# make clean - removes all files generated by make. + +# Please tweak the following variable definitions as needed by your +# project, except GTEST_HEADERS, which you can use in your own targets +# but shouldn't modify. + +# Points to the root of Google Test, relative to where this file is. +# Remember to tweak this if you move this file. +GTEST_DIR = ../lib/googletest/googletest + +# Where to find user code. +USER_DIR = ../src + +# Flags passed to the preprocessor. +# Set Google Test's header directory as a system directory, such that +# the compiler doesn't generate warnings in Google Test headers. +CPPFLAGS += -isystem $(GTEST_DIR)/include -DUNIT_TEST + +# Flags passed to the C++ compiler. +CXXFLAGS += -g -Wall -Wextra -pthread + +# All tests produced by this Makefile. Remember to add new tests you +# created to the list. +TESTS = IRutils_test IRsend_test ir_NEC_test ir_GlobalCache_test \ + ir_Sherwood_test ir_Sony_test ir_Samsung_test ir_Kelvinator_test \ + ir_JVC_test ir_RCMM_test ir_LG_test ir_Mitsubishi_test ir_Sharp_test \ + ir_RC5_RC6_test ir_Panasonic_test ir_Dish_test ir_Whynter_test \ + ir_Aiwa_test ir_Denon_test ir_Sanyo_test ir_Daikin_test ir_Coolix_test \ + ir_Gree_test IRrecv_test ir_Pronto_test ir_Fujitsu_test + +# All Google Test headers. Usually you shouldn't change this +# definition. +GTEST_HEADERS = $(GTEST_DIR)/include/gtest/*.h \ + $(GTEST_DIR)/include/gtest/internal/*.h + +# House-keeping build targets. + +all : $(TESTS) + +clean : + rm -f $(TESTS) gtest.a gtest_main.a *.o + +# Build and run all the tests. +run : all + failed=""; \ + for unittest in $(TESTS); do \ + ./$${unittest} || failed="$${failed} $${unittest}"; \ + done; \ + if [ -n "$${failed}" ]; then \ + echo "FAIL: :-( :-( Unit test(s)$${failed} failed! :-( :-("; exit 1; \ + else \ + echo "PASS: \o/ \o/ All unit tests passed. \o/ \o/"; \ + fi + +install-googletest : + git clone https://github.com/google/googletest.git ../lib/googletest + +# Builds gtest.a and gtest_main.a. + +# Usually you shouldn't tweak such internal variables, indicated by a +# trailing _. +GTEST_SRCS_ = $(GTEST_DIR)/src/*.cc $(GTEST_DIR)/src/*.h $(GTEST_HEADERS) + +# All the IR protocol object files. +PROTOCOLS = ir_NEC.o ir_Sony.o ir_Samsung.o ir_JVC.o ir_RCMM.o ir_RC5_RC6.o \ + ir_LG.o ir_Mitsubishi.o ir_Fujitsu.o ir_Sharp.o ir_Sanyo.o ir_Denon.o ir_Dish.o \ + ir_Panasonic.o ir_Whynter.o ir_Coolix.o ir_Aiwa.o ir_Sherwood.o \ + ir_Kelvinator.o ir_Daikin.o ir_Gree.o ir_Pronto.o +# Common object files +COMMON_OBJ = IRutils.o IRtimer.o IRsend.o IRrecv.o ir_GlobalCache.o \ + $(PROTOCOLS) gtest_main.a +# Common dependencies +COMMON_DEPS = $(USER_DIR)/IRrecv.h $(USER_DIR)/IRsend.h $(USER_DIR)/IRtimer.h \ + $(USER_DIR)/IRutils.h $(USER_DIR)/IRremoteESP8266.h +# Common test dependencies +COMMON_TEST_DEPS = $(COMMON_DEPS) IRsend_test.h + +# For simplicity and to avoid depending on Google Test's +# implementation details, the dependencies specified below are +# conservative and not optimized. This is fine as Google Test +# compiles fast and for ordinary users its source rarely changes. +gtest-all.o : $(GTEST_SRCS_) + $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \ + $(GTEST_DIR)/src/gtest-all.cc + +gtest_main.o : $(GTEST_SRCS_) + $(CXX) $(CPPFLAGS) -I$(GTEST_DIR) $(CXXFLAGS) -c \ + $(GTEST_DIR)/src/gtest_main.cc + +gtest.a : gtest-all.o + $(AR) $(ARFLAGS) $@ $^ + +gtest_main.a : gtest-all.o gtest_main.o + $(AR) $(ARFLAGS) $@ $^ + +# Builds a our test. A test should link with either gtest.a or +# gtest_main.a, depending on whether it defines its own main() +# function. + +IRutils.o : $(USER_DIR)/IRutils.cpp $(USER_DIR)/IRutils.h + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/IRutils.cpp + +IRutils_test.o : IRutils_test.cpp $(USER_DIR)/IRutils.h $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c IRutils_test.cpp + +IRutils_test : IRutils.o IRutils_test.o gtest_main.a + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +IRtimer.o : $(USER_DIR)/IRtimer.cpp $(USER_DIR)/IRtimer.h + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/IRtimer.cpp + +IRsend.o : $(USER_DIR)/IRsend.cpp $(USER_DIR)/IRsend.h $(USER_DIR)/IRremoteESP8266.h + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/IRsend.cpp + +IRsend_test.o : IRsend_test.cpp $(USER_DIR)/IRsend.h $(USER_DIR)/IRrecv.h IRsend_test.h $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c IRsend_test.cpp + +IRsend_test : IRsend_test.o $(COMMON_OBJ) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +IRrecv.o : $(USER_DIR)/IRrecv.cpp $(USER_DIR)/IRrecv.h $(USER_DIR)/IRremoteESP8266.h $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/IRrecv.cpp + +IRrecv_test.o : IRrecv_test.cpp $(USER_DIR)/IRsend.h $(USER_DIR)/IRrecv.h IRsend_test.h $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c IRrecv_test.cpp + +IRrecv_test : IRrecv_test.o $(COMMON_OBJ) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_NEC.o : $(USER_DIR)/ir_NEC.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_NEC.cpp + +ir_NEC_test.o : ir_NEC_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_NEC_test.cpp + +ir_NEC_test : $(COMMON_OBJ) ir_NEC_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_GlobalCache.o : $(USER_DIR)/ir_GlobalCache.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_GlobalCache.cpp + +ir_GlobalCache_test.o : ir_GlobalCache_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_GlobalCache_test.cpp + +ir_GlobalCache_test : $(COMMON_OBJ) ir_GlobalCache_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Sherwood.o : $(USER_DIR)/ir_Sherwood.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Sherwood.cpp + +ir_Sherwood_test.o : ir_Sherwood_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Sherwood_test.cpp + +ir_Sherwood_test : $(COMMON_OBJ) ir_Sherwood_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Sony.o : $(USER_DIR)/ir_Sony.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Sony.cpp + +ir_Sony_test.o : ir_Sony_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Sony_test.cpp + +ir_Sony_test : $(COMMON_OBJ) ir_Sony_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Samsung.o : $(USER_DIR)/ir_Samsung.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Samsung.cpp + +ir_Samsung_test.o : ir_Samsung_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Samsung_test.cpp + +ir_Samsung_test : $(COMMON_OBJ) ir_Samsung_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Kelvinator.o : $(USER_DIR)/ir_Kelvinator.cpp $(USER_DIR)/ir_Kelvinator.h $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Kelvinator.cpp + +ir_Kelvinator_test.o : ir_Kelvinator_test.cpp $(USER_DIR)/ir_Kelvinator.h $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Kelvinator_test.cpp + +ir_Kelvinator_test : $(COMMON_OBJ) ir_Kelvinator_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_JVC.o : $(USER_DIR)/ir_JVC.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_JVC.cpp + +ir_JVC_test.o : ir_JVC_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_JVC_test.cpp + +ir_JVC_test : $(COMMON_OBJ) ir_JVC_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_RCMM.o : $(USER_DIR)/ir_RCMM.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_RCMM.cpp + +ir_RCMM_test.o : ir_RCMM_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_RCMM_test.cpp + +ir_RCMM_test : $(COMMON_OBJ) ir_RCMM_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_LG.o : $(USER_DIR)/ir_LG.h $(USER_DIR)/ir_LG.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_LG.cpp + +ir_LG_test.o : ir_LG_test.cpp $(USER_DIR)/ir_LG.h $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_LG_test.cpp + +ir_LG_test : $(COMMON_OBJ) ir_LG_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Mitsubishi.o : $(USER_DIR)/ir_Mitsubishi.h $(USER_DIR)/ir_Mitsubishi.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Mitsubishi.cpp + +ir_Mitsubishi_test.o : ir_Mitsubishi_test.cpp $(USER_DIR)/ir_Mitsubishi.h $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Mitsubishi_test.cpp + +ir_Mitsubishi_test : $(COMMON_OBJ) ir_Mitsubishi_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Fujitsu.o : $(USER_DIR)/ir_Fujitsu.h $(USER_DIR)/ir_Fujitsu.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Fujitsu.cpp + +ir_Fujitsu_test.o : ir_Fujitsu_test.cpp $(USER_DIR)/ir_Fujitsu.h $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Fujitsu_test.cpp + +ir_Fujitsu_test : $(COMMON_OBJ) ir_Fujitsu_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Sharp.o : $(USER_DIR)/ir_Sharp.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Sharp.cpp + +ir_Sharp_test.o : ir_Sharp_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Sharp_test.cpp + +ir_Sharp_test : $(COMMON_OBJ) ir_Sharp_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_RC5_RC6.o : $(USER_DIR)/ir_RC5_RC6.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_RC5_RC6.cpp + +ir_RC5_RC6_test.o : ir_RC5_RC6_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_RC5_RC6_test.cpp + +ir_RC5_RC6_test : $(COMMON_OBJ) ir_RC5_RC6_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Panasonic.o : $(USER_DIR)/ir_Panasonic.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Panasonic.cpp + +ir_Panasonic_test.o : ir_Panasonic_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Panasonic_test.cpp + +ir_Panasonic_test : $(COMMON_OBJ) ir_Panasonic_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Dish.o : $(USER_DIR)/ir_Dish.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Dish.cpp + +ir_Dish_test.o : ir_Dish_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Dish_test.cpp + +ir_Dish_test : $(COMMON_OBJ) ir_Dish_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Whynter.o : $(USER_DIR)/ir_Whynter.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Whynter.cpp + +ir_Whynter_test.o : ir_Whynter_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Whynter_test.cpp + +ir_Whynter_test : $(COMMON_OBJ) ir_Whynter_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Coolix.o : $(USER_DIR)/ir_Coolix.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Coolix.cpp + +ir_Coolix_test.o : ir_Coolix_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Coolix_test.cpp + +ir_Coolix_test : $(COMMON_OBJ) ir_Coolix_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Aiwa.o : $(USER_DIR)/ir_Aiwa.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Aiwa.cpp + +ir_Aiwa_test.o : ir_Aiwa_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Aiwa_test.cpp + +ir_Aiwa_test : $(COMMON_OBJ) ir_Aiwa_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Denon.o : $(USER_DIR)/ir_Denon.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Denon.cpp + +ir_Denon_test.o : ir_Denon_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Denon_test.cpp + +ir_Denon_test : $(COMMON_OBJ) ir_Denon_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Sanyo.o : $(USER_DIR)/ir_Sanyo.cpp $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Sanyo.cpp + +ir_Sanyo_test.o : ir_Sanyo_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Sanyo_test.cpp + +ir_Sanyo_test : $(COMMON_OBJ) ir_Sanyo_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Daikin.o : $(USER_DIR)/ir_Daikin.cpp $(USER_DIR)/ir_Daikin.h $(COMMON_DEPS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Daikin.cpp + +ir_Daikin_test.o : ir_Daikin_test.cpp $(USER_DIR)/ir_Daikin.h $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Daikin_test.cpp + +ir_Daikin_test : $(COMMON_OBJ) ir_Daikin_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Gree.o : $(USER_DIR)/ir_Gree.cpp $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Gree.cpp + +ir_Gree_test.o : ir_Gree_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Gree_test.cpp + +ir_Gree_test : $(COMMON_OBJ) ir_Gree_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ + +ir_Pronto.o : $(USER_DIR)/ir_Pronto.cpp $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -c $(USER_DIR)/ir_Pronto.cpp + +ir_Pronto_test.o : ir_Pronto_test.cpp $(COMMON_TEST_DEPS) $(GTEST_HEADERS) + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -I$(USER_DIR) -c ir_Pronto_test.cpp + +ir_Pronto_test : $(COMMON_OBJ) ir_Pronto_test.o + $(CXX) $(CPPFLAGS) $(CXXFLAGS) -lpthread $^ -o $@ diff --git a/lib/IRremoteESP8266/test/ir_Aiwa_test.cpp b/lib/IRremoteESP8266/test/ir_Aiwa_test.cpp new file mode 100644 index 00000000..a0bb12f8 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Aiwa_test.cpp @@ -0,0 +1,338 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendAiwaRCT501(). + +// Test sending typical data only. +TEST(TestSendAiwa, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendAiwaRCT501(0x7F); // Aiwa Power Toggle. + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Test sending oversized data. +TEST(TestSendAiwa, SendOversizedData) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendAiwaRCT501(0x7F, 38); // 38 bits is over the maximum. Should fail. + EXPECT_EQ("", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendAiwa, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendAiwaRCT501(0x7F, AIWA_RC_T501_BITS, 0); // No repeats. + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s108080", irsend.outputStr()); + irsend.reset(); + irsend.sendAiwaRCT501(0x7F, AIWA_RC_T501_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); + irsend.reset(); + irsend.sendAiwaRCT501(0x7F, AIWA_RC_T501_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s108080" + "m8960s2240m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendAiwa, SendUsualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendAiwaRCT501(0x12, 8); + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s1680m560s560m560s1680m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); + + irsend.reset(); + irsend.sendAiwaRCT501(0x1234567890, 37); + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s1680m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s1680m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s1680" + "m560s560m560s560m560s1680m560s560m560s560m560s560m560s560m560s1680" + "m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Tests for decodeAiwaRCT501(). + +// Decode normal Aiwa messages. +TEST(TestDecodeAiwa, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Aiwa 15-bit(42bit) message. + irsend.reset(); + irsend.sendAiwaRCT501(0x7F); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(AIWA_RC_T501_BITS, irsend.capture.bits); + EXPECT_EQ(0x7F, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Aiwa 15-bit(42bit) message. + irsend.reset(); + irsend.sendAiwaRCT501(0x0); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(AIWA_RC_T501_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Aiwa 15-bit(42bit) message. + irsend.reset(); + irsend.sendAiwaRCT501(0x7FFF); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(AIWA_RC_T501_BITS, irsend.capture.bits); + EXPECT_EQ(0x7FFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated Aiwa messages. +TEST(TestDecodeAiwa, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Aiwa 15-bit(42bit) message with 2 repeats. + irsend.reset(); + irsend.sendAiwaRCT501(0x7F, AIWA_RC_T501_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(AIWA_RC_T501_BITS, irsend.capture.bits); + EXPECT_EQ(0x7F, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode unsupported Aiwa messages. +TEST(TestDecodeAiwa, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Confirm using sendNEC(data, 42, 1) can make a legal Aiwa message. + irsend.sendNEC(0x1D8113F00FF, 42, AIWA_RC_T501_MIN_REPEAT); + irsend.makeDecodeResult(); + // MUST pass with strict on. + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + ASSERT_EQ(0x7F, irsend.capture.value); + + irsend.reset(); + // Use sendNEC(data, 42) to make/send an illegal value Aiwa message. + // Value is illegal due to bad pre & post data. + irsend.sendNEC(0x1234567890A, 42, AIWA_RC_T501_MIN_REPEAT); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + // Should fail if strict off too. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + false)); + + irsend.reset(); + // Use sendNEC(data, 42) to make/send an illegal value Aiwa message. + // Value is illegal due to bad post data only. + irsend.sendNEC(0x1D8113F00FE, 42, AIWA_RC_T501_MIN_REPEAT); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + // Should fail if strict off too. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + false)); + + irsend.reset(); + // Use sendNEC(data, 42) to make/send an illegal value Aiwa message. + // Value is illegal due to bad pre data only. + irsend.sendNEC(0x0D8113F00FF, 42, AIWA_RC_T501_MIN_REPEAT); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + // Should fail if strict off too. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + false)); +} + +// Decode unsupported Aiwa messages. +TEST(TestDecodeAiwa, DecodeWithNonStrictSizes) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendAiwaRCT501(0x0, 8); // Illegal size Aiwa 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, 8, false)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + + irsend.reset(); + irsend.sendAiwaRCT501(0x12345678, 32); // Illegal size Aiwa 32-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + true)); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, 32, true)); + + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, 32, false)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeAiwa, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size Aiwa 37(64)-bit message. + irsend.sendAiwaRCT501(0x1FFFFFFFFF, 37); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, 37, false)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(37, irsend.capture.bits); + EXPECT_EQ(0x1FFFFFFFFF, irsend.capture.value); + + // Reconfirm it by sending a true 64bit NEC message with the Aiwa prefix. + irsend.reset(); + irsend.sendNEC(0x76044FFFFFFFFFFF, 64, AIWA_RC_T501_MIN_REPEAT); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture, 37, false)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(37, irsend.capture.bits); + EXPECT_EQ(0x1FFFFFFFFF, irsend.capture.value); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeAiwa, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Aiwa Power Toggle from Global Cache. + uint16_t gc_test[95] = {38000, 1, 89, 342, 171, 21, 21, 21, 64, 21, 64, + 21, 64, 21, 21, 21, 64, 21, 64, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 64, 21, 21, + 21, 21, 21, 21, 21, 64, 21, 21, 21, 21, 21, 64, + 21, 64, 21, 64, 21, 64, 21, 64, 21, 64, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 64, 21, 64, 21, 64, 21, 64, 21, 64, + 21, 64, 21, 64, 21, 64, 21, 875, 342, 171, 21, 3565}; + irsend.sendGC(gc_test, 95); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeAiwaRCT501(&irsend.capture)); + EXPECT_EQ(AIWA_RC_T501, irsend.capture.decode_type); + EXPECT_EQ(AIWA_RC_T501_BITS, irsend.capture.bits); + EXPECT_EQ(0x7F, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Confirm what the 42-bit NEC decode is. + ASSERT_TRUE(irrecv.decodeNEC(&irsend.capture, 42, false)); + EXPECT_EQ(0x1D8113F00FF, irsend.capture.value); +} + +// Fail to decode a non-Aiwa example via GlobalCache +TEST(TestDecodeAiwa, FailToDecodeNonAiwaExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeAiwaRCT501(&irsend.capture, AIWA_RC_T501_BITS, + false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Coolix_test.cpp b/lib/IRremoteESP8266/test/ir_Coolix_test.cpp new file mode 100644 index 00000000..14eb8d66 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Coolix_test.cpp @@ -0,0 +1,290 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendCOOLIX(). + +// Test sending typical data only. +TEST(TestSendCoolix, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendCOOLIX(0x0); + EXPECT_EQ( + "m4480s4480" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s5040", irsend.outputStr()); + + irsend.reset(); + irsend.sendCOOLIX(0xAA55AA); + EXPECT_EQ( + "m4480s4480" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s5040", irsend.outputStr()); + + irsend.reset(); + irsend.sendCOOLIX(0xFFFFFF); + EXPECT_EQ( + "m4480s4480" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s5040", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendCoolix, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendCOOLIX(0xAA55AA, COOLIX_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m4480s4480" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s5040" + "m4480s4480" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s5040", irsend.outputStr()); + irsend.sendCOOLIX(0xAA55AA, COOLIX_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m4480s4480" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s5040" + "m4480s4480" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s5040" + "m4480s4480" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680" + "m560s5040", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendCoolix, SendUsualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendCOOLIX(0x0, 8); + EXPECT_EQ( + "m4480s4480" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s5040", irsend.outputStr()); + + irsend.reset(); + irsend.sendCOOLIX(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m4480s4480" + "m560s560m560s560m560s560m560s1680m560s560m560s560m560s1680m560s560" + "m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560m560s1680" + "m560s560m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s1680m560s1680m560s560m560s560m560s1680m560s560m560s1680m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s560m560s1680" + "m560s560m560s1680m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s1680m560s560m560s560m560s560m560s560m560s1680m560s1680m560s1680" + "m560s1680m560s560m560s560m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s1680" + "m560s560m560s1680m560s560m560s1680m560s560m560s1680m560s560m560s560" + "m560s1680m560s1680m560s560m560s560m560s1680m560s1680m560s560m560s1680" + "m560s560m560s560m560s1680m560s1680m560s560m560s560m560s1680m560s560" + "m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s560m560s560m560s560m560s1680m560s560m560s560m560s560m560s560" + "m560s5040", irsend.outputStr()); + + // Bit sizes must be a multiple of 8. + irsend.reset(); + irsend.sendCOOLIX(0x0, 17); + EXPECT_EQ("" , irsend.outputStr()); +} + +// Tests for decodeCOOLIX(). + +// Decode normal Coolix messages. +TEST(TestDecodeCoolix, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Coolix 24-bit message. + irsend.reset(); + irsend.sendCOOLIX(0x123456); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Coolix 24-bit message. + irsend.reset(); + irsend.sendCOOLIX(0x0); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Coolix 24-bit message. + irsend.reset(); + irsend.sendCOOLIX(0xFFFFFF); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0xFFFFFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated Coolix messages. +TEST(TestDecodeCoolix, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Coolix 16-bit message with 2 repeats. + irsend.reset(); + irsend.sendCOOLIX(0x123456, COOLIX_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456, irsend.capture.value); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.makeDecodeResult(4 * COOLIX_BITS + 4); + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456, irsend.capture.value); + + irsend.makeDecodeResult(2 * (4 * COOLIX_BITS + 4)); + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(COOLIX_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456, irsend.capture.value); +} + +// Decode unsupported Coolix messages. +TEST(TestDecodeCoolix, DecodeWithNonStrictSizes) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendCOOLIX(0x12, 8); // Illegal value Coolix 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, 8, false)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x12, irsend.capture.value); + + irsend.reset(); + irsend.sendCOOLIX(0x12345678, 32); // Illegal value Coolix 32-bit message. + irsend.makeDecodeResult(); + // Shouldn't pass with strict when we ask for less bits than we got. + ASSERT_FALSE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeCOOLIX(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, 32, false)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + + // Decode should fail if asked to decode non-multiples of 8 bits. + irsend.reset(); + irsend.sendCOOLIX(0x123456, COOLIX_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeCOOLIX(&irsend.capture, 9, false)); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeCoolix, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal size Coolix 64-bit message. + irsend.sendCOOLIX(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeCOOLIX(&irsend.capture, 64, false)); + EXPECT_EQ(COOLIX, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); +} + +// Fail to decode a non-Coolix example via GlobalCache +TEST(TestDecodeCoolix, FailToDecodeNonCoolixExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeCOOLIX(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeCOOLIX(&irsend.capture, COOLIX_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Daikin_test.cpp b/lib/IRremoteESP8266/test/ir_Daikin_test.cpp new file mode 100644 index 00000000..b516008c --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Daikin_test.cpp @@ -0,0 +1,419 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "ir_Daikin.h" +#include "gtest/gtest.h" + +// Tests for sendDaikin(). + +// Test sending typical data only. +TEST(TestSendDaikin, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t daikin_code[DAIKIN_COMMAND_LENGTH] = { + 0x11, 0xDA, 0x27, 0xF0, 0x00, 0x00, 0x00, 0x20, + 0x11, 0xDA, 0x27, 0x00, 0x00, 0x41, 0x1E, 0x00, + 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xE3}; + + irsend.reset(); + irsend.sendDaikin(daikin_code); + EXPECT_EQ( + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s1280m428s428m428s428" + "m428s29428" + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s428m428s428m428s428m428s428m428s428m428s1280m428s428" + "m428s428m428s1280m428s1280m428s1280m428s1280m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s428m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s1280m428s428m428s428m428s428m428s1280m428s1280m428s1280" + "m428s29428", irsend.outputStr()); +} + +// Test sending with repeats. +TEST(TestSendDaikin, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + uint8_t daikin_code[DAIKIN_COMMAND_LENGTH] = { + 0x11, 0xDA, 0x27, 0xF0, 0x00, 0x00, 0x00, 0x20, + 0x11, 0xDA, 0x27, 0x00, 0x00, 0x41, 0x1E, 0x00, + 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xE3}; + irsend.reset(); + + irsend.sendDaikin(daikin_code, DAIKIN_COMMAND_LENGTH, 1); + EXPECT_EQ( + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s1280m428s428m428s428" + "m428s29428" + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s428m428s428m428s428m428s428m428s428m428s1280m428s428" + "m428s428m428s1280m428s1280m428s1280m428s1280m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s428m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s1280m428s428m428s428m428s428m428s1280m428s1280m428s1280" + "m428s29428" + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s1280m428s428m428s428" + "m428s29428" + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s428m428s428m428s428m428s428m428s428m428s1280m428s428" + "m428s428m428s1280m428s1280m428s1280m428s1280m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s428m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s1280m428s428m428s428m428s428m428s1280m428s1280m428s1280" + "m428s29428", irsend.outputStr()); +} + +// Test sending atypical sizes. +TEST(TestSendDaikin, SendUnexpectedSizes) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t daikin_short_code[DAIKIN_COMMAND_LENGTH - 1] = { + 0x11, 0xDA, 0x27, 0xF0, 0x00, 0x00, 0x00, 0x20, + 0x11, 0xDA, 0x27, 0x00, 0x00, 0x41, 0x1E, 0x00, + 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00}; + + irsend.reset(); + irsend.sendDaikin(daikin_short_code, DAIKIN_COMMAND_LENGTH - 1); + ASSERT_EQ("", irsend.outputStr()); + + uint8_t daikin_long_code[DAIKIN_COMMAND_LENGTH + 1] = { + 0x11, 0xDA, 0x27, 0xF0, 0x00, 0x00, 0x00, 0x20, + 0x11, 0xDA, 0x27, 0x00, 0x00, 0x41, 0x1E, 0x00, + 0xB0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0xE3, 0x11}; + irsend.reset(); + irsend.sendDaikin(daikin_long_code, DAIKIN_COMMAND_LENGTH + 1); + ASSERT_EQ( + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s1280m428s428m428s428" + "m428s29428" + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s428m428s428m428s428m428s428m428s428m428s1280m428s428" + "m428s428m428s1280m428s1280m428s1280m428s1280m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s428m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s1280m428s428m428s428m428s428m428s1280m428s1280m428s1280" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s29428", irsend.outputStr()); +} + +// Tests for IRDaikinESP class. + +TEST(TestDaikinClass, Power) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.on(); + EXPECT_TRUE(irdaikin.getPower()); + + irdaikin.off(); + EXPECT_FALSE(irdaikin.getPower()); + + irdaikin.setPower(true); + EXPECT_TRUE(irdaikin.getPower()); + + irdaikin.setPower(false); + EXPECT_FALSE(irdaikin.getPower()); +} + +TEST(TestDaikinClass, Temperature) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.setTemp(0); + EXPECT_EQ(DAIKIN_MIN_TEMP, irdaikin.getTemp()); + + irdaikin.setTemp(255); + EXPECT_EQ(DAIKIN_MAX_TEMP, irdaikin.getTemp()); + + irdaikin.setTemp(DAIKIN_MIN_TEMP); + EXPECT_EQ(DAIKIN_MIN_TEMP, irdaikin.getTemp()); + + irdaikin.setTemp(DAIKIN_MAX_TEMP); + EXPECT_EQ(DAIKIN_MAX_TEMP, irdaikin.getTemp()); + + irdaikin.setTemp(DAIKIN_MIN_TEMP - 1); + EXPECT_EQ(DAIKIN_MIN_TEMP, irdaikin.getTemp()); + + irdaikin.setTemp(DAIKIN_MAX_TEMP + 1); + EXPECT_EQ(DAIKIN_MAX_TEMP, irdaikin.getTemp()); + + irdaikin.setTemp(DAIKIN_MIN_TEMP + 1); + EXPECT_EQ(DAIKIN_MIN_TEMP + 1, irdaikin.getTemp()); + + irdaikin.setTemp(21); + EXPECT_EQ(21, irdaikin.getTemp()); + + irdaikin.setTemp(25); + EXPECT_EQ(25, irdaikin.getTemp()); + + irdaikin.setTemp(29); + EXPECT_EQ(29, irdaikin.getTemp()); +} + +TEST(TestDaikinClass, OperatingMode) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.setMode(DAIKIN_AUTO); + EXPECT_EQ(DAIKIN_AUTO, irdaikin.getMode()); + + irdaikin.setMode(DAIKIN_COOL); + EXPECT_EQ(DAIKIN_COOL, irdaikin.getMode()); + + irdaikin.setMode(DAIKIN_HEAT); + EXPECT_EQ(DAIKIN_HEAT, irdaikin.getMode()); + + irdaikin.setMode(DAIKIN_DRY); + EXPECT_EQ(DAIKIN_DRY, irdaikin.getMode()); + + irdaikin.setMode(DAIKIN_FAN); + EXPECT_EQ(DAIKIN_FAN, irdaikin.getMode()); + + irdaikin.setMode(DAIKIN_FAN + 1); + EXPECT_EQ(DAIKIN_AUTO, irdaikin.getMode()); + + irdaikin.setMode(DAIKIN_AUTO + 1); + EXPECT_EQ(DAIKIN_AUTO, irdaikin.getMode()); + + irdaikin.setMode(255); + EXPECT_EQ(DAIKIN_AUTO, irdaikin.getMode()); +} + +TEST(TestDaikinClass, VaneSwing) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.setSwingHorizontal(true); + irdaikin.setSwingVertical(false); + + irdaikin.setSwingHorizontal(true); + EXPECT_TRUE(irdaikin.getSwingHorizontal()); + EXPECT_FALSE(irdaikin.getSwingVertical()); + + irdaikin.setSwingVertical(true); + EXPECT_TRUE(irdaikin.getSwingHorizontal()); + EXPECT_TRUE(irdaikin.getSwingVertical()); + + irdaikin.setSwingHorizontal(false); + EXPECT_FALSE(irdaikin.getSwingHorizontal()); + EXPECT_TRUE(irdaikin.getSwingVertical()); + + irdaikin.setSwingVertical(false); + EXPECT_FALSE(irdaikin.getSwingHorizontal()); + EXPECT_FALSE(irdaikin.getSwingVertical()); +} + +TEST(TestDaikinClass, QuietMode) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.setQuiet(true); + EXPECT_TRUE(irdaikin.getQuiet()); + + irdaikin.setQuiet(false); + EXPECT_FALSE(irdaikin.getQuiet()); + + irdaikin.setQuiet(true); + EXPECT_TRUE(irdaikin.getQuiet()); + + irdaikin.setPowerful(true); + EXPECT_FALSE(irdaikin.getQuiet()); +} + +TEST(TestDaikinClass, PowerfulMode) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.setPowerful(true); + EXPECT_TRUE(irdaikin.getPowerful()); + + irdaikin.setPowerful(false); + EXPECT_FALSE(irdaikin.getPowerful()); + + irdaikin.setPowerful(true); + EXPECT_TRUE(irdaikin.getPowerful()); + + irdaikin.setQuiet(true); + EXPECT_FALSE(irdaikin.getPowerful()); +} + +TEST(TestDaikinClass, FanSpeed) { + IRDaikinESP irdaikin(0); + irdaikin.begin(); + + irdaikin.setFan(0); + EXPECT_EQ(0, irdaikin.getFan()); + + irdaikin.setFan(255); + EXPECT_EQ(DAIKIN_FAN_MAX, irdaikin.getFan()); + + irdaikin.setFan(DAIKIN_FAN_MAX); + EXPECT_EQ(DAIKIN_FAN_MAX, irdaikin.getFan()); + + irdaikin.setFan(DAIKIN_FAN_MAX + 1); + EXPECT_EQ(DAIKIN_FAN_MAX, irdaikin.getFan()); + + irdaikin.setFan(DAIKIN_FAN_MAX - 1); + EXPECT_EQ(DAIKIN_FAN_MAX - 1, irdaikin.getFan()); + + irdaikin.setFan(DAIKIN_FAN_MIN); + EXPECT_EQ(DAIKIN_FAN_MIN, irdaikin.getFan()); + + irdaikin.setFan(DAIKIN_FAN_MIN + 1); + EXPECT_EQ(DAIKIN_FAN_MIN + 1, irdaikin.getFan()); + + irdaikin.setFan(3); + EXPECT_EQ(3, irdaikin.getFan()); + + irdaikin.setFan(DAIKIN_FAN_AUTO); + EXPECT_EQ(DAIKIN_FAN_AUTO, irdaikin.getFan()); +} + +TEST(TestDaikinClass, MessageConstuction) { + IRDaikinESP irdaikin(0); + IRsendTest irsend(4); + irdaikin.begin(); + irsend.begin(); + + irdaikin.setFan(DAIKIN_FAN_MIN); + irdaikin.setMode(DAIKIN_COOL); + irdaikin.setTemp(27); + irdaikin.setSwingVertical(false); + irdaikin.setSwingHorizontal(true); + irdaikin.setQuiet(false); + irdaikin.setPower(true); + + // Check everything for kicks. + EXPECT_EQ(DAIKIN_FAN_MIN, irdaikin.getFan()); + EXPECT_EQ(DAIKIN_COOL, irdaikin.getMode()); + EXPECT_EQ(27, irdaikin.getTemp()); + EXPECT_FALSE(irdaikin.getSwingVertical()); + EXPECT_TRUE(irdaikin.getSwingHorizontal()); + EXPECT_FALSE(irdaikin.getQuiet()); + EXPECT_TRUE(irdaikin.getPower()); + + irsend.reset(); + irsend.sendDaikin(irdaikin.getRaw()); + EXPECT_EQ( + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s29428" + "m3650s1623" + "m428s1280m428s428m428s428m428s428m428s1280m428s428m428s428m428s428" + "m428s428m428s1280m428s428m428s1280m428s1280m428s428m428s1280m428s1280" + "m428s1280m428s1280m428s1280m428s428m428s428m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s1280m428s428m428s428m428s428m428s1280m428s1280m428s428m428s428" + "m428s428m428s1280m428s1280m428s428m428s1280m428s1280m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s1280m428s1280m428s428m428s428" + "m428s1280m428s1280m428s1280m428s1280m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s1280m428s1280" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s428m428s428m428s428m428s428m428s428" + "m428s428m428s428m428s428m428s1280m428s1280m428s1280m428s1280m428s428" + "m428s29428", irsend.outputStr()); +} diff --git a/lib/IRremoteESP8266/test/ir_Denon_test.cpp b/lib/IRremoteESP8266/test/ir_Denon_test.cpp new file mode 100644 index 00000000..32de11b4 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Denon_test.cpp @@ -0,0 +1,272 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendDenon(). + +// Test sending typical data only. +TEST(TestSendDenon, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDenon(0x2278); // Denon AVR Power On. (Sharp) + EXPECT_EQ( + "m260s780m260s1820m260s780m260s780m260s780m260s1820m260s780m260s780" + "m260s1820m260s1820m260s1820m260s1820m260s780m260s780m260s780" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s780m260s780m260s780m260s780m260s1820m260s1820m260s1820" + "m260s43602", irsend.outputStr()); + + irsend.reset(); + // Denon Eco Mode On. (Panasonic/Kaseikyo) + irsend.sendDenon(0x2A4C028D6CE3, DENON_48_BITS); + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s432" + "m432s432m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s1296m432s432" + "m432s1296m432s432m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s432m432s432m432s1296m432s1296" + "m432s129600", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendDenon, SendNormalWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDenon(0x2278, DENON_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m260s780m260s1820m260s780m260s780m260s780m260s1820m260s780m260s780" + "m260s1820m260s1820m260s1820m260s1820m260s780m260s780m260s780" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s780m260s780m260s780m260s780m260s1820m260s1820m260s1820" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s1820m260s780m260s780" + "m260s1820m260s1820m260s1820m260s1820m260s780m260s780m260s780" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s780m260s780m260s780m260s780m260s1820m260s1820m260s1820" + "m260s43602", irsend.outputStr()); + irsend.sendDenon(0x2278, DENON_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m260s780m260s1820m260s780m260s780m260s780m260s1820m260s780m260s780" + "m260s1820m260s1820m260s1820m260s1820m260s780m260s780m260s780" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s780m260s780m260s780m260s780m260s1820m260s1820m260s1820" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s1820m260s780m260s780" + "m260s1820m260s1820m260s1820m260s1820m260s780m260s780m260s780" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s780m260s780m260s780m260s780m260s1820m260s1820m260s1820" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s1820m260s780m260s780" + "m260s1820m260s1820m260s1820m260s1820m260s780m260s780m260s780" + "m260s43602" + "m260s780m260s1820m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s780m260s780m260s780m260s780m260s1820m260s1820m260s1820" + "m260s43602", irsend.outputStr()); +} + +TEST(TestSendDenon, Send48BitWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDenon(0x2A4C028D6CE3, DENON_48_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s432" + "m432s432m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s1296m432s432" + "m432s1296m432s432m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s432m432s432m432s1296m432s1296" + "m432s129600" + "m3456s1728" + "m432s432m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s432" + "m432s432m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s1296m432s432" + "m432s1296m432s432m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s432m432s432m432s1296m432s1296" + "m432s129600", irsend.outputStr()); + irsend.sendDenon(0x2A4C028D6CE3, DENON_48_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s432" + "m432s432m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s1296m432s432" + "m432s1296m432s432m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s432m432s432m432s1296m432s1296" + "m432s129600" + "m3456s1728" + "m432s432m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s432" + "m432s432m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s1296m432s432" + "m432s1296m432s432m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s432m432s432m432s1296m432s1296" + "m432s129600" + "m3456s1728" + "m432s432m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s432" + "m432s432m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s1296m432s432" + "m432s1296m432s432m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s432m432s432m432s1296m432s1296" + "m432s129600", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendDenon, SendUnusualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDenon(0x12, 8); + EXPECT_EQ( + "m260s780m260s780m260s780m260s1820m260s780m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s1820m260s1820m260s780m260s1820m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); + + irsend.reset(); + irsend.sendDenon(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s432m432s1296m432s432m432s432m432s1296m432s432" + "m432s432m432s432m432s1296m432s1296m432s432m432s1296m432s432m432s432" + "m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s1296m432s432" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s432m432s432m432s432" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s1296" + "m432s1296m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s1296m432s1296" + "m432s129600", irsend.outputStr()); +} + +// Tests for decodeDenon(). + +// Decode normal Denon messages. +TEST(TestDecodeDenon, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Denon 15-bit message. (Sharp) + irsend.reset(); + irsend.sendDenon(0x2278); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeDenon(&irsend.capture, DENON_BITS, true)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_BITS, irsend.capture.bits); + EXPECT_EQ(0x2278, irsend.capture.value); + EXPECT_EQ(0x2, irsend.capture.address); + EXPECT_EQ(0x79, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Legacy Denon 14-bit message. + irsend.reset(); + irsend.sendDenon(0x1278, DENON_LEGACY_BITS); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeDenon(&irsend.capture, DENON_LEGACY_BITS, true)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_LEGACY_BITS, irsend.capture.bits); + EXPECT_EQ(0x1278, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Denon 48-bit message. (Panasonic/Kaseikyo) + irsend.reset(); + irsend.sendDenon(0x2A4C028D6CE3, DENON_48_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeDenon(&irsend.capture, DENON_48_BITS, true)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_48_BITS, irsend.capture.bits); + EXPECT_EQ(0x2A4C028D6CE3, irsend.capture.value); + EXPECT_EQ(0x2A4C, irsend.capture.address); + EXPECT_EQ(0x028D6CE3, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeDenon, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Denon AVR series Power On code from Global Cache. (Sharp style) + uint16_t gc_test_power[67] = {38000, 1, 1, + 10, 30, 10, 70, 10, 30, 10, 30, 10, 30, 10, 70, + 10, 30, 10, 30, 10, 70, 10, 70, 10, 70, 10, 70, + 10, 30, 10, 30, 10, 30, 10, 1657, + 10, 30, 10, 70, 10, 30, 10, 30, 10, 30, 10, 30, + 10, 70, 10, 70, 10, 30, 10, 30, 10, 30, 10, 30, + 10, 70, 10, 70, 10, 70, 10, 1657}; + irsend.sendGC(gc_test_power, 67); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeDenon(&irsend.capture, DENON_BITS, true)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_BITS, irsend.capture.bits); + EXPECT_EQ(0x2278, irsend.capture.value); + EXPECT_EQ(0x2, irsend.capture.address); + EXPECT_EQ(0x79, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Denon "Eco Mode Auto" code from Global Cache. (Panasonic style) + uint16_t gc_test_eco[103] = {37000, 1, 1, 128, 64, 16, 16, 16, 16, 16, 48, + 16, 16, 16, 48, 16, 16, 16, 48, 16, 16, 16, 16, + 16, 48, 16, 16, 16, 16, 16, 48, 16, 48, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 48, 16, 16, 16, 48, 16, 16, 16, 16, + 16, 16, 16, 48, 16, 48, 16, 16, 16, 48, 16, 16, + 16, 48, 16, 48, 16, 16, 16, 48, 16, 48, 16, 16, + 16, 16, 16, 48, 16, 48, 16, 48, 16, 16, 16, 16, + 16, 16, 16, 48, 16, 48, 16, 2766}; + irsend.reset(); + irsend.sendGC(gc_test_eco, 103); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeDenon(&irsend.capture, DENON_48_BITS, true)); + EXPECT_EQ(DENON, irsend.capture.decode_type); + EXPECT_EQ(DENON_48_BITS, irsend.capture.bits); + EXPECT_EQ(0x2A4C028D6CE3, irsend.capture.value); + EXPECT_EQ(0x2A4C, irsend.capture.address); + EXPECT_EQ(0x028D6CE3, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-Denon example via GlobalCache +TEST(TestDecodeDenon, FailToDecodeNonDenonExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeDenon(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeDenon(&irsend.capture, DENON_LEGACY_BITS, false)); + ASSERT_FALSE(irrecv.decodeDenon(&irsend.capture, DENON_BITS, false)); + ASSERT_FALSE(irrecv.decodeDenon(&irsend.capture, DENON_48_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Dish_test.cpp b/lib/IRremoteESP8266/test/ir_Dish_test.cpp new file mode 100644 index 00000000..afd76e8f --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Dish_test.cpp @@ -0,0 +1,321 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendDISH(). + +// Test sending typical data only. +TEST(TestSendDish, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDISH(0x0); + EXPECT_EQ( + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100", irsend.outputStr()); + + irsend.reset(); + irsend.sendDISH(0x9C00); // Power on. + EXPECT_EQ( + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100", irsend.outputStr()); + + irsend.reset(); + irsend.sendDISH(0xFFFF); + EXPECT_EQ( + "m400s6100" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s6100" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s6100" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s6100" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700m400s1700" + "m400s6100", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendDish, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDISH(0x9C00, DISH_BITS, 0); // 0 repeats. + EXPECT_EQ( + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100", irsend.outputStr()); + + irsend.reset(); + irsend.sendDISH(0x9C00, DISH_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100", irsend.outputStr()); + + irsend.sendDISH(0x9C00, DISH_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s1700m400s2800m400s2800m400s1700m400s1700m400s1700m400s2800m400s2800" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendDish, SendUnusualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDISH(0x0, 8); + EXPECT_EQ( + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100" + "m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800m400s2800" + "m400s6100", irsend.outputStr()); + + irsend.reset(); + irsend.sendDISH(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m400s6100" + "m400s2800m400s2800m400s2800m400s1700m400s2800m400s2800m400s1700m400s2800" + "m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700m400s2800m400s2800" + "m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700m400s2800" + "m400s2800m400s1700m400s1700m400s1700m400s1700m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s2800m400s1700m400s2800m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700" + "m400s1700m400s1700m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700" + "m400s1700m400s1700m400s1700m400s2800m400s1700m400s1700m400s1700m400s1700" + "m400s6100" + "m400s2800m400s2800m400s2800m400s1700m400s2800m400s2800m400s1700m400s2800" + "m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700m400s2800m400s2800" + "m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700m400s2800" + "m400s2800m400s1700m400s1700m400s1700m400s1700m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s2800m400s1700m400s2800m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700" + "m400s1700m400s1700m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700" + "m400s1700m400s1700m400s1700m400s2800m400s1700m400s1700m400s1700m400s1700" + "m400s6100" + "m400s2800m400s2800m400s2800m400s1700m400s2800m400s2800m400s1700m400s2800" + "m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700m400s2800m400s2800" + "m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700m400s2800" + "m400s2800m400s1700m400s1700m400s1700m400s1700m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s2800m400s1700m400s2800m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700" + "m400s1700m400s1700m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700" + "m400s1700m400s1700m400s1700m400s2800m400s1700m400s1700m400s1700m400s1700" + "m400s6100" + "m400s2800m400s2800m400s2800m400s1700m400s2800m400s2800m400s1700m400s2800" + "m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700m400s2800m400s2800" + "m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700m400s2800" + "m400s2800m400s1700m400s1700m400s1700m400s1700m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s2800m400s1700m400s2800m400s2800m400s2800m400s2800" + "m400s1700m400s2800m400s1700m400s2800m400s1700m400s2800m400s1700m400s1700" + "m400s1700m400s1700m400s2800m400s2800m400s1700m400s1700m400s2800m400s1700" + "m400s1700m400s1700m400s1700m400s2800m400s1700m400s1700m400s1700m400s1700" + "m400s6100", irsend.outputStr()); +} + +// Tests for decodeDISH(). + +// Decode normal Dish messages. +TEST(TestDecodeDish, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Dish 16-bit message. + irsend.reset(); + irsend.sendDISH(0x9C00); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture, DISH_BITS, true)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(DISH_BITS, irsend.capture.bits); + EXPECT_EQ(0x9C00, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode Dish messages with unsupported size/lengths. +TEST(TestDecodeDish, DecodeWithNonStrictSize) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendDISH(0x12, 8); // Illegal size Dish message. (smaller) + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture, DISH_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture, 8, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture, 8, false)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x12, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendDISH(0x12345678, 32); // Illegal size Dish message. (larger) + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture, DISH_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture, 32, false)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeDish, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size Dish 64-bit message. + irsend.sendDISH(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture, 64, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture, 64, false)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeDish, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + +/* + irsend.reset(); + // Dish DTV Pal code from Global Cache. + uint16_t gc_test_dtv[27] = {58000, 1, 3, 22, 538, 22, 252, 22, 156, 22, 156, + 22, 156, 22, 156, 22, 252, 22, 252, 22, 252, 22, + 252, 22, 252, 22, 538}; + irsend.sendGC(gc_test_dtv, 27); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture, DISH_BITS, true)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(DISH_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(DISH_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +*/ + // Dish Hopper 3 code from Global Cache. + uint16_t gc_test_hopper[73] = {58000, 1, 37, 23, 351, 23, 94, 23, 164, + 23, 164, 23, 94, 23, 94, 23, 94, 23, 164, + 23, 164, 23, 164, 23, 164, 23, 164, 23, 164, + 23, 164, 23, 164, 23, 164, 23, 164, 23, 351, + 23, 94, 23, 164, 23, 164, 23, 94, 23, 94, + 23, 94, 23, 164, 23, 164, 23, 164, 23, 164, + 23, 164, 23, 164, 23, 164, 23, 164, 23, 164, + 23, 164, 23, 351}; + irsend.reset(); + irsend.sendGC(gc_test_hopper, 73); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture, DISH_BITS, true)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(DISH_BITS, irsend.capture.bits); + EXPECT_EQ(0x9C00, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + ASSERT_TRUE(irrecv.decodeDISH(&irsend.capture)); + EXPECT_EQ(DISH, irsend.capture.decode_type); + EXPECT_EQ(DISH_BITS, irsend.capture.bits); + EXPECT_EQ(0x9C00, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-Dish example via GlobalCache +TEST(TestDecodeDish, FailToDecodeNonDishExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeDISH(&irsend.capture, DISH_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Fujitsu_test.cpp b/lib/IRremoteESP8266/test/ir_Fujitsu_test.cpp new file mode 100644 index 00000000..f1b6c04f --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Fujitsu_test.cpp @@ -0,0 +1,207 @@ +// Copyright 2017 Jonny Graham + +#include "IRsend.h" +#include "IRsend_test.h" +#include "ir_Fujitsu.h" +#include "gtest/gtest.h" + +template +::testing::AssertionResult ArraysMatch(const T (&expected)[size], + const T* actual) { + for (size_t i(0); i < size; ++i) { + if (expected[i] != actual[i]) { + int e = expected[i]; + int a = actual[i]; + return ::testing::AssertionFailure() << "array[" << i + << "] (" << std::hex << a << std::dec << ") != expected[" << i + << "] (" << std::hex << e << std::dec << ")"; + } + } + + return ::testing::AssertionSuccess(); +} +// Tests for Mitsubishi A/C methods. + +// Test sending typical data only. +TEST(TestSendFujitsuAC, GetRawDefault) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + fujitsuACSender.setCmd(FUJITSU_AC_CMD_TURN_ON); + fujitsuACSender.setSwing(FUJITSU_AC_SWING_BOTH); + fujitsuACSender.setMode(FUJITSU_AC_MODE_COOL); + fujitsuACSender.setFanSpeed(FUJITSU_AC_FAN_HIGH); + fujitsuACSender.setTemp(24); + uint8_t expected[16] = {0x14, 0x63, 0x0, 0x10, 0x10, 0xFE, 0x9, 0x30, + 0x81, 0x1, 0x31, 0x0, 0x0, 0x0, 0x20, 0xFD}; + EXPECT_TRUE(ArraysMatch(expected, fujitsuACSender.getRaw())); +} + +TEST(TestSendFujitsuAC, GetRawTurnOff) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + fujitsuACSender.off(); + uint8_t expected[7] = {0x14, 0x63, 0x0, 0x10, 0x10, 0x02, 0xFD}; + EXPECT_TRUE(ArraysMatch(expected, fujitsuACSender.getRaw())); +} +TEST(TestSendFujitsuAC, GetRawStepHoriz) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + fujitsuACSender.stepHoriz(); + uint8_t expected[7] = {0x14, 0x63, 0x0, 0x10, 0x10, 0x79, 0x86}; + EXPECT_TRUE(ArraysMatch(expected, fujitsuACSender.getRaw())); +} +TEST(TestSendFujitsuAC, GetRawStepVert) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + fujitsuACSender.stepVert(); + uint8_t expected[7] = {0x14, 0x63, 0x0, 0x10, 0x10, 0x6C, 0x93}; + EXPECT_TRUE(ArraysMatch(expected, fujitsuACSender.getRaw())); +} + +TEST(TestSendFujitsuAC, GetRawWithSwingHoriz) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + fujitsuACSender.setCmd(FUJITSU_AC_CMD_STAY_ON); + fujitsuACSender.setSwing(FUJITSU_AC_SWING_HORIZ); + fujitsuACSender.setMode(FUJITSU_AC_MODE_COOL); + fujitsuACSender.setFanSpeed(FUJITSU_AC_FAN_QUIET); + fujitsuACSender.setTemp(25); + uint8_t expected[16] = {0x14, 0x63, 0x0, 0x10, 0x10, 0xFE, 0x9, 0x30, + 0x90, 0x1, 0x24, 0x0, 0x0, 0x0, 0x20, 0xFB}; + EXPECT_TRUE(ArraysMatch(expected, fujitsuACSender.getRaw())); +} + +TEST(TestSendFujitsuAC, GetRawWithFan) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + fujitsuACSender.setCmd(FUJITSU_AC_CMD_STAY_ON); + fujitsuACSender.setSwing(FUJITSU_AC_SWING_HORIZ); + fujitsuACSender.setMode(FUJITSU_AC_MODE_FAN); + fujitsuACSender.setFanSpeed(FUJITSU_AC_FAN_MED); + fujitsuACSender.setTemp(20); // temp doesn't matter for fan + // but it is sent by the RC anyway + uint8_t expected[16] = {0x14, 0x63, 0x0, 0x10, 0x10, 0xFE, 0x9, 0x30, + 0x40, 0x3, 0x22, 0x0, 0x0, 0x0, 0x20, 0x4B}; + EXPECT_TRUE(ArraysMatch(expected, fujitsuACSender.getRaw())); +} + +TEST(TestSendFujitsuAC, GenerateMessage) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + IRsendTest irsend(4); + fujitsuACSender.begin(); + irsend.begin(); + + fujitsuACSender.setCmd(FUJITSU_AC_CMD_STAY_ON); + fujitsuACSender.setSwing(FUJITSU_AC_SWING_BOTH); + fujitsuACSender.setMode(FUJITSU_AC_MODE_COOL); + fujitsuACSender.setFanSpeed(FUJITSU_AC_FAN_HIGH); + fujitsuACSender.setTemp(24); + + EXPECT_EQ(FUJITSU_AC_FAN_HIGH, fujitsuACSender.getFanSpeed()); + EXPECT_EQ(FUJITSU_AC_MODE_COOL, fujitsuACSender.getMode()); + EXPECT_EQ(24, fujitsuACSender.getTemp()); + EXPECT_EQ(FUJITSU_AC_SWING_BOTH, fujitsuACSender.getSwing()); + EXPECT_EQ(FUJITSU_AC_CMD_STAY_ON, fujitsuACSender.getCmd()); + + irsend.reset(); + irsend.sendFujitsuAC(fujitsuACSender.getRaw(), FUJITSU_AC_STATE_LENGTH); + EXPECT_EQ( + "m3224s1574m448s367m448s367m448s1182m448s367m448s1182m448s367m448s367m448" + "s367m448s1182m448s1182m448s367m448s367m448s367m448s1182m448s1182m448s367" + "m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448" + "s367m448s367m448s367m448s367m448s1182m448s367m448s367m448s367m448s367m448" + "s367m448s367m448s367m448s1182m448s367m448s367m448s367m448s367m448s1182" + "m448s1182m448s1182m448s1182m448s1182m448s1182m448s1182m448s1182m448s367" + "m448s367m448s1182m448s367m448s367m448s367m448s367m448s367m448s367m448s367" + "m448s367m448s1182m448s1182m448s367m448s367m448s367m448s367m448s367m448s367" + "m448s367m448s367m448s367m448s1182m448s1182m448s367m448s367m448s367m448" + "s367m448s367m448s367m448s367m448s1182m448s367m448s367m448s367m448s1182m448" + "s1182m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448" + "s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448" + "s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448" + "s367m448s367m448s367m448s367m448s367m448s1182m448s367m448s367m448s367m448" + "s1182m448s1182m448s1182m448s1182m448s1182m448s1182m448s1182m448s8100", + irsend.outputStr()); +} +TEST(TestSendFujitsuAC, GenerateShortMessage) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + IRsendTest irsend(4); + fujitsuACSender.begin(); + irsend.begin(); + + fujitsuACSender.off(); + + EXPECT_EQ(FUJITSU_AC_CMD_TURN_OFF, fujitsuACSender.getCmd()); + + irsend.reset(); + irsend.sendFujitsuAC(fujitsuACSender.getRaw(), FUJITSU_AC_STATE_LENGTH_SHORT); + EXPECT_EQ( + "m3224s1574m448s367m448s367m448s1182m448s367m448s1182m448s367m448s367m448" + "s367m448s1182m448s1182m448s367m448s367m448s367m448s1182m448s1182m448s367" + "m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367" + "m448s367m448s367m448s367m448s1182m448s367m448s367m448s367m448s367m448s367" + "m448s367m448s367m448s1182m448s367m448s367m448s367m448s367m448s1182m448s367" + "m448s367m448s367m448s367m448s367m448s367m448s1182m448s367m448s1182m448" + "s1182m448s1182m448s1182m448s1182m448s1182m448s8100", + irsend.outputStr()); +} + +// Issue #275 +TEST(TestSendFujitsuAC, Issue275) { + IRFujitsuAC fujitsuACSender = IRFujitsuAC(4); + IRsendTest irsend(4); + fujitsuACSender.begin(); + irsend.begin(); + irsend.reset(); + + fujitsuACSender.setCmd(FUJITSU_AC_CMD_TURN_OFF); + irsend.sendFujitsuAC(fujitsuACSender.getRaw(), FUJITSU_AC_STATE_LENGTH_SHORT); + EXPECT_EQ( + // Header + "m3224s1574" + // 0 0 1 0 1 0 0 0 (0x28) + "m448s367m448s367m448s1182m448s367m448s1182m448s367m448s367m448s367" + // 1 1 0 0 0 1 1 0 (0xC6) + "m448s1182m448s1182m448s367m448s367m448s367m448s1182m448s1182m448s367" + // 0 0 0 0 0 0 0 0 (0x00) + "m448s367m448s367m448s367m448s367m448s367m448s367m448s367m448s367" + // 0 0 0 0 1 0 0 0 (0x08) + "m448s367m448s367m448s367m448s367m448s1182m448s367m448s367m448s367" + // 0 0 0 0 1 0 0 0 (0x08) + "m448s367m448s367m448s367m448s367m448s1182m448s367m448s367m448s367" + // 0 1 0 0 0 0 0 0 (0x40) + "m448s367m448s1182m448s367m448s367m448s367m448s367m448s367m448s367" + // 1 0 1 1 1 1 1 1 (0xBF) + "m448s1182m448s367m448s1182m448s1182m448s1182m448s1182m448s1182m448s1182" + // Footer + "m448s8100", irsend.outputStr()); + + irsend.reset(); + // Per report in Issue #275 + uint16_t off[115] = { + 3350, 1650, + 450, 400, 450, 450, 450, 1250, 450, 400, 450, 1250, 450, 400, 450, 400, + 450, 400, 450, 1250, 450, 1250, 450, 400, 450, 400, 450, 400, 450, 1250, + 450, 1250, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, + 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, + 450, 1250, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, + 450, 400, 450, 1250, 450, 400, 450, 400, 450, 400, 450, 400, 450, 1250, + 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, 450, 400, 450, 1250, + 450, 400, 450, 1250, 450, 1250, 450, 1250, 450, 1250, 450, 1250, + 450, 1250, 450}; + irsend.sendRaw(off, 115, 38); + EXPECT_EQ( + // Header + "m3350s1650" + // 0 0 1 0 1 0 0 0 (0x28) + "m450s400m450s450m450s1250m450s400m450s1250m450s400m450s400m450s400" + // 1 1 0 0 0 1 1 0 (0xC6) + "m450s1250m450s1250m450s400m450s400m450s400m450s1250m450s1250m450s400" + // 0 0 0 0 0 0 0 0 (0x00) + "m450s400m450s400m450s400m450s400m450s400m450s400m450s400m450s400" + // 0 0 0 0 1 0 0 0 (0x08) + "m450s400m450s400m450s400m450s400m450s1250m450s400m450s400m450s400" + // 0 0 0 0 1 0 0 0 (0x08) + "m450s400m450s400m450s400m450s400m450s1250m450s400m450s400m450s400" + // 0 1 0 0 0 0 0 0 (0x40) + "m450s400m450s1250m450s400m450s400m450s400m450s400m450s400m450s400" + // 1 0 1 1 1 1 1 1 (0xBF) + "m450s1250m450s400m450s1250m450s1250m450s1250m450s1250m450s1250m450s1250" + // Footer + "m450", + irsend.outputStr()); +} diff --git a/lib/IRremoteESP8266/test/ir_GlobalCache_test.cpp b/lib/IRremoteESP8266/test/ir_GlobalCache_test.cpp new file mode 100644 index 00000000..c2e9762a --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_GlobalCache_test.cpp @@ -0,0 +1,68 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendGlobalCache(). + +// Test sending a typical command wihtout a repeat. +TEST(TestSendGlobalCache, NonRepeatingCode) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + irsend.reset(); + + // Modified NEC TV "Power On" from Global Cache with no repeats + uint16_t gc_test[71] = {38000, 1, 1, 342, 172, 21, 22, 21, 21, 21, 65, 21, 21, + 21, 22, 21, 22, 21, 21, 21, 22, 21, 65, 21, 65, 21, + 22, 21, 65, 21, 65, 21, 65, 21, 65, 21, 65, 21, 65, + 21, 22, 21, 22, 21, 21, 21, 22, 21, 22, 21, 65, 21, + 22, 21, 21, 21, 65, 21, 65, 21, 65, 21, 64, 22, 65, + 21, 22, 21, 65, 21, 1519}; + irsend.sendGC(gc_test, 71); + irsend.makeDecodeResult(); + EXPECT_EQ("m8892s4472m546s572m546s546m546s1690m546s546m546s572m546s572" + "m546s546m546s572m546s1690m546s1690m546s572m546s1690m546s1690" + "m546s1690m546s1690m546s1690m546s1690m546s572m546s572m546s546" + "m546s572m546s572m546s1690m546s572m546s546m546s1690m546s1690" + "m546s1690m546s1664m572s1690m546s572m546s1690m546s39494", + irsend.outputStr()); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x20DF827D, irsend.capture.value); + EXPECT_EQ(0x4, irsend.capture.address); + EXPECT_EQ(0x41, irsend.capture.command); +} + +// Test sending typical command with repeats. +TEST(TestSendGlobalCache, RepeatCode) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + irsend.reset(); + + // Sherwood (NEC-like) "Power On" from Global Cache with 2 repeats + uint16_t gc_test[75] = {38000, 2, 69, 341, 171, 21, 64, 21, 64, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 64, 21, 64, 21, 21, + 21, 64, 21, 21, 21, 21, 21, 21, 21, 64, 21, 21, 21, + 64, 21, 21, 21, 21, 21, 21, 21, 64, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 64, 21, 64, 21, 64, 21, 21, 21, + 64, 21, 64, 21, 64, 21, 1600, 341, 85, 21, 3647}; + irsend.sendGC(gc_test, 75); + irsend.makeDecodeResult(); + EXPECT_EQ("m8866s4446m546s1664m546s1664m546s546m546s546m546s546m546s546" + "m546s546m546s1664m546s1664m546s546m546s1664m546s546m546s546" + "m546s546m546s1664m546s546m546s1664m546s546m546s546m546s546" + "m546s1664m546s546m546s546m546s546m546s546m546s1664m546s1664" + "m546s1664m546s546m546s1664m546s1664m546s1664m546s41600" + "m8866s2210m546s94822" + "m8866s2210m546s94822", irsend.outputStr()); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC1A28877, irsend.capture.value); + EXPECT_EQ(0x4583, irsend.capture.address); + EXPECT_EQ(0x11, irsend.capture.command); +} diff --git a/lib/IRremoteESP8266/test/ir_Gree_test.cpp b/lib/IRremoteESP8266/test/ir_Gree_test.cpp new file mode 100644 index 00000000..80a3dec1 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Gree_test.cpp @@ -0,0 +1,192 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendGree(). + +// Test sending typical data only. +TEST(TestSendGreeChars, SendData) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t gree_code[GREE_STATE_LENGTH] = { + 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; + irsend.reset(); + irsend.sendGree(gree_code); + EXPECT_EQ( + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s19000", irsend.outputStr()); +} + +TEST(TestSendGreeUint64, SendData) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendGree(0x1234567890ABCDEF); + EXPECT_EQ( + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s19000", irsend.outputStr()); +} + +// Test sending with repeats. +TEST(TestSendGreeChars, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + uint8_t gree_code[GREE_STATE_LENGTH] = { + 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; + irsend.reset(); + + irsend.sendGree(gree_code, GREE_STATE_LENGTH, 1); + EXPECT_EQ( + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s19000" + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s19000", irsend.outputStr()); +} + +TEST(TestSendGreeUint64, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendGree(0x1234567890ABCDEF, GREE_BITS, 1); + EXPECT_EQ( + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s19000" + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s19000", irsend.outputStr()); +} + +// Test sending atypical sizes. +TEST(TestSendGreeChars, SendUnexpectedSizes) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t gree_short_code[GREE_STATE_LENGTH - 1] = { + 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD}; + uint8_t gree_long_code[GREE_STATE_LENGTH + 1] = { + 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF, 0x12}; + irsend.reset(); + irsend.sendGree(gree_short_code, GREE_STATE_LENGTH - 1); + ASSERT_EQ("", irsend.outputStr()); + + irsend.reset(); + irsend.sendGree(gree_long_code, GREE_STATE_LENGTH + 1); + ASSERT_EQ( + "m9000s4000" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s540m620s540m620s1600m620s540m620s1600m620s1600m620s540m620s540" + "m620s540m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540" + "m620s540m620s540m620s540m620s1600m620s1600m620s1600m620s1600m620s540" + "m620s540m620s1600m620s540" + "m620s19000" + "m620s540m620s540m620s540m620s540m620s1600m620s540m620s540m620s1600" + "m620s1600m620s1600m620s540m620s1600m620s540m620s1600m620s540m620s1600" + "m620s1600m620s540m620s1600m620s1600m620s540m620s540m620s1600m620s1600" + "m620s1600m620s1600m620s1600m620s1600m620s540m620s1600m620s1600m620s1600" + "m620s540m620s1600m620s540m620s540m620s1600m620s540m620s540m620s540" + "m620s19000", irsend.outputStr()); +} + +TEST(TestSendGreeUint64, SendUnexpectedSizes) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendGree(0x1234567890ABCDEF, GREE_BITS - 1); + ASSERT_EQ("", irsend.outputStr()); + + irsend.reset(); + irsend.sendGree(0x1234567890ABCDEF, GREE_BITS + 1); + ASSERT_EQ("", irsend.outputStr()); +} + +TEST(TestSendGree, CompareUint64ToCharResults) { + IRsendTest irsend_chars(4); + IRsendTest irsend_uint64(0); + + uint8_t gree_code[GREE_STATE_LENGTH] = { + 0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF}; + + irsend_chars.begin(); + irsend_uint64.begin(); + + irsend_chars.reset(); + irsend_uint64.reset(); + irsend_chars.sendGree(gree_code); + irsend_uint64.sendGree(0x1234567890ABCDEF); + ASSERT_EQ(irsend_chars.outputStr(), irsend_uint64.outputStr()); + + uint8_t gree_zero_code[GREE_STATE_LENGTH] = { + 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00}; + irsend_chars.reset(); + irsend_uint64.reset(); + irsend_chars.sendGree(gree_zero_code); + irsend_uint64.sendGree((uint64_t) 0x0); + ASSERT_EQ(irsend_chars.outputStr(), irsend_uint64.outputStr()); +} diff --git a/lib/IRremoteESP8266/test/ir_JVC_test.cpp b/lib/IRremoteESP8266/test/ir_JVC_test.cpp new file mode 100644 index 00000000..0826b226 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_JVC_test.cpp @@ -0,0 +1,299 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendJVC(). + +// Test sending typical data only. +TEST(TestSendJVC, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendJVC(0xC2B8); // JVC VCR Power On. + EXPECT_EQ( + "m8400s4200" + "m525s1725m525s1725m525s525m525s525m525s525m525s525m525s1725m525s525" + "m525s1725m525s525m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s60000", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendJVC, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendJVC(0xC2B8, JVC_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m8400s4200" + "m525s1725m525s1725m525s525m525s525m525s525m525s525m525s1725m525s525" + "m525s1725m525s525m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s60000" + "m525s1725m525s1725m525s525m525s525m525s525m525s525m525s1725m525s525" + "m525s1725m525s525m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s60000", irsend.outputStr()); + irsend.sendJVC(0xC2B8, JVC_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m8400s4200" + "m525s1725m525s1725m525s525m525s525m525s525m525s525m525s1725m525s525" + "m525s1725m525s525m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s60000" + "m525s1725m525s1725m525s525m525s525m525s525m525s525m525s1725m525s525" + "m525s1725m525s525m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s60000" + "m525s1725m525s1725m525s525m525s525m525s525m525s525m525s1725m525s525" + "m525s1725m525s525m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s60000", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendJVC, SendUsualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendJVC(0x0, 8); + EXPECT_EQ( + "m8400s4200" + "m525s525m525s525m525s525m525s525m525s525m525s525m525s525m525s525" + "m525s60000", irsend.outputStr()); + + irsend.reset(); + irsend.sendJVC(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m8400s4200" + "m525s525m525s525m525s525m525s1725m525s525m525s525m525s1725m525s525" + "m525s525m525s525m525s1725m525s1725m525s525m525s1725m525s525m525s525" + "m525s525m525s1725m525s525m525s1725m525s525m525s1725m525s1725m525s525" + "m525s525m525s1725m525s1725m525s1725m525s1725m525s525m525s525m525s525" + "m525s1725m525s525m525s525m525s1725m525s525m525s525m525s525m525s525" + "m525s1725m525s525m525s1725m525s525m525s1725m525s525m525s1725m525s1725" + "m525s1725m525s1725m525s525m525s525m525s1725m525s1725m525s525m525s1725" + "m525s1725m525s1725m525s1725m525s525m525s1725m525s1725m525s1725m525s1725" + "m525s60000", irsend.outputStr()); +} + +// Tests for encodeJVC(). + +TEST(TestEncodeJVC, NormalEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodeJVC(0, 0)); + EXPECT_EQ(0x8080, irsend.encodeJVC(1, 1)); + EXPECT_EQ(0x8040, irsend.encodeJVC(1, 2)); + EXPECT_EQ(0xC2B8, irsend.encodeJVC(0x43, 0x1D)); + EXPECT_EQ(0x55AA, irsend.encodeJVC(0xAA, 0x55)); + EXPECT_EQ(0xFFFF, irsend.encodeJVC(0xFF, 0xFF)); +} + +// Tests for decodeJVC(). + +// Decode normal JVC messages. +TEST(TestDecodeJVC, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal JVC 16-bit message. + irsend.reset(); + irsend.sendJVC(0xC2B8); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x43, irsend.capture.address); + EXPECT_EQ(0x1D, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal JVC 16-bit message. + irsend.reset(); + irsend.sendJVC(irsend.encodeJVC(0x07, 0x99)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xE099, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal JVC 16-bit message. + irsend.reset(); + irsend.sendJVC(irsend.encodeJVC(0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0x8080, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x1, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated JVC messages. +TEST(TestDecodeJVC, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal JVC 16-bit message with 2 repeats. + irsend.reset(); + irsend.sendJVC(0xC2B8, JVC_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x43, irsend.capture.address); + EXPECT_EQ(0x1D, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.makeDecodeResult(2 * JVC_BITS + 4); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_TRUE(irsend.capture.repeat); + + irsend.makeDecodeResult(2 * JVC_BITS + 4 + 2 * JVC_BITS + 2); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_TRUE(irsend.capture.repeat); + + // Simulate 'just' a JVC repeat command. + // JVC VCR Power On from Global Cache, but modified to be a repeat message. + uint16_t gc_test[37] = {38000, 1, 1, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 61, 20, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.reset(); + irsend.sendGC(gc_test, 37); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x43, irsend.capture.address); + EXPECT_EQ(0x1D, irsend.capture.command); + EXPECT_TRUE(irsend.capture.repeat); +} + +// Decode unsupported JVC messages. +TEST(TestDecodeJVC, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendJVC(0x0, 8); // Illegal value JVC 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, 8, false)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendJVC(0x12345678, 32); // Illegal value JVC 32-bit message. + irsend.makeDecodeResult(); + // Should not pass with strict when we ask for less bits than we got. + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, 32, false)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + EXPECT_EQ(0x12346A, irsend.capture.address); + EXPECT_EQ(0x1E, irsend.capture.command); + + // Illegal over length (36-bit) message. + irsend.reset(); + irsend.sendJVC(irsend.encodeJVC(2, 3), 36); + irsend.makeDecodeResult(); + + // Shouldn't pass if strict off and the wrong expected bits. + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, false)); + + // Re-decode with correct bit size. + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture, 36, true)); + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, 36, false)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(36, irsend.capture.bits); + EXPECT_EQ(0x40C0, irsend.capture.value); + EXPECT_EQ(0x2, irsend.capture.address); + EXPECT_EQ(0x3, irsend.capture.command); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeJVC, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size JVC 64-bit message. + irsend.sendJVC(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture, 64, false)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0xFFFFFFFF, irsend.capture.address); + EXPECT_EQ(0xFF, irsend.capture.command); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeJVC, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // JVC VCR Power On from Global Cache. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 20, 20, 61, 20, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + // 38000,1,37,320,161,21,59,21,59,21,19,21,19,21,19,21,19,21,59,21,19,21,59,21,59,21,19,21,59,21,19,21,19,21,19,21,19,21,838,21,59,21,59,21,19,21,19,21,19,21,19,21,59,21,19,21,59,21,19,21,59,21,59,21,59,21,19,21,19,21,19,21,850}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeJVC(&irsend.capture)); + EXPECT_EQ(JVC, irsend.capture.decode_type); + EXPECT_EQ(JVC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x43, irsend.capture.address); + EXPECT_EQ(0x1D, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-JVC example via GlobalCache +TEST(TestDecodeJVC, FailToDecodeNonJVCExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeJVC(&irsend.capture, JVC_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Kelvinator_test.cpp b/lib/IRremoteESP8266/test/ir_Kelvinator_test.cpp new file mode 100644 index 00000000..c409c20b --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Kelvinator_test.cpp @@ -0,0 +1,432 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "ir_Kelvinator.h" +#include "gtest/gtest.h" + +// Tests for sendKelvinator(). + +// Test sending typical data only. +TEST(TestSendKelvinator, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t kelv_code[KELVINATOR_STATE_LENGTH] = { + 0x19, 0x0B, 0x80, 0x50, 0x00, 0x00, 0x00, 0xE0, + 0x19, 0x0B, 0x80, 0x70, 0x00, 0x00, 0x10, 0xf0}; + irsend.reset(); + irsend.sendKelvinator(kelv_code); + EXPECT_EQ( + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560" + "m675s39900" + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s1560" + "m675s39900", irsend.outputStr()); +} + +// Test sending with repeats. +TEST(TestSendKelvinator, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + uint8_t kelv_code[KELVINATOR_STATE_LENGTH] = { + 0x19, 0x0B, 0x80, 0x50, 0x00, 0x00, 0x00, 0xE0, + 0x19, 0x0B, 0x80, 0x70, 0x00, 0x00, 0x10, 0xf0}; + irsend.reset(); + + irsend.sendKelvinator(kelv_code, KELVINATOR_STATE_LENGTH, 1); + EXPECT_EQ( + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560" + "m675s39900" + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s1560" + "m675s39900" + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560" + "m675s39900" + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s1560" + "m675s39900", irsend.outputStr()); +} + +// Test sending atypical sizes. +TEST(TestSendKelvinator, SendUnexpectedSizes) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t kelv_short_code[15] = {0x19, 0x0B, 0x80, 0x50, 0x00, 0x00, 0x00, 0xE0, + 0x19, 0x0B, 0x80, 0x70, 0x00, 0x00, 0x10}; + uint8_t kelv_long_code[17] = {0x19, 0x0B, 0x80, 0x50, 0x00, 0x00, 0x00, 0xE0, + 0x19, 0x0B, 0x80, 0x70, 0x00, 0x00, 0x10, 0xf0, + 0x00}; + irsend.reset(); + irsend.sendKelvinator(kelv_short_code, 15); + ASSERT_EQ("", irsend.outputStr()); + + irsend.reset(); + // Shouldn't be different from the SendDataOnly. We just don't send the + // extra data. + irsend.sendKelvinator(kelv_long_code, 17); + ASSERT_EQ( + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560" + "m675s39900" + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s520m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s1560" + "m675s39900", irsend.outputStr()); +} + + +// Tests for IRKelvinatorAC class. + +TEST(TestKelvinatorClass, Power) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.on(); + EXPECT_TRUE(irkelv.getPower()); + + irkelv.off(); + EXPECT_FALSE(irkelv.getPower()); + + irkelv.setPower(true); + EXPECT_TRUE(irkelv.getPower()); + + irkelv.setPower(false); + EXPECT_FALSE(irkelv.getPower()); +} + +TEST(TestKelvinatorClass, Temperature) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setTemp(0); + EXPECT_EQ(KELVINATOR_MIN_TEMP, irkelv.getTemp()); + + irkelv.setTemp(255); + EXPECT_EQ(KELVINATOR_MAX_TEMP, irkelv.getTemp()); + + irkelv.setTemp(KELVINATOR_MIN_TEMP); + EXPECT_EQ(KELVINATOR_MIN_TEMP, irkelv.getTemp()); + + irkelv.setTemp(KELVINATOR_MAX_TEMP); + EXPECT_EQ(KELVINATOR_MAX_TEMP, irkelv.getTemp()); + + irkelv.setTemp(KELVINATOR_MIN_TEMP - 1); + EXPECT_EQ(KELVINATOR_MIN_TEMP, irkelv.getTemp()); + + irkelv.setTemp(KELVINATOR_MAX_TEMP + 1); + EXPECT_EQ(KELVINATOR_MAX_TEMP, irkelv.getTemp()); + + irkelv.setTemp(17); + EXPECT_EQ(17, irkelv.getTemp()); + + irkelv.setTemp(21); + EXPECT_EQ(21, irkelv.getTemp()); + + irkelv.setTemp(25); + EXPECT_EQ(25, irkelv.getTemp()); + + irkelv.setTemp(29); + EXPECT_EQ(29, irkelv.getTemp()); +} + +TEST(TestKelvinatorClass, OperatingMode) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setTemp(24); + irkelv.setMode(KELVINATOR_AUTO); + EXPECT_EQ(KELVINATOR_AUTO, irkelv.getMode()); + EXPECT_EQ(KELVINATOR_AUTO_TEMP, irkelv.getTemp()); + + irkelv.setMode(KELVINATOR_COOL); + EXPECT_EQ(KELVINATOR_COOL, irkelv.getMode()); + + irkelv.setMode(KELVINATOR_HEAT); + EXPECT_EQ(KELVINATOR_HEAT, irkelv.getMode()); + + irkelv.setTemp(24); + irkelv.setMode(KELVINATOR_DRY); + EXPECT_EQ(KELVINATOR_DRY, irkelv.getMode()); + EXPECT_EQ(KELVINATOR_AUTO_TEMP, irkelv.getTemp()); + + irkelv.setMode(KELVINATOR_FAN); + EXPECT_EQ(KELVINATOR_FAN, irkelv.getMode()); + + irkelv.setMode(KELVINATOR_HEAT + 1); + EXPECT_EQ(KELVINATOR_AUTO, irkelv.getMode()); + + irkelv.setMode(255); + EXPECT_EQ(KELVINATOR_AUTO, irkelv.getMode()); +} + +TEST(TestKelvinatorClass, VaneSwing) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setSwingHorizontal(true); + irkelv.setSwingVertical(false); + + irkelv.setSwingHorizontal(true); + EXPECT_TRUE(irkelv.getSwingHorizontal()); + EXPECT_FALSE(irkelv.getSwingVertical()); + + irkelv.setSwingVertical(true); + EXPECT_TRUE(irkelv.getSwingHorizontal()); + EXPECT_TRUE(irkelv.getSwingVertical()); + + irkelv.setSwingHorizontal(false); + EXPECT_FALSE(irkelv.getSwingHorizontal()); + EXPECT_TRUE(irkelv.getSwingVertical()); + + irkelv.setSwingVertical(false); + EXPECT_FALSE(irkelv.getSwingHorizontal()); + EXPECT_FALSE(irkelv.getSwingVertical()); +} + +TEST(TestKelvinatorClass, QuietMode) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setQuiet(true); + EXPECT_TRUE(irkelv.getQuiet()); + + irkelv.setQuiet(false); + EXPECT_FALSE(irkelv.getQuiet()); + + irkelv.setQuiet(true); + EXPECT_TRUE(irkelv.getQuiet()); +} + +TEST(TestKelvinatorClass, IonFilter) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setIonFilter(true); + EXPECT_TRUE(irkelv.getIonFilter()); + + irkelv.setIonFilter(false); + EXPECT_FALSE(irkelv.getIonFilter()); + + irkelv.setIonFilter(true); + EXPECT_TRUE(irkelv.getIonFilter()); +} + +TEST(TestKelvinatorClass, Light) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setLight(true); + EXPECT_TRUE(irkelv.getLight()); + + irkelv.setLight(false); + EXPECT_FALSE(irkelv.getLight()); + + irkelv.setLight(true); + EXPECT_TRUE(irkelv.getLight()); +} + +TEST(TestKelvinatorClass, XFan) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setXFan(true); + EXPECT_TRUE(irkelv.getXFan()); + + irkelv.setXFan(false); + EXPECT_FALSE(irkelv.getXFan()); + + irkelv.setXFan(true); + EXPECT_TRUE(irkelv.getXFan()); +} + +TEST(TestKelvinatorClass, TurboFan) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setTurbo(true); + EXPECT_TRUE(irkelv.getTurbo()); + + irkelv.setTurbo(false); + EXPECT_FALSE(irkelv.getTurbo()); + + irkelv.setFan(2); + irkelv.setTurbo(true); + EXPECT_TRUE(irkelv.getTurbo()); + + // Turbo mode is turned off if the temperature is changed. + irkelv.setFan(3); + EXPECT_FALSE(irkelv.getTurbo()); + + // But only when it is changed, not set to the same value again. + irkelv.setTurbo(true); + irkelv.setFan(3); + EXPECT_TRUE(irkelv.getTurbo()); +} + +TEST(TestKelvinatorClass, FanSpeed) { + IRKelvinatorAC irkelv(0); + irkelv.begin(); + + irkelv.setFan(0); + EXPECT_EQ(0, irkelv.getFan()); + + irkelv.setFan(255); + EXPECT_EQ(KELVINATOR_FAN_MAX, irkelv.getFan()); + + irkelv.setFan(KELVINATOR_FAN_MAX); + EXPECT_EQ(KELVINATOR_FAN_MAX, irkelv.getFan()); + + irkelv.setFan(KELVINATOR_FAN_MAX + 1); + EXPECT_EQ(KELVINATOR_FAN_MAX, irkelv.getFan()); + + irkelv.setFan(KELVINATOR_FAN_MAX - 1); + EXPECT_EQ(KELVINATOR_FAN_MAX - 1, irkelv.getFan()); + + irkelv.setFan(1); + EXPECT_EQ(1, irkelv.getFan()); + + irkelv.setFan(1); + EXPECT_EQ(1, irkelv.getFan()); + + irkelv.setFan(3); + EXPECT_EQ(3, irkelv.getFan()); +} + + +TEST(TestKelvinatorClass, MessageConstuction) { + IRKelvinatorAC irkelv(0); + IRsendTest irsend(4); + irkelv.begin(); + irsend.begin(); + + irkelv.setFan(1); + irkelv.setMode(KELVINATOR_COOL); + irkelv.setTemp(27); + irkelv.setSwingVertical(false); + irkelv.setSwingHorizontal(true); + irkelv.setIonFilter(true); + irkelv.setQuiet(false); + irkelv.setLight(false); + irkelv.setPower(true); + irkelv.setTurbo(false); + irkelv.setXFan(true); + + // Check everything for kicks. + EXPECT_EQ(1, irkelv.getFan()); + EXPECT_EQ(KELVINATOR_COOL, irkelv.getMode()); + EXPECT_EQ(27, irkelv.getTemp()); + EXPECT_FALSE(irkelv.getSwingVertical()); + EXPECT_TRUE(irkelv.getSwingHorizontal()); + EXPECT_TRUE(irkelv.getIonFilter()); + EXPECT_FALSE(irkelv.getQuiet()); + EXPECT_FALSE(irkelv.getLight()); + EXPECT_TRUE(irkelv.getPower()); + EXPECT_FALSE(irkelv.getTurbo()); + EXPECT_TRUE(irkelv.getXFan()); + + irsend.reset(); + irsend.sendKelvinator(irkelv.getRaw()); + EXPECT_EQ( + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s1560m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s1560m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s1560" + "m675s39900" + "m8990s4490" + "m675s1560m675s520m675s520m675s1560m675s1560m675s520m675s1560m675s520" + "m675s1560m675s1560m675s520m675s1560m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s1560m675s1560" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s520" + "m675s520m675s1560m675s520" + "m675s19950" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s520m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s520m675s520m675s520" + "m675s520m675s520m675s520m675s520m675s1560m675s1560m675s1560m675s1560" + "m675s39900", irsend.outputStr()); +} diff --git a/lib/IRremoteESP8266/test/ir_LG_test.cpp b/lib/IRremoteESP8266/test/ir_LG_test.cpp new file mode 100644 index 00000000..fbdaf712 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_LG_test.cpp @@ -0,0 +1,358 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "ir_LG.h" +#include "gtest/gtest.h" + +// Tests for calcLGChecksum() +TEST(TestCalcLGChecksum, General) { + EXPECT_EQ(0x0, calcLGChecksum(0x0)); + EXPECT_EQ(0x1, calcLGChecksum(0x1)); + EXPECT_EQ(0xF, calcLGChecksum(0xF)); + EXPECT_EQ(0x4, calcLGChecksum(0x1111)); + EXPECT_EQ(0x8, calcLGChecksum(0x2222)); + EXPECT_EQ(0x0, calcLGChecksum(0x4444)); + EXPECT_EQ(0xA, calcLGChecksum(0x1234)); + EXPECT_EQ(0xA, calcLGChecksum(0x4321)); + EXPECT_EQ(0xE, calcLGChecksum(0xABCD)); + EXPECT_EQ(0x1, calcLGChecksum(0x4AE5)); + EXPECT_EQ(0xC, calcLGChecksum(0xFFFF)); +} + +// Tests for sendLG(). + +// Test sending typical data only. +TEST(TestSendLG, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendLG(0x4B4AE51); + EXPECT_EQ( + "m8000s4000" + "m550s550m550s1600m550s550m550s550" + "m550s1600m550s550m550s1600m550s1600m550s550m550s1600m550s550m550s550" + "m550s1600m550s550m550s1600m550s550m550s1600m550s1600m550s1600m550s550" + "m550s550m550s1600m550s550m550s1600m550s550m550s550m550s550m550s1600" + "m550s108050", irsend.outputStr()); + + irsend.reset(); + irsend.sendLG(0xB4B4AE51, LG32_BITS); + EXPECT_EQ( + "m4480s4480" + "m560s1680m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s1680m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s1680m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s560m560s560m560s1680" + "m560s108080" + "m8950s2250m550s108050", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendLG, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendLG(0x4B4AE51, LG_BITS, 1); + EXPECT_EQ( + "m8000s4000" + "m550s550m550s1600m550s550m550s550" + "m550s1600m550s550m550s1600m550s1600m550s550m550s1600m550s550m550s550" + "m550s1600m550s550m550s1600m550s550m550s1600m550s1600m550s1600m550s550" + "m550s550m550s1600m550s550m550s1600m550s550m550s550m550s550m550s1600" + "m550s108050" + "m8000s2250m550s108050", irsend.outputStr()); + + irsend.reset(); + irsend.sendLG(0xB4B4AE51, LG32_BITS, 1); + EXPECT_EQ( + "m4480s4480" + "m560s1680m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s1680m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s1680m560s1680m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s560m560s560m560s1680" + "m560s108080" + "m8950s2250m550s108050" + "m8950s2250m550s108050", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendLG, SendUsualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendLG(0x0, 31); + EXPECT_EQ( + "m8000s4000" + "m550s550m550s550m550s550m550s550m550s550m550s550m550s550m550s550" + "m550s550m550s550m550s550m550s550m550s550m550s550m550s550m550s550" + "m550s550m550s550m550s550m550s550m550s550m550s550m550s550m550s550" + "m550s550m550s550m550s550m550s550m550s550m550s550m550s550" + "m550s108050", irsend.outputStr()); + + irsend.reset(); + irsend.sendLG(0x0, 64); + EXPECT_EQ( + "m4480s4480" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s108080" + "m8950s2250m550s108050", irsend.outputStr()); +} + +// Tests for encodeLG(). + +TEST(TestEncodeLG, NormalEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodeLG(0, 0)); + EXPECT_EQ(0x100011, irsend.encodeLG(1, 1)); + EXPECT_EQ(0x100022, irsend.encodeLG(1, 2)); + EXPECT_EQ(0x43001DE, irsend.encodeLG(0x43, 0x1D)); + EXPECT_EQ(0xB4B4AE51, irsend.encodeLG(0xB4B, 0x4AE5)); + EXPECT_EQ(0xAA0055A, irsend.encodeLG(0xAA, 0x55)); + EXPECT_EQ(0xFFFFFFFC, irsend.encodeLG(0xFFFF, 0xFFFF)); +} + +// Tests for decodeLG(). + +// Decode normal LG messages. +TEST(TestDecodeLG, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal LG 28-bit message. + irsend.reset(); + irsend.sendLG(0x4B4AE51, LG_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG_BITS, irsend.capture.bits); + EXPECT_EQ(0x4B4AE51, irsend.capture.value); + EXPECT_EQ(0x4B, irsend.capture.address); + EXPECT_EQ(0x4AE5, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal LG 32-bit message. + irsend.reset(); + irsend.sendLG(0xB4B4AE51, LG32_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG32_BITS, false)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG32_BITS, irsend.capture.bits); + EXPECT_EQ(0xB4B4AE51, irsend.capture.value); + EXPECT_EQ(0xB4B, irsend.capture.address); + EXPECT_EQ(0x4AE5, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal LG 28-bit message. + irsend.reset(); + irsend.sendLG(irsend.encodeLG(0x07, 0x99)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG_BITS, irsend.capture.bits); + EXPECT_EQ(0x700992, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal LG 32-bit message. + irsend.reset(); + irsend.sendLG(irsend.encodeLG(0x800, 0x8000), LG32_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG32_BITS, irsend.capture.bits); + EXPECT_EQ(0x80080008, irsend.capture.value); + EXPECT_EQ(0x800, irsend.capture.address); + EXPECT_EQ(0x8000, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated LG messages. +TEST(TestDecodeLG, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal LG 28-bit message with 2 repeats. + irsend.reset(); + irsend.sendLG(irsend.encodeLG(0x07, 0x99), LG_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG_BITS, irsend.capture.bits); + EXPECT_EQ(0x700992, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal LG 32-bit message with 2 repeats. + irsend.reset(); + irsend.sendLG(irsend.encodeLG(0x07, 0x99), LG32_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG32_BITS, irsend.capture.bits); + EXPECT_EQ(0x700992, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode unsupported LG message values. +TEST(TestDecodeLG, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Illegal values should be rejected when strict is on. + // Illegal LG 28-bit message value. + irsend.reset(); + irsend.sendLG(0x1); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, false)); + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG_BITS, false)); + + // Illegal LG 32-bit message value. + irsend.reset(); + irsend.sendLG(0x1111111, LG32_BITS); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG32_BITS, false)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG32_BITS, irsend.capture.bits); + EXPECT_EQ(0x1111111, irsend.capture.value); + EXPECT_EQ(0x11, irsend.capture.address); + EXPECT_EQ(0x1111, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.reset(); + irsend.sendLG(0x1111111, LG32_BITS); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, false)); +} + +// Decode unsupported LG message sizes. +TEST(TestDecodeLG, DecodeWithNonStrictSizes) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Illegal sizes should be rejected when strict is on. + // Illegal LG 16-bit message size. + irsend.reset(); + irsend.sendLG(irsend.encodeLG(0x07, 0x99), 16); + irsend.makeDecodeResult(); + // Should fail when unexpected against different bit sizes. + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, false)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, false)); + + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, 16, false)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(16, irsend.capture.bits); + EXPECT_EQ(0x992, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + + // Illegal LG 36-bit message size. + irsend.reset(); + irsend.sendLG(0x123456789, 36); // Illegal value LG 36-bit message. + irsend.makeDecodeResult(); + // Should fail when unexpected against different bit sizes. + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, false)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG32_BITS, false)); + + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, 36, false)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(36, irsend.capture.bits); + EXPECT_EQ(0x123456789, irsend.capture.value); + EXPECT_EQ(0x1234, irsend.capture.address); + EXPECT_EQ(0x5678, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeLG, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size LG 64-bit message. + irsend.sendLG(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, 64, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, 64, false)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0xFFFFFFFF, irsend.capture.address); + EXPECT_EQ(0xFFFF, irsend.capture.command); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeLG, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + +// TODO(anyone): Find a Global Cache example of the LG 28-bit message. + irsend.reset(); + // LG (32-bit) code from Global Cache. + uint16_t gc_test[75] = {38000, 1, 69, 341, 170, 21, 64, 21, 21, 21, 64, + 21, 64, 21, 21, 21, 64, 21, 21, 21, 21, 21, 64, + 21, 21, 21, 64, 21, 64, 21, 21, 21, 64, 21, 21, + 21, 21, 21, 64, 21, 21, 21, 64, 21, 21, 21, 64, + 21, 64, 21, 64, 21, 21, 21, 21, 21, 64, 21, 21, + 21, 64, 21, 21, 21, 21, 21, 21, 21, 64, 21, 1517, + 341, 85, 21, 3655}; + irsend.sendGC(gc_test, 75); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeLG(&irsend.capture, LG32_BITS, true)); + EXPECT_EQ(LG, irsend.capture.decode_type); + EXPECT_EQ(LG32_BITS, irsend.capture.bits); + EXPECT_EQ(0xB4B4AE51, irsend.capture.value); + EXPECT_EQ(0xB4B, irsend.capture.address); + EXPECT_EQ(0x4AE5, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-LG example via GlobalCache +TEST(TestDecodeLG, FailToDecodeNonLGExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeLG(&irsend.capture, LG_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Mitsubishi_test.cpp b/lib/IRremoteESP8266/test/ir_Mitsubishi_test.cpp new file mode 100644 index 00000000..2f28657f --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Mitsubishi_test.cpp @@ -0,0 +1,694 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "ir_Mitsubishi.h" +#include "gtest/gtest.h" + +// Tests for sendMitsubishi(). + +// Test sending typical data only. +TEST(TestSendMitsubishi, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendMitsubishi(0xE242); + EXPECT_EQ( + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580" + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580", irsend.outputStr()); + + irsend.reset(); + irsend.sendMitsubishi(0x0); + EXPECT_EQ( + "m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900" + "m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900" + "m300s53580" + "m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900" + "m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900" + "m300s53580", irsend.outputStr()); + + irsend.reset(); + irsend.sendMitsubishi(0x4321); + EXPECT_EQ( + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s2100" + "m300s900m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100" + "m300s53580" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s2100" + "m300s900m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100" + "m300s53580", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendMitsubishi, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendMitsubishi(0xE242, MITSUBISHI_BITS, 0); // 0 repeat. + EXPECT_EQ( + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580", irsend.outputStr()); + + irsend.reset(); + irsend.sendMitsubishi(0xE242, MITSUBISHI_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580" + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580", irsend.outputStr()); + irsend.sendMitsubishi(0xE242, MITSUBISHI_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580" + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580" + "m300s2100m300s2100m300s2100m300s900m300s900m300s900m300s2100m300s900" + "m300s900m300s2100m300s900m300s900m300s900m300s900m300s2100m300s900" + "m300s53580", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendMitsubishi, SendUsualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendMitsubishi(0x0, 8); + EXPECT_EQ( + "m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900" + "m300s53580" + "m300s900m300s900m300s900m300s900m300s900m300s900m300s900m300s900" + "m300s53580", irsend.outputStr()); + + irsend.reset(); + irsend.sendMitsubishi(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m300s900m300s900m300s900m300s2100m300s900m300s900m300s2100m300s900" + "m300s900m300s900m300s2100m300s2100m300s900m300s2100m300s900m300s900" + "m300s900m300s2100m300s900m300s2100m300s900m300s2100m300s2100m300s900" + "m300s900m300s2100m300s2100m300s2100m300s2100m300s900m300s900m300s900" + "m300s2100m300s900m300s900m300s2100m300s900m300s900m300s900m300s900" + "m300s2100m300s900m300s2100m300s900m300s2100m300s900m300s2100m300s2100" + "m300s2100m300s2100m300s900m300s900m300s2100m300s2100m300s900m300s2100" + "m300s2100m300s2100m300s2100m300s900m300s2100m300s2100m300s2100m300s2100" + "m300s53580" + "m300s900m300s900m300s900m300s2100m300s900m300s900m300s2100m300s900" + "m300s900m300s900m300s2100m300s2100m300s900m300s2100m300s900m300s900" + "m300s900m300s2100m300s900m300s2100m300s900m300s2100m300s2100m300s900" + "m300s900m300s2100m300s2100m300s2100m300s2100m300s900m300s900m300s900" + "m300s2100m300s900m300s900m300s2100m300s900m300s900m300s900m300s900" + "m300s2100m300s900m300s2100m300s900m300s2100m300s900m300s2100m300s2100" + "m300s2100m300s2100m300s900m300s900m300s2100m300s2100m300s900m300s2100" + "m300s2100m300s2100m300s2100m300s900m300s2100m300s2100m300s2100m300s2100" + "m300s53580", irsend.outputStr()); +} + +// Decode normal Mitsubishi messages. +TEST(TestDecodeMitsubishi, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Mitsubishi 16-bit message. + irsend.reset(); + irsend.sendMitsubishi(0xC2B8); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.reset(); + irsend.sendMitsubishi(0x0); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.reset(); + irsend.sendMitsubishi(0xFFFF); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0xFFFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Non-standard Mitsubishi sizes should fail with strict. + irsend.reset(); + // 12 bits. + irsend.sendMitsubishi(0xFFF, 12); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 12, true)); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 64, true)); + + // 32 bits. + irsend.sendMitsubishi(0xFFF, 32); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 12, true)); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 32, true)); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 64, true)); +} + +// Decode normal repeated Mitsubishi messages. +TEST(TestDecodeMitsubishi, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Mitsubishi 16-bit message with 2 repeats. + irsend.reset(); + irsend.sendMitsubishi(0xC2B8, MITSUBISHI_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Mitsubishi 16-bit message with 0 repeats. + irsend.reset(); + irsend.sendMitsubishi(0xC2B8, MITSUBISHI_BITS, 0); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0xC2B8, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode unsupported Mitsubishi messages. +TEST(TestDecodeMitsubishi, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendMitsubishi(0x0, 8); // Illegal sized Mitsubishi 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, 8, false)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 64, false)); + + irsend.reset(); + // Illegal sized Mitsubishi 64-bit message. + irsend.sendMitsubishi(0xFEDCBA9876543210, 64); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture, 64, false)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFEDCBA9876543210, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + // Should fail when we are after a shorter message than we got. + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, 8, false)); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeMitsubishi, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Mitsubishi "Power On" (16-bit) code from Global Cache. + uint16_t gc_test[37] = {33000, 1, 1, 10, 70, 10, 70, 10, 70, 10, 30, 10, 30, + 10, 30, 10, 70, 10, 30, 10, 30, 10, 70, 10, 30, + 10, 30, 10, 30, 10, 30, 10, 70, 10, 30, 10, 936}; + irsend.sendGC(gc_test, 37); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeMitsubishi(&irsend.capture)); + EXPECT_EQ(MITSUBISHI, irsend.capture.decode_type); + EXPECT_EQ(MITSUBISHI_BITS, irsend.capture.bits); + EXPECT_EQ(0xE242, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-Mitsubishi example via GlobalCache +TEST(TestDecodeMitsubishi, FailToDecodeNonMitsubishiExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeMitsubishi(&irsend.capture, MITSUBISHI_BITS, + false)); +} + +// Tests for Mitsubishi A/C methods. + +// Test sending typical data only. +TEST(TestSendMitsubishiAC, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t mitsub_code[MITSUBISHI_AC_STATE_LENGTH] = { + 0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x08, 0x06, 0x30, + 0x45, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}; + irsend.reset(); + irsend.sendMitsubishiAC(mitsub_code); + EXPECT_EQ( + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m440s17100" + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m440s17100", irsend.outputStr()); +} + +// Test sending with repeats. +TEST(TestSendMitsubishiAC, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + uint8_t mitsub_code[MITSUBISHI_AC_STATE_LENGTH] = { + 0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, 0x08, 0x06, 0x30, + 0x45, 0x67, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F}; + + irsend.sendMitsubishiAC(mitsub_code, MITSUBISHI_AC_STATE_LENGTH, 0); + EXPECT_EQ( + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m440s17100", irsend.outputStr()); + + irsend.reset(); + irsend.sendMitsubishiAC(mitsub_code, MITSUBISHI_AC_STATE_LENGTH, 2); + EXPECT_EQ( + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m440s17100" + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m440s17100" + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m440s17100", irsend.outputStr()); +} + +// Test sending atypical sizes. +TEST(TestSendMitsubishiAC, SendUnexpectedSizes) { + IRsendTest irsend(4); + irsend.begin(); + + uint8_t mitsub_short_code[17] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, + 0x08, 0x06, 0x30, 0x45, 0x67, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00}; + uint8_t mitsub_long_code[19] = {0x23, 0xCB, 0x26, 0x01, 0x00, 0x20, + 0x08, 0x06, 0x30, 0x45, 0x67, 0x00, + 0x00, 0x00, 0x00, 0x00, 0x00, 0x1F, + 0x00}; + irsend.reset(); + irsend.sendMitsubishiAC(mitsub_short_code, 17); + ASSERT_EQ("", irsend.outputStr()); + + irsend.reset(); + irsend.sendMitsubishiAC(mitsub_long_code, 19); + ASSERT_EQ( + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m440s17100" + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s1300m450s1300m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s1300m450s420m450s420m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s1300m450s1300m450s1300m450s1300m450s1300m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m440s17100", irsend.outputStr()); +} + +// Tests for IRMitsubishiAC class. + +TEST(TestMitsubishiACClass, Power) { + IRMitsubishiAC mitsub(0); + mitsub.begin(); + + mitsub.on(); + EXPECT_TRUE(mitsub.getPower()); + + mitsub.off(); + EXPECT_FALSE(mitsub.getPower()); + + mitsub.setPower(true); + EXPECT_TRUE(mitsub.getPower()); + + mitsub.setPower(false); + EXPECT_FALSE(mitsub.getPower()); +} + +TEST(TestMitsubishiACClass, Temperature) { + IRMitsubishiAC mitsub(0); + mitsub.begin(); + + mitsub.setTemp(0); + EXPECT_EQ(MITSUBISHI_AC_MIN_TEMP, mitsub.getTemp()); + + mitsub.setTemp(255); + EXPECT_EQ(MITSUBISHI_AC_MAX_TEMP, mitsub.getTemp()); + + mitsub.setTemp(MITSUBISHI_AC_MIN_TEMP); + EXPECT_EQ(MITSUBISHI_AC_MIN_TEMP, mitsub.getTemp()); + + mitsub.setTemp(MITSUBISHI_AC_MAX_TEMP); + EXPECT_EQ(MITSUBISHI_AC_MAX_TEMP, mitsub.getTemp()); + + mitsub.setTemp(MITSUBISHI_AC_MIN_TEMP - 1); + EXPECT_EQ(MITSUBISHI_AC_MIN_TEMP, mitsub.getTemp()); + + mitsub.setTemp(MITSUBISHI_AC_MAX_TEMP + 1); + EXPECT_EQ(MITSUBISHI_AC_MAX_TEMP, mitsub.getTemp()); + + mitsub.setTemp(17); + EXPECT_EQ(17, mitsub.getTemp()); + + mitsub.setTemp(21); + EXPECT_EQ(21, mitsub.getTemp()); + + mitsub.setTemp(25); + EXPECT_EQ(25, mitsub.getTemp()); + + mitsub.setTemp(30); + EXPECT_EQ(30, mitsub.getTemp()); +} + +TEST(TestMitsubishiACClass, OperatingMode) { + IRMitsubishiAC mitsub(0); + mitsub.begin(); + + mitsub.setMode(MITSUBISHI_AC_AUTO); + EXPECT_EQ(MITSUBISHI_AC_AUTO, mitsub.getMode()); + + mitsub.setMode(MITSUBISHI_AC_COOL); + EXPECT_EQ(MITSUBISHI_AC_COOL, mitsub.getMode()); + + mitsub.setMode(MITSUBISHI_AC_HEAT); + EXPECT_EQ(MITSUBISHI_AC_HEAT, mitsub.getMode()); + + mitsub.setMode(MITSUBISHI_AC_DRY); + EXPECT_EQ(MITSUBISHI_AC_DRY, mitsub.getMode()); + + mitsub.setMode(MITSUBISHI_AC_AUTO + 1); + EXPECT_EQ(MITSUBISHI_AC_AUTO, mitsub.getMode()); + + mitsub.setMode(255); + EXPECT_EQ(MITSUBISHI_AC_AUTO, mitsub.getMode()); +} + +TEST(TestMitsubishiACClass, VaneMode) { + IRMitsubishiAC mitsub(0); + mitsub.begin(); + + mitsub.setVane(MITSUBISHI_AC_VANE_AUTO); + EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO, mitsub.getVane()); + + mitsub.setVane(MITSUBISHI_AC_VANE_AUTO + 1); + EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO + 1, mitsub.getVane()); + + mitsub.setVane(MITSUBISHI_AC_VANE_AUTO_MOVE); + EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO_MOVE, mitsub.getVane()); + + mitsub.setVane(MITSUBISHI_AC_VANE_AUTO_MOVE + 1); + EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO_MOVE, mitsub.getVane()); + + mitsub.setVane(MITSUBISHI_AC_VANE_AUTO_MOVE - 1); + EXPECT_EQ(MITSUBISHI_AC_VANE_AUTO_MOVE - 1, mitsub.getVane()); +} + +TEST(TestMitsubishiACClass, FanSpeed) { + IRMitsubishiAC mitsub(0); + mitsub.begin(); + + mitsub.setFan(MITSUBISHI_AC_FAN_AUTO); + EXPECT_EQ(MITSUBISHI_AC_FAN_AUTO, mitsub.getFan()); + + mitsub.setFan(255); + EXPECT_EQ(MITSUBISHI_AC_FAN_REAL_MAX, mitsub.getFan()); + + mitsub.setFan(MITSUBISHI_AC_FAN_MAX); + EXPECT_EQ(MITSUBISHI_AC_FAN_REAL_MAX, mitsub.getFan()); + + mitsub.setFan(MITSUBISHI_AC_FAN_MAX - 1); + EXPECT_EQ(MITSUBISHI_AC_FAN_MAX - 1, mitsub.getFan()); + + mitsub.setFan(1); + EXPECT_EQ(1, mitsub.getFan()); + + mitsub.setFan(2); + EXPECT_EQ(2, mitsub.getFan()); + + mitsub.setFan(3); + EXPECT_EQ(3, mitsub.getFan()); + + mitsub.setFan(4); + EXPECT_EQ(4, mitsub.getFan()); + + mitsub.setFan(MITSUBISHI_AC_FAN_SILENT); + EXPECT_EQ(MITSUBISHI_AC_FAN_SILENT, mitsub.getFan()); + + mitsub.setFan(MITSUBISHI_AC_FAN_SILENT + 1); + EXPECT_EQ(MITSUBISHI_AC_FAN_REAL_MAX, mitsub.getFan()); +} + +TEST(TestMitsubishiACClass, MessageConstuction) { + IRMitsubishiAC mitsub(0); + IRsendTest irsend(4); + mitsub.begin(); + irsend.begin(); + + mitsub.setFan(1); + mitsub.setMode(MITSUBISHI_AC_COOL); + mitsub.setTemp(27); + mitsub.setVane(3); + mitsub.on(); + + // Check everything for kicks. + EXPECT_EQ(1, mitsub.getFan()); + EXPECT_EQ(MITSUBISHI_AC_COOL, mitsub.getMode()); + EXPECT_EQ(27, mitsub.getTemp()); + EXPECT_EQ(3, mitsub.getVane()); + EXPECT_TRUE(mitsub.getPower()); + + irsend.reset(); + irsend.sendMitsubishiAC(mitsub.getRaw()); + EXPECT_EQ( + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s1300m450s1300m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s1300m450s420" + "m440s17100" + "m3400s1750" + "m450s1300m450s1300m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s1300m450s1300" + "m450s420m450s1300m450s1300m450s420m450s420m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s1300m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420m450s420" + "m450s1300m450s1300m450s420m450s1300m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s1300m450s1300m450s420m450s420" + "m450s1300m450s420m450s420m450s1300m450s1300m450s420m450s1300m450s420" + "m450s1300m450s1300m450s1300m450s420m450s420m450s1300m450s1300m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s420m450s420m450s420m450s420m450s420" + "m450s420m450s420m450s420m450s1300m450s420m450s420m450s1300m450s420" + "m440s17100", irsend.outputStr()); +} diff --git a/lib/IRremoteESP8266/test/ir_NEC_test.cpp b/lib/IRremoteESP8266/test/ir_NEC_test.cpp new file mode 100644 index 00000000..781aa38d --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_NEC_test.cpp @@ -0,0 +1,320 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendNEC(). + +// Test sending typical data only. +TEST(TestSendNEC, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendNEC(0); + EXPECT_EQ("m8960s4480m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s108080", irsend.outputStr()); + irsend.sendNEC(0xAA00FF55); + EXPECT_EQ("m8960s4480m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s1680m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s560m560s1680m560s108080", + irsend.outputStr()); +} + +// Test sending different bit lengths. +TEST(TestSendNEC, SendSmallData) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendNEC(0xA, 4); // Send only 4 data bits. + EXPECT_EQ("m8960s4480m560s1680m560s560m560s1680m560s560m560s108080", + irsend.outputStr()); + irsend.sendNEC(0, 8); // Send only 8 data bits. + EXPECT_EQ("m8960s4480m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s108080", irsend.outputStr()); + irsend.sendNEC(0x1234567890ABCDEF, 64); // Send 64 data bits. + EXPECT_EQ("m8960s4480m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s1680m560s560m560s560m560s560m560s1680m560s1680m560s560" + "m560s1680m560s560m560s560m560s560m560s1680m560s560m560s1680" + "m560s560m560s1680m560s1680m560s560m560s560m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s1680m560s560" + "m560s560m560s1680m560s560m560s560m560s560m560s560m560s1680m560s560" + "m560s1680m560s560m560s1680m560s560m560s1680m560s1680m560s1680" + "m560s1680m560s560m560s560m560s1680m560s1680m560s560m560s1680" + "m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s1680" + "m560s1680m560s108080", irsend.outputStr()); +} + +// Test sending with repeats. +TEST(TestSendNEC, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + irsend.sendNEC(0, 8, 0); // Send a command with 0 repeats. + EXPECT_EQ("m8960s4480m560s560m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s108080", irsend.outputStr()); + irsend.sendNEC(0xAA, 8, 1); // Send a command with 1 repeat. + EXPECT_EQ("m8960s4480m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s108080" + "m8960s2240m560s108080", + irsend.outputStr()); + irsend.sendNEC(0xAA, 8, 3); // Send a command with 3 repeats. + EXPECT_EQ("m8960s4480m560s1680m560s560m560s1680m560s560m560s1680m560s560" + "m560s1680m560s560m560s108080" + "m8960s2240m560s108080" + "m8960s2240m560s108080" + "m8960s2240m560s108080", + irsend.outputStr()); +} + +// Tests for encodeNEC(). + +TEST(TestEncodeNEC, NormalNECEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x807F40BF, irsend.encodeNEC(1, 2)); + EXPECT_EQ(0x9A656897, irsend.encodeNEC(0x59, 0x16)); +} + +TEST(TestEncodeNEC, ExtendedNECEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x9A806897, irsend.encodeNEC(0x159, 0x16)); +} + +TEST(TestEncodeNEC, CommandTrimmedTo8Bits) { + IRsendTest irsend(4); + EXPECT_EQ(irsend.encodeNEC(0x1, 0x2), irsend.encodeNEC(0x1, 0xF02)); + EXPECT_EQ(irsend.encodeNEC(0xFFF0, 0x2), irsend.encodeNEC(0xFFF0, 0xF02)); +} + +// Tests for decodeNEC(). +// Decode normal NEC messages. +TEST(TestDecodeNEC, NormalNECDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Synthesised Normal NEC message. + irsend.reset(); + irsend.sendNEC(irsend.encodeNEC(0x1, 0x2)); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x807F40BF, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x2, irsend.capture.command); + + // Real-life Extended NEC code from an actual capture/decode. + irsend.reset(); + irsend.sendNEC(0xC1A28877); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC1A28877, irsend.capture.value); + EXPECT_EQ(0x4583, irsend.capture.address); + EXPECT_EQ(0x11, irsend.capture.command); + + // Test strict decoding rejects a NEC-like message. + irsend.reset(); + irsend.sendNEC(0x0); + irsend.makeDecodeResult(); + EXPECT_FALSE(irrecv.decodeNEC(&irsend.capture)); + + // Synthesised Normal NEC message with a repeat. + irsend.reset(); + irsend.sendNEC(irsend.encodeNEC(0x1, 0x2), 32, 1); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x807F40BF, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x2, irsend.capture.command); +} + +// NEC-like messages without strict mode. +TEST(TestDecodeNEC, NormalNECDecodeWithoutStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendNEC(0x0); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture, 32, false)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0, irsend.capture.value); + EXPECT_EQ(0, irsend.capture.address); + EXPECT_EQ(0, irsend.capture.command); + + irsend.reset(); + irsend.sendNEC(0x12345678); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture, 32, false)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + EXPECT_EQ(0x2C48, irsend.capture.address); + EXPECT_EQ(0, irsend.capture.command); +} + +// Short NEC-like messages (without strict naturally) +TEST(TestDecodeNEC, ShortNECDecodeWithoutStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendNEC(0x0, 16); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture, 16, false)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(16, irsend.capture.bits); + EXPECT_EQ(0, irsend.capture.value); + EXPECT_EQ(0, irsend.capture.address); + EXPECT_EQ(0, irsend.capture.command); + + // Expecting less than what was sent is not valid. + irsend.reset(); + irsend.sendNEC(0x0, 32); + irsend.makeDecodeResult(); + EXPECT_FALSE(irrecv.decodeNEC(&irsend.capture, 16, false)); + + // Send 16 bits of data, but fail because we are expecting 17. + irsend.reset(); + irsend.sendNEC(0x0, 16); + irsend.makeDecodeResult(); + EXPECT_FALSE(irrecv.decodeNEC(&irsend.capture, 17, false)); +} + +// Longer NEC-like messages (without strict naturally) +TEST(TestDecodeNEC, LongerNECDecodeWithoutStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendNEC(0x1234567890ABCDEF, 64); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture, 64, false)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0x1234567890ABCDEF, irsend.capture.value); + EXPECT_EQ(0xD509, irsend.capture.address); + EXPECT_EQ(0, irsend.capture.command); + + // Send 63 bits of data, but fail because we are expecting 64. + irsend.reset(); + irsend.sendNEC(0x0, 63); + irsend.makeDecodeResult(); + EXPECT_FALSE(irrecv.decodeNEC(&irsend.capture, 64, false)); +} + +// Incorrect decoding reported in Issue #243 +// Incorrect handling of decodes when there is no gap recorded at +// the end of a command when using the interrupt code. sendRaw() best emulates +// this for unit testing purposes. sendGC() and sendXXX() will add the trailing +// gap. Users won't see this in normal use. +TEST(TestDecodeNEC, NoTrailingGap_Issue243) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + uint16_t rawData[67] = {9000, 4500, 650, 550, 650, 1650, 600, 550, 650, 550, + 600, 1650, 650, 550, 600, 1650, 650, 1650, 650, 1650, + 600, 550, 650, 1650, 650, 1650, 650, 550, 600, 1650, + 650, 1650, 650, 550, 650, 550, 650, 1650, 650, 550, + 650, 550, 650, 550, 600, 550, 650, 550, 650, 550, + 650, 1650, 600, 550, 650, 1650, 650, 1650, 650, 1650, + 650, 1650, 650, 1650, 650, 1650, 600}; + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x4BB640BF, irsend.capture.value); + EXPECT_EQ(0x6DD2, irsend.capture.address); + EXPECT_EQ(0x2, irsend.capture.command); + + irsend.reset(); + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x4BB640BF, irsend.capture.value); + + // Add a zero length space to the message to test how it handles that as + // a end of command gap. + irsend.addGap(0); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x4BB640BF, irsend.capture.value); +} + +// Inconsistent decoding for unknown in Issue #264 +// Reported issues decoding an Apple Remote. Apple doesn't appear to respect +// or use the command structure/checks in the NEC protocol. +TEST(TestDecodeNEC, NonStrictNECDecode_Issue264) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Slightly modified example than reported due to poor timings that are too + // far out of spec. + uint16_t rawData[67] = {9150, 4650, 550, 600, 550, 1800, 600, 1750, 600, 1800, + 550, 600, 550, 1800, 550, 1750, 600, 1750, 600, 1750, + 600, 1750, 600, 1700, 600, 600, 600, 600, 550, 600, + 600, 600, 600, 1750, 600, 1750, 600, 600, 550, 1800, + 600, 600, 600, 600, 600, 600, 500, 600, 600, 600, + 600, 600, 600, 1750, 600, 600, 600, 550, 600, 600, + 600, 600, 600, 600, 600, 550, 600}; + + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + EXPECT_FALSE(irrecv.decodeNEC(&irsend.capture)); // Not strictly NEC + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture, NEC_BITS, false)); + EXPECT_EQ(0x77E1A040, irsend.capture.value); + + // Do it all again, but with a normal decode. + irsend.reset(); + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC_LIKE, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x77E1A040, irsend.capture.value); +} + +TEST(TestDecodeNEC, AutoReceiveCalibration) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Data from Issue #264, for a remote that is slightly off spec. + // Should be matched as a NEC-like message however without self-calibrating + // the timings of the short spaces is out. + uint16_t rawData[67] = {9150, 4600, 650, 600, 650, 1650, 650, 1700, 650, 1750, + 650, 600, 650, 1700, 650, 1750, 650, 1750, 650, 1700, + 650, 1700, 650, 1700, 650, 600, 650, 600, 650, 600, + 600, 600, 650, 1750, 650, 1750, 650, 600, 650, 1700, + 600, 600, 700, 550, 650, 550, 650, 600, 650, 600, + 650, 600, 650, 1750, 600, 600, 650, 600, 650, 550, + 650, 600, 650, 600, 650, 600, 600}; + + irsend.sendRaw(rawData, 67, 38); + irsend.makeDecodeResult(); + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture, NEC_BITS, false)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x77E1A040, irsend.capture.value); +} diff --git a/lib/IRremoteESP8266/test/ir_Panasonic_test.cpp b/lib/IRremoteESP8266/test/ir_Panasonic_test.cpp new file mode 100644 index 00000000..3f27b90b --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Panasonic_test.cpp @@ -0,0 +1,457 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for encodePanasonic(). + +TEST(TestEncodePanasonic, General) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodePanasonic(0, 0, 0, 0)); + EXPECT_EQ(0x101010101, irsend.encodePanasonic(1, 1, 1, 1)); + EXPECT_EQ(0xFFFF, irsend.encodePanasonic(0, 0, 0, 0xFF)); + EXPECT_EQ(0xFF00FF, irsend.encodePanasonic(0, 0, 0xFF, 0)); + EXPECT_EQ(0xFF0000FF, irsend.encodePanasonic(0, 0xFF, 0, 0)); + EXPECT_EQ(0xFFFF00000000, irsend.encodePanasonic(0xFFFF, 0, 0, 0)); + EXPECT_EQ(0xFFFFFFFFFFFF, irsend.encodePanasonic(0xFFFF, 0xFF, 0xFF, 0xFF)); + EXPECT_EQ(0x40040190ED7C, irsend.encodePanasonic(0x4004, 0x01, 0x90, 0xED)); +} + + +// Tests for sendPanasonic64(). + +// Test sending typical data only. +TEST(TestSendPanasonic64, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendPanasonic64(0x0); + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s129600", irsend.outputStr()); + + irsend.reset(); + irsend.sendPanasonic64(0x40040190ED7C); + EXPECT_EQ( + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600", irsend.outputStr()); + + irsend.reset(); + irsend.sendPanasonic64(0xFFFFFFFFFFFF); + EXPECT_EQ( + "m3456s1728" + "m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296" + "m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296" + "m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296" + "m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296" + "m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296" + "m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296m432s1296" + "m432s129600", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendPanasonic64, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendPanasonic64(0x40040190ED7C, PANASONIC_BITS, 0); // 0 repeats. + EXPECT_EQ( + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600", irsend.outputStr()); + + irsend.reset(); + irsend.sendPanasonic64(0x40040190ED7C, PANASONIC_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600" + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600", irsend.outputStr()); + + irsend.sendPanasonic64(0x40040190ED7C, PANASONIC_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600" + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600" + "m3456s1728" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s432m432s1296" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s129600", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendPanasonic64, SendUnusualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendPanasonic64(0x0, 8); + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s129600", irsend.outputStr()); + + irsend.reset(); + irsend.sendPanasonic64(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m3456s1728" + "m432s432m432s432m432s432m432s1296m432s432m432s432m432s1296m432s432" + "m432s432m432s432m432s1296m432s1296m432s432m432s1296m432s432m432s432" + "m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s1296m432s432" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s432m432s432m432s432" + "m432s1296m432s432m432s432m432s1296m432s432m432s432m432s432m432s432" + "m432s1296m432s432m432s1296m432s432m432s1296m432s432m432s1296m432s1296" + "m432s1296m432s1296m432s432m432s432m432s1296m432s1296m432s432m432s1296" + "m432s1296m432s1296m432s1296m432s432m432s1296m432s1296m432s1296m432s1296" + "m432s129600", irsend.outputStr()); +} + +// Tests for sendPanasonic(). + +TEST(TestSendPanasonic, CompareToSendPanasonic64) { + IRsendTest panasonic(4); + IRsendTest panasonic64(0); + + panasonic.begin(); + panasonic64.begin(); + + panasonic.reset(); + panasonic64.reset(); + + panasonic.sendPanasonic(0x4004, 0x0190ED7C); + panasonic64.sendPanasonic64(0x40040190ED7C); + EXPECT_EQ(panasonic64.outputStr(), panasonic.outputStr()); + + panasonic.sendPanasonic(0x0, 0x0); + panasonic64.sendPanasonic64(0x0); + EXPECT_EQ(panasonic64.outputStr(), panasonic.outputStr()); + + panasonic.sendPanasonic(0x0, 0x0, 8); + panasonic64.sendPanasonic64(0x0, 8); + EXPECT_EQ(panasonic64.outputStr(), panasonic.outputStr()); + + panasonic.sendPanasonic(0x1234, 0x567890AB, 64); + panasonic64.sendPanasonic64(0x1234567890AB, 64); + EXPECT_EQ(panasonic64.outputStr(), panasonic.outputStr()); + + panasonic.sendPanasonic(0x1234, 0x567890AB, PANASONIC_BITS, 2); + panasonic64.sendPanasonic64(0x1234567890AB, PANASONIC_BITS, 2); + EXPECT_EQ(panasonic64.outputStr(), panasonic.outputStr()); +} + +// Tests for decodePanasonic(). + +// Decode normal Panasonic messages. +TEST(TestDecodePanasonic, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Panasonic 48-bit message. + irsend.reset(); + irsend.sendPanasonic64(0x40040190ED7C); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x0190ED7C, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal Panasonic 48-bit message. + irsend.reset(); + irsend.sendPanasonic64(irsend.encodePanasonic(0x4004, 0x12, 0x34, 0x56)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x400412345670, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x12345670, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal Panasonic 48-bit message. + irsend.reset(); + irsend.sendPanasonic64(irsend.encodePanasonic(0x4004, 0x1, 0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x400401010101, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x1010101, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated Panasonic messages. +TEST(TestDecodePanasonic, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Panasonic 48-bit message with 2 repeats. + irsend.reset(); + irsend.sendPanasonic64(0x40040190ED7C, PANASONIC_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x190ED7C, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.makeDecodeResult(2 * PANASONIC_BITS + 4); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); + + irsend.makeDecodeResult(2 * (2 * PANASONIC_BITS + 4)); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); +} + +// Decode Panasonic messages with unsupported values. +TEST(TestDecodePanasonic, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendPanasonic64(0x0); // Illegal value Panasonic 48-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, false)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + // Illegal address/Manufacturer code. The rest is legal. + irsend.sendPanasonic64(irsend.encodePanasonic(0, 1, 2, 3)); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, false)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x1020300, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x1020300, irsend.capture.command); +} + +// Decode Panasonic messages with unsupported size/lengths. +TEST(TestDecodePanasonic, DecodeWithNonStrictSize) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendPanasonic64(0x12345678, 32); // Illegal size Panasonic message. + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, 32, false)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x12345678, irsend.capture.command); + + // Illegal over length (56-bit) message. + irsend.reset(); + irsend.sendPanasonic64(irsend.encodePanasonic(0x4004, 1, 2, 3), 56); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + // Shouldn't pass if strict off and wrong bit size. + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, false)); + // Re-decode with correct bit size. + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, 56, true)); + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, 56, false)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(56, irsend.capture.bits); + EXPECT_EQ(0x400401020300, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x01020300, irsend.capture.command); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodePanasonic, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size Panasonic 64-bit message. + irsend.sendPanasonic64(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, 64, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, 64, false)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0xFFFFFFFF, irsend.capture.address); + EXPECT_EQ(0xFFFFFFFF, irsend.capture.command); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodePanasonic, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Panasonic code from Global Cache. + uint16_t gc_test[103] = {37000, 1, 1, 126, 64, 16, 17, 16, 49, 15, 16, 16, 16, + 16, 16, 16, 17, 15, 17, 15, 17, 15, 17, 15, 16, 16, + 16, 16, 16, 16, 17, 15, 49, 16, 16, 16, 16, 16, 17, + 15, 17, 15, 17, 15, 17, 15, 16, 16, 16, 16, 16, 16, + 49, 15, 49, 16, 17, 15, 17, 15, 49, 16, 16, 16, 17, + 16, 17, 15, 17, 15, 49, 16, 49, 15, 49, 16, 17, 16, + 49, 15, 49, 16, 17, 15, 48, 16, 16, 16, 49, 15, 48, + 16, 49, 15, 49, 16, 49, 15, 17, 15, 16, 16, 2721}; + irsend.sendGC(gc_test, 103); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, true)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x0190ED7C, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040190ED7C, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x0190ED7C, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-Panasonic example via GlobalCache +TEST(TestDecodePanasonic, FailToDecodeNonPanasonicExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture)); + ASSERT_FALSE(irrecv.decodePanasonic(&irsend.capture, PANASONIC_BITS, false)); +} + +// Failing to decode Panasonic in Issue #245 +TEST(TestDecodePanasonic, DecodeIssue245) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + + uint16_t rawData[100] = {3550, 1750, 500, 450, 500, 1300, 500, 450, 500, 450, + 500, 450, 500, 450, 500, 450, 500, 450, 500, 450, + 500, 450, 500, 450, 500, 450, 500, 450, 500, 1300, + 500, 450, 500, 450, 500, 450, 500, 450, 500, 450, + 500, 450, 500, 450, 500, 450, 500, 450, 500, 1300, + 500, 450, 500, 450, 500, 450, 500, 450, 500, 450, + 500, 450, 500, 450, 500, 450, 500, 1300, 500, 450, + 500, 1300, 500, 1300, 500, 1300, 500, 1300, 500, 450, + 500, 450, 500, 1300, 500, 450, 500, 1300, 500, 1300, + 500, 1300, 500, 1300, 500, 450, 500, 1300, 500, 5000}; + + irsend.sendRaw(rawData, 100, 37); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodePanasonic(&irsend.capture)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040100BCBD, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x100BCBD, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.reset(); + irsend.sendRaw(rawData, 99, 37); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x40040100BCBD, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x100BCBD, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} diff --git a/lib/IRremoteESP8266/test/ir_Pronto_test.cpp b/lib/IRremoteESP8266/test/ir_Pronto_test.cpp new file mode 100644 index 00000000..7fbe3955 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Pronto_test.cpp @@ -0,0 +1,358 @@ +// Copyright 2017 David Conran +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendPronto(). + +TEST(TestSendPronto, CodeTooShort) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // Less entries than the smallest possible (practical) Pronto code. + uint16_t pronto_test[5] = {0x0000, 0x0067, 0x0034, 0x0000, 0x0000}; + irsend.sendPronto(pronto_test, 5); + EXPECT_EQ("", irsend.outputStr()); // Should do nothing. +} + +TEST(TestSendPronto, NormalSequenceTooLong) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // The First 'Normal' sequence is declared to be longer than the data we have. + uint16_t pronto_test[6] = {0x0000, 0x0067, 0x0010, 0x0000, 0x0000, 0x0000}; + irsend.sendPronto(pronto_test, 6); + EXPECT_EQ("", irsend.outputStr()); // Should do nothing. +} + +TEST(TestSendPronto, RepeatSequenceTooLong) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // The 2nd 'Repeat' sequence is declared to be longer than the data we have. + uint16_t pronto_test[6] = {0x0000, 0x0067, 0x0000, 0x0010, 0x0000, 0x0000}; + irsend.sendPronto(pronto_test, 6); + EXPECT_EQ("", irsend.outputStr()); // Should do nothing. +} + +TEST(TestSendPronto, BothSequencesTooLong) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // All sequences are declared to be longer than the data we have. + uint16_t pronto_test[6] = {0x0000, 0x0067, 0x0010, 0x0010, 0x0000, 0x0000}; + irsend.sendPronto(pronto_test, 6); + EXPECT_EQ("", irsend.outputStr()); // Should do nothing. +} + +TEST(TestSendPronto, MoreDataThanNeededInNormal) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // We should handle when we are given more data than needed. (normal seq.) + uint16_t pronto_test[8] = {0x0000, 0x0067, 0x0001, 0x0000, + 0x0001, 0x0002, 0x0003, 0x0004}; + irsend.sendPronto(pronto_test, 8); + EXPECT_EQ("m25s50", irsend.outputStr()); // Only send the data required. +} + +TEST(TestSendPronto, MoreDataThanNeededInRepeat) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // We should handle when we are given more data than needed. (repeat seq.) + uint16_t pronto_test[8] = {0x0000, 0x0067, 0x0000, 0x0001, + 0x0001, 0x0002, 0x0003, 0x0004}; + irsend.sendPronto(pronto_test, 8); + EXPECT_EQ("m25s50", irsend.outputStr()); // Only send the data required. +} + +TEST(TestSendPronto, MoreDataThanNeededInBoth) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + // We should handle when we are given more data than needed. (repeat seq.) + uint16_t pronto_test[10] = {0x0000, 0x0067, 0x0001, 0x0001, + 0x0001, 0x0002, 0x0003, 0x0004, 0x5, 0x6}; + irsend.sendPronto(pronto_test, 10); + EXPECT_EQ("m25s50", irsend.outputStr()); // Only send the data required. + irsend.sendPronto(pronto_test, 10, 1); + EXPECT_EQ("m25s50m75s100", irsend.outputStr()); // Only the data required. +} + +TEST(TestSendPronto, ShortestValidCodeThatSendsNothing) { + IRsendTest irsend(4); + irsend.begin(); + irsend.reset(); + + uint16_t pronto_test[6] = {0x0000, 0x0067, 0x0000, 0x0000, 0x0001, 0x0002}; + irsend.sendPronto(pronto_test, 6); + EXPECT_EQ("", irsend.outputStr()); // Nothing Happens. + irsend.sendPronto(pronto_test, 6, 1); + EXPECT_EQ("", irsend.outputStr()); // Twice as much Nothing Happens. ;-) +} + +// Test sending a Pronto code that only has a normal (first) sequence. +// i.e. No Pronto repeat sequence. +TEST(TestSendPronto, NonRepeatingCode) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // A random Pronto code I found on the Internet that has no repeat sequence. + // It was an example of a poor Pronto code. + // It turned out to be a 4 copies of a Sony 12-bit code. Who knew!?! + uint16_t pronto_test[108] = { + 0x0000, 0x0067, 0x0034, 0x0000, + 0x0060, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0452, 0x0060, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0452, 0x0060, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0452, 0x0060, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, + 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018}; + + // Send the Pronto code without any repeats set. + irsend.reset(); + irsend.sendPronto(pronto_test, 108); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s27650" + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s27650" + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s27650" + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s600", irsend.outputStr()); + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_12_BITS, irsend.capture.bits); + EXPECT_EQ(0x10, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + // Now try repeating it. + // As it has no repeat sequence, we shouldn't repeat it. (I think) + irsend.reset(); + irsend.sendPronto(pronto_test, 108, 3); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s27650" + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s27650" + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s27650" + "m2400s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m600s600m600s600", irsend.outputStr()); + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_12_BITS, irsend.capture.bits); + EXPECT_EQ(0x10, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} + +// Test sending a Pronto code that only has a repeat sequence (Sony). +TEST(TestSendPronto, RepeatSequenceOnlyForSony) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Sony 20-bit command. + uint16_t pronto_test[46] = { + 0x0000, 0x0067, 0x0000, 0x0015, + 0x0060, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0030, 0x0018, + 0x0030, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, + 0x0018, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, + 0x0030, 0x0018, 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, + 0x0030, 0x0018, 0x0018, 0x0018, 0x0018, 0x0018, 0x0030, 0x0018, + 0x0018, 0x03f6}; + + // Send the Pronto code without any repeats set. + irsend.reset(); + irsend.sendPronto(pronto_test, 46); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m2400s600" + "m600s600m1200s600m1200s600m1200s600m600s600m1200s600m600s600m600s600" + "m1200s600m600s600m1200s600m1200s600m1200s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s25350", irsend.outputStr()); + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_20_BITS, irsend.capture.bits); + EXPECT_EQ(0x74B92, irsend.capture.value); + EXPECT_EQ(0x1A, irsend.capture.address); + EXPECT_EQ(0x24AE, irsend.capture.command); + + // Send the Pronto code with 2 repeats. + irsend.reset(); + irsend.sendPronto(pronto_test, 46, SONY_MIN_REPEAT); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m2400s600" + "m600s600m1200s600m1200s600m1200s600m600s600m1200s600m600s600m600s600" + "m1200s600m600s600m1200s600m1200s600m1200s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s25350" + "m2400s600" + "m600s600m1200s600m1200s600m1200s600m600s600m1200s600m600s600m600s600" + "m1200s600m600s600m1200s600m1200s600m1200s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s25350" + "m2400s600" + "m600s600m1200s600m1200s600m1200s600m600s600m1200s600m600s600m600s600" + "m1200s600m600s600m1200s600m1200s600m1200s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s25350", irsend.outputStr()); + + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_20_BITS, irsend.capture.bits); + EXPECT_EQ(0x74B92, irsend.capture.value); + EXPECT_EQ(0x1A, irsend.capture.address); + EXPECT_EQ(0x24AE, irsend.capture.command); +} + +// Test sending a Pronto code that only has a repeat sequence (Panasonic). +TEST(TestSendPronto, RepeatSequenceOnlyForPanasonic) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Panasonic Plasma TV Descrete code (Power On). + uint16_t pronto_test[104] = { + 0x0000, 0x0071, 0x0000, 0x0032, + 0x0080, 0x003F, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0030, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0030, + 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0010, 0x0010, 0x0010, 0x0010, 0x0030, 0x0010, 0x0030, + 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0030, 0x0010, 0x0010, + 0x0010, 0x0030, 0x0010, 0x0A98}; + + // Send the Pronto code without any repeats set. + irsend.reset(); + irsend.sendPronto(pronto_test, 104); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m3456s1701" + "m432s432m432s1296m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s1296m432s432m432s432" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s1296" + "m432s432m432s432m432s432m432s432m432s432m432s432m432s432m432s432" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s432" + "m432s432m432s1296m432s1296m432s1296m432s1296m432s1296m432s432m432s1296" + "m432s73224", irsend.outputStr()); + + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(PANASONIC, irsend.capture.decode_type); + EXPECT_EQ(PANASONIC_BITS, irsend.capture.bits); + EXPECT_EQ(0x400401007C7D, irsend.capture.value); + EXPECT_EQ(0x4004, irsend.capture.address); + EXPECT_EQ(0x1007C7D, irsend.capture.command); +} + + +// Test sending a Pronto code that has a normal & arepeat sequence (NEC). +TEST(TestSendPronto, NormalPlusRepeatSequence) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // NEC 32 bit power on command. + uint16_t pronto_test[76] = { + 0x0000, 0x006D, 0x0022, 0x0002, + 0x0156, 0x00AB, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, + 0x0015, 0x0040, 0x0015, 0x0040, 0x0015, 0x0015, 0x0015, 0x0015, + 0x0015, 0x0015, 0x0015, 0x0040, 0x0015, 0x0040, 0x0015, 0x0040, + 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0040, 0x0015, 0x0040, + 0x0015, 0x0040, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, + 0x0015, 0x0040, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, 0x0015, + 0x0015, 0x0015, 0x0015, 0x0040, 0x0015, 0x0040, 0x0015, 0x0040, + 0x0015, 0x0015, 0x0015, 0x0040, 0x0015, 0x0040, 0x0015, 0x0040, + 0x0015, 0x0040, 0x0015, 0x05FD, + 0x0156, 0x0055, 0x0015, 0x0E4E}; + + // Send the Pronto code without any repeats set. + irsend.reset(); + irsend.sendPronto(pronto_test, 76); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m8892s4446" + "m546s546m546s546m546s546m546s1664m546s1664m546s546m546s546m546s546" + "m546s1664m546s1664m546s1664m546s546m546s546m546s1664m546s1664m546s1664" + "m546s546m546s546m546s546m546s1664m546s546m546s546m546s546m546s546" + "m546s1664m546s1664m546s1664m546s546m546s1664m546s1664m546s1664m546s1664" + "m546s39858", irsend.outputStr()); + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x18E710EF, irsend.capture.value); + EXPECT_EQ(0x18, irsend.capture.address); + EXPECT_EQ(0x8, irsend.capture.command); + + // Send it again with a single repeat. + irsend.reset(); + irsend.sendPronto(pronto_test, 76, 1); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m8892s4446" + "m546s546m546s546m546s546m546s1664m546s1664m546s546m546s546m546s546" + "m546s1664m546s1664m546s1664m546s546m546s546m546s1664m546s1664m546s1664" + "m546s546m546s546m546s546m546s1664m546s546m546s546m546s546m546s546" + "m546s1664m546s1664m546s1664m546s546m546s1664m546s1664m546s1664m546s1664" + "m546s39858" + "m8892s2210m546s95212", irsend.outputStr()); + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x18E710EF, irsend.capture.value); + EXPECT_EQ(0x18, irsend.capture.address); + EXPECT_EQ(0x8, irsend.capture.command); + + // Send it again with a two repeats. + irsend.reset(); + irsend.sendPronto(pronto_test, 76, 2); + irsend.makeDecodeResult(); + EXPECT_EQ( + "m8892s4446" + "m546s546m546s546m546s546m546s1664m546s1664m546s546m546s546m546s546" + "m546s1664m546s1664m546s1664m546s546m546s546m546s1664m546s1664m546s1664" + "m546s546m546s546m546s546m546s1664m546s546m546s546m546s546m546s546" + "m546s1664m546s1664m546s1664m546s546m546s1664m546s1664m546s1664m546s1664" + "m546s39858" + "m8892s2210m546s95212" + "m8892s2210m546s95212", irsend.outputStr()); + EXPECT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0x18E710EF, irsend.capture.value); + EXPECT_EQ(0x18, irsend.capture.address); + EXPECT_EQ(0x8, irsend.capture.command); +} diff --git a/lib/IRremoteESP8266/test/ir_RC5_RC6_test.cpp b/lib/IRremoteESP8266/test/ir_RC5_RC6_test.cpp new file mode 100644 index 00000000..ef508e40 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_RC5_RC6_test.cpp @@ -0,0 +1,873 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// RRRRRR CCCCC 555555 RRRRRR CCCCC 555555 XX XX +// RR RR CC C 55 RR RR CC C 55 XX XX +// RRRRRR CC _____ 555555 RRRRRR CC _____ 555555 XXXX +// RR RR CC C 5555 RR RR CC C 5555 XX XX +// RR RR CCCCC 555555 RR RR CCCCC 555555 XX XX + +// Tests for encodeRC5(). +TEST(TestEncodeRC5, NormalEncoding) { + IRsendTest irsend(4); + + EXPECT_EQ(0x0, irsend.encodeRC5(0, 0)); + EXPECT_EQ(0x800, irsend.encodeRC5(0, 0, true)); + EXPECT_EQ(0x41, irsend.encodeRC5(1, 1)); + EXPECT_EQ(0x42, irsend.encodeRC5(1, 2)); + EXPECT_EQ(0x7FF, irsend.encodeRC5(0x1F, 0x3F)); + EXPECT_EQ(0xFFF, irsend.encodeRC5(0x1F, 0x3F, true)); + EXPECT_EQ(0x7FF, irsend.encodeRC5(0xFF, 0xFF)); + EXPECT_EQ(0xFFF, irsend.encodeRC5(0xFF, 0xFF, true)); + + EXPECT_EQ(0x175, irsend.encodeRC5(0x05, 0x35)); +} + +// Tests for encodeRC5X(). +TEST(TestEncodeRC5X, NormalEncoding) { + IRsendTest irsend(4); + + EXPECT_EQ(0x0, irsend.encodeRC5X(0, 0)); + EXPECT_EQ(0x800, irsend.encodeRC5X(0, 0, true)); + EXPECT_EQ(0x41, irsend.encodeRC5X(1, 1)); + EXPECT_EQ(0x42, irsend.encodeRC5X(1, 2)); + EXPECT_EQ(0x3FF, irsend.encodeRC5X(0x0F, 0x3F)); + EXPECT_EQ(0x3FF, irsend.encodeRC5X(0x0F, 0x3F, false)); + EXPECT_EQ(0xBFF, irsend.encodeRC5X(0x0F, 0x3F, true)); + EXPECT_EQ(0x17FF, irsend.encodeRC5X(0x1F, 0x7F)); + EXPECT_EQ(0x1FFF, irsend.encodeRC5X(0x1F, 0x7F, true)); + EXPECT_EQ(0x17FF, irsend.encodeRC5X(0xFF, 0xFF)); + EXPECT_EQ(0x1FFF, irsend.encodeRC5X(0xFF, 0xFF, true)); + + EXPECT_EQ(0x175, irsend.encodeRC5X(0x05, 0x35)); + + // Values of command <= 6-bits. i.e (<= 63 (0x3F)) should be the same + // as encodeRC5. + EXPECT_EQ(irsend.encodeRC5X(0, 0), irsend.encodeRC5(0, 0)); + EXPECT_EQ(irsend.encodeRC5X(0, 0, true), irsend.encodeRC5(0, 0, true)); + EXPECT_EQ(irsend.encodeRC5X(0x5, 0x35, false), + irsend.encodeRC5(0x5, 0x35, false)); + EXPECT_EQ(irsend.encodeRC5X(0x5, 0x35, true), + irsend.encodeRC5(0x5, 0x35, true)); + EXPECT_EQ(irsend.encodeRC5X(0x1F, 0x3F, true), + irsend.encodeRC5(0x1F, 0x3F, true)); + EXPECT_NE(irsend.encodeRC5X(0x1F, 0x7F, true), + irsend.encodeRC5(0x1F, 0x7F, true)); +} + +// Tests for toggleRC5(). +TEST(TestToggleRC5, GeneralUse) { + IRsendTest irsend(4); + + EXPECT_EQ(0x800, irsend.toggleRC5(0x0)); + EXPECT_EQ(0x0, irsend.toggleRC5(0x800)); + EXPECT_EQ(0x0, irsend.toggleRC5(irsend.toggleRC5(0x0))); + EXPECT_EQ(irsend.encodeRC5(0x5, 0x35, false), + irsend.toggleRC5(irsend.encodeRC5(0x5, 0x35, true))); +} + +// Tests for sendRC5(). + +// Test sending typical RC-5 & RC-5X data only. +TEST(TestSendRC5, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC5(0x0, RC5_BITS); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s889m889s889m889s889m889" + "s889m889s889m889s889m889s889m889s889m889s889m889s114667", + irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x1AAA, RC5_BITS); + EXPECT_EQ( + "m889s889m889s889m1778s1778m1778s1778m1778s1778" + "m1778s1778m1778s1778m1778s114667", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x175, RC5_BITS); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s113778", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x3FFF, RC5_BITS); + EXPECT_EQ( + "m889s889m889s889m889s889m889s889m889s889m889s889m889s889" + "m889s889m889s889m889s889m889s889m889s889m889s889m889s113778", + irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x0, RC5X_BITS); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s889m889s889m889s889m889" + "s889m889s889m889s889m889s889m889s889m889s889m889s114667", + irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x1AAA, RC5X_BITS); + EXPECT_EQ( + "m1778s1778m1778s1778m1778s1778m1778" + "s1778m1778s1778m1778s1778m1778s114667", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x175, RC5X_BITS); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s113778", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x3FFF, RC5X_BITS); + EXPECT_EQ( + "m1778s1778m889s889m889s889m889s889m889s889m889s889m889" + "s889m889s889m889s889m889s889m889s889m889s889m889s113778", + irsend.outputStr()); +} + +// Test sending RC-5 & RC-5X with different repeats. +TEST(TestSendRC5, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC5(0x175, RC5_BITS, 1); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s114667" + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s113778", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x175, RC5_BITS, 2); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s114667" + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s114667" + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s113778", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x175, RC5X_BITS, 1); + EXPECT_EQ( + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s114667" + "m889s889m1778s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s113778", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC5(0x1175, RC5X_BITS, 2); + EXPECT_EQ( + "m1778s889m889s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s114667" + "m1778s889m889s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s114667" + "m1778s889m889s889m889s889m889s1778m1778s1778" + "m889s889m889s889m1778s1778m1778s1778m889s113778", irsend.outputStr()); +} +// Tests for decodeRC5(). + +// Decode normal RC-5/RC5X messages. +TEST(TestDecodeRC5, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-5 12-bit message. + irsend.reset(); + irsend.sendRC5(0x175); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x05, irsend.capture.address); + EXPECT_EQ(0x35, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal RC-5 12-bit message decoded as RC5-X. + irsend.reset(); + irsend.sendRC5(0x175); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x05, irsend.capture.address); + EXPECT_EQ(0x35, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // A RC-5X 13-bit message but with a value that is valid for RC-5 decoded + // as RC5-X. + irsend.reset(); + irsend.sendRC5(0x175, RC5X_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x05, irsend.capture.address); + EXPECT_EQ(0x35, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal RC-5 12-bit message. + irsend.reset(); + irsend.sendRC5(irsend.encodeRC5(0x00, 0x0B, true)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x80B, irsend.capture.value); + EXPECT_EQ(0x00, irsend.capture.address); + EXPECT_EQ(0x0B, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal RC-5X 13-bit message. + irsend.reset(); + irsend.sendRC5(irsend.encodeRC5X(0x02, 0x41, true), RC5X_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + EXPECT_EQ(RC5X, irsend.capture.decode_type); + EXPECT_EQ(RC5X_BITS, irsend.capture.bits); + EXPECT_EQ(0x1881, irsend.capture.value); + EXPECT_EQ(0x02, irsend.capture.address); + EXPECT_EQ(0x41, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal RC-5X 13-bit message should fail at being decoded + // as a normal RC-5 (12 bit) message. + irsend.reset(); + irsend.sendRC5(irsend.encodeRC5X(0x02, 0x41, true), RC5X_BITS); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); +} + +// Decode normal repeated RC5 messages. +TEST(TestDecodeRC5, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-5 12-bit (even) message with one repeat. + irsend.reset(); + irsend.sendRC5(0x174, RC5_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x174, irsend.capture.value); + EXPECT_EQ(0x05, irsend.capture.address); + EXPECT_EQ(0x34, irsend.capture.command); + + // Normal RC-5 12-bit (odd) message with one repeat. + irsend.reset(); + irsend.sendRC5(0x175, RC5_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(RC5_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x05, irsend.capture.address); + EXPECT_EQ(0x35, irsend.capture.command); + + // Synthesised Normal RC-5X 13-bit message with 2 repeats. + irsend.reset(); + irsend.sendRC5(irsend.encodeRC5X(0x02, 0x41, true), RC5X_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + EXPECT_EQ(RC5X, irsend.capture.decode_type); + EXPECT_EQ(RC5X_BITS, irsend.capture.bits); + EXPECT_EQ(0x1881, irsend.capture.value); + EXPECT_EQ(0x02, irsend.capture.address); + EXPECT_EQ(0x41, irsend.capture.command); +} + +// Decode unsupported RC5 messages. +TEST(TestDecodeRC5, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC5(0xFA, 8); // Illegal value RC5 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, 8, false)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0xFA, irsend.capture.value); + EXPECT_EQ(0x3, irsend.capture.address); + EXPECT_EQ(0x3A, irsend.capture.command); + + irsend.reset(); + irsend.sendRC5(0x12345678, 32); // Illegal size RC5 32-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, 32, false)); + EXPECT_EQ(RC5, irsend.capture.decode_type); + EXPECT_EQ(31, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + + irsend.reset(); + irsend.sendRC5(0x87654321, 32); // Illegal size RC5 32-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5X_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, 32, false)); + EXPECT_EQ(RC5X, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x87654321, irsend.capture.value); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeRC5, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal size RC-5 64-bit message. + irsend.sendRC5(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeRC5(&irsend.capture, 64, false)); + EXPECT_EQ(RC5X, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); +} + +// Fail to decode a non-RC-5 example via GlobalCache +TEST(TestDecodeRC5, FailToDecodeNonRC5Example) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeRC5(&irsend.capture, RC5_BITS, false)); +} + +// RRRRRR CCCCC 666 +// RR RR CC C 66 +// RRRRRR CC _____ 666666 +// RR RR CC C 66 66 +// RR RR CCCCC 66666 + +// Tests for encodeRC6(). +TEST(TestEncodeRC6, Mode0Encoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodeRC6(0, 0, RC6_MODE0_BITS)); + EXPECT_EQ(0x1234, irsend.encodeRC6(0x12, 0x34, RC6_MODE0_BITS)); + EXPECT_EQ(0x12345, irsend.encodeRC6(0x123, 0x45, RC6_MODE0_BITS)); + EXPECT_EQ(0xFFFFF, irsend.encodeRC6(0xFFF, 0xFF, RC6_MODE0_BITS)); + EXPECT_EQ(0xFFF00, irsend.encodeRC6(0xFFFF, 0x00, RC6_MODE0_BITS)); + EXPECT_EQ(0xFF, irsend.encodeRC6(0x00, 0xFF, RC6_MODE0_BITS)); +} + +TEST(TestEncodeRC6, 36BitEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodeRC6(0, 0, RC6_36_BITS)); + EXPECT_EQ(0x1234, irsend.encodeRC6(0x12, 0x34, RC6_36_BITS)); + EXPECT_EQ(0x123456789, irsend.encodeRC6(0x1234567, 0x89, RC6_36_BITS)); + EXPECT_EQ(0xFFFFFFFFF, irsend.encodeRC6(0xFFFFFFF, 0xFF, RC6_36_BITS)); + EXPECT_EQ(0xFFFFFFFFF, irsend.encodeRC6(0xFFFFFFFF, 0xFF, RC6_36_BITS)); + EXPECT_EQ(0xFFFFFFF00, irsend.encodeRC6(0xFFFFFFF, 0x00, RC6_36_BITS)); + EXPECT_EQ(0xFF, irsend.encodeRC6(0x0, 0xFF, RC6_36_BITS)); + EXPECT_EQ(0xFFFFFFFFF, irsend.encodeRC6(0xFFFFFFFF, 0xFF, RC6_36_BITS)); +} + +// Tests for toggleRC6(). + +// Normal use (RC-6 Mode 0) +TEST(TestToggleRC6, Mode0) { + IRsendTest irsend(4); + + EXPECT_EQ(0x10000, irsend.toggleRC6(0x0)); + EXPECT_EQ(irsend.toggleRC6(0x0), irsend.toggleRC6(0x0, RC6_MODE0_BITS)); + EXPECT_EQ(0x0, irsend.toggleRC6(0x10000)); + EXPECT_EQ(0x0, irsend.toggleRC6(irsend.toggleRC6(0x0))); +} + +// RC-6 36-bit use (Xbox 360) +TEST(TestToggleRC6, 36BitUse) { + IRsendTest irsend(4); + + EXPECT_EQ(0x8000, irsend.toggleRC6(0x0, RC6_36_BITS)); + EXPECT_EQ(0x0, irsend.toggleRC6(0x8000, RC6_36_BITS)); + EXPECT_EQ(0x0, irsend.toggleRC6(irsend.toggleRC6(0x0, RC6_36_BITS), + RC6_36_BITS)); +} + +// Tests for sendRC6(). + +// Test sending typical RC-6 Mode-0 data only. +TEST(TestSendRC6, SendMode0DataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC6(0x0); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444s888m888s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s83028", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0x1FFFF); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m1332s888m444s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444" + "s83472", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0x15555); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m1332s1332m888s888m888s888" + "m888s888m888s888m888s888m888s888m888s888m888" + "s83472", irsend.outputStr()); +} + +// Test sending typical RC-6 36-bit data only. +TEST(TestSendRC6, Send36BitDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC6(0x0, RC6_36_BITS); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s83028", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0xFFFFFFFFF, RC6_36_BITS); + EXPECT_EQ( + "m2664s888" + "m444s444m444s444m444s444m444s444" + "m888s888" + "m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444" + "m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s83472", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0xAAAAAAAAAA, RC6_36_BITS); + EXPECT_EQ( + "m2664s888m444s444m444s888m888" + "s1332m1332" + "s888m888s888m888s888m888s888m888s888m888s888m888s888m888s888m888s888m888" + "s888m888s888m888s888m888s888m888s888m888s888m888s888m444s83028", + irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0xC800F740C, RC6_36_BITS); // Xbox 360 OnOff code + EXPECT_EQ( + "m2664s888" + "m444s444m444s444m444s888m444" + "s888m1332" + "s888m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m888s444m444s444m444s444m444s888m888s444m444" + "s444m444s888m888s888m444s444m444s444m444s444m444s444m444s444m888" + "s444m444s888m444s444m444s83028", irsend.outputStr()); + irsend.reset(); + irsend.sendRC6(irsend.toggleRC6(0xC800F740C, RC6_36_BITS), + RC6_36_BITS); // Xbox 360 OnOff code (toggled) + EXPECT_EQ( + "m2664s888" + "m444s444m444s444m444s888m444" + "s888m1332" + "s888m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m888s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s888m888s888m444s444m444s444m444s444m444s444m444" + "s444m888s444m444s888m444s444m444s83028", irsend.outputStr()); +} + +// Test sending RC-6 Mode 0 with different repeats. +TEST(TestSendRC6, SendMode0WithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC6(0x175, RC6_MODE0_BITS, 0); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0x175, RC6_MODE0_BITS, 1); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472" + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0x175, RC6_MODE0_BITS, 2); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472" + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472" + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472", irsend.outputStr()); +} + +// Test sending RC-6 36-bit with different repeats. +TEST(TestSendRC6, Send36BitWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRC6(0x175, RC6_36_BITS, 0); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0x175, RC6_36_BITS, 1); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472" + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472", irsend.outputStr()); + + irsend.reset(); + irsend.sendRC6(0x175, RC6_36_BITS, 2); + EXPECT_EQ( + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472" + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472" + "m2664s888" + "m444s888m444s444m444s444m444" + "s888m888" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m444s444m444" + "s444m444s444m444s444m444s444m444s444m444s444m444s444m888s888m888" + "s444m444s444m444s888m888s888m888s83472", irsend.outputStr()); +} + +// Tests for decodeRC6(). + +// Decode normal RC-6 Mode 0 messages. +TEST(TestDecodeRC6, NormalMode0DecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-6 Mode 0 (20-bit) message. + irsend.reset(); + irsend.sendRC6(0x175); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x01, irsend.capture.address); + EXPECT_EQ(0x75, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Synthesised RC-6 Mode 0 (20-bit) message. + irsend.reset(); + irsend.sendRC6(irsend.encodeRC6(0x1234567, 0x89, RC6_MODE0_BITS)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x56789, irsend.capture.value); + EXPECT_EQ(0x567, irsend.capture.address); + EXPECT_EQ(0x89, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Same again, but encoded manually. + irsend.reset(); + irsend.sendRC6(0x123456789, RC6_MODE0_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x56789, irsend.capture.value); + EXPECT_EQ(0x567, irsend.capture.address); + EXPECT_EQ(0x89, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal RC-6 36-bit messages. +TEST(TestDecodeRC6, Normal36BitDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-6 36-bit message. + irsend.reset(); + irsend.sendRC6(0x175, RC6_36_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x01, irsend.capture.address); + EXPECT_EQ(0x75, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Synthesised RC-6 36-bit message. + irsend.reset(); + irsend.sendRC6(irsend.encodeRC6(0x1234567, 0x89, RC6_36_BITS), RC6_36_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456789, irsend.capture.value); + EXPECT_EQ(0x1234567, irsend.capture.address); + EXPECT_EQ(0x89, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated RC6 Mode 0 messages. +TEST(TestDecodeRC6, NormalMode0DecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-6 Mode 0 (20-bit) even message with one repeat. + irsend.reset(); + irsend.sendRC6(0x174, RC6_MODE0_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x174, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x74, irsend.capture.command); + + // Normal RC-6 Mode 0 (20-bit) odd message with one repeat. + irsend.reset(); + irsend.sendRC6(0x175, RC6_MODE0_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x75, irsend.capture.command); +} + +// Decode normal repeated RC6 36-bit messages. +TEST(TestDecodeRC6, Normal36BitDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-6 36-bit odd message with one repeat. + irsend.reset(); + irsend.sendRC6(0x175, RC6_36_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x75, irsend.capture.command); + + // Normal RC-6 36-bit even message with one repeat. + irsend.reset(); + irsend.sendRC6(0x174, RC6_36_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, true)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0x174, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x74, irsend.capture.command); +} + +// Decode RC-6 messages without strict. +TEST(TestDecodeRC6, NormalDecodeWithoutStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RC-6 Mode 0 (20-bit) message. + irsend.reset(); + irsend.sendRC6(0x175, RC6_MODE0_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x175, irsend.capture.value); + EXPECT_EQ(0x01, irsend.capture.address); + EXPECT_EQ(0x75, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal RC-6 Mode 0 (20-bit) message. + irsend.reset(); + irsend.sendRC6(0x174, RC6_MODE0_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_MODE0_BITS, irsend.capture.bits); + EXPECT_EQ(0x174, irsend.capture.value); + EXPECT_EQ(0x01, irsend.capture.address); + EXPECT_EQ(0x74, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal RC-6 36-bit message. + irsend.reset(); + irsend.sendRC6(0x174, RC6_36_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0x174, irsend.capture.value); + EXPECT_EQ(0x01, irsend.capture.address); + EXPECT_EQ(0x74, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal Synthesised RC-6 36-bit message. + irsend.reset(); + irsend.sendRC6(irsend.encodeRC6(0x1234567, 0x89, RC6_36_BITS), RC6_36_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0x123456789, irsend.capture.value); + EXPECT_EQ(0x1234567, irsend.capture.address); + EXPECT_EQ(0x89, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeRC6, Decode36BitGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Xbox-360 Power On from Global Cache. + uint16_t gc_test[65] = {36000, 1, 1, 96, 32, 16, 16, 16, 16, 16, 32, 16, 32, + 48, 32, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 32, 16, 16, 16, + 16, 16, 16, 32, 32, 16, 16, 16, 16, 32, 32, 32, 16, + 16, 16, 16, 16, 16, 32, 32, 32, 32, 32, 32, 16, 2476}; + irsend.sendGC(gc_test, 65); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS)); + EXPECT_EQ(RC6, irsend.capture.decode_type); + EXPECT_EQ(RC6_36_BITS, irsend.capture.bits); + EXPECT_EQ(0xC800F742A, irsend.capture.value); + EXPECT_EQ(0xC800F74, irsend.capture.address); + EXPECT_EQ(0x2A, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-RC-6 example via GlobalCache +TEST(TestDecodeRC5, FailToDecodeNonRC6Example) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, false)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, false)); + + irsend.reset(); + irsend.sendRC5(0x0); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_MODE0_BITS, false)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, true)); + ASSERT_FALSE(irrecv.decodeRC6(&irsend.capture, RC6_36_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_RCMM_test.cpp b/lib/IRremoteESP8266/test/ir_RCMM_test.cpp new file mode 100644 index 00000000..2115dcb2 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_RCMM_test.cpp @@ -0,0 +1,239 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendRCMM(). + +// Test sending typical data only. +TEST(TestSendRCMM, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRCMM(0xe0a600); + EXPECT_EQ("m416s277" + "m166s777m166s611m166s277m166s277" + "m166s611m166s611m166s444m166s611m166s277m166s277m166s277m166s277" + "m166s27778", irsend.outputStr()); + irsend.reset(); + irsend.sendRCMM(0x28e0a600UL, 32); + EXPECT_EQ("m416s277" + "m166s277m166s611m166s611m166s277m166s777m166s611m166s277m166s277" + "m166s611m166s611m166s444m166s611m166s277m166s277m166s277m166s277" + "m166s27778", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendRCMM, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRCMM(0x28e0a600, 32, 2); // 2 repeats. + EXPECT_EQ("m416s277" + "m166s277m166s611m166s611m166s277m166s777m166s611m166s277m166s277" + "m166s611m166s611m166s444m166s611m166s277m166s277m166s277m166s277" + "m166s27778" + "m416s277" + "m166s277m166s611m166s611m166s277m166s777m166s611m166s277m166s277" + "m166s611m166s611m166s444m166s611m166s277m166s277m166s277m166s277" + "m166s27778" + "m416s277" + "m166s277m166s611m166s611m166s277m166s777m166s611m166s277m166s277" + "m166s611m166s611m166s444m166s611m166s277m166s277m166s277m166s277" + "m166s27778", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendRCMM, SendUsualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendRCMM(0xE0, 8); + EXPECT_EQ("m416s277" + "m166s777m166s611m166s277m166s277" + "m166s27778", irsend.outputStr()); + irsend.reset(); + irsend.sendRCMM(0x28e0a60000UL, 40); + EXPECT_EQ("m416s277" + "m166s277m166s611m166s611m166s277m166s777m166s611m166s277m166s277" + "m166s611m166s611m166s444m166s611m166s277m166s277m166s277m166s277" + "m166s277m166s277m166s277m166s277m166s27778", irsend.outputStr()); +} + +// Tests for decodeRCMM(). + +// Decode normal RCMM messages. +TEST(TestDecodeRCMM, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal RCMM 24-bit message. + irsend.reset(); + irsend.sendRCMM(0xe0a600); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, RCMM_BITS, true)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(RCMM_BITS, irsend.capture.bits); + EXPECT_EQ(0xe0a600, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal RCMM 12-bit message. + irsend.reset(); + irsend.sendRCMM(0x600, 12); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 12, true)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(12, irsend.capture.bits); + EXPECT_EQ(0x600, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Normal RCMM 32-bit message. + irsend.reset(); + irsend.sendRCMM(0x28e0a600, 32); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 32, true)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x28e0a600, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decodes should fail for illegal bit sizes when in strict mode. +TEST(TestDecodeRCMM, IllegalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Illegal RCMM 8-bit message. + irsend.reset(); + irsend.sendRCMM(0x0, 8); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeRCMM(&irsend.capture, 8, true)); + ASSERT_FALSE(irrecv.decodeRCMM(&irsend.capture, 12, true)); + + // Illegal RCMM 36-bit message. + irsend.reset(); + irsend.sendRCMM(0x0, 36); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeRCMM(&irsend.capture, 12, true)); + ASSERT_FALSE(irrecv.decodeRCMM(&irsend.capture, 36, true)); +} + +// Decodes without strict mode. +TEST(TestDecodeRCMM, DecodeWithoutStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Illegal RCMM 8-bit message. + irsend.reset(); + irsend.sendRCMM(0x55, 8); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 8, false)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x55, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 12, false)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x55, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + // Illegal RCMM 36-bit message. + irsend.reset(); + irsend.sendRCMM(0x123456789, 36); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 12, false)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(36, irsend.capture.bits); + EXPECT_EQ(0x123456789, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 24, false)); + EXPECT_EQ(36, irsend.capture.bits); + EXPECT_EQ(0x123456789, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 36, false)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(36, irsend.capture.bits); + EXPECT_EQ(0x123456789, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeRCMM, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size RCMM 64-bit message. + irsend.sendRCMM(0xFEDCBA9876543210, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeRCMM(&irsend.capture, 64, false)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFEDCBA9876543210, irsend.capture.value); + EXPECT_EQ(0, irsend.capture.address); + EXPECT_EQ(0, irsend.capture.command); +} + +// Fail to decode a non-RCMM example via GlobalCache +TEST(TestDecodeRCMM, FailToDecodeNonRCMMExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeRCMM(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeRCMM(&irsend.capture, RCMM_BITS, false)); +} + +// Issue 281 Debugging +TEST(TestDecodeRCMM, DebugIssue281) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Data from Issue #281 (shortened version) + uint16_t rawData[36] = {448, 276, 150, 285, 164, 613, 163, 447, 162, 613, + 164, 445, 164, 776, 167, 278, 163, 280, 163, 280, + 162, 611, 168, 444, 163, 612, 164, 277, 168, 447, + 157, 282, 165, 276, + 165, 65535}; // Last value modified from 89729 + + irsend.reset(); + irsend.sendRaw(rawData, 36, 36); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decode(&irsend.capture)); + EXPECT_EQ(RCMM, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x26702610, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} diff --git a/lib/IRremoteESP8266/test/ir_Samsung_test.cpp b/lib/IRremoteESP8266/test/ir_Samsung_test.cpp new file mode 100644 index 00000000..8c35ebeb --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Samsung_test.cpp @@ -0,0 +1,276 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendSAMSUNG(). + +// Test sending typical data only. +TEST(TestSendSamsung, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSAMSUNG(0xE0E09966); // Samsung TV Power On. + EXPECT_EQ("m4480s4480" + "m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680" + "m560s560m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s1680m560s1680m560s560m560s108080", + irsend.outputStr()); + + irsend.reset(); +} + +// Test sending with different repeats. +TEST(TestSendSamsung, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSAMSUNG(0xE0E09966, SAMSUNG_BITS, 1); // 1 repeat. + EXPECT_EQ("m4480s4480" + "m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680" + "m560s560m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s1680m560s1680m560s560m560s108080" + "m4480s4480" + "m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680" + "m560s560m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s1680m560s1680m560s560m560s108080" + , irsend.outputStr()); + irsend.sendSAMSUNG(0xE0E09966, SAMSUNG_BITS, 2); // 2 repeats. + EXPECT_EQ("m4480s4480" + "m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680" + "m560s560m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s1680m560s1680m560s560m560s108080" + "m4480s4480" + "m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680" + "m560s560m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s1680m560s1680m560s560m560s108080" + "m4480s4480" + "m560s1680m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s1680m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s560m560s560m560s1680m560s1680" + "m560s560m560s560m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s1680m560s1680m560s560m560s108080" + , irsend.outputStr()); +} + +// Tests for encodeSAMSUNG(). + +TEST(TestEncodeSamsung, NormalEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0xFF, irsend.encodeSAMSUNG(0, 0)); + EXPECT_EQ(0x8080807F, irsend.encodeSAMSUNG(1, 1)); + EXPECT_EQ(0xF8F805FA, irsend.encodeSAMSUNG(0x1F, 0xA0)); + EXPECT_EQ(0xA0A0CC33, irsend.encodeSAMSUNG(0x05, 0x33)); + EXPECT_EQ(0xFFFFFF00, irsend.encodeSAMSUNG(0xFF, 0xFF)); + EXPECT_EQ(0xE0E09966, irsend.encodeSAMSUNG(0x07, 0x99)); +} + +// Tests for decodeSAMSUNG(). + +// Decode normal Samsung messages. +TEST(TestDecodeSamsung, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Samsung 32-bit message. + irsend.reset(); + irsend.sendSAMSUNG(0xE0E09966); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0xE0E09966, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + + // Synthesised Normal Samsung 32-bit message. + irsend.reset(); + irsend.sendSAMSUNG(irsend.encodeSAMSUNG(0x07, 0x99)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0xE0E09966, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + + // Synthesised Normal Samsung 32-bit message. + irsend.reset(); + irsend.sendSAMSUNG(irsend.encodeSAMSUNG(0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0x8080807F, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x1, irsend.capture.command); +} + +// Decode normal repeated Samsung messages. +TEST(TestDecodeSamsung, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Samsung 32-bit message. + irsend.reset(); + irsend.sendSAMSUNG(0xE0E09966, SAMSUNG_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0xE0E09966, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); +} + +// Decode unsupported Samsung messages. +TEST(TestDecodeSamsung, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSAMSUNG(0x0); // Illegal value Samsung 32-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, false)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendSAMSUNG(0x12345678); // Illegal value Samsung 32-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, false)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + EXPECT_EQ(0x48, irsend.capture.address); + EXPECT_EQ(0x6A, irsend.capture.command); + + // Illegal over length (36-bit) message. + irsend.reset(); + irsend.sendSAMSUNG(irsend.encodeSAMSUNG(0, 0), 36); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + // Shouldn't pass if strict off and wrong expected bit size. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, false)); + // Re-decode with correct bit size. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, 36, true)); + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, 36, false)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(36, irsend.capture.bits); + EXPECT_EQ(0xFF, irsend.capture.value); // We told it to expect 8 bits less. + EXPECT_EQ(0x00, irsend.capture.address); + EXPECT_EQ(0x00, irsend.capture.command); + + // Illegal under length (16-bit) message + irsend.reset(); + irsend.sendSAMSUNG(irsend.encodeSAMSUNG(0x0, 0x0), 16); + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + // And it should fail when we expect more bits. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, false)); + + // Should pass if strict off if we ask for correct nr. of bits sent. + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, 16, false)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(16, irsend.capture.bits); + EXPECT_EQ(0xFF, irsend.capture.value); // We told it to expect 4 bits less. + EXPECT_EQ(0x00, irsend.capture.address); + EXPECT_EQ(0x00, irsend.capture.command); + + // Should fail as we are expecting less bits than there are. + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, 12, false)); +} + +// Decode (non-standard) 64-bit messages. +// Decode unsupported Samsung messages. +TEST(TestDecodeSamsung, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size Samsung 64-bit message. + irsend.sendSAMSUNG(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture, 64, false)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0xFF, irsend.capture.address); + EXPECT_EQ(0xFF, irsend.capture.command); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeSamsung, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Samsung TV Power On from Global Cache. + uint16_t gc_test[71] = {38000, 1, 1, 172, 172, 22, 64, 22, 64, 22, 64, 22, 21, + 22, 21, 22, 21, 22, 21, 22, 21, 22, 64, 22, 64, 22, + 64, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 64, + 22, 21, 22, 21, 22, 64, 22, 64, 22, 21, 22, 21, 22, + 64, 22, 21, 22, 64, 22, 64, 22, 21, 22, 21, 22, 64, + 22, 64, 22, 21, 22, 1820}; + irsend.sendGC(gc_test, 71); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeSAMSUNG(&irsend.capture)); + EXPECT_EQ(SAMSUNG, irsend.capture.decode_type); + EXPECT_EQ(SAMSUNG_BITS, irsend.capture.bits); + EXPECT_EQ(0xE0E09966, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); +} + +// Fail to decode a non-Samsung example via GlobalCache +TEST(TestDecodeSamsung, FailToDecodeNonSamsungExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[71] = {38000, 1, 1, 172, 172, 22, 64, 22, 64, 22, 64, 22, 21, + 22, 21, 22, 21, 22, 11, 22, 21, 22, 128, 22, 64, 22, + 64, 22, 21, 22, 21, 22, 21, 22, 21, 22, 21, 22, 64, + 22, 21, 22, 21, 22, 64, 22, 64, 22, 21, 22, 21, 22, + 64, 22, 21, 22, 64, 22, 64, 22, 21, 22, 21, 22, 64, + 22, 64, 22, 21, 22, 1820}; + irsend.sendGC(gc_test, 71); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeSAMSUNG(&irsend.capture, SAMSUNG_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Sanyo_test.cpp b/lib/IRremoteESP8266/test/ir_Sanyo_test.cpp new file mode 100644 index 00000000..9442f3db --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Sanyo_test.cpp @@ -0,0 +1,242 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + + +// Tests for encodeSanyoLC7461(). + +TEST(TestEncodeSanyoLC7461, NormalEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x1FFF00FF, irsend.encodeSanyoLC7461(0, 0)); + EXPECT_EQ(0x3FFE01FE, irsend.encodeSanyoLC7461(1, 1)); + EXPECT_EQ(0x3FFE02FD, irsend.encodeSanyoLC7461(1, 2)); + EXPECT_EQ(0x3FFE000FF00, irsend.encodeSanyoLC7461(0x1FFF, 0xFF)); + EXPECT_EQ(0x2AAAAAA55AA, irsend.encodeSanyoLC7461(0x1555, 0x55)); + EXPECT_EQ(0x3FFE000FF00, irsend.encodeSanyoLC7461(0xFFFF, 0xFF)); + EXPECT_EQ(0x1D8113F00FF, irsend.encodeSanyoLC7461(0xEC0, 0x0)); +} + +// Tests for sendSanyoLC7461(). + +// Test sending typical data only. +TEST(TestEncodeSanyoLC7461, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSanyoLC7461(0x1D8113F00FF); + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s108080", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestEncodeSanyoLC7461, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSanyoLC7461(0x1D8113F00FF, SANYO_LC7461_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m8960s4480" + "m560s560m560s1680m560s1680m560s1680m560s560m560s1680m560s1680m560s560" + "m560s560m560s560m560s560m560s560m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s560m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s560m560s560m560s560m560s560m560s560m560s560" + "m560s560m560s560m560s1680m560s1680m560s1680m560s1680m560s1680m560s1680" + "m560s1680m560s1680m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Tests for decodeSanyoLC7461(). + +// Decode normal Sanyo LC7461 messages. +TEST(TestDecodeSanyoLC7461, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Sanyo LC7461 42-bit message. + irsend.reset(); + irsend.sendSanyoLC7461(0x1D8113F00FF); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x1D8113F00FF, irsend.capture.value); + EXPECT_EQ(0xEC0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal Sanyo LC7461 42-bit message. + irsend.reset(); + irsend.sendSanyoLC7461(irsend.encodeSanyoLC7461(0x1234, 0x56)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x2468DCB56A9, irsend.capture.value); + EXPECT_EQ(0x1234, irsend.capture.address); + EXPECT_EQ(0x56, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal Sanyo LC7461 42-bit message. + irsend.reset(); + irsend.sendSanyoLC7461(irsend.encodeSanyoLC7461(0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x3FFE01FE, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x1, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated Sanyo LC7461 messages. +TEST(TestDecodeSanyoLC7461, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Sanyo LC7461 16-bit message with 1 repeat. + irsend.reset(); + irsend.sendSanyoLC7461(0x3FFE01FE, SANYO_LC7461_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x3FFE01FE, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x1, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode unsupported Sanyo LC7461 messages. +TEST(TestDecodeSanyoLC7461, DecodeWithNonStrictValues) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSanyoLC7461(0x0); // Illegal value Sanyo LC7461 message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + false)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + // Illegal value Sanyo LC7461 42-bit message. + irsend.sendSanyoLC7461(0x1234567890A); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, 32, + true)); + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, 64, + true)); + // And should fail for a bad value. + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + false)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); + EXPECT_EQ(0x1234567890A, irsend.capture.value); + EXPECT_EQ(0x91A, irsend.capture.address); + EXPECT_EQ(0x89, irsend.capture.command); + + // Shouldn't pass if strict off and looking for a smaller size. + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, 34, false)); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeSanyoLC7461, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size Sanyo LC7461 64-bit message. + irsend.sendSanyoLC7461(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, 64, false)); + EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0xFFFF, irsend.capture.address); + EXPECT_EQ(0xFF, irsend.capture.command); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeSanyoLC7461, DecodeGlobalCacheExample) { +IRsendTest irsend(4); +IRrecv irrecv(4); +irsend.begin(); + +irsend.reset(); +uint16_t gc_test[95] = {38000, 1, 89, 342, 171, 21, 21, 21, 64, 21, 64, + 21, 64, 21, 21, 21, 64, 21, 64, 21, 21, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 64, 21, 21, + 21, 21, 21, 21, 21, 64, 21, 21, 21, 21, 21, 64, + 21, 64, 21, 64, 21, 64, 21, 64, 21, 64, 21, 21, + 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, 21, + 21, 21, 21, 64, 21, 64, 21, 64, 21, 64, 21, 64, + 21, 64, 21, 64, 21, 64, 21, 875, 342, 171, 21, 3565}; +irsend.sendGC(gc_test, 95); +irsend.makeDecodeResult(); + +ASSERT_TRUE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, true)); +EXPECT_EQ(SANYO_LC7461, irsend.capture.decode_type); +EXPECT_EQ(SANYO_LC7461_BITS, irsend.capture.bits); +EXPECT_EQ(0x1D8113F00FF, irsend.capture.value); +EXPECT_EQ(0xEC0, irsend.capture.address); +EXPECT_EQ(0x0, irsend.capture.command); +EXPECT_FALSE(irsend.capture.repeat); + +// Confirm what the 42-bit NEC decode is. +ASSERT_TRUE(irrecv.decodeNEC(&irsend.capture, 42, false)); +EXPECT_EQ(0x1D8113F00FF, irsend.capture.value); +} + +// Fail to decode a non-Sanyo LC7461 example via GlobalCache +TEST(TestDecodeSanyoLC7461, FailToDecodeNonSanyoLC7461Example) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeSanyoLC7461(&irsend.capture, SANYO_LC7461_BITS, + false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Sharp_test.cpp b/lib/IRremoteESP8266/test/ir_Sharp_test.cpp new file mode 100644 index 00000000..0329b4e2 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Sharp_test.cpp @@ -0,0 +1,357 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for encodeSharp(). + +TEST(TestEncodeSharp, NormalEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x2, irsend.encodeSharp(0, 0)); + EXPECT_EQ(0x4202, irsend.encodeSharp(1, 1)); + EXPECT_EQ(0x4102, irsend.encodeSharp(1, 2)); + EXPECT_EQ(0x62E2, irsend.encodeSharp(0x43, 0x1D)); + EXPECT_EQ(0x2AAA, irsend.encodeSharp(0xAA, 0x55)); + EXPECT_EQ(0x7FFE, irsend.encodeSharp(0x1F, 0xFF)); + EXPECT_EQ(0x454A, irsend.encodeSharp(0x11, 0x4A)); +} + +TEST(TestEncodeSharp, AdvancedEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodeSharp(0, 0, 0, 0)); + EXPECT_EQ(0x1, irsend.encodeSharp(0, 0, 0, 1)); + EXPECT_EQ(0x2, irsend.encodeSharp(0, 0, 1, 0)); + EXPECT_EQ(0x3, irsend.encodeSharp(0, 0, 1, 1)); + EXPECT_EQ(0x4200, irsend.encodeSharp(1, 1, 0, 0)); + EXPECT_EQ(0x4203, irsend.encodeSharp(1, 1, 1, 1)); + + EXPECT_EQ(0x4200, irsend.encodeSharp(1, 1, 0, 0, false)); + EXPECT_EQ(0x4201, irsend.encodeSharp(1, 1, 0, 1, false)); + EXPECT_EQ(0x4203, irsend.encodeSharp(1, 1, 1, 1, false)); + + EXPECT_EQ(0x0404, irsend.encodeSharp(1, 1, 0, 0, true)); + EXPECT_EQ(0x0405, irsend.encodeSharp(1, 1, 0, 1, true)); + EXPECT_EQ(0x0407, irsend.encodeSharp(1, 1, 1, 1, true)); + + EXPECT_EQ(0x454A, irsend.encodeSharp(0x11, 0x52, 1, 0, true)); +} + + +// Tests for sendSharp(). + +// Test sending typical data only. +TEST(TestSendSharp, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharp(0x11, 0x52); + EXPECT_EQ( + "m260s1820m260s780m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s1820m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s1820m260s780m260s1820" + "m260s780m260s1820m260s1820m260s780m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendSharp, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharp(0x11, 0x52, SHARP_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m260s1820m260s780m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s1820m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s1820m260s780m260s1820" + "m260s780m260s1820m260s1820m260s780m260s1820m260s780m260s1820" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s1820m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s1820m260s780m260s1820" + "m260s780m260s1820m260s1820m260s780m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendSharp, SendUnusualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharp(0x0, 0x0, 8); + EXPECT_EQ( + "m260s780m260s780m260s780m260s780m260s780m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s1820m260s1820m260s1820m260s1820m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); + + irsend.reset(); + irsend.sendSharp(0x0, 0x0, 16); + EXPECT_EQ( + "m260s780m260s780m260s780m260s780m260s780m260s780m260s780m260s780" + "m260s780m260s780m260s780m260s780m260s780m260s780m260s1820m260s780" + "m260s43602" + "m260s780m260s780m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s1820m260s1820m260s1820m260s1820m260s1820m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); +} + +// Tests for sendSharpRaw(). + +// Test sending typical data only. +TEST(TestSendSharpRaw, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharpRaw(0x454A); + EXPECT_EQ( + "m260s1820m260s780m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s1820m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s1820m260s780m260s1820" + "m260s780m260s1820m260s1820m260s780m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendSharpRaw, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharpRaw(0x454A, SHARP_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m260s1820m260s780m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s1820m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s1820m260s780m260s1820" + "m260s780m260s1820m260s1820m260s780m260s1820m260s780m260s1820" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s1820m260s780m260s780m260s1820m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s780m260s780m260s780m260s1820m260s1820m260s780m260s1820" + "m260s780m260s1820m260s1820m260s780m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendSharpRaw, SendUnusualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharpRaw(0x2, 8); + EXPECT_EQ( + "m260s780m260s780m260s780m260s780m260s780m260s780m260s1820m260s780" + "m260s43602" + "m260s1820m260s1820m260s1820m260s1820m260s1820m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); + + irsend.reset(); + irsend.sendSharpRaw(0x2, 16); + EXPECT_EQ( + "m260s780m260s780m260s780m260s780m260s780m260s780m260s780m260s780" + "m260s780m260s780m260s780m260s780m260s780m260s780m260s1820m260s780" + "m260s43602" + "m260s780m260s780m260s780m260s780m260s780m260s780m260s1820m260s1820" + "m260s1820m260s1820m260s1820m260s1820m260s1820m260s1820m260s780m260s1820" + "m260s43602", irsend.outputStr()); +} + +// Tests for decodeSharp(). + +// Decode normal Sharp messages. +TEST(TestDecodeSharp, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Sharp 15-bit message. + irsend.reset(); + irsend.sendSharpRaw(0x454A); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x454A, irsend.capture.value); + EXPECT_EQ(0x11, irsend.capture.address); + EXPECT_EQ(0x4A, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal Sharp 15-bit message. + irsend.reset(); + irsend.sendSharpRaw(irsend.encodeSharp(0x07, 0x99)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x7266, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); + + // Synthesised Normal Sharp 15-bit message. + irsend.reset(); + irsend.sendSharpRaw(irsend.encodeSharp(0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x4202, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x1, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated Sharp messages. +TEST(TestDecodeSharp, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Sharp 15-bit message with 1 repeat. + irsend.reset(); + irsend.sendSharpRaw(0x7266, SHARP_BITS, 1); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x7266, irsend.capture.value); + EXPECT_EQ(0x07, irsend.capture.address); + EXPECT_EQ(0x99, irsend.capture.command); + + irsend.makeDecodeResult(2 * (2 * SHARP_BITS + FOOTER)); + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x7266, irsend.capture.value); +} + +// Decode unsupported Sharp messages. +TEST(TestDecodeSharp, DecodeWithNonStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSharpRaw(0x0, 8); // Illegal length Sharp 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, 8, false)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x0, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendSharpRaw(0x12345678, 32); // Illegal length Sharp 32-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, true)); + + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture, 32, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, 32, false)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(32, irsend.capture.bits); + EXPECT_EQ(0x12345678, irsend.capture.value); + EXPECT_EQ(0x8, irsend.capture.address); + EXPECT_EQ(0x79, irsend.capture.command); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeSharp, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal value & size Sharp 64-bit message. + irsend.sendSharpRaw(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture, 64, false)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0x1F, irsend.capture.address); + EXPECT_EQ(0xFF, irsend.capture.command); +} + +// Decode a 'real' example via GlobalCache +TEST(TestDecodeSharp, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Sharp Power On from Global Cache. + uint16_t gc_test[67] = {38000, 1, 1, + 10, 70, 10, 30, 10, 30, 10, 30, 10, 70, 10, 30, + 10, 70, 10, 30, 10, 70, 10, 30, 10, 30, 10, 70, + 10, 30, 10, 70, 10, 30, + 10, 1657, + 10, 70, 10, 30, 10, 30, 10, 30, 10, 70, 10, 70, + 10, 30, 10, 70, 10, 30, 10, 70, 10, 70, 10, 30, + 10, 70, 10, 30, 10, 70, + 10, 1657}; + irsend.sendGC(gc_test, 67); + irsend.makeDecodeResult(); + + ASSERT_TRUE(irrecv.decodeSharp(&irsend.capture)); + EXPECT_EQ(SHARP, irsend.capture.decode_type); + EXPECT_EQ(SHARP_BITS, irsend.capture.bits); + EXPECT_EQ(0x454A, irsend.capture.value); + EXPECT_EQ(0x11, irsend.capture.address); + EXPECT_EQ(0x4A, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Fail to decode a non-Sharp example via GlobalCache +TEST(TestDecodeSharp, FailToDecodeNonSharpExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[67] = {38000, 1, 1, + 10, 70, 30, 30, 10, 30, 10, 30, 10, 70, 10, 30, + 10, 70, 10, 30, 10, 70, 10, 30, 10, 30, 10, 70, + 10, 30, 10, 70, 10, 30, + 10, 1657, + 10, 70, 10, 30, 10, 30, 10, 30, 10, 70, 10, 70, + 10, 30, 10, 60, 10, 30, 10, 70, 10, 70, 10, 30, + 10, 10, 70, 30, 10, 70, + 10, 1657}; + irsend.sendGC(gc_test, 67); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, false)); + + // Test only half of a good message, as it is sent (sort of) twice. + uint16_t gc_half[35] = {38000, 1, 1, + 10, 70, 10, 30, 10, 30, 10, 30, 10, 70, 10, 30, + 10, 70, 10, 30, 10, 70, 10, 30, 10, 30, 10, 70, + 10, 30, 10, 70, 10, 30, + 10, 1657}; + + irsend.sendGC(gc_half, 35); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeSharp(&irsend.capture, SHARP_BITS, false)); +} diff --git a/lib/IRremoteESP8266/test/ir_Sherwood_test.cpp b/lib/IRremoteESP8266/test/ir_Sherwood_test.cpp new file mode 100644 index 00000000..b5750b3b --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Sherwood_test.cpp @@ -0,0 +1,72 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendSherwood(). + +// Test sending typical data only. +TEST(TestSendSherwood, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSherwood(0xC1A28877); + EXPECT_EQ("m8960s4480m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s560m560s560" + "m560s1680m560s560m560s560m560s560m560s560m560s1680m560s1680" + "m560s1680m560s560m560s1680m560s1680m560s1680m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Test sending typical data with extra repeats. +TEST(TestSendSherwood, SendDataWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSherwood(0xC1A28877, 32, 2); + EXPECT_EQ("m8960s4480m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s560m560s560" + "m560s1680m560s560m560s560m560s560m560s560m560s1680m560s1680" + "m560s1680m560s560m560s1680m560s1680m560s1680m560s108080" + "m8960s2240m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Test sending typical data with explicit no repeats. +TEST(TestSendSherwood, SendDataWithZeroRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSherwood(0xC1A28877, 32, 0); + // Should have a single NEC repeat, as we always send one. + EXPECT_EQ("m8960s4480m560s1680m560s1680m560s560m560s560m560s560m560s560" + "m560s560m560s1680m560s1680m560s560m560s1680m560s560m560s560" + "m560s560m560s1680m560s560m560s1680m560s560m560s560m560s560" + "m560s1680m560s560m560s560m560s560m560s560m560s1680m560s1680" + "m560s1680m560s560m560s1680m560s1680m560s1680m560s108080" + "m8960s2240m560s108080", irsend.outputStr()); +} + +// Test that a typical Sherwood send decodes as the appropriate NEC value. +TEST(TestSendSherwood, DecodesAsNEC) { + IRsendTest irsend(4); + IRrecv irrecv(0); + irsend.begin(); + + irsend.reset(); + irsend.sendSherwood(0xC1A28877); + irsend.makeDecodeResult(); + + EXPECT_TRUE(irrecv.decodeNEC(&irsend.capture)); + EXPECT_EQ(NEC, irsend.capture.decode_type); + EXPECT_EQ(NEC_BITS, irsend.capture.bits); + EXPECT_EQ(0xC1A28877, irsend.capture.value); + EXPECT_EQ(0x4583, irsend.capture.address); + EXPECT_EQ(0x11, irsend.capture.command); +} diff --git a/lib/IRremoteESP8266/test/ir_Sony_test.cpp b/lib/IRremoteESP8266/test/ir_Sony_test.cpp new file mode 100644 index 00000000..76d35144 --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Sony_test.cpp @@ -0,0 +1,323 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendSony(). + +// Test sending typical data only. +TEST(TestSendSony, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSony(0); + // We expect three 20-bit commands to be sent. + EXPECT_EQ("m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m600s600m600s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m600s600m600s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m600s600m600s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m600s600m600s600m600s600m600s45600", irsend.outputStr()); + + irsend.reset(); + irsend.sendSony(0x240C, SONY_20_BITS); + // We expect three 20-bit commands to be sent. + EXPECT_EQ("m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600", irsend.outputStr()); + + irsend.reset(); + irsend.sendSony(0x240C, SONY_15_BITS); + // We expect three 15-bit commands to be sent. + EXPECT_EQ("m2400s600m600s600m1200s600m600s600m600s600m1200s600m600s600" + "m600s600m600s600m600s600m600s600m600s600m1200s600m1200s600m600s600" + "m600s45600" + "m2400s600m600s600m1200s600m600s600m600s600m1200s600m600s600" + "m600s600m600s600m600s600m600s600m600s600m1200s600m1200s600m600s600" + "m600s45600" + "m2400s600m600s600m1200s600m600s600m600s600m1200s600m600s600" + "m600s600m600s600m600s600m600s600m600s600m1200s600m1200s600m600s600" + "m600s45600", irsend.outputStr()); + + irsend.reset(); + irsend.sendSony(0xA90, SONY_12_BITS); + // We expect three 15-bit commands to be sent. + EXPECT_EQ("m2400s600m1200s600m600s600m1200s600m600s600m1200s600m600s600" + "m600s600m1200s600m600s600m600s600m600s600m600s45600" + "m2400s600m1200s600m600s600m1200s600m600s600m1200s600m600s600" + "m600s600m1200s600m600s600m600s600m600s600m600s45600" + "m2400s600m1200s600m600s600m1200s600m600s600m1200s600m600s600" + "m600s600m1200s600m600s600m600s600m600s600m600s45600", + irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendSony, SendWithDiffRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSony(0x240C, SONY_20_BITS, 0); // Send a command with 0 repeats. + EXPECT_EQ("m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600", irsend.outputStr()); + irsend.sendSony(0x240C, SONY_20_BITS, 1); // Send a command with 1 repeat. + EXPECT_EQ("m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600", irsend.outputStr()); + irsend.sendSony(0x240C, SONY_20_BITS, 3); // Send a command with 3 repeats. + EXPECT_EQ("m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600" + "m2400s600m600s600m600s600m600s600m600s600m600s600m600s600m1200s600" + "m600s600m600s600m1200s600m600s600m600s600m600s600m600s600m600s600" + "m600s600m1200s600m1200s600m600s600m600s45600", irsend.outputStr()); +} + +// Tests for encodeSony(). + +TEST(TestEncodeSony, NormalSonyEncoding) { + IRsendTest irsend(4); + EXPECT_EQ(0x0, irsend.encodeSony(SONY_12_BITS, 0, 0)); + EXPECT_EQ(0xA90, irsend.encodeSony(SONY_12_BITS, 21, 1)); + EXPECT_EQ(0xFFF, irsend.encodeSony(SONY_12_BITS, 0x7F, 0x1F)); + + EXPECT_EQ(0x0, irsend.encodeSony(SONY_15_BITS, 0, 0)); + EXPECT_EQ(0x5480, irsend.encodeSony(SONY_15_BITS, 21, 1)); + EXPECT_EQ(0x5455, irsend.encodeSony(SONY_15_BITS, 21, 0xAA)); + EXPECT_EQ(0x7FFF, irsend.encodeSony(SONY_15_BITS, 0x7F, 0xFF)); + + EXPECT_EQ(0x0, irsend.encodeSony(SONY_20_BITS, 0, 0, 0)); + EXPECT_EQ(0x81080, irsend.encodeSony(SONY_20_BITS, 1, 1, 1)); + EXPECT_EQ(0xFFFFF, irsend.encodeSony(SONY_20_BITS, 0x7F, 0x1F, 0xFF)); +} + +TEST(TestEncodeSony, SonyEncodingWithOversizedValues) { + IRsendTest irsend(4); + EXPECT_EQ(0xFFF, irsend.encodeSony(SONY_12_BITS, 0xFFFF, 0xFFFF)); + + EXPECT_EQ(0x7FFF, irsend.encodeSony(SONY_15_BITS, 0xFFFF, 0xFFFF)); + + EXPECT_EQ(0xFFFFF, irsend.encodeSony(SONY_20_BITS, 0xFFFF, 0xFFFF, 0xFFFF)); +} + +// Tests for decodeSony(). + +// Decode normal Sony messages. +TEST(TestDecodeSony, NormalSonyDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Synthesised Normal Sony 20-bit message. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_20_BITS, 0x1, 0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_20_BITS, irsend.capture.bits); + EXPECT_EQ(0x81080, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x81, irsend.capture.command); + + // Synthesised Normal Sony 15-bit message. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_15_BITS, 21, 1), SONY_15_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_15_BITS, irsend.capture.bits); + EXPECT_EQ(0x5480, irsend.capture.value); + EXPECT_EQ(1, irsend.capture.address); + EXPECT_EQ(21, irsend.capture.command); + + // Synthesised Normal Sony 12-bit message. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_12_BITS, 21, 1), SONY_12_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_12_BITS, irsend.capture.bits); + EXPECT_EQ(0xA90, irsend.capture.value); + EXPECT_EQ(1, irsend.capture.address); + EXPECT_EQ(21, irsend.capture.command); +} + +// Decode unexpected Sony messages. i.e longer than minimum etc. +TEST(TestDecodeSony, SonyDecodeWithUnexpectedLegalSize) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Synthesised Normal Sony 20-bit message decoded when looking for 12-bits + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_20_BITS, 0x1, 0x1, 0x1)); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture, SONY_MIN_BITS)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_20_BITS, irsend.capture.bits); + EXPECT_EQ(0x81080, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x81, irsend.capture.command); + + // Synthesised Normal Sony 12-bit message when expecting 20-bits. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_12_BITS, 21, 1), SONY_12_BITS); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(SONY_12_BITS, irsend.capture.bits); + EXPECT_EQ(0xA90, irsend.capture.value); + EXPECT_EQ(1, irsend.capture.address); + EXPECT_EQ(21, irsend.capture.command); + + // 12-bit message should be regected when using strict and a different size. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_12_BITS, 21, 1), SONY_12_BITS); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + ASSERT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); + + // 15-bit message should be regected when using strict and a different size. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_15_BITS, 21, 1), SONY_15_BITS); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + ASSERT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + + // 20-bit message should be regected when using strict and a different size. + irsend.reset(); + irsend.sendSony(irsend.encodeSony(SONY_20_BITS, 1, 1, 1), SONY_20_BITS); + irsend.makeDecodeResult(); + ASSERT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + ASSERT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); +} + +// Decode unsupported Sony messages. i.e non-standard sizes. +TEST(TestDecodeSony, SonyDecodeWithIllegalSize) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendSony(0xFF, 8); // Illegal 8-bit Sony-like message. + irsend.makeDecodeResult(); + // Should fail with strict on. + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_MIN_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0xFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendSony(0x1FFF, 13); // Illegal 13-bit Sony-like message. + irsend.makeDecodeResult(); + // Should fail with strict on. + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_MIN_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(13, irsend.capture.bits); + EXPECT_EQ(0x1FFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendSony(0x1FFFF, 17); // Illegal 17-bit Sony-like message. + irsend.makeDecodeResult(); + // Should fail with strict on. + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_MIN_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(17, irsend.capture.bits); + EXPECT_EQ(0x1FFFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendSony(0x1FFFFF, 21); // Illegal 21-bit Sony-like message. + irsend.makeDecodeResult(); + // Should fail with strict on. + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_MIN_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_15_BITS, true)); + EXPECT_FALSE(irrecv.decodeSony(&irsend.capture, SONY_20_BITS, true)); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(21, irsend.capture.bits); + EXPECT_EQ(0x1FFFFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + // Illegal 64-bit (max) Sony-like message. + irsend.sendSony(0xFFFFFFFFFFFFFFFF, 64, 0); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} + + +// Decode unsupported Sony messages. i.e non-standard sizes. +TEST(TestDecodeSony, DecodeGlobalCacheExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Sony "Power On" from Global Cache. + uint16_t gc_test[29] = {40000, 1, 1, 96, 24, 24, 24, 48, 24, 48, 24, 48, 24, + 24, 24, 48, 24, 24, 24, 48, 24, 24, 24, 24, 24, 24, + 24, 24, 1013}; + irsend.sendGC(gc_test, 29); + irsend.makeDecodeResult(); + + // Without strict. + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture)); + EXPECT_EQ(SONY, irsend.capture.decode_type); + EXPECT_EQ(12, irsend.capture.bits); + EXPECT_EQ(0x750, irsend.capture.value); + EXPECT_EQ(0x1, irsend.capture.address); + EXPECT_EQ(0x2E, irsend.capture.command); + // With strict and correct size. + ASSERT_TRUE(irrecv.decodeSony(&irsend.capture, SONY_12_BITS, true)); +} diff --git a/lib/IRremoteESP8266/test/ir_Whynter_test.cpp b/lib/IRremoteESP8266/test/ir_Whynter_test.cpp new file mode 100644 index 00000000..4978bb6f --- /dev/null +++ b/lib/IRremoteESP8266/test/ir_Whynter_test.cpp @@ -0,0 +1,247 @@ +// Copyright 2017 David Conran + +#include "IRsend.h" +#include "IRsend_test.h" +#include "gtest/gtest.h" + +// Tests for sendWhynter(). + +// Test sending typical data only. +TEST(TestSendWhynter, SendDataOnly) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendWhynter(0x0); + EXPECT_EQ( + "m750s750m2850s2850" + "m750s750m750s750m750s750m750s750m750s750m750s750m750s750m750s750" + "m750s750m750s750m750s750m750s750m750s750m750s750m750s750m750s750" + "m750s750m750s750m750s750m750s750m750s750m750s750m750s750m750s750" + "m750s750m750s750m750s750m750s750m750s750m750s750m750s750m750s750" + "m750s108000", irsend.outputStr()); + + irsend.reset(); + irsend.sendWhynter(0xFFFFFFFF); + EXPECT_EQ( + "m750s750m2850s2850" + "m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150" + "m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150" + "m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150" + "m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150m750s2150" + "m750s108000", irsend.outputStr()); + + irsend.reset(); + irsend.sendWhynter(0x87654321); + EXPECT_EQ( + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000", irsend.outputStr()); +} + +// Test sending with different repeats. +TEST(TestSendWhynter, SendWithRepeats) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendWhynter(0x87654321, WHYNTER_BITS, 0); // 0 repeats. + EXPECT_EQ( + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000", irsend.outputStr()); + + irsend.reset(); + irsend.sendWhynter(0x87654321, WHYNTER_BITS, 1); // 1 repeat. + EXPECT_EQ( + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000" + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000", irsend.outputStr()); + irsend.sendWhynter(0x87654321, WHYNTER_BITS, 2); // 2 repeats. + EXPECT_EQ( + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000" + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000" + "m750s750m2850s2850" + "m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150m750s2150" + "m750s750m750s2150m750s2150m750s750m750s750m750s2150m750s750m750s2150" + "m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150m750s2150" + "m750s750m750s750m750s2150m750s750m750s750m750s750m750s750m750s2150" + "m750s108000", irsend.outputStr()); +} + +// Test sending an atypical data size. +TEST(TestSendWhynter, SendUnusualSize) { + IRsendTest irsend(4); + irsend.begin(); + + irsend.reset(); + irsend.sendWhynter(0x0, 8); + EXPECT_EQ( + "m750s750m2850s2850" + "m750s750m750s750m750s750m750s750m750s750m750s750m750s750m750s750" + "m750s108000", irsend.outputStr()); + + irsend.reset(); + irsend.sendWhynter(0x1234567890ABCDEF, 64); + EXPECT_EQ( + "m750s750m2850s2850" + "m750s750m750s750m750s750m750s2150m750s750m750s750m750s2150m750s750" + "m750s750m750s750m750s2150m750s2150m750s750m750s2150m750s750m750s750" + "m750s750m750s2150m750s750m750s2150m750s750m750s2150m750s2150m750s750" + "m750s750m750s2150m750s2150m750s2150m750s2150m750s750m750s750m750s750" + "m750s2150m750s750m750s750m750s2150m750s750m750s750m750s750m750s750" + "m750s2150m750s750m750s2150m750s750m750s2150m750s750m750s2150m750s2150" + "m750s2150m750s2150m750s750m750s750m750s2150m750s2150m750s750m750s2150" + "m750s2150m750s2150m750s2150m750s750m750s2150m750s2150m750s2150m750s2150" + "m750s108000", irsend.outputStr()); +} + +// Tests for decodeWhynter(). + +// Decode normal Whynter messages. +TEST(TestDecodeWhynter, NormalDecodeWithStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Whynter 32-bit message. + irsend.reset(); + irsend.sendWhynter(0x87654321); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, true)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(WHYNTER_BITS, irsend.capture.bits); + EXPECT_EQ(0x87654321, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + EXPECT_FALSE(irsend.capture.repeat); +} + +// Decode normal repeated Whynter messages. +TEST(TestDecodeWhynter, NormalDecodeWithRepeatAndStrict) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + // Normal Whynter 32-bit message with 2 repeats. + irsend.reset(); + irsend.sendWhynter(0x87654321, WHYNTER_BITS, 2); + irsend.makeDecodeResult(); + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, true)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(WHYNTER_BITS, irsend.capture.bits); + EXPECT_EQ(0x87654321, irsend.capture.value); + EXPECT_FALSE(irsend.capture.repeat); + + irsend.makeDecodeResult(2 * WHYNTER_BITS + 6); + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, true)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(WHYNTER_BITS, irsend.capture.bits); + EXPECT_EQ(0x87654321, irsend.capture.value); + + irsend.makeDecodeResult(2 * (2 * WHYNTER_BITS + 6)); + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, true)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(WHYNTER_BITS, irsend.capture.bits); + EXPECT_EQ(0x87654321, irsend.capture.value); +} + +// Decode unsupported Whynter messages. +TEST(TestDecodeWhynter, DecodeWithNonStrictSizes) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + irsend.sendWhynter(0x12, 8); // Illegal sized Whynter 8-bit message. + irsend.makeDecodeResult(); + // Should fail with strict on. + ASSERT_FALSE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, true)); + ASSERT_FALSE(irrecv.decodeWhynter(&irsend.capture, 8, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, 8, false)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(8, irsend.capture.bits); + EXPECT_EQ(0x12, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); + + irsend.reset(); + irsend.sendWhynter(0x1234567890, 40); // Illegal size Whynter 40-bit message. + irsend.makeDecodeResult(); + // Shouldn't pass with strict when we ask for less bits than we got. + ASSERT_FALSE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, true)); + + irsend.makeDecodeResult(); + // Should fail with strict when we ask for the wrong bit size. + ASSERT_FALSE(irrecv.decodeWhynter(&irsend.capture, 40, true)); + // Should pass if strict off. + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, 40, false)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(40, irsend.capture.bits); + EXPECT_EQ(0x1234567890, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} + +// Decode (non-standard) 64-bit messages. +TEST(TestDecodeWhynter, Decode64BitMessages) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Illegal size Whynter 64-bit message. + irsend.sendWhynter(0xFFFFFFFFFFFFFFFF, 64); + irsend.makeDecodeResult(); + // Should work with a 'normal' match (not strict) + ASSERT_TRUE(irrecv.decodeWhynter(&irsend.capture, 64, false)); + EXPECT_EQ(WHYNTER, irsend.capture.decode_type); + EXPECT_EQ(64, irsend.capture.bits); + EXPECT_EQ(0xFFFFFFFFFFFFFFFF, irsend.capture.value); + EXPECT_EQ(0x0, irsend.capture.address); + EXPECT_EQ(0x0, irsend.capture.command); +} + +// Fail to decode a non-Whynter example via GlobalCache +TEST(TestDecodeWhynter, FailToDecodeNonWhynterExample) { + IRsendTest irsend(4); + IRrecv irrecv(4); + irsend.begin(); + + irsend.reset(); + // Modified a few entries to unexpected values, based on previous test case. + uint16_t gc_test[39] = {38000, 1, 1, 322, 162, 20, 61, 20, 61, 20, 20, 20, 20, + 20, 20, 20, 127, 20, 61, 9, 20, 20, 61, 20, 20, 20, + 61, 20, 61, 20, 61, 20, 20, 20, 20, 20, 20, 20, 884}; + irsend.sendGC(gc_test, 39); + irsend.makeDecodeResult(); + + ASSERT_FALSE(irrecv.decodeWhynter(&irsend.capture)); + ASSERT_FALSE(irrecv.decodeWhynter(&irsend.capture, WHYNTER_BITS, false)); +} diff --git a/lib/NewRemoteSwitch/NewRemoteReceiver.cpp b/lib/NewRemoteSwitch/NewRemoteReceiver.cpp new file mode 100644 index 00000000..af0620e5 --- /dev/null +++ b/lib/NewRemoteSwitch/NewRemoteReceiver.cpp @@ -0,0 +1,320 @@ +/* + * NewRemoteSwitch library v1.2.0 (20140128) made by Randy Simons http://randysimons.nl/ + * See NewRemoteReceiver.h for details. + * + * License: GPLv3. See license.txt + */ + +#include "NewRemoteReceiver.h" + +#define RESET_STATE _state = -1 // Resets state to initial position. + +/************ +* NewRemoteReceiver + +Protocol. (Copied from Wieltje, http://www.circuitsonline.net/forum/view/message/1181410#1181410, +but with slightly different timings, as measured on my device.) + _ _ +'0': | |_| |_____ (T,T,T,5T) + _ _ +'1': | |_____| |_ (T,5T,T,T) + _ _ +dim: | |_| |_ (T,T,T,T) + +T = short period of ~260µs. However, this code tries +to figure out the correct period + +A full frame looks like this: + +- start pulse: 1T high, 10.44T low +- 26 bit: Address +- 1 bit: group bit +- 1 bit: on/off/[dim] +- 4 bit: unit +- [4 bit: dim level. Present of [dim] is chosen, but might be present anyway...] +- stop pulse: 1T high, 40T low + +************/ + +#ifdef ESP8266 + // interrupt handler and related code must be in RAM on ESP8266, + #define RECEIVE_ATTR ICACHE_RAM_ATTR + #define CALLBACK_SIGNATURE (_callback)(receivedCode.period, receivedCode.address, receivedCode.groupBit, receivedCode.unit, receivedCode.switchType) +#else + #define RECEIVE_ATTR + #define CALLBACK_SIGNATURE (_callback)(receivedCode.period, receivedCode.address, receivedCode.groupBit, receivedCode.unit, receivedCode.switchType) +#endif + +int8_t NewRemoteReceiver::_interrupt; +volatile short NewRemoteReceiver::_state; +byte NewRemoteReceiver::_minRepeats; +NewRemoteReceiverCallBack NewRemoteReceiver::_callback; +boolean NewRemoteReceiver::_inCallback = false; +boolean NewRemoteReceiver::_enabled = false; + +void NewRemoteReceiver::init(int8_t interrupt, byte minRepeats, NewRemoteReceiverCallBack callback) { + _interrupt = interrupt; + _minRepeats = minRepeats; + _callback = callback; + + enable(); + if (_interrupt >= 0) { + attachInterrupt(_interrupt, interruptHandler, CHANGE); + } +} + +void NewRemoteReceiver::enable() { + RESET_STATE; + _enabled = true; +} + +void NewRemoteReceiver::disable() { + _enabled = false; +} + +void NewRemoteReceiver::deinit() { + _enabled = false; + if (_interrupt >= 0) { + detachInterrupt(_interrupt); + } +} + +void RECEIVE_ATTR NewRemoteReceiver::interruptHandler() { + // This method is written as compact code to keep it fast. While breaking up this method into more + // methods would certainly increase the readability, it would also be much slower to execute. + // Making calls to other methods is quite expensive on AVR. As These interrupt handlers are called + // many times a second, calling other methods should be kept to a minimum. + + if (!_enabled) { + return; + } + + static byte receivedBit; // Contains "bit" currently receiving + static NewRemoteCode receivedCode; // Contains received code + static NewRemoteCode previousCode; // Contains previous received code + static byte repeats = 0; // The number of times the an identical code is received in a row. + static unsigned long edgeTimeStamp[3] = {0, }; // Timestamp of edges + static unsigned int min1Period, max1Period, min5Period, max5Period; + static bool skip; + + // Filter out too short pulses. This method works as a low pass filter. + edgeTimeStamp[1] = edgeTimeStamp[2]; + edgeTimeStamp[2] = micros(); + + if (skip) { + skip = false; + return; + } + + if (_state >= 0 && edgeTimeStamp[2]-edgeTimeStamp[1] < min1Period) { + // Last edge was too short. + // Skip this edge, and the next too. + skip = true; + return; + } + + unsigned int duration = edgeTimeStamp[1] - edgeTimeStamp[0]; + edgeTimeStamp[0] = edgeTimeStamp[1]; + + // Note that if state>=0, duration is always >= 1 period. + + if (_state == -1) { + // wait for the long low part of a stop bit. + // Stopbit: 1T high, 40T low + // By default 1T is 260µs, but for maximum compatibility go as low as 120µs + if (duration > 4800) { // =40*120µs, minimal time between two edges before decoding starts. + // Sync signal received.. Preparing for decoding + repeats = 0; + + receivedCode.period = duration / 40; // Measured signal is 40T, so 1T (period) is measured signal / 40. + + // Allow for large error-margin. ElCheapo-hardware :( + min1Period = receivedCode.period * 3 / 10; // Lower limit for 1 period is 0.3 times measured period; high signals can "linger" a bit sometimes, making low signals quite short. + max1Period = receivedCode.period * 3; // Upper limit for 1 period is 3 times measured period + min5Period = receivedCode.period * 3; // Lower limit for 5 periods is 3 times measured period + max5Period = receivedCode.period * 8; // Upper limit for 5 periods is 8 times measured period + } + else { + return; + } + } else if (_state == 0) { // Verify start bit part 1 of 2 + // Duration must be ~1T + if (duration > max1Period) { + RESET_STATE; + return; + } + // Start-bit passed. Do some clean-up. + receivedCode.address = receivedCode.unit = receivedCode.dimLevel = 0; + } else if (_state == 1) { // Verify start bit part 2 of 2 + // Duration must be ~10.44T + if (duration < 7 * receivedCode.period || duration > 15 * receivedCode.period) { + RESET_STATE; + return; + } + } else if (_state < 148) { // state 146 is first edge of stop-sequence. All bits before that adhere to default protocol, with exception of dim-bit + receivedBit <<= 1; + + // One bit consists out of 4 bit parts. + // bit part durations can ONLY be 1 or 5 periods. + if (duration <= max1Period) { + receivedBit &= B1110; // Clear LSB of receivedBit + } else if (duration >= min5Period && duration <= max5Period) { + receivedBit |= B1; // Set LSB of receivedBit + } else if ( + // Check if duration matches the second part of stopbit (duration must be ~40T), and ... + (duration >= 20 * receivedCode.period && duration <= 80 * receivedCode.period) && + // if first part op stopbit was a short signal (short signal yielded a 0 as second bit in receivedBit), and ... + ((receivedBit & B10) == B00) && + // we are in a state in which a stopbit is actually valid, only then ... + (_state == 147 || _state == 131) ) { + // If a dim-level was present... + if (_state == 147) { + // mark received switch signal as signal-with-dim + receivedCode.dimLevelPresent = true; + } + + // a valid signal was found! + if ( + receivedCode.address != previousCode.address || + receivedCode.unit != previousCode.unit || + receivedCode.dimLevelPresent != previousCode.dimLevelPresent || + receivedCode.dimLevel != previousCode.dimLevel || + receivedCode.groupBit != previousCode.groupBit || + receivedCode.switchType != previousCode.switchType + ) { // memcmp isn't deemed safe + repeats=0; + previousCode = receivedCode; + } + + repeats++; + + if (repeats>=_minRepeats) { + if (!_inCallback) { + _inCallback = true; + CALLBACK_SIGNATURE; + _inCallback = false; + } + // Reset after callback. + RESET_STATE; + return; + } + + // Reset for next round + _state=0; // no need to wait for another sync-bit! + return; + } + else { // Otherwise the entire sequence is invalid + RESET_STATE; + return; + } + + if (_state % 4 == 1) { // Last bit part? Note: this is the short version of "if ( (_state-2) % 4 == 3 )" + // There are 3 valid options for receivedBit: + // 0, indicated by short short short long == B0001. + // 1, short long shot short == B0100. + // dim, short shot short shot == B0000. + // Everything else: inconsistent data, trash the whole sequence. + + + if (_state < 106) { + // States 2 - 105 are address bit states + + receivedCode.address <<= 1; + + // Decode bit. Only 4 LSB's of receivedBit are used; trim the rest. + switch (receivedBit & B1111) { + case B0001: // Bit "0" received. + // receivedCode.address |= 0; But let's not do that, as it is wasteful. + break; + case B0100: // Bit "1" received. + receivedCode.address |= 1; + break; + default: // Bit was invalid. Abort. + RESET_STATE; + return; + } + } else if (_state < 110) { + // States 106 - 109 are group bit states. + switch (receivedBit & B1111) { + case B0001: // Bit "0" received. + receivedCode.groupBit = false; + break; + case B0100: // Bit "1" received. + receivedCode.groupBit = true; + break; + default: // Bit was invalid. Abort. + RESET_STATE; + return; + } + } else if (_state < 114) { + // States 110 - 113 are switch bit states. + switch (receivedBit & B1111) { + case B0001: // Bit "0" received. + receivedCode.switchType = NewRemoteCode::off; + break; + case B0100: // Bit "1" received. Note: this might turn out to be a on_with_dim signal. + receivedCode.switchType = NewRemoteCode::on; + break; + case B0000: // Bit "dim" received. + receivedCode.switchType = NewRemoteCode::dim; + break; + default: // Bit was invalid. Abort. + RESET_STATE; + return; + } + } else if (_state < 130){ + // States 114 - 129 are unit bit states. + receivedCode.unit <<= 1; + + // Decode bit. + switch (receivedBit & B1111) { + case B0001: // Bit "0" received. + // receivedCode.unit |= 0; But let's not do that, as it is wasteful. + break; + case B0100: // Bit "1" received. + receivedCode.unit |= 1; + break; + default: // Bit was invalid. Abort. + RESET_STATE; + return; + } + + } else if (_state < 146) { + // States 130 - 145 are dim bit states. + // Depending on hardware, these bits can be present, even if switchType is NewRemoteCode::on or NewRemoteCode::off + + receivedCode.dimLevel <<= 1; + + // Decode bit. + switch (receivedBit & B1111) { + case B0001: // Bit "0" received. + // receivedCode.dimLevel |= 0; But let's not do that, as it is wasteful. + break; + case B0100: // Bit "1" received. + receivedCode.dimLevel |= 1; + break; + default: // Bit was invalid. Abort. + RESET_STATE; + return; + } + } + } + } + + _state++; + return; +} + +boolean NewRemoteReceiver::isReceiving(int waitMillis) { + unsigned long startTime=millis(); + + int waited; // Signed int! + do { + if (_state >= 34) { // Abort if a significant part of a code (start pulse + 8 bits) has been received + return true; + } + waited = (millis()-startTime); + } while(waited>=0 && waited <= waitMillis); // Yes, clock wraps every 50 days. And then you'd have to wait for a looooong time. + + return false; +} diff --git a/lib/NewRemoteSwitch/NewRemoteReceiver.h b/lib/NewRemoteSwitch/NewRemoteReceiver.h new file mode 100644 index 00000000..3d5c03ee --- /dev/null +++ b/lib/NewRemoteSwitch/NewRemoteReceiver.h @@ -0,0 +1,120 @@ +/* + * NewRemoteSwitch library v1.2.0 (20140128) made by Randy Simons http://randysimons.nl/ + * + * License: GPLv3. See license.txt + */ + +#ifndef NewRemoteReceiver_h +#define NewRemoteReceiver_h + +#include + +typedef enum SwitchType { + off = 0, + on = 1, + dim = 2 + } switchType; + +struct NewRemoteCode { + enum SwitchType { + off = 0, + on = 1, + dim = 2 + }; + unsigned int period; // Detected duration in microseconds of 1T in the received signal + unsigned long address; // Address of received code. [0..2^26-1] + boolean groupBit; // Group bit set or not + SwitchType switchType; // off, on, dim, on_with_dim. + byte unit; // Unit code of received code [0..15] + boolean dimLevelPresent; // Dim level present or not. Will be available for switchType dim, but might be available for on or off too, depending on remote. + byte dimLevel; // Dim level [0..15]. Will be available if switchType is dim, on_with_dim or off_with_dim. +}; + +#ifdef ESP8266 +#include +#define CALLBACK_SIGNATUREH typedef std::function NewRemoteReceiverCallBack +#else +#define CALLBACK_SIGNATUREH typedef void (*NewRemoteReceiverCallBack)(unsigned int period, unsigned long address, unsigned long groupBit, unsigned long unit, unsigned long switchType) +#endif +CALLBACK_SIGNATUREH; + + +/** +* See RemoteSwitch for introduction. +* +* NewRemoteReceiver decodes the signal received from a 433MHz-receiver, like the "KlikAanKlikUit"-system +* as well as the signal sent by the RemoteSwtich class. When a correct signal is received, +* a user-defined callback function is called. +* +* Note that in the callback function, the interrupts are still disabled. You can enabled them, if needed. +* A call to the callback must be finished before NewRemoteReceiver will call the callback function again, thus +* there is no re-entrant problem. +* +* When sending your own code using NewRemoteSwich, disable() the receiver first. +* +* This is a pure static class, for simplicity and to limit memory-use. +*/ + + +class NewRemoteReceiver { + public: + /** + * Initializes the decoder. + * + * If interrupt >= 0, init will register pin to this library. + * If interrupt < 0, no interrupt is registered. In that case, you have to call interruptHandler() + * yourself whenever the output of the receiver changes, or you can use InterruptChain. + * + * @param interrupt The interrupt as is used by Arduino's attachInterrupt function. See attachInterrupt for details. + If < 0, you must call interruptHandler() yourself. + * @param minRepeats The number of times the same code must be received in a row before the callback is calles + * @param callback Pointer to a callback function, with signature void (*func)(NewRemoteCode) + */ + static void init(int8_t interrupt, byte minRepeats, NewRemoteReceiverCallBack callback); + + /** + * Enable decoding. No need to call enable() after init(). + */ + static void enable(); + + /** + * Disable decoding. You can re-enable decoding by calling enable(); + */ + static void disable(); + + /** + * Deinitializes the decoder. Disables decoding and detaches the interrupt handler. If you want to + * re-enable decoding, call init() again. + */ + static void deinit(); + + /** + * Tells wether a signal is being received. If a compatible signal is detected within the time out, isReceiving returns true. + * Since it makes no sense to transmit while another transmitter is active, it's best to wait for isReceiving() to false. + * By default it waits for 150ms, in which a (relative slow) KaKu signal can be broadcasted three times. + * + * Note: isReceiving() depends on interrupts enabled. Thus, when disabled()'ed, or when interrupts are disabled (as is + * the case in the callback), isReceiving() will not work properly. + * + * @param waitMillis number of milliseconds to monitor for signal. + * @return boolean If after waitMillis no signal was being processed, returns false. If before expiration a signal was being processed, returns true. + */ + static boolean isReceiving(int waitMillis = 150); + + /** + * Called every time the signal level changes (high to low or vice versa). Usually called by interrupt. + */ + static void interruptHandler(); + + private: + + static int8_t _interrupt; // Radio input interrupt + volatile static short _state; // State of decoding process. + static byte _minRepeats; + static NewRemoteReceiverCallBack _callback; + static boolean _inCallback; // When true, the callback function is being executed; prevents re-entrance. + static boolean _enabled; // If true, monitoring and decoding is enabled. If false, interruptHandler will return immediately. + +}; + +#endif diff --git a/lib/NewRemoteSwitch/NewRemoteTransmitter.cpp b/lib/NewRemoteSwitch/NewRemoteTransmitter.cpp new file mode 100644 index 00000000..c3abda3d --- /dev/null +++ b/lib/NewRemoteSwitch/NewRemoteTransmitter.cpp @@ -0,0 +1,168 @@ +/* + * NewRemoteSwitch library v1.2.0 (20140128) made by Randy Simons http://randysimons.nl/ + * See NewRemoteTransmitter.h for details. + * + * License: GPLv3. See license.txt + */ + +#include "NewRemoteTransmitter.h" +#ifdef ESP8266 + // interrupt handler and related code must be in RAM on ESP8266, + #define RECEIVE_ATTR ICACHE_RAM_ATTR +#else + #define RECEIVE_ATTR +#endif + +NewRemoteTransmitter::NewRemoteTransmitter(unsigned long address, byte pin, unsigned int periodusec, byte repeats) { + _address = address; + _pin = pin; + _periodusec = periodusec; + _repeats = (1 << repeats) - 1; // I.e. _repeats = 2^repeats - 1 + + pinMode(_pin, OUTPUT); +} + +void NewRemoteTransmitter::sendGroup(boolean switchOn) { + for (int8_t i = _repeats; i >= 0; i--) { + _sendStartPulse(); + + _sendAddress(); + + // Do send group bit + _sendBit(true); + + // Switch on | off + _sendBit(switchOn); + + // No unit. Is this actually ignored?.. + _sendUnit(0); + + _sendStopPulse(); + } +} + +void NewRemoteTransmitter::sendUnit(byte unit, boolean switchOn) { + for (int8_t i = _repeats; i >= 0; i--) { + _sendStartPulse(); + + _sendAddress(); + + // No group bit + _sendBit(false); + + // Switch on | off + _sendBit(switchOn); + + _sendUnit(unit); + + _sendStopPulse(); + } +} + +void NewRemoteTransmitter::sendDim(byte unit, byte dimLevel) { + for (int8_t i = _repeats; i >= 0; i--) { + _sendStartPulse(); + + _sendAddress(); + + // No group bit + _sendBit(false); + + // Switch type 'dim' + digitalWrite(_pin, HIGH); + delayMicroseconds(_periodusec); + digitalWrite(_pin, LOW); + delayMicroseconds(_periodusec); + digitalWrite(_pin, HIGH); + delayMicroseconds(_periodusec); + digitalWrite(_pin, LOW); + delayMicroseconds(_periodusec); + + _sendUnit(unit); + + for (int8_t j=3; j>=0; j--) { + _sendBit(dimLevel & 1<= 0; i--) { + _sendStartPulse(); + + _sendAddress(); + + // No group bit + _sendBit(true); + + // Switch type 'dim' + digitalWrite(_pin, HIGH); + delayMicroseconds(_periodusec); + digitalWrite(_pin, LOW); + delayMicroseconds(_periodusec); + digitalWrite(_pin, HIGH); + delayMicroseconds(_periodusec); + digitalWrite(_pin, LOW); + delayMicroseconds(_periodusec); + + _sendUnit(0); + + for (int8_t j=3; j>=0; j--) { + _sendBit(dimLevel & 1<> 1)); // Actually 10.5T insteat of 10.44T. Close enough. +} + +void NewRemoteTransmitter::_sendAddress() { + for (int8_t i=25; i>=0; i--) { + _sendBit((_address >> i) & 1); + } +} + +void NewRemoteTransmitter::_sendUnit(byte unit) { + for (int8_t i=3; i>=0; i--) { + _sendBit(unit & 1< + + +/** +* NewRemoteTransmitter provides a generic class for simulation of common RF remote controls, like the A-series +* 'Klik aan Klik uit'-system (http://www.klikaanklikuit.nl/), used to remotely switch lights etc. +* +* This class is meant for new-style remotes, usually accompanied by receivers with "code learning" +* capabilities. For other remotes, use the RemoteTransmitter class. +* +* Hardware required for this library: a 433MHz/434MHz SAW oscillator transmitter, e.g. +* http://www.sparkfun.com/products/10534 +* http://www.conrad.nl/goto/?product=130428 +* +* Notes: +* - I measured the period length with an oscilloscope, using a A-series KAKU transmitter. Other devices +* or manufacturers may use other period length. Use the ShowReceivedCodeNewRemote example to find the +* period length for your devices. +* - You can copy the address of your "real" remotes, so you won't have to learn new codes into the receivers. +* In effect this duplicates a remote. But you can also pick a random number in the range 0..2^26-1. +*/ +class NewRemoteTransmitter { + public: + /** + * Constructor. + * + * To obtain the correct period length, use the ShowReceivedCodeNewRemote example, or you + * can use an oscilloscope. + * + * @param address Address of this transmitter [0..2^26-1] Duplicate the address of your hardware, or choose a random number. + * @param pin Output pin on Arduino to which the transmitter is connected + * @param periodusec Duration of one period, in microseconds. One bit takes 8 periods (but only 4 for 'dim' signal). + * @param repeats [0..8] The 2log-Number of times the signal is repeated. The actual number of repeats will be 2^repeats. 2 would be bare minimum, 4 seems robust, 8 is maximum (and overkill). + */ + NewRemoteTransmitter(unsigned long address, byte pin, unsigned int periodusec = 260, byte repeats = 4); + + /** + * Send on/off command to the address group. + * + * @param switchOn True to send "on" signal, false to send "off" signal. + */ + void sendGroup(boolean switchOn); + + /** + * Send on/off command to an unit on the current address. + * + * @param unit [0..15] target unit. + * @param switchOn True to send "on" signal, false to send "off" signal. + */ + void sendUnit(byte unit, boolean switchOn); + + /** + * Send dim value to an unit on the current address. This will also switch on the device. + * Note that low bound can be limited on the dimmer itself. Setting a dimLevel of 0 + * may not actually turn off the device. + * + * @param unit [0..15] target unit. + * @param dimLevel [0..15] Dim level. 0 for off, 15 for brightest level. + */ + void sendDim(byte unit, byte dimLevel); + + /** + * Send dim value the current address group. This will also switch on the device. + * Note that low bound can be limited on the dimmer itself. Setting a dimLevel of 0 + * may not actually turn off the device. + * + * @param dimLevel [0..15] Dim level. 0 for off, 15 for brightest level. + */ + void sendGroupDim(byte dimLevel); + + protected: + unsigned long _address; // Address of this transmitter. + byte _pin; // Transmitter output pin + unsigned int _periodusec; // Oscillator period in microseconds + byte _repeats; // Number over repetitions of one telegram + + /** + * Transmits start-pulse + */ + void _sendStartPulse(); + + /** + * Transmits address part + */ + void _sendAddress(); + + /** + * Transmits unit part. + * + * @param unit [0-15] target unit. + */ + void _sendUnit(byte unit); + + /** + * Transmits stop pulse. + */ + void _sendStopPulse(); + + /** + * Transmits a single bit. + * + * @param isBitOne True, to send '1', false to send '0'. + */ + void _sendBit(boolean isBitOne); +}; +#endif diff --git a/lib/NewRemoteSwitch/README.md b/lib/NewRemoteSwitch/README.md new file mode 100644 index 00000000..8a745f7f --- /dev/null +++ b/lib/NewRemoteSwitch/README.md @@ -0,0 +1,55 @@ +NewRemoteSwitch library v1.2.0 (20140128) for Arduino 1.0 +Made by Randy Simons http://randysimons.nl/ + +This library provides an easy class for Arduino, to send and receive signals +used by some common "new style" 433MHz remote control switches. + +There are two styles of remote: + - "old style", which uses switches or a dial to set the house code. Use the + RemoteSwitch library instead. + - "new style", which use a button on the receivers to "learn" a signal. Use + this library. + +License: GPLv3. See ./NewRemoteSwitch/license.txt + +Latest source and wiki: https://bitbucket.org/fuzzillogic/433mhzforarduino + + +Installation of library: + - Make sure Arduino is closed + - Copy the directory NewRemoteSwitch to the Arduino library directory (usually + /libraries/) + See http://arduino.cc/en/Guide/Libraries for detailed instructions. + +Default installation demo: + - Connect the data-out-pin of a 433MHz receiver to digital pin 2. See photo. + (Note: your hardware may have a different pin configuration!) + - Start Arduino, and open the example: File -> Examples -> NewRemoteSwitch -> + ShowReceivedCode or ShowReceivedCodeNewRemote. + - Compile, upload and run + - Open serial monitor in Arduino (115200 baud) + - Press buttons on a 433MHz-remote, and watch the serial monitor + + +Changelog: +NewRemoteSwitch library v1.2.0 (20140128) for Arduino 1.0 + - Revisited receiving dim-levels. Now it is always optional, check + dimLevelPresent to see if it was transmitted. + This change might break your code, as SwitchType::on_with_dim is removed. + - Added NewRemoteTransmitter::sendGroupDim. + - Added Dimmer example. Thanks to a Bitcoin donation, I could actually test it! + +NewRemoteSwitch library v1.1.0 (20130601) for Arduino 1.0 + - BUGFIX: in many occasions, when receiving a dim-level, the code was rejected + even if the signal was correct. + - Support decoding A-series transmitters which transmit a dim-level in + combination with an on-signal, instead of a dim-signal. + - Uses NewRemodeCode::on, ::off, ::dim, ::on_with_dim instead of 0, 1, 2 and 3, + for better readability. This change is backwards compatible. + - Updated examples to use the new NewRemodeCode::on, ::off, ::dim and + ::on_with_dim notation. + - Reduced memory usage (Flash, RAM) + +NewRemoteSwitch library v1.0.0 (20121229) for Arduino 1.0 + - Support for receiving A-series Klik-aan-klik-uit remote. (NewRemoteReceiver) + - With examples to test and demonstrate. diff --git a/lib/NewRemoteSwitch/docs/hardware setup.jpg b/lib/NewRemoteSwitch/docs/hardware setup.jpg new file mode 100644 index 0000000000000000000000000000000000000000..bea017e4c0bc5bcac747f08726b9ffffbc64b63d GIT binary patch literal 132303 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%0AdUzN1-(er_@4 zoSO*$z{uD)*67_{4sA-vK`2DQo(kC6Q}b`jq8nx$9>#BN?;RdScpKuU7a(Q4T-BAw zAhx`iIDP~2bnao~V+U3%b7B&C=zn~5sz)4eiGyVPQyK2ze0yMrt$SU&7{^0W?u3bp zi^vERh&U01obML(^wggechqx}Dif>P5EG=5aZlrTR!F)PFm~UJ(ph(^PNDZAQ(%yo zJe)7GFp)Khr=={O_*Xb4u|NxsyHJH@5cU%#m`=4hEXx6KIV2G>4F z2nj9@xYfGaJaJdt4OO>Mc~(NSMD7j_sliz44~;>|bzj@dBSBSw|1)jLe&&3j2D8y6S;x})YJL5PPIm_ps@72LZY>q|qm{gC#LPA24QcR;PY&F6? zo0N5ujhO7-CkXE}TOvDyTG&e|$*`wBu~YZvfjgmmDYhTKP*TF|$($DU5PuHADlX!z zGj*Z0c+Xq*p>Y+$MrnDB<6J_<**n^7`qKF$4W*JJKYiUD)hdt-1?3SJXQZKxGPL?x zq{e2Nl@BzgGCsmXiY=lj0$CkL?NOM}vQ$0pdy@Q&9ms5(sT=P{5twX5jMo#$Nl*TB z_p&X?v74x*Sq-Z|F`BU<#>rN2hB;YpKQ|g~DfhrmtIFOdaj9iUr~h3*ss?gXIf$o# zS%@UE5`a-JUqU=fw5%6_JPjyBLwSH-ZG%GNF++r-S}*^OBi?I$%-FQU+F7LEk&M`EL1dbAkD)S(Dvn`* z?Fm+5WPMszOCdl!K#_JMlOzfVXH7M5>}$>bkl)#U?y#mc`glQ3do-mYdX$(<>X0Vf zTSUHQiam@OgGv`CN@8OBV7OE8$4B88*V^Zuc3F1;=~j)P%s0cC+6EjHeAO*fjF!xm zvIEM^y-khn6*?&vWafD0HiF+T*yzq$bE+cDURYSIAywWx!kNKAK}4WX=b5~r z15Qtf6(I;mN3XPPB=Dw+MfIe4Sw=KSj4mk_(lqzVJ3V*Mrm}dVFe@aqnx0sbsfqYQ zc)LE0W;r7YQn_@tX<|KPRME)GaEQoyP{|;*EO4J3N0B9@vEDEHz}=`Ge@PR zjHnNTWf>(mC!-p?@Vt~nh}Mu+q|Cb=cT=~|L7%B?Bu^M6M=SfSYPdEA-+VH26tjmY za9{A9lL~I6r7E5SHU{;Nw{;^Gb#B5@VXKo*18_7X!-6G{ffi(&&L{FW0weOG4CrTe#*z-vTINi`;m1CbGp77p@|}|l?9Z=>9|n0Oqzy@tiVLy zV81TY%QsZaMaR_e*GekUs$aXnB5aJ|cp_H%_R%gi+ zP}Y=AHs@xd?|=g;qp4+gn+QFQ@*a=BYXVRft7b8=w3Qo<@ZLaD2v1VpnZC?DSfvh2 zyrx^^BX32r)GhK9mDNAm6$&`a2+YQR$$AkG4*#)ImdJTN1!tSQQWH)SPNIpJB=!^n z$`pHf@0pecc@w+X`9SdlNT_yIRW9sDKY<(bAC}Xsx9~h zK~}@g>2r4m`YJ1S4!cJUTscc}sTZVCiXl33@{KGo1P@-m3kVbt-hpeypLK{O@wsLh z>k*)&9M`NASQ`xm?#s;Vu;1m9~GGxK=#m76J|KJGOL*Xw<&g&QR) zc%v#G5mJdj4{u*`=5~Ewtb3^yHgdW3v;?V=EGI^B4BNuiQl!6s!bkXuLxqH5&V%6@ z&YR#~0duV)x`;-b*=*PLhn4Ti-!o0Fczl7jL2k}J^>C^6x70Bh=9(D6m}=M+UJ4wR zyNUP++`dUs__&q7nA$Z^&T@MGDU2qIKl~s);L`U~l=e)cEcO7D<7XJO`x7th-AxMp z;DO-Ym)+L7gkm?HRMpLF6Eb8QcRX7mAwidpM7}q3p_=C7F@%)Bv}Ug@W1fR4xq9w7 zqV&nBZ>K3$Jf>-F1ztf~Nz!}T=&nvDHWN078)jy(M4P$o!@0bYrLSIr%nj*6=a1wP zzOUVk&abb#M!^o!kEYVj?Pi)bqy2xheS!7Oj>2zX(gleD_JJZ+?ZsdkX%@dsoG@-i zB!W;Y?Zb9X3{!Y|mw$pC4X9-nAv! zp(6NudbsOno^9@4(MJ4A?p&jf?M*kZy9cvZXyZ0>F^dhU+Q(zXL3FmEgcqt{yeQo*R0igr1Tg0w~LQAzb?S}1r8PqyuZUg%xTPud`y=wOb|%R;t6Yb z8t3Zk?X{SA$3vBc^3ZtQ!n#1HaHomtXzi-oS9+u7cA_oCj;K45aRH>EkEuphh`+DN zxGlt%x5dpwW2t@A!_mXQsBNEnl_rhNSY&aFLEtF;p=Bo06vZcx;2`*QX|38r3Bpe!`4{$|RMa$iG{qh{redBsP2K@wBhN zP+lPS(9vSWE>l5Y3C-I4w+a#Xb^rmno5;t`Jd>ZU-F5}5c{yG=1zPou*(PIlRW$w^ zFPDzfT~agn6Xv<(Xq;uwCEgo12fHRQxdlyM=WJg0C{15|W9iG_(m@`H!~U95a{Gj;md{lJUkPZ>^?bdm>sn||+r^^!`CrSHEDZ>7Z=R%o& zno5i)kIdKe;VBgjRBq;X6BV2Uoya7r-k&61?{QJvwT;sXZ}^kH=i1wEp=M21RSlBk zJE~6@D2nie_JF;=kT-}NVY7^Aso10sL-h2Wpe6Z+>Q8RAhbQ5m#CsYZ5?_y8c8AqK z=|1}t(oFf+kjQ2kq_iio`xr9P(@{wHvk)2Tf`d1k=wRh&V4kHfwN)gnWxP`7hL*aQ z{$0(~wVz@;GU`>ZU_uAsx@Tu%=dcGV%QAqKwVerV@|{d3iOvUn%+&>{B%dB7a=A_kTbZiddcnU7_-rW=$4Lua-hIh= ze?Gq*sAgB*<+b(gh1FAI7J-lvj?#NUlvFD}PRkY&kEf2llzuv&j!(4&da zi5lWv|4hq*WSqP(9sF#-=HVl?;~(8A*WF2MhworIf@APDPodU|EXV305ttf8Bw7FzMdOH!=`hBv0+I- zV#a1TfeIcl;eHfTWzO`;9IumRWaXj4C#ymmk(=}L_xa{g01AZF9Gy)CWgqy>E+^)H z+`$)$=Oit~B=nG%m|$1JclByd18@))WYjage31b; zad#5&I!H`(grqnLrwkpS+Rf!#2d+Ewi`qkOdT995Fp1QmO|ntb+10e>>PaOdK{7u{ z6VBI1D&T9W=URK$?^CE%zi95k63=J4F57FdYEAj94N&9XYczHcr>_hA72XRp6KVyqQLJXJ*K&EobDwir`cv_3B#7(X1go z2evhfU#kc{#vvp^Lk>+sWw?5uR8V^Tv8$l?_;N(#dp?&7tM34d>&LB_8>{**p-~cv zOp3CiBjaWJ2=@dap8paSKkY;gK_fsx)qQTM^nr)O=~KM?(~7tWrTHYS(Sv*g@7{4m ztVw_2u~nF9JA9GiOmBWKYo#HF|MM(nNnsJ<4*{t&?a_z(ZypwZgP-i|h}q?=+!QEH zWK22iK5f8ae#J7I-=i8>wRig78WTj;Ag|m!f4mE2lhS;%(N0n|#bhlTUT6FTV?>Qb z|Dk3R{Tv;Qoy?%*yQ>1RjSXOxk(SukT1)T57lym%N^P`oTMcEu=adYrBm*T_tQEB5 z-r{Z?f&4%8Ca!xFem3CNvx|A9Ea$n5F%P1b^ZM)@i0AZh^HSr*7Dae{aE|^)%J#;A z8n3G9rRK1b)a%!^vl{xtdCp)yRbIYv|H`!8xwIEv`)7XeQ6#w)Xy;T*wuyUZxfe*CpK^-YHzp|^4u9!z1Di6!y%dYJ6Ps=OLKgFcu5aSa&CRXJShbavKAnGA6@#4r z6t6lCM8{e)f`#ng*illi>-hRGMVvyn-Mz<8fB4@7+@-ZRJpTG%te2RD=ZHc#77K+o zg?1CfWCTtv#B)rG$z7*KMXS-{?`VDK`b|vC1l*#T)b`o~KKb286n(hsbkf48K$Qso zwZ8>W7HIa=PwVOQnN!c3>o0||KbkJOD&pWHNxQbU`B70?Q2{?-J$W}y9?+5Htw1J) zt)im7ZYq-ZfTBv9Gdusw+x;(&CvTe5@?r1+ln z9ti#zlCl$4ZBOWt$FOSk9kF==<+8?Htp`iTvX@xxQ0VVu zn$IrMl1w4?-e;feGV(xh_hpHu1=F7|sa;?R-shza#&deRN)Z`mqJeU9ul53ZjE-;D zMqpx28LJ_!pvFpVvd205R-@~QY#*V4G0+kMdkR7iVlzbzRP+u`vNduhT=>4R&eDpI7NbtO!~mrN3>W-TZ0ui;6^|;Fh94Py zMQdZPAvuOm-NZMk0a%JlM|#DY4{ohbu^@?f*8e%1vRLTHeCNe>N%@O_PvS1}A1mDQ z>?m&9?MRiDcf6J%j>-DZqqa=l%C>qu^PM&)8(gzT#B*x4zPNEoPsJIUF|986LABfaCb=F5a{ttFH5GVLea{1vannj&yA!Wpce6Tf}8GL*ZoaKqQ|2$YJY- zBJU-8eg@4`vzo6LLF^e#uRgB_SiuFQUW{1tR=v-?HK>hMRbQEstl)2Ugf7qTojei3 zB+n_*RDcle8VY&sSPT0_qO#|vr7?myi(XYTlA%ELbHEL<8tAqA7$6QVy@t4vT?*4g z9h0ruvw)8$(@$V>6Gt&>ZHyNp>ydA`kmRp69Z@lx-_yM8-h%jUUw9m>@6>on`Q0_#e|6*P#8Xk?;S#u$(6($jik52=@~3g#P%^Otc6!pnKP4F$o4dPT zYzsHN-NjD5gdEMC3#|I;JW@yVwKj#Q28z$aCm>p1s>-xZr=w(alu7JL$WYU0YFsP|zY_xkn} zV!t5uI`si!TfqcZbE0!*di|3)<})Unyw_L_>L~Kf!NqCMBeWx`SO}V{iK?g|nuU%j z5|Z&Mp~ce`6$$?73VzvnEPUE8gTH?SiE`L1CMjbro&Okr6Yf57xS!~2=p_})qC6&j za9%3%GrlPo$C-)^IqhkzSc~a){#3q`eubLQo>XKJzZSiqs%N;nf=cK#gOXowfdVYb zD+g9K=dNgji%UH^y_j(*YwDZVReIjluYXD^a$7IRG*Io>qe%0D?wKxCk~EpKvx~IB zlqePM`4u*$E`BmCPBjj5kEssa%YpL+z=4EOJtWnVO%YP1U8kxnT0~A9qA3D(S1ZMO zHts=Xq>}7Nj%gxqJLykxagi_O7xyWzqwB6>IcI-iFJpG@+sA>_hR0c*9w$dTEwDV(P#OEGVjC7sOpcib!Yn9V z>Lk&t^k9sr%vN3ILkAj7-8ufu5|NU%$zBU9I{aMFS@NfG{%b;4U3J^kh9Wj! zpfjc>LN_}b?;v~`S#@NdIAS4H=OB%$|wq`4lC5J$e z3A03ehwjsy&H_Ii$5({7|t!H-_a0aMLUlr%++K<51 zSFhacCf9viDvHf`Jg=>K9$8I)US_kpj>=o`XbNq?lEWh#(=W!_p-B>R6E6a(1J#LZ zpY;vgtPW|V4@9NbGfA5G(FR9w5>8k(Xe@Py2XD2zg`P^n(8mv}6Jj7iROCNd`sA#(Nm8 zGF#vV+e_<>Y8rGA30Q=iwpU3_oM@VjP26KFf4-|7lK_Cr#H>#(a>t zIRi;kHVkF)1X|*GpxSjb=9-z2)5S07BjIoS%1lw@&h*PGq6?=Hq5P)($sC8Qi{b$F6OvIbMK&t5UFmbvw1D+qX7-*z|%1 z+`JIH*v*64@f;EI+e|t^-_Z%mzil=&{;K?jCzVohly!VU0gbKrDdwsasi|L{0lr+N zz`XE-$M0lp!qkq`Gt$RA1(v-Nci_y>IMOPI|$?#Y$^A*~^(M@!X4Ows&+iedS}brZTaxf^G0sypr1Y+_e+2IKI6iQPLm_#x~rO zTt_0LaC#XQIi`@6AjPV4_*B(2!Z;B_P}QrM-Z&Cna%%ff1DiIQZz?l=TWDJ~roPyk zh~^cPw+z>`*ra%{nk+_tK*2HFvU@mSENww)yOQ9!X(Ks zEs@er#f-{0lsVU^Y#1HdSZ{_6`h4i2?oVjx^CHD%&%=~&10ny8+N3cu;SBzFbVUF56gVR&^_i%;g(j?8&; z(?FaNPgGQ=+zW*iMw^g{4NYHj%O0lx*l%#`A~)dNB;*G^IrN#>Izr-)7SRiDkjQ+a zYE!epEkjROf>Wr~ka-aAqUmAnb53|5cr2WfrH~pD`ex(3;)Ya8tURyKccmsUlO@hG zDE?zJbo7S=?QNjBdZ*X>32dwk*3B!#tfC_vs=_&?*0hmTt1$dDami9s`pP%t7#Fd) zKHNfNrWR}V#Gdxvqr9w`-h`g23>NK`?eCEX6%$|_5T~kQ#YkPa*FXnsnnp8&KKxKH z27+x4Xdl%CI;mOOQ!+8AR!J0RFHgqHJ=xc>imFbI@#s*Iu84n=Kyb+y)oAMlrle2(j;y6AyrljEn?C z0wN=}St7P)BKBkg@KFfpfOv%5kBMk`Blv7_|&C|5t}hF?pvTDAB)!p6{9Z& zm0Yb|;alF#U;g|BsD(}c0+`=zy$`As?+OZf$KtE(Sk5S-~8QkaktZ3rwmTBC7hnOw?A(my(xfmA(XUUA#{6P;V9ee&1S)O1Gx)S?Lz%P&V(8Q-;9>aLey?v$PAslkb@vrU$*nNzwAlm{_rPU8+Q2QRlq zU-3EAwhw%wC{>e5gI@qVzRskGnK&fCWE8x&8-;c z|6m&@;>2gLWl)%nxkWh46t4pO7PCb-f+pZGNjqZmP6|B{mgvBjt-_e1P?eokluiC8 zS7nnUZvW(>`||tz`xa6Dr_Ftr(r+-Tzw#tw%7}>9-&x9U@LSSRL(ik@Ab8KMTUfk2-gmlUQ5cgMW3$SJ;_4%4i~)W#NO7#*haC@<8eVm2{4k}K z-WDSgR7d@`MRw+Jhte2ze0PP{OLr{Dp5^lkP~t8P6o-U9`UNn(&7Z#{KeYM<;QCqc z3*c1u3-CxT+-AzZ75x`L?(0#|O~JLblsG*ZRZ>O&Ke@c5a1c+w!seJC{wB$ZN4O;fCM6QhWQRgo39}f`n#5J zoGJOf?kS?tz3}X}*y14)_tfCsuV(Cin%I-lRD0KHs^C?>L8$ z;_410U+6bfPI<*oEH`WEAF09~#s)3D~aLcL(UfH&c1fn3E$ZUhS+mmVwan}$$> z!A+0Vn88g$Sp233vm!xw5woI!60?fTyloA?LG`4reT&ZTdB%sBcZf-+lU<9LbboH% zf4}Vr>p6W9iRo@!4>@H}k(rb3)9^@3H*SCb3lR85UCv_dl6SC4o4x9`ejZq<&TVYi z+lDoV>0XB)oVE2+t-^1~U=6;l?04Xk#;V;bp1R}muGZp}kgdB=K;}Y4$QEO%xhFZ+ z@ao|A@sQxodV&tIyw4_T5hp2HCe>o16>-T7iinO?DKsO)<^*N;@>u+vZ*SBcf6Jp8 zeD=Zfh*G`PK*V@@0^18ZhEmX9>~bN-ChEJBAzv*^G;Y7V=-$qC3Nt z8O-6$3a1`Ai48rQ6ORQBqxjGZ+`ad{e+>f&k`3K5rj$kNn_x7_pdEWP#$Yst0(4T7(pdGfV-;pTCsl-kxvTjBIGdL`-SKEGLW^aYRh#mEs4>jY4sR7U-ZFUqolc zSk&^JlsniQ5L)~(i(VP?-Q*Ux9WsA>F&#Hw9C zzfu%RM)x~EL|>mSNSqvN#9}J z&u1-z+68;Nco=y;V^(s_<$0z-wx0sIc>D=C1Dq2rNRSYibcjTbh5HLob$c9WX%@Bs zO))SZB-!}w4G4_)O8#+SJH8ONnyXZilxxg@b+4%^x7&QOWH06v5KKz6ryIc)ES;gO zZE%{QaQ?JIdcR8XW=-sRu|s(#S`a@wS)MzS_e<}J3pht*>-DL7cBKI^B_x4xB=aHb zmK{ez>Jf9Vemdd5qJe%0Q;N_(zQ1%+UBZ(D=%c_f>$DkP`0`zX%ZT zU#k8`=YND5#FBoShIINu&*~`VwwHU2)FAqwfloi@#ff2`U6A!FTiH#>JB=H|xz*rIjN3d{aNFts}4_YH|PLlr3Gi zR`>U}qN{02?}I0*`^L(_SuNsUt$zVHrR^VtAbb{)mlQ*_2@2Cz%Dgl?O4zdPiN5^! znn2YN{0s0f^(1J}bmIrM{(X$_f9Fi3;NCH+(>Xg3$L5&(!_Bd;alPgq<>I3c+*Qoe zfC#_n)N?#BscC)wN6Zj^d23uR8X_(?ch}FLEzVN+9KSt}M-$~oSVyGE<)vtm zTdOoHxq3A4G13xl?{j1?KyII4*eBkcx1pD3UAvQg=H$NseD(xLmz-}16@JGxYGm1% zh1u-)aSvl05Bu<2Z$b?|JbiY-YuVj^qFt{CnMi5qw_TDr7dUsAdg9&;(5+9d3gOVS z&O~Iq{!VQNV<(Z^*m-lK5WD#M1;Oz|eLSiO;m=`>8NhaizAt{|1>=p}4|~pC&X}&b z@;ai9f%hA;;KK)vdke}xixc&#EHYkz+pte3?&3IvNN*mZr*OvQRXou^t{Xg zYrSRKJy9{ZOqOPrUh1X8lcL3oro%&6iddkad#~x(JQBk^5_h2SOVDy)@Ft2^j7bE{ z-9sQ$j{~rAi%h6&b<>}XSOOoB*}K;Y6bTdj(crq%HMjuI$*+f8j3B^!gf}KR;N{;K3GO zJ8F_WoA!rHY;{>tOz|ZDVwTZ(tS_y9n5F{Hze*bkR28chwHTM=H`JE zP)q~ZYiZP{;-=s91bBjXtxQS+n9}YO$h_OUaw<;5L zwUdbZ7AV$Ia89|ske~ZKY~{tRh(cQo*A2N&MGT9M-mR-~hoy1P+xr08?9v0XlA};0 z6TtIR)}M09Zr{Xgbl!<`%YT11HYv^?5BIZ6)=NPnbw-BIfmu?Hj5UamSz%LQb3{a7 zFN*5xRz8kbe@bsle@j18q@P_hj8csfMhT-)C|4*qC^xA8J2})l80^@_;yAq?HB#670`&D9 zcX;k~m^Abp<<#WH=&mVg05)PN`ptPmC`QH7)w^GT$AMneA*^~<6ccW+ij$z(z_y|__HT%|3_#n zJ#0Ken%k-{L44H#r&Sn3?HP+58UNJ(KkNA4t2)_Cy^fTHXmDICVwo?F4aFv$D{6Z( z#TE+0qWd9%=Fb?j>o3avJ?Y?3DDX3pc3NCMTNo!|@m9*CZ@2acc5-wUQ3UVmy`e*eV=DawYQ$ z4}s*GXlRK4zkmn`?mu6HjxY2t4Z;`?#cQFz0M?m?FLE(kp=p5j%$_2Jj0c%)jZ`}L zFjsSZz)~WY!KntJYY=ip(oul?w;P6pSsQ(w1rKHw;Qa2g%(=)pj7Q?o1`%#Ry4Dfe zx$dNS%adZ@J`O>1K}(Dz5uKzbUz)dUV~c`H147`XADTD4F!)bj%6V|=ha1+SVS#Rn zK>US2i`EiHD9HSsWoZ)ZX0{23@@$uZADO;peIA}Y7|pgNILF*^*d-iq@c@TxIC%d4 z3h%x`K>01&QI;v=IQ9P#jIvHoCa$ z;_mKl!JP#b_uz|rAh^4`yD#n*Ah=5ix=2E>1VR!#c<#R6_y4zU-P2uLGgDpDThrZh zo;l|^r{&g}roQF=1Hf1W<%2}jn&(O@54izIPtpuJSeN*)xXTtbVfD^er2+#Y${}mf zH;R?M*+QUbgd)B&gIt22pv!w{=7 z^Q@nl!~Lx5hpkPM(w#()3oO3Wx}7hIj|sQHWvNY3!9`L|Z7w9oldldb`|CyV42~Bn>D?@m8!zj%RT`D$}tP8I!#QLB4Pe-MxiSH;AdI7S^Qx z!0$|0+lFt7%V3eEC+CVxHMs%#Hl>ccLuDf6b@jV^<+^m7GsedF@V()j1|JTuq&DTE z55d9A^pD4Aw7OYh%;NHn`?pk@QV{=z&v5feg1jTW4zfUW#g~N%bImVPDy=*w-)AV7 zbFm+=0+H|rex9GpBW63D0-*?I3ZCl-v{+j4bGYwZ~?t)G=TBk9^E1m>0 zX8h^d&EQD5U!KF~*(it!%D*u0mb>yvL&ijgAll7*N_AAEa)?LcC`XRUCyH0a&zvadLu!Ba0~7%szaCjAUSWO-Kqxhh62{|{%k@~A`dg}ue=Hbe zbHa(SfHggXDexdQs$Y)bi<5s+zGDGel4hW_XpFhD;!{5sb8YsLV{}pEWB8Mdt)1aS zRuaEq?)1nXLN@df{Fl0cW^2@7sOTFuqwQ}>WJc=xe^uRUsouuoWa>j>AQ;2*%`1$VkqiyXZ*7<*X2q;%eJ2n9!B)%-$M(r+1yZLM@`3)= zjvZgA9=Vfq)N%U3C>S#>oonvIbfnQhQTbb#QTxXt(fM7ZBZr?>EE_1~j|Z)3-R4c# zWZoqi8HL@^9y{!kYfy`y2{Y#`9JPcCohXxU4c0W<;|1#DSOlcz(DKNlM3LA8XQgTb z#KoI~7p1CG7q=b(&LP^XVJR{*+84GTakca0iJE4wBLAdFB(4V$0Paf}GTLwOWExL^ zJpaMsd<}eG6U`t$7slAQLouc%WQB1b5|fA)3;A0tPvYVhVO1E56!U>C76zi-qHNcO zCyuk(-nIBp^G8FT{*yovP$NSfbg6o`120~itdw5}pDra@6STG@r_4p>hLPiD@FF{Y zWoXL6+fKVTx(rJuwHwK3tFhC>OyX$BiW0z->9e8|J%ro(s?a)Lg}?o|&wN%(_uqX( z?DP&*wCNI^Kpb_S<;~=WPZ4^0ic0df?A=ppu6Fpnl*HQ6pA0ZopKis5QonMbeivwZ zogBYR4CU4*0jD*@1_5aht?lKmX1w0r0_qfjzc85b?YKS(X>SKachrAi6X#d3!9Mc%lndTm&xJb4{pf{$L@dl2WalwGFXzev9+UEFs42@ z1j${QPlpeJtW}_SVr2}I2q`W+T%Qd_A4t4-ZFW&D|>xPAKC6;NBUdY6OSO(w8pU7j{ed3py+9hJQP!Xg(jtR#xJqV-p6-St$ zTWowJ+iSP~OVCx|Eh0~;mj|6q*M7A!4{tn}&aMqsp`uNH_N7QHBQzNnC0Hjp}(ybi7HCWQ6}FeLg-v`kW{;9nUF$rdh`^@<`} z+x$inmCz=;_XVi);n=Dez}lKK=^Vg<-x)Ar?J|$}L83Y8^=mTP&apn0R;JB~sqtoPH&NT*KguC%+jdds)dg8MYLn%9v z0||cbtTs&vux%c?1sjWBvuE{^Pl zc(g3h=w*ry+Jxa;=Ydrv>Xdzt=*S*TS~FE9=)gJ=X+sbWslWUj30PRjTCp^p6U7Bd73?E7-TApc|5Ju@qb7=6ZYQYXU7t9PT$K)C)<3G%2s}jS{G@k{z zeFOXn+`sU3N+Un@v7IU~B0QM*Ccwy|PhP+>SrsZUD^tztYX5is;qZ$1r}_i$A;Nds z3~lfn>_a`cbJtphih;PR!z-$NNI@(uKcBl6H}RlcCyP$j4J?3F8 z1N7sr9mtws)on6vKhhCl`6@~I>yoPB6H_9c;UI;RtZ4b1B!TW4em7q2#!9M`i8nR5 zYT-zFlRk@o%6*mXx*-{Y;O$?GiMt8-cmCtY#N|%|Cw#xmGq&^(jI8;;(-Epo+wXST z>AM+ASCKtd`Ub00Umq%>^D~`wd^kFV^7(RSzRTTH=y4b^&Tp<~jW`cVh>yD`nHd%V z)$`v zDLFJ~me9;J1Vwg$8GM1!QMI3k(zWp=*&sOyt`Mw+tnsiNBS{czy{yBd3+{UvCEw~5}_T_p<=f1S%1qTp`HR^u|0Ym zn#$g!JbOi|61dM=FAaXyy4mFQAB8ijn0QDWz3#`&cNZ79y}Svqy0-p8m3_p2>F6sd zM!TV+rX|s(IwGpc&Wp&!HAtHa-X=FBR_uC-LdqzFEibpUTAx2f_0Wc292Ol;s9lMV zW>Ez<8R%@eESySM=i8s^@km)v9#3t_F5YZ;4ZAY3TBP_bClRt5^ZnW+_}pTDinf0E z=vv^zo5q{{BC{rwUJ^e%b_M`VuWTQm`bO0T!ZxvDxg^YM{k!vYNFiq|G$kFy)B=Yz zwV@SWsKF%~?_T)i49Fvs`(d>`S_kw+ZKYMh>R(9g$u^I(!gKW!?+eVm8h*7tKlf0? zN-d{W^K9ycgu8e^3i~=0IWou)klaWZ^330-+6ASq@A|cT{|Yh90kHN8Lc)K1akUR@ ziXZ3LQmyW~#rH^w5&hXs+Zk4RXc3bfDQvEDeHQ;XSb(3J_7BjWVscD&no$Q94s9Rr zUrZWJ6IWzen9OHYS@orm%L+|-Kbq5V<30`LUV9j@PWL5ytr^G>-}}1|SR7aXxIxgI zkIM|=yd*Q%#@Y#QUTs-DK>9IW%O=rOaCtB{jZx5H#qpb4AiOVm^0TV}VysnF{Z9xL zcR{W~@RT;xT7W$rQoGshjhKtVoMC`D5xvqyT%FHUWZiK&H znYj~x(XIS)v9Mx~pZ!v1Pp@@cM{SR}iPegg4EQco;D*3X1VLNg!f@@)Ojqm?w~h-o z)YEoG;3|_`tIqo2D%XI|`4eUrk*5D@iT_FylIhUdU7}X-x3YS=gq5)DmX5xq0ut-V zyg z@&s-^JdX7lV`?pwXJNkaw&jXt(!dJvS?mB%eQ`57XnHroMAz#++Oq<}wLv>NmpEE785S zna!(T&hUKjU~w-;SO!N!#AlQCWia4q$qp9-Ri5rBYriJRcR%o&yB9M5q+&~)OYEpkV&g4ov^AaX4>XCp zqKY+jOC4+*?-B8c=$|-Xvn6s9=6WSe$%ug(TGm}c>*h-I+wrqKHXMB;wrpZAf_jrRgSjg4@eI+%Sbt$f7HJUb+CO z*IX*Ac8wz;o?_KoZxLI1NYhxE1Xn_q;R%HZ7HEONr;ub03a4wdqv=%rzHOA~>uSCq z?U|!DD2TgXCe!BAyFlD})?~4mjy@h@z0PbZsWC@icsceX0#nZY8jJIdz$|q>5w=O+Am2HlzggNfj57}08 zD_%tNYvRjN9=ny#bqL6Dtzab_0jHHN% z%ZmO8GJU`+2$|Bj@@kYgI2E1F5OVmdTTWHb@@w^-EIuH4R7G!NcRJx(RQq!aKYXH= zXdTZrfs;vTnln6DnwU?~vAGm+40L;9`f#0!jCGIoXGfV_l%iEfbGf68&^=gR_yr9R z0&qGefnbZd#vlq`VUan z)+pW)LoNVX&W2KF`<##dX)9ge%L0jomfeFUlLs#@wwzQe3xvr85AiZ48)G@67oc!s z6-E*XXfdkR+y=6gpI3io$$vVaJkM_fe=9H4OB7GWlF4nA5+^Ccv_&)IqR0_n*~ehW zsV4pw;TvDNa}_@yr?2!|FW9!IZ)2MHlE$!bPI6PHu(h@SbO9Fn(Z}6?-sYSp2EpYr1hh z;!$#49lNI*N~`uuvUZszvz^2s@Md9Z*?QI5GFC|LT8JR|(|aDOT1EF592>&ogQk=l z0@SWFx!JNF|BSx4%7pXb!+@L~(7NcReTkP+Y{y!{wP8qEzW*x=eP9N~!uU!qTLki1 z;JWGptf=NkWj&%VwasDjBy2L-G6S9mxt-Nlid%}M$~2Zz15)hqq+{ZmuWtvBn#T2$ z?s$EhBWIFzg(`U_TOjf=wH{!r*syA2VN>eNafRZCx*5TxW2h^R5{U%y-={K#qUK#& zuwuQT!Dcz$Wiv)8$88HXyD=-xZe1I2DTommlV;DOjacg;o<6ca&C#RPPN{WOOYlyL zOD~|7by(}vOy>Ia^{{DpjHZYoJP&v7LnrBf_U`;t4;%C|frwjj)`IWZ%k)JB@b6ld zpcpGuAGSr%+9EcmFh9Rwuf__G^wKvpgZ13}OA*7<0i_8>KAkmRBlN!FSkx|B)!M0I zD6*&^Eo%l*;s9+Ue-C%MXC0V5?fy6tfpA+eU&Ik%jXJ`V)u~b$=@5hoy`{&}O7PH5K=os|iN;3jUZ+81;g3 zLWLNu&OjXwqg(x|oq{v#k%v?&jCjzC`~mr6>`Y*20sI5Nh^#;$`oB}nyVKQNMW;1; zZ3-HZzAkGHhUPK!h){3jIx?N}OHdLfyrBQ2ULFHXeJG zwDzxqrX~USYQ)pOaBhP^=a!9pT$XV6xxX-9jtfT~H1G8W?EwpT-0>X6G^L?I0J6Qr zFAbxU;o?FyN1B1H4-SY)6uvEDM8xbcx7OsSJbV>-53zK$X<5ENW99x@yL>qH4=@93 zk0!k{`cjoCQkd}MG0W-k_z&>N{$MF{>%t2M1rCW7atFR|-nQ?yp9V6lfY}NjbJQ|m zX`wlCUeU-uy&6EsKaBv;^c5Zocl4=%+51LwcjoIK)car-xw)ghe*l&?U=l!RyW%+a zJ40|Gz+pnAKARXmdW;70h)FcHMIyDBR;ZaXMZpCiDouyqe6^~zRZra3L~LuzI@&b* z6w^0u*2jZ^_GezmixW()AAWv9S2ZU~g)DDSd%2I7OK%$Awh`VB>A|$!{^VGVMui$I zdnBL2JfNO?6Msn}H>Q6PF4Qt46lNh7IJChzZ%v!FtM9BOC8McT4BvYH`g~&zAjW{M z`FieX91cj=3>2^Ks<)>!e&Xjpn-EK7=$LM(R0GIDfg6JxtHoCO{{ZRYa!qvTfEEL} zHnQ=aaTu|1JbMxuTcY5K5JM-%Z`&Ls^ci}lm{^LhH<49Yn6C7dUfMn;_aJw&-^^2B z^RPV9D^cB0TT1dgO0IEJr<)hiHG43Ox`Gw#UoXa*#an`Zs0X(fxX^Ov#UA739 zsOa)96kt)2QA%2m^=+=r=hH2gbkNKz6YMJE(=cD;h!hZ39^E5$2O<41iAykJ0}}y^ z(iawqCpk@S1dv+ZxI|?^lHvJ3`&pl{qfDc?8WQGt=Kzx8(By)5e)xbkoTW%F(`)Fu z3elLM91>zz+XXCnr+Y*-2^9Zn@A%ovAz0zeyDPLJ`0a5>A78~}TFunYyt+^K+kDn{ z*7swI7)PKRvZu0ghrTBL*UKbk*=RTks9ZS?POX6#(ozz5VU*IFma-wzk$9WjWq^qX zl+kZr5?{TEqgTYlfR;fqDOski;f$%HqJqII@(=PS2o{%yh4MB*9uO=nKc^~|QPlDv z#%Q`J^~6v-Fuq}A&Odb#f01E!&xqj*%Lvhwm0s5;4Qq9^BE7YY= zlk*vJwxrTvyw2@3*ebC&dH5{cOL<(XAk{3DBI0!9)HxsE2B+{qQZVxgl20DrX1#sU z@?(l)t@*J}yaU~}olfYqe?*cep*>(e!zlh3cY$N@cjSJua)_>Z`xni@89wF3&c(}PL9uwrq4JT|;gMvG99fE< zjH%M5jpXIcR*Vp)$pcSog+5|5*4>)52vsiSqrdp%Cvp7Ae~~~YfP!5OptWek%YX{~g zfp3dwK$dE;_A3Ghrx*7-sQ3-@$E!qVgSKcY=^Dg#bk(g5G*`{6oo%) zzSJ@x{`dvtYpvG$SKKsu^DjOU&pW(IIq3mkeBEIJH!$@B*K;J12R%-dpPpg(OmaJT z-!s`2h^U(~H@W!4q(L~|?OJm@Ljrdq_7|Ex6Pkx9mEGEKrs^ulFC$-8jfhLBFw==` zw)eDBGwx^KaoPAYwxiRu9ZVRMudQatN$3r+AU{-mU(|!&5s6@dQH%ttXv+a zq)GAon--rJ#CN7V4B{7 z$Z0QED$&-de33R^j;aO8^H=267m-k07$yMUI-_)&dkNofI{(p8t(Ua&NFpinvALC` zFx+pyL!pW)Bd6D`z{1&jn6gZw&a>uHK~8aVN`^#k*1-nXe2bT_vvSF7Ue){yYJAsdqClL`c!jZfXQmG9$g~B>T6ITV6Tri z4E|YV+td{33@T77krtX0v_8cgX9Mv+jz9W3EZyyl@L)+)IqKD+s)(3W2} z7sSz)V~o#daMV23bsV5J*Y^$jrvQ#ha)@L+{KU@p@x@3Rd3!7p6-Hc(%{1=^n9Q94 zLR6W~cK2`nKF_+CT;aUPDWiJ zV{uAj$1UQAEg-~^??~|UO1_^2FY84bN082FN+wGdD=e!J0m#Q?YifgVy zaXF{(-3v`Mh7XSw5_D$fSPo^!G%2Tu#$1}^*|sFlGLu9%z%hDHz5gG8%7|cykdD)^ z(;Aq^l8=v}+}`x;FtO+?BvPZ<7}$b_xBwtiS(Hos$oj3HJ0mjFB>dSQdkw;;C@{=0 zZ+GBT@0T-E7$p|2yUBS~=qZxO_Vdb~bkR=gC4V#SFK2sezYT@hV`D)_&mw=l;NKs3 zGY%t-hgW>38`v7SM1mBhWpL)kkM^`I_XTI032*$wjtOGn0=^aH+13|*jss^>_T!!S zsjoI>b@JW~o31c3MynD2cy02>K5t5Lo9y5k{udGRw=CcapA4#Rs?H+ja#w_y1f3_y zjHd$j+#-B5Tub(af(1JITWzwsxpEKkWfJxC?UxbK%6x&}HSSXtf~_PQjJYbi;r_lu zT)ZilPA^_?)c0np>K)q1tmfyt-pvSQ|A}X7vm#^V;>mJXE(d-xV7H1H)kd%t?g6L1 z&-T;q@a7hI*VNhrhr#5OuNXN!b$d+)*~sSBwSesjYJ{jSKtVVvf^vmfB|TPt3cIFC zFho9E)JH78J zjAn;A^@~F2e!EEFqDx1-QCp17g~@x(L@YcR0P3oo85q#j(XN4LPq~Y31~CI(rL>F9 zl%r0Ko4Nl1;0iyGl8gzH$za>f@p1bZNOs>%g{tf&7~!=~G*^OsgyqPu+S${Ez*3lrzK-SkZm66GLl@S!SK-wlt?Yq&Rg`mkPQ;~gm&7TDg6c#cNESk5R&V~!ml8- zmlfR`#u5AO=s0gQd*UwXqp?B%0Cgf0XT*1TBeK<{(YfRY3%Zr>8!UoSCNQhTzJF|g(cEJ}>qFj*6{?q392r?+ZEJ_uyM?_~&1aaYzRpoa1(-E|^V6s+6Vw8V4Hcg_h6Uw)@S0w8?Et=Q>_Z_W@nD4ueo z>?(=<>)%-agYO)*8mw%1-y~i>ueU6<8&GNQZJgPsqjBrMNup25NUs~@1ElO)RZDT} zWL=*6M87!!XY&!1qVsDLUCRBBA6m)<9xwycVNm+!f&2AArjv{QV z@V2HLL3SoECfmwirqY|)7TFk#Zh(k7%K>=niz80K@c~4C=f;rPK+xvGTJ9zs939Jq z4x{`_s`Fi0WTX^x0ch6&#O!s1B^HG*MHQ&F8XO4EAt}o!?ubJ&IVdK8ao{*aW0?OB za9w{imH)kSl?`v>dd)^E#S}M*5>Ch}OXbywfha2(9d$UR#L(V^XmwJs9en&u-Cl3Z z(LR3ZHEZ90=5Zy3>AZPpr;wg?AeaFldW~4uZyb}AQXx?O#Dj!ig;E#=5{44!)&ech~}P#In0Zme^D;;$kCfBMJioW;kL!SSSun( z6Bt#mc4Dl?c8$tGP3gX;5O&31c08L}*^Y1LFN1W&9`081yr&Hwuzy0^4y*V`GPh7x z@f!at#euJaAb`lN&wJX<42(DhzShEA3j!W%wjtCcCn=Kv_v=hcW2d+Q7x7}w>eyY; zelCgr@3>IvsmA{tLhnJ|5AOEn#0HCOIivXPY03Vtb2&T440U2!)%gM|OQ`1l=`IE6 z`KUwKRHa)*Di>Robct99$y%+_<8Zd{!pCD^?J{`Z5FW^-r!QB=KT8nyKyCT(I{Jdv z_Io<%AHayrLax6(as(UXu90G9tK=8sxOhq&g|`|?hnhsRgdx^qIgzEIQ=j54K=D_s z+&4DDs9rU3o-|#53xZ7vVa@IDTf<~xN3eP>ft1UGK15@rPmldKy>ga>zA}DmiXvr2 zK=8U&vfzLAZIcL!LO~wa}o%4!`dXTQJm$c1sYk=6$#6w zkG-+PLi<3|&9sO-kZCmG`NilTz{V10&XGlm1-zN7;5+n}&@bh})S_Yv5#gZcPfL{t zvoCa~4J73(7_bmCb{yD{W6tqe32n_yn#pL7A66z}QDK?Z$J%Jf76S~5=&D6z2){Dl zVpt3Jmv2(pV}>-ZP)*)Pu7rG02{)deKtBJHM~9!VcxV-6huG|j9AX`FyPoFA{tAe6P?ll1jNAVMsJQX-` zErC-DKG2p6{$PBk-k4Sm^M2QmbsFgO?Nre<-}B%uFnCLumseA|3VX5z66~V3<|qyQ zc6O!Awa`mUo+>+MXnP8awP)KpHKJi(BlNZ{|B4UIW~`O<$z<=ydz*Ctt3QO?`w1Cg zaV)e{r?W^6MCHPUYW)nj+Xd&gVFG%a)?+xRu=1KL^(GZjES?HN3 z+Qj_B%7+d)l%_Ndh>im;_b}K8cx7KI0YMEfj+YDnB^I8AqHWh~$5fDuq~W)JZ8`G^ zmuG1zCrTT1!0l4cN0IFC`$V*57gWH*UbQ-q5t5`Iye??J`!a0QyfyEX*02UyfH@>O zO2*^aGifH_3i}bH+)*V5bQMq?Ird)xcK9D;VVs89SEXJ2;4f{5z|Teemn3Bx(zzi* z@Bo^F5Q$~P(HQHI&XKH%&Z*9+EdA_`&m?LCnz@9WosQGjr!bmv6YRHuF!f;4cS?p^X3Yligx zRXeLNi2KUJaK!b~&^%KBnU^CaK;&SGoK3d6M19gCIbg#9~B2sE$8?E6lgOg2HVUF|yEL z?E?L7w=%;3TuN;M=MqPJ|1WqG9@AN-4Ua>Ty3nozo=#kF!AsLc(`C~o*JaZ>O9L}o zlpYQ`=Ey9U@?0Y+LznoPT)sB9TsEKiQ742xi8?s8VBt!)Q&2NrcVbFAahKs+x9v;| z7xA=`QT|s3!}N>tUF~F#1R=ErKOOIA$af!?F4Uw|eB>J=Cn!@h&V#lkP`GEqR_&1F zdttrSC&bk?nq}tvWjnDP-ZbwPz{+I?ff|n0MHQoGG(vaQpTtIC&2*nu#AKgp^Fe(* zS3t3aNs9;~ZT9BAso=BwG7CY&Kfv=wyQ_jq;7%C~*U<4s3`dx%{>Ef?-YmlG<^EDV7i4 z0~X2*=0`TDz_ZnX#S&<(u??1gZSH^ms6*{eB~)*&EjNu6PDbJp4QeZjBP$FB%RAHH zt`r!Hl~1kPV$w2Lb=mN+PF&E>islVU33SP@KQho}&q#|k6ua>^xqMVy?>>(mJqY!Y zwK}1zmC4dzp;69($A84qGGd}nLNfs2tYvC^sB`D#UD8P z5EL&Qm({fW{b)Hz_^hY-)c7|!M*h9Bb5VYe{@b5ASy?`o37zD_Qt1lBW{qvYoD=_7 zspZVc9uod3x4J)8WYPSF!HS2@-}G|7jc!d1bu)cLx{M4?rlRZ+FOHXuQBB+*|G9$W zwd?`uLo9fSL3L@`HuuJ;@7B~G{_U;S9g&Q6&G;OA;Y(aXc3&8r@eXz{f)?>L)FXnc?7lJ8Ef@1^QM*>rdT6cb4lw?fM zrT17k1Ax0HS8)e|t)E<+i^_W}Af)E~tLs5IP!!=f&o&U3#dgFyXj$B2c=D5N0OQx*VszL$r!?k$>;YS z2gkvp_}60VLq~i~NKse9gSPbmQAmgWnGBgZ**-pww(N6Z9WLRNVIE4*q#!M$@0QZ!&YP9XdO8P9k zAb_6>a+j+t1w>-pMI`ckjBQGdNw@}|Wi4k?(T?8{J*VL7h5L&J?hb^HJYS+?Fz81E{IUAtz1_?2Km$7|HEzn8LS!IW4i_S=mN4TVHZJc`%@PV}ve=~%m> zV0g;A+OdQ|rb!uIR$(6I`NCCEK9@F548q@dnx27GfNYRE?iiA1v!4q;YMsZCbMLcS zpH_LxC;bh{i)2+jkq0|y-J}xYx_FXRC^*pz;UOH^?}(6&l=DPUif~={xP_4buS?<0 zREGj$l02d{Sgi(gjHv!>f-zY8uy<1IoJ&FPb^-}fWrs0?b;YxeGx9+p)kTgpksv?e zw=?#$s?|k`To4$AB7EgQ43z-fivXv-ZU7_9dynfTvp=;{{5TTnu~(LQZ9%X#{)FTZ zab{7=s6uzltNyEJ)e(WOmGcin(d7B(Ic_|lJ3{FQ>QBdy=+oAZBCISZ4?jnx=(YtA zP_<;($i}#A@8|l$1>I(r(`INbRjW|Sal~f!f1@+B zTTy}08|^7n!YDRmWf=-VqWK@exrvzp&O0`3Io*8iIg9B$BYL(8HsPgpFWw5f>M@G& zb!~%rjk__AyxMW0!pa!@58&J0z#oHik7jdQ&!l+tm~*u?y5M2wc}+9rq*yaKNp)6# zhkhc1pik;3&g)~ViY#a=WBk&I@FxBHTa$RcT^-IW7bKY8Yz}QgGqtOT2)=7ucbeyR zj0+V$k(MDlB5g)9-24g`RO9j|Ep+fzH`PZd;?s_;N%0NlbFc1Yewv{FlNh+BcFb15iKc$nDw`bd5x5m)Zb<{j{;RILV+w%`@wiIl@XaGd`i*_PItE2ofIJ% z+8u0nN;ET7Fd|x{gJ8Uf3u&~Gd!U-o|9duZUq;hZqz7Bdwb-Ur!^=u|337lta*W=o zg>RS(;=z*cY>hfN?v&mx7hFr*ZP*)CaSV}vRQ6aYx^Z}vp?@Iw-%`ldprWgCr0lpz zUL^!cn^k*Y7gRZdUvM}Qd?9~L{s&MFtCCsC`!RoGXQvzc%Ro8ARX=&xmBYYI zUBdC}j!L4vK{?0qz_a8{M-QO-7%B#{e z4WYV!X)jNMh&?$JG<{Dw&OcKZ{em7CXidt@-EsV=fAFUcl!{7_nX6P@@wb#qHbz9S}Pj*eaepo+sKlp6%L=9H`w>$(_LMn}*cbpX# zBDSw`G=~;^-oPoKUzX<7CAiBB?9MPS)>av@`6d z1z#6e{KQVq+ENRb&MJ2LJc|94r5`?=O6tocz@;0?L4de>C0Wf6ldRR(d)M@0T6fr? zBtHmWOIdzAM(>?iR^J`0%;ofuREmi7>{Xrddw*c4a1>%dCr8EsI`&Xt$w4``s;t?1 zf3HhV-omswX%09$ZA4}MIx)Gg!Q55P=X8ehZyuTF)}b6)suYnZh>CV0xuBJQ%? zv{km&@7rg7X>*mTk!_t7JxIkz&4S}O6h0YlZM|KbD|4eZ4Pf$%vi|AX+_y`pc{-%T zRudp9Y76-)`%A*aTYyeumf0{0X;j``|ATI|W1VhMM~=gfK=hENtj`ctch@vVMMn~%?dlKe z5)o5E##!(kNerlV-7Icy&JBfwTV0g4;R&s7`a~ z0G=jFov;~po%>~Wv&!5uiqOnwnzW2}gdDcYQ_r`~&B}X+?9@j}W`z6IuEE*AKEcpU z+xtb#f3LaSuz4FuD^}NL*32cG)Zmm=^nH3e^}TBRQDTl~li@oIeMiSx|B+Zy=Z4E2 zBX8zc4b*2L{gw_gQ(_fpn#Xiz(AL9lZ?;|X8UbXMKe8iQWg>gv*s8OBqh8XZ#0=We zW4tq{&o3s%v&mYlND3=g;9x(3-t!Zm+3o1YK>KdwId!ds^m^yATcZ-#Pi+pz`!1>j?q;MaFYo6T{I2JfUmQu5OMkl;i1?Xp z^D5u176x=38QMThQ?jKWGq!tF`zhH23rxD~XA;(YF$$dZXNi>z$P?@BK{LAXb^&QqX_Wx0mkEVBg5L8rD78VvJe0W=xe*lhu05|~Pg#&>95C94?90I_zas3AX z5D5s8@ag&ZfpiSAa`IpuYeoTNL0u~^&;Nx0i2p$VcmgGvup790QuBY5{me|qJlFqJ zZnv;7m#-!vhMr3z_fJQARPW^>kocV6It%}KT>ybV*x2Mzd=Tu( ze7OEuFiGNva82fS{_ml^Kmn*$kF8}WIf!0h{%*57*TnvRYsb8O$3hYuXv{+yCI^15 z7<{kntsHuSac{PTsN7-hCAB=c!J9hR_H51ur{KA4zwB)HTD;$JW~)qu*C&ae!;^S5 zO2kK&?jflvpW7LFltKn#`?lxUDhGQQBrBfQ?jG*&9FE`W%i0G`cf#Jzw@iP2*rrbK z`!ci&dlE_9DUDnD6pZuh?XM@JM|q zI)kq|wpL~$9VHJlZ@BQ@6`$v^{*Op+el(3aUkl5;3;pfWsokrVV0L%=N0^2AisyxO zV6AH6g%q?Hik-JVClmSY{ta!^{qi9vXo@xqJruSl$2gwxZRVodUl)FXC=H_&D8=$$>z7j6^NW7~hqxyx8Q8bi zWxP8pXN~=60dgE^JiN;1rnh5>4y>$RjB zmiD7%Sg$G?=D*fM7Bv( z;^j&PssHb|v)PrDtsCcpbgFffh;-gQzDzZ}qD*tS!)h?UpU+o6X5}#6&8jbQOMXA! z;K@2|A1n|Lrtq9iFoK1OSg@`Zw?=9cDcQ|T6Q9${dBCSC_Gr#q-!3D@AH#dxYMW^8 zD)U0`E{#?@=6Tc5L`cr1r6M~NCbhkYu z+#`kFqE10&d|-sA2;P`)Clq#=c}gz0xnbtgn9a%?t;5dG@j536A^W|}Zjuou$)fnc zq#BZ{sM60}*+%2 zI^Wu8&Op$qYj{dQ;rHjO3Z$8aJdMaIPK|(dyo2f&(|h@I!)3>$;Z;(%>O~Qak6A`~ z$nWjGV8&0gD2p}x{PMFpEt2saBzdJE|3zg~Q1cbTuLJIZ3}JeoRSDm&K6B`pkbtE( zJKG>D7Zf>ZH+ALb==8bwJb$nYK0Mr&+A}eo44%n48ttmh$CNuVoSA0tDQX4H^jMsn zjvj;^vZ|EHWgG`I>@?Q*$Oe z!>k64ng%N*wrp+Dvw+gXC`P;)aSedPk;2O?K+U6A0uuQ}mwlM97*4x&s( z4u`U5P${%f=boAjgBU9yW4$q_%VW}!3e zmSSj;zZk!wa9ICGHk5|$MRjyK>`GWVTUq23r6{<)Ozt4gsF6I3iunFjz?e zJ!m1glQ8kibE+CAtJER-oAO6Tx-JE129}8-zO0@%c-rQiksWdJrlhn?0n2Gn>hJH0N(?fxG%>iRQSiX_b zn)u4pZ0i;M(kSaz_2pzwibMO6s>%Z2QdDhIllbMw%Z{EFUmuHuVQ)tN7 z9YZd!^c$AgpI5cb@oBaZRkOFh>ct1;a5R5XroWM2Dt%ac{$kzpCu?A*_Bz6(Ol3?n zBd<~5GPrMK?i-VZh)z+I{IU2pIzypvy3f(*dr5TV`kHQsLWFjg__21@B_o=C&Sm=* zPxL_y^%WxLDgPL*K;>ArGA3S43qoh8)7=8;4W0Y>lb+XadO~%Z-^7kddl(UY!GXtZ zsGXG=_rI>foJi}7L2)@fOeWmiWX0@bN*JS)fcJ)93K+)FDB6`x9=zKsFd1<3hJvRD zo|o>fHy~5~MZ9pT`yGZzI=9PTGpGFHpFPr~;iv#M!ZwgkC{3 zocoii?rf~HxBC~|J)K4eqARD{<@M{sF8@ey-ciTjR{6x>ncDTWW?q^jt3NhIKv##q zZ`I5sZ8^w?^2DSoF@#yO93zffn6=>=}Dw`L8ajOlFV$&maG}cbno4*&_AFEwVj|Y>eWSr2B*6F`tzB3lq46bYLmt zpBm3!o4Qc&LlGD(Y(~?0GvL3<{)bEUuG(#KWcqL{IpAR@ORd9gUn+#ZmP>E{pBl#O z|97VAiuv-D90z`vhE3xCweX;c*+slk4IRE7By|C<3cKd!eP#zKAZYtf7^eC>=I5n( z|M$48xRoO^@2U;T9o{|JB$tn@!OexRONDUh7?lf>VURE7hC}|d@H85B#Vj6%DsiRr zQ+|@j%nmNEasl?n$ZH zRUw<#s2XVTFa}91sTdR#R_%$zE!?&z-UUZQDsJv9~CXH5Q?X00$}a5gRu zIu41DB&{$>hc7Og zd4bca$M;O+(4lsUGJ97rKCF$pR>$T10VdW!hhok8kN8>e&n!j%W zh4%eAE%XX3_okXr8l?he2EkWPqbLzm254QA&slloDIc@|noG~$#N`Z2p8JqH%cp;k z&VQHwfBOzk_Aqv+-3f6)*Gqv^R>|ncFtvmZ&~*i>A_{5}1O%D^KZ&y#8lsq)ib~q4 zXf)6jLzB!)aBDtelm`-|DNe;pUdOr?l9-hgZ)R9Y;;m6df@+i55mu-gT(BxaWo zO+9xk;v#G;k@_klA%dT2^A;lRlZsK=77=`opHnWf9TdB; zhN^0iw)U$+N7<2fZy|53*g%<93!0F_*n(K+U4r^xNYeo}IvIFgFQo?$~wx zpy{N%fxb7*(y=9^?2A^^fRk6smA-LaX3IaTS$R=&PA{{HqGrFB$nq%gNSxP@r%F;n zTlIwQgzmWFR`d1fGBB`e+jm~KT&-Qd&HtpaZ>OSPXfCpYAZts$hkV6e?L?e+-X=CH ziD?!Z=D9o0rf74#^Z;?iHs988a0xi+MV&oUP5OKA;X}ici`3peG-3&X~{ml6hsO_d$LQ{3P#uUV`qOHIxX)H^=9sMy99H zV8P$F;AGm!3O*2LHVnLOa%*BqGDZ$aqRd8;RSs02)Ne2U40f|bP}s?5>$v{U925B&7M(7 zjpkdSr#9TN=urXtAa26H!q*>3FFjoeD-n?SYe3f(r3RPz3&hx=o6GawDRoF@2wC}| ztSI}-{*I&N%$S3=`MmkWGoaO?`P}>!ORP&yi+O)6Ubag!>xZ~DHJN^8;zUZ|Jbl}! zXXfaztz=}!Z6N#T^!c;45CuhVjJV4ZzV@PYuFXOh5nz-*tGHuuz?9K@QR`{OS(Q?J z92`B}VH?Qenyw=<@ZZ}a&%)N;%>EQSVhD58VKAhGs3gc`%+jzd2 zJ=de3Blg%LLh|ThF}3K2w7~CM7L%TVF?Ncc25*`|7sv*U3&BFEz7xI|*2{gA$;rg0 zv5PmdW7jD|`OnN_ElejCo1#;@7gx(3*EMSSJsHFiKa>ep#!jtU^X5hvu(Es*!}){6 z>_8`S(X7mCGD+o*on(sf{GmK$v>@#wA0>=mP*jV>hNqB=_>&OeYG93xyG>9LWVl8R zrWJQ9NLHX*jvXLfRmVTE92+HzLWY}jAhqjza!LoZi}7PUqOP!I{cOdwb|Sy_YB%qM zyijKFtH3x(P;Cuxiviy36v371dy_ao{1jb{_X z%6C0fOYT%cgqx~ELXXVcJ9}>Khk4I%%CD7Z77Go3^rJ){7{Lj=pSu4%e0xJH{B+K> zTkXybt?5eWYk*mm`4~%V$?H+`9Pv;fVBYjP7aJlRL}FYGvvMrqe1cSTH5Nh$ff>uH zXF;F0gh}|H;KDJAxsdV(F0XxE(^IMR#!Z2`ox*f38KJJV3p`W!%s;Tkt9X>>CE_G{)*w1pGPr`L9&r(i%WFK zWrbZEHws_z;Y@tfV5QL-#x-fX|f*|69o}$Qtwr65@7UwRc zajMALG2JtnMHWk{w*Le2rsIWwK>i}(DA??OF?$sJFI-B3n0WrWzPGEUUO+Q*=#k|r zbID~M$z@KS|G&Xry*NQW2{rYLhtn}}#Q!^}47K}0Tx|jl$tQ%>v|6-7PNBdulRbLN}IvuH6t(>a`ZS@6h z%^yV-WaXF~*Q;81jx{cxhg|ZA^|_YyxmNuP=189U#cM~h?C!&?FHSAuN-&<$3i;$L z8L~(XL3`T#-`PA#v3DqD$cen)wbKttt4jl`o7t*95?c26t(M)!>*}%PNFH&>VN_2w z=9pAGJW6gpB{v&N|NZgNx91imBF)>MqdKp%a-A^82PDO(|3G44t~W1Y^Y<;v-Nwa# zaoriNooQ*u0mVw$Sr<|^OTFSIY2DB^wIspTTQ=6L1(5%%2&#E~-}DI+O&b*;*l{@K zDYg(=4jphF!CP4gJvw@xPZi*vms(P^YwNA+NmxH6DZnHO6PY#L%v5Y_mP22ON0?AV zsk%Y`2Kt(W0A>}_)RyFOeU)$KU6wTzdMN-$p}-7s;EyL%A|ekK9el!g);)*AnQ52i zRuXKhJivHIlv^wK@0*7_%`5Ri-n(g0Vhwx)8>nwa<3zoA+aNU zyb&hJKr^7Jq|mdeLq{~w9o#|CZ*mHH5LMWancTkp4vu#(`=VJZwcB%toQqmE&nkXypReN+!e6s56$Wtq zyIs^UW_fL-eW2q76uH<5MDpOa_Bw=QC!IRRb*L2W09ze0=6it8wtbk;P?FjeuybGn7=f#&$I8z`n`UzTUr&1#iIE6n*AT5fGnsO}`d@Rh z-kfQWZhwoG`p8aQL43mw`Q)GV`UBMBEGB*qXPEehBIWjRG`3=Bv$MjSYK9`R6>d_;Q zMT+n-e@mOD(d*1%>BrwaYheTZO6-AKzK=-mI8U@h?2^kAVDEjofT9VoBEGh^M>OHZ zDAQ6bjw?$;4k;FG2h-t)@@vpD0{f@<$Z+?OSBJVWG??20+iUArTd#<=bO0_LOe~YO4I__8)pNsCFiY-N#a{fGX3yMTL1xZYH z@EH`fMvsJ8H%nRny>H#yCKd$p74Q=>Xum>Q(v1GT6?aha0X8os+;Q8OJ5ep(9==E2 zR~j^Zl!;&>XWdGetd=3?O}pc+XTk}siOwS6-cDB;G);L>+Qu9q(i)}rN za?|(6O%kyJr$Pqa;>H>ST=_iE!+qF9qaevZIu}-w=F7lWy{uC;zE=IPEnV{}^~k=- zr+7$@oBVp_F__#DM_=u7h9A7yey^d`jRG7n;8A;9jnA3I+Wn}h@7y}1)9BjTrB27%}!Nl_9&0R+HdU?LnVZjbn=0)!SP>q zadRpBM|Nbb?>~I9Zof1nyMrN&1iEfa_TtM2pLzfD zy1Fy-?17%`b&M=I`NIf3y2dn_+Jhp!Xs={Gs=2mAjZ}?I6Wo67KH(C(mxih=6Bc`C zz;mexj(kwY-13V&3M_;u6^$2`0`AF5#bRLx27DwPtufA?Ow(hK-@wG!j)8Sil);q+ z0r=L$00SJV6U$DSH`-2pmM!$m zZZ({xlRU=r12YQ&Cq57bC ztNG6gKO4rHqjV;T$LHAYt{#!PLbd&Hz=Vw2sinxOM451<+e%lx+>i2LpYv~BGZsd= zfE=LeIB38u-v0?^qAQle%uvp0SrgJrh=sTI5vza~9c#g1-n+KtY|J25(+DoDufd(X z(Id?lko#NnVU;Nntwz+D;Ekr|ItLOq#nf+`IA^R^M4b-9*p;T$5$AXjahR|-I9DOO z`fnvGi!TYC&-YjJ{C9OX>+G)0U>U_zUTA4V)XB%)Nb$iWmpZSy%UZuuvzCVG)A#12 z788x65JZxt${_HkzcI+%KyO~wR}ST%y=r`|4YcUs8rED^j2A&IcUJcI<``P|1C*M~ zRnD{S;&b9h^{o({VGIc#8CiV2`d_MYx~|{*JTypRgZT+yQ+;5JjBkbapnUb6-%+ zYTwUY&G8@neXAnG=QI{s0?{`9SespfxU_X=w4CWbRP^?%=!RPuRqri5nwR4S+l1Au zR%$pwQ&8Q^0L;5aDHmm?1taXd*@-(T5*7>HwKTdW#3Il1Oa9tkcYOK&tqq9D93P|i zuCw4`FI4|XoGW9i5_x1u(PF$9fOCiM=xNPYPAuzSwocp>dn#!wH=fMKc8qG11oXc7yZiZ?Mde!LKFJX%y-dIG@u+6u}lIfR(Euukw zplX46{q|BBt<1XBr5@dt)kqOwhPX&1wwp|^BqS><{8LI>j6RCwx)!jOeYgsqlBg{e z{t0b3GfbJTwOf>{`}7N7p}UZsV3FuS|0067EIEZ^*-XEB-?GSn^aOI)9+?(e$3Mf~ zAy9pL*`l?sGg?m9LRRi%!>(`Y56c_y5}#>D=UdI1j!nAv5rtojU6!G_ll9ZB4?%Ls zI5b*&#W?8qtq7gNbHJwvZ3#_YVK7MRZE+U1XQd~3{7p_mxNZb|?C_OmmInO`8`_9m zd*1{9B>%WHmd7JwsLyVzap7f4?vO6f?^|W8P&67W_RTU&GxU{H?HJNi2VbDZP(U#kH4N065Esq8+b=Z>0tCg~< zv7H4mCQYkffJI_2o$GpXAX8rW3t)?{=PX7^*3>bE0^zUj=G=r|RNkW&m~Tj_T}*M= zzcIE9ibTZ~4W`LUIA^YoG2qfu{b}+r!uGkyyf8UC6+J$gF@k@X+dP9!uB~GeeT@9S zhDEo@4~p#Fq)?^2n%&y+(hAcYdV*i?*5@Yk)%#Reve3HnPoHhOOjCsGCALCLw9TJg zw5P0}KC;|aE{}PY3+4X#3zTWU+wp5-r%tb|Ew_~U^RggnX2Gd9U)-Ft#eD;^O{qVE zc-e8*m!^g__yOtUSWp|L$*kFc*KH$B?vEruy+!R;mm&+lXe?{EH|&S=Mo$jk3~x*k z9B`hLotW1>I|7{*fzis3@O*A33g8Ekd7iN^`d|C4^hgR4vpOZf61Flq@4)P5RubBR zFXh4tHSpiex3lNh?P}MgTy3;0%)~}I)?b^+S9=} z$1`n|tJ)-I7;M1>pTc;LX;ecGbBsUCzq}}Ck*r*ux)&+|*HN4mdk&lv zmiw5NEB(4413q*DV~?D0V;IeP9lGl8E;UY1aD17H;m=R+%-}zYC;GI^+RBonhwWOo zuG~jA3PP1+t!ibJdhc{0w?Ss_3ZGd&-{_rD+sZgOQuGRPg-lo&k`8_9>%F^7we>qI zMJoNWLS08@OC>*{1}!4~ee(05Oxj(<$o7ne*~-PE@d76T@RD`-HFRojilA_0$ZvEH zxVQ&b-EnalMts&90<(VHEUrm1pj$YOHC0I4gzKRW$$a+kDF#=Cd{lH&RdBNe*=A=H zud`8nr0f2|HLompxg65j^=8JYYWpWF=Z3p|CvU%|;AOz?TOU?K{Fd$HNOlhUj6Lry z%o?v+I(rPi(q1t4R$ZG{rS8A0S^cpeWG2(6F?ZA;=OD>V+YqU3si0RWN90_s8<=mZ z>onoCFb|i5V7qflkYQfs)=P7Hh?fmb^DQltd3@->onTC``Z)9{cW{?-1fz*BUxH|t z<`#k+>_Z{lPH=EQPZqus#RXqeo36nH@UBPt3XU0CuM~Vrppf=!IQ1ExD`BDn@>CFz znu82^n%6Pm28Eje`%BVKN*ox8?~7Z0s1PH}o|*cFd0XvuG=0akR!97O`213voCbgK zvMY|Yu8=S3fpGow@@(gJ?K9bM>rVH0Px*)ZqAKDP*chr(PtP1L$1zJe;u;0npcl&M#?=a~y z8ftWjC0n3NXfn{ILdZz3Gzb%SMGv4TPjKj@Ck5-(7aGJL8M;Qhhf$g=SKxKR;`6tP zhs#a`QAX^Hu55Bi0wCr`73QUMb69szl9;N~)+j)^IKI0$2`O}*uPmO#mmrk&n)unG z&Q|kt>)z|!&+RH1Xz8>A-99TKLE8O8tiwo!Pqb%!!A*xhx&_#;9y))o z8m}MYZVY^e0-^lOLWSC%mmr>C9{|W+o2p957iP^_^>Umg{3})9H!YE0M95iMaodNv z1lhCa>(K88FN=?i#?FQ6n;F0%>|AySyFtE>n{z&Hb*a#M^D2Cw*NOZ!)+E}J5bF5- z#Jy#kv2GZc=~0c1a9*<(KNPxe{KuN-ljggUD|@_d-!XS`aPGwqX~qj{e&2fS?`AAy zm~MTf9&anKuNyRz3XsO^I&R^!lv!r)I`@oYUslrJt9Qe>8Rh@1a7s`w+1Lq*z4Li` z?`_*?<92o@WEBi+KrE4nyn=?ozH*k%rDpENwKCJ|)4y*?CHPbgwTcG(94?;>mx?-7CTkM^nh+B0?An`m zZQRXR`r0H{kGI|{2k(H~%;IQs1r5;Jlhc=QHl7k48_=#Mj!sx>Ra$9{VjaUzPiLoS zSmA&(01GL==8yty&ICjS3(0izCUfdR zipOr>dy!Q?6r}uaZkNmoEhCuFWC_R&jQ`kh~95mmkMbFnk}K2WmzvfAUs1}^R; zS9}5EvacXag1E*Rt1C}(TY~l~4-E%RyZ1K8*YCUr6R{NXG21$=ms+9i^HnBeL#@Fo1a3kk)}i& zb~2HtOW0o>(pT)rFc4x^5l;$n499 zl|9XR2Km=AwYnCnI}WN_3ow?#meu07Ys)O;tkcha3s6YDSjM7i!Yus@Bl;&NkD4MG z0e^MV&Ag6a5wOsClRnZz`Eg=qC5#;w98+P4!-fmJ?_#`dE#-iP_&-1C1~sS%*E*RM9lnNyNxsXh=hdP!NL= zrMV459VQ6%kY6HS!a+TxdJZEmYK;+)k{I*E{=VftWuk%UF-)+eU0bW*Y`h11sNrb< z-J?u`aSiP0q6~G;PMbVf5MzQm2$KK_gg~Qdq1U(>zpacFrEH_e4L+xJ zA?_H(Scdf~A6W-kL!(#vrq5CL#%||UrbjWGrf8Y{SzGr>zvT;2`n*IR3{=hqY{a(` zoOFKQ;zk!9$L8ONBoh)ai@{v{pe>J&QV-`x5-vld)sj{-r(2T^-QKl5sjWjF#_v>1#pZD4D7Cmx7=!2Jv1mqD zf4hgT>?5|CIU0uHel7T){aJBR2869KsfpF1Hh-(IiY8$!Q{nuM!!p%op7FlYNd$N0 zn00DC^*WfWvABl1Aqw8C;`CA&UCCT47}rYpA~LtPxPnFO9Z38S;%pmyF+$BuVytN^ zE#zSnAF!g$Ax{)E=3>_oNKyg4!hefSbwTeQ2Kj_p%|&7EQkS#3T9_wWEJjV9%Xtj0 z!w6wtS2b`0oDx z&*h5k5VhLw5`x1Jx}s<3D@%vi;=*<6cj*dsA<1qx*!gU~sQs~hHWY3mp!N;i>i}RC z_^x0$C!kj@=x3)lHiL7-+nekHE0y+eeP%$5;4|?ar@8DPb6xD}&wV@4X8U)sl$XN1 z5Nd(B2vZH)v(IE>6RR5|h}ld)7>Ho!j?bOVDOwOj&Sd8CA^~F!0Hj`>^(-q8MiL4S z04wi}Rm(wz6^7hEjC*l~idrn5vdPt8h@b&t=^@DAWfC%fu`PVng1?Fy5^ae9PHiO& z`YHb#s=+~$%B=XuFfG?sJOGq46Fl~}g0Y|gSo4UY%e!S5cC?bmTMST{fXJAW&5m_?ef z94Y^^2}204-0Q!!xZL#WLfrOUE4!&y;_WQq%)CR?j9{^3Kbnt7UO0u{BE~(~o~V6f zjTkn)0Sl-@2eeVSz-nY@88y9$%c+!xmbsnc5ZtnHx>y{rKoN+wt9=6Q$fY3R*%F!*@Y0dN`FWedECp@TR2-&0>mpI3KlhGoV8*ZFlnx*t2##ZIw%mVkTJ- z%-)P=zbj+UCTH38K>>{;atb~aO_{OB@gOZeuVl}H7U3x6Tn5HfHO5y?O=k=ll@{Gk zsUjGD-vT*2WpImp*_kmbTGg-@Ld6=YHVRG4`o)!EjW|re+d#H_3J5md8)TR9c)r+p z{w!c$q%LdrW3^5JfNfUsXcH2JQf3hYk8Gm(G890rDp~}8qtu5S{QSPflt=c1#3tSP zg^_Ejt42E~&77&Z?p$=V4b-_+474h=;j06k1J}|E`nciH0WQNJJh_9;;#?ykSai@Y zk+lW~=U?wcp>Dm#ca}ygGWbw{l{g&q!i65HVt^1@*Kz{y2|VoNsmfJ`NLQwH(ODz! zBzsO5U#uUi*7V%&BY@AS1Xn#|O#0hmbXwO|+p)f(g6|M4MIB-;7dp*LIG7FFkP7}*iR0FJ*bVZLefKnRQ4{D&P-RVXJxV*ix7CW zx;C0)6@vyqs8Fi$n=Ds_-#a=7WA5ooI1i;}i->JxKCoz*PUw864H(1!6%e#Da+rV+ zSgrb3iWiDo%eCd!ThZ*efn+&H>gRS8*bVkZhZVJu4K2p7f&0ZnyO(rF(7nQ370X-+ z+wTut1ZfbHCcF^`FqU>+HjK;TE(y>|5t2j04Wg1}Q?!nZtKGc{P&q^j zP4ZC8!^Yww5aYdRua4OLu(!E&O zYN`nuO=eb&rwY?*4g4_6;ks!Ys2Jczwwt>GQo<#Sa&?8F^gBjo`PT6*9j=k!47LqS zsO%y}n86x5ZeyJ%S4hu;Ollymp5+Tg!j_|h5pF2r-xZ9ex+FyYMDcE9r?z%$&M$ES z?;8zV=ZKiKn-Yu8uefln3ReU8y4AjQ2jFLAime@(UQkz{N{fXF!VH;si@GXOu~GcC z@o%UZ%KeNyY>Y=e3fwW+3$>1yF@~Bj1C@#@N96Rh%&n7P1N=A+P;^+ntD;*o{(9u| z02Kq@cxMNcC0F!Norh)n1Jg@lvVMUeX>zN!h0c zXRCZ&Ui`RSSg$uPV^B0eSk$ksOxu%qr2sgx1v7yzGk@ z%Pn=4G!vvDs zB;U^YnPeU=KQx@EqN>0loK{xLE0)Nim$5BQdgOlxYC+LS`GHKwQ=8A@*tJ%`Ia zo7{d-=a4i^X4?bWiG2}2^&m$??;Vfv>I02G4KtsN5OEZwS-{f1ok1>#dvUG;I8Oir z7*=$P3rAdp1N&8o=?9DzJz^UCsW0ocs-CqXqu@=~cdfcODybWy0uQl-7 zllDc!PuozNsbgMeO*RK?y!#cnXs!_e!gW&eK>Z{01zudA|l-E`S11>R`Glx-q{ zhrj=57z@DOLtKCrf>ZD(jEYWzr?d&=R|w?dnyoQK?uHKn%mCtt*&yhBMaP;zU~3qd zZ@UEtmF@UuBVfo#9s`@PcUmS<;+65PU=;q!Y}l7SPJpp;(kw5Yh!dwUb%G6!h?j}} znStl*ctQU$ZI79u1;(%U8O#cR+{*wG0N%cjdmHkA4aCicEV#pu+mVN35;c35$}K?sDVXK+ z@)tXlc)v1>0M^&XDRDr>8U45y`EdwLz838yMc?x^@NWvcNXLsjp#|BRs#bA`Xkr7ly z<E%wgBZ^I&moB5+{!Vsu@Wl|MlC$D!h=zph=IMQARzXep0^%;M|j5$ zGLiX&msQls#-2sg2w{Z6Z?|@kovIzhoQwqjhWv?&vWqX7RQN4#jwL$#c%5ALmX5J# z31b>>(VR+R8%i1Sr1$+rDZiNjXtjNldY4GH~z)Ltz~ReHA89WJaC zES{3C9MD`*P5krL1T56DSEjAGO5W$}aXS+$e&yL`?YDc1tAxq-_H9Tk^kVoUY+$e3 z`a}7*FLvJ1K*HNGcxB5lGqD$82U`i-Xv^gX3ADB0FLd(xzs8c&_k`)lQPQ``se8Bn zbLZ9{|DC=^&nu~JLiZx@HN5mO221!QF|+yS|HMcCM~#<|Q*ivvQA&9?T!^2bV;tx5 zJbC5?W>*h;H=$8L26zTAsR9 z5V=mg_wC!1{NK&Wl3uxd{hS~FB1e(QVzx857jqNgI>-F*^?Mmv(+5I=V|RB6`rT@e z*cpC}94A~;X9!DtCVPDq`6CRK#+^AuQ!ulGmT`s z9O_JIJm2yb(&3d*P!va*Ccl!$;dD#x1t@*95qFs$Ac!ml(z*_A7`u-w=`2frLtrI+ zMp}_2%z|!a8#ZpFP=1$l?khD9Yi5IyrD38Z6HL>FaI*Px%n@XrNdwqCOHBG6@vHgu zy+r$xr&x)nl;8DKn0&nXs?v51T%LbnNY?hHI$PScRnD3zj8c{I;ten75Q8dg+B&ig z1$YtV&;{)9a1NHSEXvA5qvwfT@(hRJI(iG4GNR!@Ix1AAALQQ}?XhAr%x0>rmFZLy z?WT{r1GB~5jIoCsU{&UFd3lA$Yx>eV18pw-OfT?f(=*4C8cK1yUPMtEGI6+H~(6bn_R zR(ee61|W?Eh7(58^J%>{9GR}r0RdWsBzQNrqdZb3Z6RGoR8gjVQwN8oh$DH%{bxsf z_^)3W%@{L|5jaYmX2$A|k=BB5!`$qH3_KY5$7Pb!1%xK0k7?FTizG{++nEZz$JLYK zajIQ-^<7%{7~jP)R8!}b#C?=?c7aSx%J!S-u0*}iJ8-i|397qjxUnGPF zR2Zc)wg$%(>NQ*)Hms9Mm*NE?w8tf}&9*E~MS!m*u0#OUNDBZ7*WL^jXS@sVDN1qM z0^k1VMA2CGY|zLU9+0GGF|+%!z)ZYy>7clDFN0Iv>3k%$_mINl`$PZT-?z-v<_34K z89Es{uT>w;e!W%|pZ%)hS#!eOxc^1$a=6=L@s#G0`}_y@(hqLj&*EQ)+%reTGe5W& zyT1Lqjl8;(PD)vfU|Y~JN=MuLay4$5iWBbbZ!vt!^o;pDS&h-l()O2C>L`%asFHRx zfg_JDO_y%=jvFUk1<6r=!tIQKyarj^?9ziA6}Z=v~I+fQekr#ugS(?4He^l{MCQY>ItNqha~>%k>9sW)fTge{4?h& zJS7b4zi*}J>bkl*eMW#7ugOWp`ihKmCDJ|Lyf(h3I7oJXssO{)YxI5N>{EKvkKM~( zO6pD5Ys_92Vm=;GjFS)Mk_Wzxiz7{xy6J zbE~E;n&Hp4{w_KLXSUd+0j@dk?TirvF;FT*0)_CM`5?E1_1J1ceqnElT=@RL^bwL% ziX+X%Y1cT0o&?NLz$h~QA;{KqrpE`=>D4NTKaP)^*1ey{h_RO4^hwuHu+e@0mK}bk zX`rc5j?IJQA1As+Na6Z*nrS>zI}7qFJ7dOB;~voy*ZI8wSoH%875n z0h&RS?we}5mw9R*f8Pq)(2c#l_0npXABbHs+X%y26F6*vm+Mv~G;_AKK5@LKWPkAiQ?B{E#y^DzT zvUhQNF=)CA-HM2N9qckHBM!+vTcBl51v=ToN?$SqYJ~h$YJLzB`O4>8^OnXJE~aE( z-s(s44t|K4SXm`)u7jkibW?wGyTL&fW)9G|73LV1#V=@+%8WZl*`*R-Q%NtB4qW8=?C)Voj*#Bz)_OV5`C5z{mI28w7^# z%rLmf`O}Y~sd7yv(|N%a@v=DDzYt!hPnvgg#kGhL6nD<ppIziy||2VQ(ca+b%a^%gZ zGeo+cz1RIj!CL0*WYARbF}={pU2yPG#fh$Z`oL}%S7vWFU%9fmleYU^a`z$JYNZla z-)?nMn*$T-%;?T-Pht0n*;j@Z-0`P&4)K?LHAs}leu@JFhnx2_>Rx)n?i5Ze@x3xL z7fvF;y#J}LGB1ZlHe~TdVkSW~Lnp8DW0g%=MaoPCK9uUj*H`jWum*nlnQ&omN)@GR z`~wYTdSi<2#{(qti=Ptv;TP9t7orufeLwS|z>9KB3Z+J?&F$%)tfhI9YTrm;GD#W7 z0%nWgc!ZKtC>_&}{>$T_?PD=r^w6S5%QjnE`xYBt-5`&hz?5e_l?rXrvJ{XsIa+td zG4=5MC;)5lS13)*=NEaey`_Pwf-)vaiK2cZ&OTSbHo>9%Ja;LK`LK1NBUOeZtyHsc zPQJmIRFd_ZS-Rc4J;UzZsha^w+=#RC6ZqGM;#!fFLQU5Bs(0N2hGl6h$EsZ=zuh)* zE5y-Ta=>yn`puqTlit@>-pkVYf^y~B)u?|fA-$k9%Gy8lYN2&E&eDPY9>wzjkOpO< z05@(^1(9;7pK@q$2qB4U$UkMq+JDS~yWWNhyss6jSxeB5NdMLkO_u(i!Fre`yOq2L z)n*IMLBW*Br6mFdj(tTK{R7J%VWYOBw~lE}$eOkYUsn&?)Wc_sv%-Z!Ynm0o`yCqC z@9qq80r{{ZXFuQix3tu*>-QxNXwz%n3vV1(e_TEjZA=?dyJuaKZXRqNnlCe+TBSJn z{D7H@k&Bs2%3WG8Jzt9ooAk#GMZHw3Gh!=1?R6DTpva1Z_o3}uNQ?A-0qqg3<8uga zmCivxcS4mDJ>o~(%cu#yE7d8D(q{&rF1%m()m=SE`+IM<*z?neNR1lj*P|MqpTYrd zB!CT%OLdc^l+v9j=6~S+Nv{m7-Cm>2pM%q##sJc0JoycC4Jt}1;q7JtpTJI7=K`zg z+ON@AdoH3em4A)t%mt&&%EHImil5VjSGL4I`x2k>zdB}W8>>)@{=p``p~BN2Iw^_y zeaj0cGP_6Bk?fuynd~*&n|`}INBUFLojBpMz|k|Adg6bJ6&}azt)Y z6Cp_9d=|FdBIJ&qw)>d=KtX7rQ{O2=u_ie;IPMu_%X6z8$N|6-qY z*8tT!X6MrOIsZrvK~h&(j10;oCExiO=NPa`jw@?8Hr?6Ylg|w# zw~^yHVm|dIX~ePL7<0F15nD~+uFn2k2Odz7=5EL`WGMN?6+io^AM&4{e%cu!B+ex* z2GF1{G%6(=)c zgSB`$r?~7-(UPLj3;r@i{zfJ->IarN!hCBP5{iQ4$xNmR%%*m9X~AD3AdMYlh^+3Vj5)>*QCE-LH1qHx$?cdXQ{2@@E`m6Sg1Ka&V`&OV@U zY~suMYk}yr<@Wp588$s#5CFEi9*AFn4Gd;mqnU&>ji}ztGV*fT(wF7yRhPkiJWy$_ z&TS+2d_;A=ZP<~$+Qb~%xr(6ZwB--8nl4k0lzx53%{255&2o&m9|VE%hD!&|K*n&w zNrPysTWTRDD!;2JR!jJB?aj~WXB}*%Ic-F%K%!56CiTXEB#kjvGTU827-ysp4d6|V zQAl5($zi~hisfxp_I#2aLEO#F_kg)y-N~V-crVOor(JC}z3^h*cOAKjZ{@wq8CKd9 zL$N=>dZ1HAS1hH!K;*gXWAj<}!k5PcNHJ<_>yX2qU59As$saORONkS6RJfBP;8pST z$9Et_WpOq>%BBYaTx(7<4w~jj=AOOET=-4PpVegD>9)6x?)0ef{p3L3Ge;-VmFF0< z?e;L>S@mYamgOUlwZ7Z+x;uA)yX$-J9RuD}Vp&K2ei7`fLCKG!2-l6L`xo?EFmn6U zfB;xZ?EAPtFTl20?t3T1!}Yb&C%U4*!{KSnE0z!rzA!3$O+q|m15)G|pOJG)jU!3A zj!A!z`y#o_AMZd3dNKRB$FQ1j%S3PvA)Tl3cLO0~3vc|be`gV$@MH6s(0gC}w`19_6exCOi(_H)g{#Z>{upk9w{aRqVDs_G>RU&wlaD7z$ z4o1FKn@7)5^&H!+d02NJ&qz6crv_}`yn=EcstGcsDRHwcp)i~5cZ{h*{W#fJR=+3; zh}Wer_H%ntW`#_@&=HHd-7@0Db{*spk> zF2@$%v2Sze6w~9uD|Pf6-48k0F#NLV1pBcWN+`QaCt;`#3s9q~9)M%528gT_Sd~oq z$9*FLpY0yz-we%$ak4Xc*AGsofewCZi1WxhX=IpOE@?x`EhK;o1T)3ZXX`VtfZXj8 z7sy_fx+=Do08o&Z#3;BQAV@b21j&N#Hp`|jLkPASGZ&Md4<3JJyV?C4|yF zrS#L}ob=u4Zy)_e*lLUwL}0HZgpjx6Zo~L*^Qzya3Dr({x5UCU=Jt9O(+z-d#`7f> zy_Cw|x^h!d7vf(aiEFm*S}>T-2$goZM7oyQD0;g-F>z0jK^`XPPnarcJKXQmcA#Ej z4o%*TRHpL5mHNofZWm=9Ff4BABUoRDLWO2xUoi4HCCF+^p<wPn5wyjHVG{55L-psi@GKfog6DakNCa(W6VMIRvUZSSKzpIcp;i`1Che6CAdeeJo zOoyo=WoEgU!m@=%i9+$&YU)01LR|@mZxPS8!x^!2vE{FS(h4X}GD$Z+r(AmH75@60=M&R=I{XU=){ zeZKGa`+4T7wK-GNsgt-9khR=yBqey@hpF8dKI?NjQnJp*qXEzr)!OKkN!Jpx_lkFa zCSX36`sxF-H7Si|taNA78&;qd3qG48_gk#%-;^uy|B|&@e^=D3MP#dERXElNZ8fam zwmv6*l6kDcH6QrzlBL2%F)oj7Q}4CIW^R$5ZBKKD_*D-Gi#w0B@<050z+>Uwwkvm# zNTQy=2qSSO7e^#WjKZlW86A13ou5hOVXfnYKVK^M0z>%>Ie4;&@gqXB7*)v|{JY*X zr9%vA;%s+Gyq%yjtHFMnZ^S(JxkXm@B?7v+4>YYU1$I)rd3h6{Z!-V|!lKk$1n)`P z)~=*bGI^1ZE$#qKR3GbaR2w+=7trTxpE%;rl5qnOj>L^d`WM+S z6_E?+tyPmRDxNJ1)IK6i#CH!)N_tJFapt#%4o!DOX*4)@tutN!Q>u$LZ&TgM65#@G zBFQ>qvzwoVl#~o=m)XtD8-b{Y!%K2ymJs!BnbJH4OkB7de@GEtIq&DGOPOFcQ2o{+ zv=3*SD~ZW<)kR7{t@L27?L?cjf|;LqD^mQM3csXj%}KH>7`(!Kc)Z?TxlYctBO<_bj%F3tJ`aD3dDki9miMIbTZSkI0 z?JQfpvX)O$9!0k8>)}ja3Z!s>5bq&U!ddoOfxI3)P$TFu=|ho=dkJYYx$qK5p@dv2 zG$b-i6f^-8Ow9BSnY4#gXSRZ+xWLx`feSR|H0G>|zk*y*Wo#~fPtvl|vXB&YvJpbj z=}gbASSL}k9O4LQU|vbRP|ORf9UAY(1CSoFe_g7y@ESW<))9&=Jyc?%vAakXb!wWsUr-VwvF=_D2;- zlLO!&5ou^{uXf5FN0R^9^4T*NDyw6!={zzGknRxkdw)+?OmbIzrD!9+q4kly&k?_um zF~@MAFxq%&D_iM4XEc!NGl@iwil|JgKxRohQAQZkEsH{GPDhdk58n^)`hVlHA!+dj zX;oW7$yUt*&({(5RMtYi3TO|6SOa)IxfB|$0Sw~IMHa2X9=D=4@YjlJGvX%Nac5L$ zx}MiIhUOB-^9?FY&byj1wwLB}05{FPj$&M-`@eguNP8A@soCWD#__HZ7K+sxHPiWc zCdt}?c%VO7b?QZW(yOH+v7B?6Yr&!6oTJ`;UtGKL#MUq(&h7Gb72}p?f((CoPHbU> zx%wRqS_y1{oowUg@3G6gO`4g)JJpEURl`>Pxz&lez^P7H@$AnRcdGn2q$mjOr~$%^ z%=Q0apS;wX=in7rzfaQq_h2piK28he)_+I)^-fW z2=f0+`~NHtGN3J+L(1^+lY_vyw~#oys0?ES-M{Tv{LyGw;_tX|DuM@zK&xZ<32XR zPCs#=?FhsLD0SWa+^!{$FFn<;AT(C2IdC`rwuU^-uLbSm0WXWKE{HrMJ0imttjpaH z2>SmNZdm`3SW4>p??GGk1@itV$VDRK`2c;$b1fuBBS`{>Qy3z{b22Kp7_oV5bSy4)9^Te{P{2%8 z`?x}8pc*ed(eA=^-vniw?^wW4D86lYyH-76# z>sJH%Ng_gvX;3Av0dXWH%wmgoU#w00r@}!%HQD1v$bJ!07A}5Ch=j}#Ar4DSFh#K zMx9m!<(jATKu_{hF4uy_!(3KQZ)%wob-$4C@fng)%5bNIpRsAw0+N*BuB%|8bEirE{-l2;tHT*(w!|?L ze!kVDh%p!CtaJJP>l$_KyWEav1T3k&VGbT${gSvYQ2Iy8QwCNhXm-xr{Y1>9VhoPD zn~=DC4H#BCytp)0>-x*_XKv+AMGaMX7YLS{B^$n5oyU1#!|w6#tCetC*uMvvM;)_* z3{Uge|2^2P=y-DxUGwBeW+Lv{m(j@sHyoZnvj=WizARDbOUma#@jh3Se62uyX2&fg zmOb|WR@MFVD(*c^QmI`3_aG#4?D5@F%sR(K@*U2T>3_#emrd+Nflxc57`v)GH@fD( z1>Nfq->VU|Yb^L_yk_}6HbOiy6M`v5*t%J*#FRLByWT*1%Yq^YV$d?4 z8oQ8+wS$;Tk{XL6ZSYt#b%KV52CkcR=0lWG_KVp<*v2r3MkKxI zDuN>p8_k}4#HL0CJNrKY@wXb_^Ocs~Sw+#2iuk0WV?t*_X0N-S4CJ@y0LjKtGAAGh5IBO_hBIJBf>rm{=XJ zI7i)1Ywxq>l5t0Y6G*}*S)?rJQ3LM#1yG7O^L@Rbt|M-?Bhwzf(JtgOGU4BYsu(kk zN1A72x0#uUpM5Jduc4>Tr;=4x1?80*{J+CU_i5{Q7d?#?6tF(E8$lV(7AIBQ;9%ly zlKqnvhvcBZI`Zg!)KqukT6wPjZE?dgV?M-@OWLYEw=Ndm-t$EhaVdT)p$(&jsNm1n z@^8viVyly3z_BHUYbY=jDNe2b`P`3q_m{vJ0jDl!8g1Qu*~k1kL0yxaEd!4|#)d`r zoJ2ug{yU3*4^I377m=wU^aD)nd!rfOs(BUe)!iI#AzK&DUp`Pcvy?GWQv7AMbo|c} zI09aY71wNvea;|tO_=A`&Q061-vKjSD4bGs8-q8wg_%g}fRWV8*4L&yOrNUU{LoQk z?6^N+=5VgwL#?a%a;kHc%ySvAxW3OEnTwzIZIzGfJsslLT<8s$tOPGcU0PdQ+VSdv zz~MdDUqMe_O=bNwpB^q%>78K$To~@rhmM%Ir~e+z!1<0*>WGo4&I~n|Sk_Xvn4j}c z_#-$16d13|B_WWv%-BE4SZ!dHt3mRaJ$p2H{=De=)2Xw+3L%oK>6B4Genfw;?&GW=g)g%urgw{8S1t*`AZ#+5^6JMI^ zD);2xQY}sz|M1yJ=3#_a6p8lz^wcXGi{}a}j$};03^g*#DKzik9Fwa4zXu;xN7r1kEcwh+S#yQzaTeyQUAzyJ z?<(b=8>HY0bP|<=&}mCm*6PDc@lCcGf_L6Vt(VRlyQ$L8W)4;_tzrc6GP82&Dv#bX zd8=t5|47;1Y4woj$s5Fc6m7W6E{W0o`kPBFpAVPI8vOS_qAvIr5fb9HCo$lDKsxC+ zEb*KR`!*bCak?!HZA!i2wYw#;+Ab_E)6d;MNkeVBmhRv9nKk3_r$03Vsh>Nu=?>BR zSk8K!ZMsmw5QjB#;G$u!gtGP!dZ~uqJXy}m@e)2Y^;z+*+J34LI)5&D%^i4#+HA^# z?a7%i=CzmCzX$mGj}WIW6vczwpXB-uGQTW-jbjLGrTuKY8@mP?Y=pAPw}ZVTY-6&c{NRS_SXmtN+}7of8m z5?xh|mgbKZ6LFdKT~3@>>zp|nXa9z-U?Gws)s)f?H&{b(jR^b?s>S*3LKOLh8?y+2 zZ)>NxaqHK7mc$zdsG5tm4(nNz%O&RvKHa1P&I0hq=TrpTn8#*?_5d_hA$mSsdt&`c zhDtHTa<2^&B_$3&rf^p0MR0HqK0GmfifDfI892oL7RX%d=aun8j|Vib;9i<%1|6#7 z5hTek*@SYip=9YSUa!EuZ_CB{vl`4aUd9iOiGU#S?;4+3f z)@Pzu*)y(I&6Yodg2X78aIrwDI3|FHo|OOjeAd)qHN#rK5*0hZR3zNc%{9kk>M+S< zjn&QOJ_RAXWe8*AGPP1$hsrb%DCMPbYYO5b(+MVcuk$W=e@PjnY{O4__?ErXtHN@P zH1^1w#?+OQc=jCOyqygcP}(B>tY`L6VVH|SORGmXZqB`el<^w0FeF;tVPndpROcRv z(F~ncuAEoS`X&S5wvO=YfCA*^zZJLVxfrbeV8w!$W zqGv!3intj|`kY^(p>h*uRh{$ai&1VK;|>(5f3iIkHB)#Y7Un{_Er=n7Lu7sL6n<~a zDJ<;C2w2lHQ<7g(!7ue$X3$xn6}t__rhPMK0<&r*nC}~X!OISy$QW8rIq~qgyhb(G zWs)J3r6CSbIid>E@Ke9C^%qtHm&SGR9?fR_+yd!?M4n}NO11l6cy~-%GZN7o2Wdkf zkyP8M_5NAc_|l}@^(;Nt?PPWdrnuElxv_pNs0uR9qgAJVsVP^!xma|G9r{J7U!bc{ z8~c1PNaNjLcATITY;KCrk_Wx!%>ivb|Mvh1KhLoI!oSmzOq3o~s(po4_&_wzI?8&+ za+ac@AQ%QXz5b-g&v0R3apADkD1v?#5B_@V)e}V3_Y_dOpS{iJR*cDD_Kf{?fp1?M zu(oOE80)FSQnkI#vyk_NI8l$7Tl+9jleOfN#{2Yj#)-(aW`c5OE}eaKry|`a zTt^1U_laimS@E?McL=OuX(ij{rr_4qTW@`>7{vfsE%heb4b`YI(m*>bCszT|)HI~E zX9|=F9~nm-d+0jCB<yk!#DXvX^5-em z1Pxwlw?%M&89Xu@t_C0ZSlkkU_K#hBDeR%VR>MyT(miP~$9o)n^dn3(V>vqgZ$@at zR_F7hvJner5BWuk^J)E>Lda|f@5p@~xw`qGLH-d;v=E}~1=-VN zNyd%Tk;xD%gV*QNyeSIDy-O9$aNWhI%+^Ti*3IY)tp3#QTbflGPKm67tjrI6?3Sg9%zZM#)C?bNeyr0OMBhqMw zfw;16FEeJ9YI-rkGI6D@ywx|fwiYi9Gr^<5?RBV^$wT8T;)y{c4Nak%b zNoK%V`9Q+YO|M^%RZm-_5|-Le?(WZzE#Hf9t=;>g%6PYt_~Z=yWa1qt(Wjq%T~<+) zF)39-;?s+T4~bV$*3xBAviml^LGm*g;I-e$T@|IB&c6q|x0KUwOZ)~fCR2?$O&y&r z>#Rr~KD$Lhx3XH>;8I`0xS&xhZ0{M5s{u={7W=CfmEr-KH>NGhKv2n7Ph{SY$-y~X zRASgVZSod)TF)sugmn>#9&&MgD|?O}=9U8+6J z5L=SFFzEHuwWRkWWjdG1AD*aCSaBkwkUeK>1-%{QWi?!L)M;=3Js2VL8T4l!?bF}< z(-mC$0|w5Mxu3I_dr9`sNhr~^GseXy9C1Ba>YHoZJ z8k_~63O(`i2o?-eGo8W=O_G#1nI*7Xg1%6VajUTLvE|YN8RkPwa%}*xyzjU#ynVJ8 zF&ZRo=dDT8JwH{gU80iK%b^`99On=dlxymhHtxEEOsn)yr7}#j#2Dy_d$>i#*LeII zuPV4gMRxLkdi>^jkUxZK!83Fwv|yvP3UnoTloTkm zj`5FRPbe&PT`!YtW_2Is=&j0c})U3^*T3$@s7oG}b@R z-p5AzC%^Nap-S|{NwegMKJP4d5zMI8HFbzeySNMq(_lG#kOqAvp)Zv=GMV4|)QoG1 zM~(Yq<3#qktCmS0Nj-yi*W9kJs^-3!XwyC|Om>NhIXFwnW)r!=@>Zj=$~Va*b%9?e zs}yofeHjG!Bo}Lgv)D*42Ew{FJh@Fl{>xoLfmft2g>bZ~$`=JFL^m_TIj3ur+WHQi zU)vLkw3j76o+C5J`vI6_YMp837Aoy&)fIz`z}yydu?oVhkgYgRVBu?G(%5=3dvYGw zF=129rgmZLM@Dp=h|lS#?^4R3D^Mu>uGqQe(M}+V{@ZqPcE8>3-%c9Oc%SzxV0RfKq)CtZh-FT^9(3VponO!sv0y!;SdgoO!QVv*>$jwgp={bQ+eLfr@G{m zg~HwE=uV2XHkqKi$6iVtl0V=&CW8xORaUxzHeot6OCnyDPpvNOb+=mv$6;Jsf$TsVW{%1izyDUd>ncAMrux}&Q(d%~QcdV6Ei&=dK+@`X?w&MwY+!!tR=EW=KvJMm-8FKsY zN+fkzo@*oQ0Acia#Z7RXk5pp-U|^Zr&cn^Z<=8@(__j92wsQpOwZ!=+?Wxk`}7 zFip?AlwuR1ZV1~+sNkD=X}8+**RL{Dla*&mro`q_QZ{|Wr|K?jcU=pKUhX5MEKRt? z-TNSK=I?4T0`k-JLedqb&Xiw_!i{YVeEqUL)cd*uk$c2)-`y0dCIh?K_j$aTBKh#W z(%0VT^)gsoOUx7z35&fiVIdtey2SdM?K&q~@0})9UW2HZ=mEFy3q*oI_qnKP5r?YF zS-5XhYC#hNEc{Cb$|O=kw0;cc0CGs%$}eYq#{n(WS2}t+u=` zNcy0sn%QMZZhBy?%_KE)d_t~noqlh<`r>nHgBA~ym0Sb0;j3>Qk^2|PCH$&)#f=tA z21^vfI4Pb8v*)-L?^;k0DM7gf^caw+7kNn`TPKuUCJW(wb1l=SyGi{li!`^ZAe5gx z5IRzr$vIb>jUV%$Z82EA0})oKpYYt2xrt~|_#^jY>1OG<1m^jy5?6jkC2D?g56=U- zVIO_kB^A4xpm6ssqM6C#j3w=0tPk%EXwfK5sBu+$u!MzavwG-uVywu^Ft{0G-6yT4-f0X`vK!0&>?bWwVNKGMOf)uCCrqWkXehHy=!KR z)x8ajP39+r{qZi7A0_T$GRm{Y>=YVOr3{6yacF*cJib@TkrjO6j-C!bb^kQso-#GQ zXF*(g#H3wAm0GjZC8XV3FDHRV$uQHztu zcZP2;;zK%}=}UMXS}RO(z6Xu%)DBF7D6GPmUcT|Sy`_#F1iK)S0sEBgFJ8K_MI%xj z20VJp%{}|gs7mj;ke8Jry4Z8Rq)un)jC>lGUS}&MuFmVRjiRa&u5to@fp4_OfxBC4 z_Zf1pyR70O=^2YSlUPoi`DXq-Ae^WPDs!wt`+%21=zC(m3zU795;YRD=5!0;dGOpm zb3~PaPsl-6A{FpjuN8 zMO>evxOiMU$Y*q7ztod#zStKUpK}p&VA+kZZdh8YKU2o~_Wyt|YYDAoyuJkx^PdK2 zUT`*Az!TYN@b$(osmn*%<3^K^QlY;pg+dItduD&J8Ie){B+3T69ge??yzuglR5i%4 zEW-CeC;f!>dvtI+#>(hDGlHjURs9u-0drSICsObXTAgR#0l*-?!q4MxASNsB*+NnM|C24ZXhc*A;}`e0u!?($yO zGfnY8*QTq?-lhZ=Pwng~JyzYsW+APrzS?B6B0@a=o>AGNCyrK$A<)BYl1+m)Z+aIx zt}5r*QzKu&wBtKInmq&N@mVT7{?a*EVw^u)e}5#mgi;QM9o841`N~l7d2US08@(qa5}eEgez}(u?OCq z7SjoT@^c!$qr>UdjLlaDZ0On?PZ+9k&IX#763NKM_D3JLy!o>$gl=P$cjywswMUpoDlA`#V!GfWDHJi!WdW;IR)ggis&ma1q>`Q*6r8O>` zxiXKwZ70l!+R)@xbslH@A=sJrIhlYh#_+B)YJAM8;9vhdQ(Uv2uUGunkRjl2DuPmH z)OiVoE^Q%9*UxC&bv|_p60KSmbm@~4We3{L(H45or^_5IrU&6L8obs9V_eu`*uE*i z!49&y))QE&TpG@5m$A0EkL+F-!;Z|1XH_KVW|mlv0Zq8YOSyiUb6StNXvYDOtf2VV zvXEjfMV~MjeS^}@Zgpf-Y9L)xXV!xQ-R?6`58Y?J8Ze176%m28R}>w65laB*z>EP%Nt&!RAA2siaO($mY9MZXuTt8eoKK$L3H=-j&@%E%FPHp}8l$MG)d zk)7Xc7v~*qKX>ux69C1JhV@^PyC&K5)x;-@TyN2TSUbodQvthW23M;8RVh(hDpOmV zELUd^kc!WS7SH{jg2vf;0Jp0+9gb<8a4@eU=J%A;D|Qre8<}ls3fqILS9HF;kU8wV43JO01#NuVrp&i< zv3m;kn_(-)EXkK=@$yFyYSUpA@GEFixpUtL^Drw!Ago*kVyz@Kxk^W^EB?G<3SAks z0lHowX3D~wCZF9FmRyg2>^rd5q?4_=4HMU^_g|>&{`cS^4EU=bfYd9(TT=Zi=?~=7 z-pOC2x%9+O(FflXJ5sur$lsHPC>2BO5fq*1EbYN6=Tlzo^m@s%9=#wtbhl}Gp+ZB% zt%9tb^jev_`{P|d-atGHnCPf}@(Wdb4|)Qom4FN>RpciHwCQUdW&U|)zX-ZMh70?H zvj{@=o~OpT2~~f3c;8IQh%W8y3VD0!Ap}Q>p8uCw7pQV3L^Hj&Th+XYr?ZIIoD7p% zS7Q1+0+qnpFnHzRIyGH6Gq(FAYyJ#8XcNZF>52mn;lr0yvNOTJGYA0-iBN3Mq{4dj z*=$+e*M(4{?gC;p*OXs-8o%18Fv%>JtZn0a8^rhdurz})4LZlgK_Zv_Me$zdZf&mE zRNAO)33Ip}5zASw#ro+owL#tZ3ljKGt&(2GV~pIJ528%pZ&(AquEp)sgz^BjpUpRA z&yjKmyvz$hiOn|bngT*^XG<(ZH}zj4-UhloHw1v7lj(w)NguvQQ$Z|I<`WVJDa*V0 zdT=u0CtTI^32kg1)%`U7ZB_8HkUc=wJ$0+u4uW6(sWP|qDzf4+kAkQmBc->hGk=hx z*#u|4CccJ0YF1lSA2!iDjLh>T+gZq9pB?f<*V=?c$o`#3d`h4+tlR>EDGr_b@_Ewo z@zoU&nZNBHw}TiO>qp!YmXVvPTUS*TMknOCje4!#=Tajs=aH6+Uc*sx$MgInt`KQ)a{J+|8~8)L zk`;{Q^eiYtw^LnGS6&??QRy?fbiSL*U3HRIyi+DCMJJM~@uUOK`{-_~=RX;kS*=BDnc;fLoW%|eD4)9xLZN4&8DRAvfcRnJLGoa_+gCGsFXSPG@@GG8JYitMq>7QfGI(gdso9%O@ zwy{jWK;P?JmuYW-)R|MwWVGh`BTRq5^iE2oy!eqQohExbciYQcchfB`|DBn-80_xr zX|)9?A^+ndX>4rR8!y%>t!_NMNAlbm5*O8hIiGBqpP3oH6Qf%~kKuu-;sv&9n`>6l zQ||h+ivl}s#7P^ItGZxcU4A(f!8)Y{k$DTA$3}jx>=;0nZV8mPK zeB@M~OJ+0M9q2CIwkQeKNOgL}%@L&DWgVcX5SSCbJH=QRKn{YW4Z19xmHT-D92gs~ zQmaaBv*L%f#+s&ee0wC8wbhU6_U!VCVhL(sy~q)!LgQjp!-U6Wu9M$90bXhHQCxhY z7NiP|(*yRmw4D>Zm=U5;Cur`dIJo*YDUw^XM0gMr)SJJe|5qU6S!>pSj~sU1NO(QE zp@IA5w=>DUTsBOF7`%pZm_leh*)#5a(jlBQS10lGxiSmT05gt}FBO09W;#n}lc;ZB zRRY3(g%UJUS))Yb@9m>+jbU`?R3Z6d94pw`gO+vt-%Ju24+6? zn_R7)c|?NmsCM1FPcF2wh90;Y&w{y>{)#2FJQXs~vT&K$*%9}<2t@C6s52)AGw*Nc z=xblm{*u^4q|%q9>MD7b`b(kArtC{V%;R#stL@7QQ`T#JsR!DJa^v~OF`nANgIaNM zw2rZ<35oJ|gmtfPR1)vfGU^Z_u$?)OJ`X?pG(dHoL`g&7--F_ODO!TGs~A5uJ&xz{nKIil*!XL=#+gW$ zC_4e4EcPtC8feqt6qk-<&)g)Ig&po`R~U#1vKGAoW)0I>aV*;L6Pq92Pi`p;DC(Tq zRt``$zhlDcY~zP{m+(L6L0^S9%RFXZB$xvB8C2=&%bx}Od!R?onXdD^aAOE#@QK{nEi$!Eohy^%_SAvx@9pWUMjZ7;Cew0 zZ`xq8c7S)*IilMoR6#Wv%A*7#VoVBdkD=77uWtC6@3z$6-46?Vd2AF*_p|hQrXhq+ z;GS-n^r>4vUA3F=S()in5})F?!pBt+5N{U!%J#XVtP_(V+FY(!YZ1>kUV6cY83#$O zXWT%F$@`^7-*%Lick6o4{lgV{@llP;BD4WUR(@x(HT~?4A4P<&gvjd!!k=<;~_jdDPO!5G5%))W{X|Gv}&}*&r^e(Tp?3f z8D-9*fDy)3)m?%nZ-GD7(0i2j8oMx$GM@@H zg7NxmDeBR4bZ+l|hQGXK1RC()r9BfQwST+pmtPD^bv{jhe3_A75-mV8+X!)d_Q7^{X51j%2l!+m2DBx^w7C~xDvGf>ISMc z71~iN09Maq%m2&(SwtM+H>*(dce1^u$d!bX>bssta6EQ8W(Y5j3Ym*04Ru+J2M;XFgx! zo*k@}>5o-|Ck1mM3iS*xoORCU+48atNK5)gic|LWYSSXjG2SoHE-r>PTeIgm&Bl~ z6t?9tSrB)T>qiWyhBCkfxg@$eM^e3vx2G0xHvG|VXMC5{H}r*Y!BKv0pT0v4%e`|+ z+%DA-S)D*$5FA&&N4Lri~yj zOr+(F*G9>_Z)&2bwj0=rrJC}f;ClwV6YONUI2?fY$)iKyBu@=4>UJsAlZy#<|J+7K z9~2p;Aa6Y_^9x?_{TdwjtA-sF?@fg zs(-fFr^Ys+&=_q!_vhqceHVVI^5a`fYFuDi9GeT^r*auZ3bpgZ_vW*>|4>^KcuO(v z`W<3vjkB^8KDr5}ve^qu>G$h47%6fuPiZ-md4@?2FuL$ugUk=kUc0*)GQ!D zhM`Hzxks6X)Ws$yV=qKqKKk2!W1=*{R#uP6G9EY;&V=pqZG5|g7}wjjR&pa5#w+QJ zGy6}-ylqeQ0$k_}to--aDkSVluBvh9xn*0;F&>$h+ca4O2l{eVz58AhCp_|JvZs0; zY2T29pM{^H%zyoYb5om!$Gba@=A7+Xf@H#GWo!p5N+i*W6Un~MPWqfil0imiX`i3! z%Q{Y9YAi(nKgsj89xQKv*|9;GK2wUbI@?CpQ!#N57l{8-ph;m*@csLs=dh}Tc=xmF zE=8-}ld&GIe-Egi6f>=5oIGBYc=}1H+Kkd4kba$6b!TXca{ZFNcdlo>kon1P{nqOn z$X77_7rn8)K8uc}hw(>Ben_Y~FU*^%J^jwh*Nz!#(bZy^p%=ue0>E@=qkJ$H@bZm< zSq5K;Ff!z|#%T>Be8Ri6Kp``U^PMMmHH1d*xSng*V@S$e%!P3yn83(G!|<)x9<%nv zPJJQcOP-yD*7Sr~zd-I%e{Qke7a1pUA_jTyIxvxygJFZX2+5~jqi&d=#zT>z^Aok?mWo_YFx=s@n z+cFoG4RAem`W7`$IPh?~GN!0Gcec)_B@y)|7H5j&9Z;R3Q3 z*at2QjwV0k^7Ex(iJ;{=lQvY6SJ?=dVvjrxDP^N5{W()co=u>^8%6#s@ZG-$gKAp^ z5wI8%e^C>L5ar`BmyI@E$+*X^&e$^nFX{MqF!P6ng1pt@R*#-`7Fqsv=lpj~!wiRP6a#lOz>@mF1v?J$40zH`uu`5QiPuJat1tm6n`eKz;<`vA_V%Gn#QaMe z)Q0^_k<6+lLQ4}H2`xN!>>cEx>I`tj`)n<0TP}M*sm60^Svu_O=IN=m^{|9T66u_V z)w+@Py4L}mwwwYqBTC0gLKmX097gEr7)43(k$4iv(ash80y+d;DhZ6Q^_Hcn_iypIz5-Y|FDIrN;Jy6J3bKS zjYnD0EqRm!9m~KOct!Zt+r*KQx-`mh-J{A_39LrDc2b`^((+Ocx#@q-3kL5X&YhBa zLz3Zoo4{ROy=%JDT{*~kPP;VG)@tV?G=d^}ozmq=td+sMJk1t`lZ}Zy9Wq9LF;--# zYHFXgq>bEBw{0@SDyL;ukLKJa*{A~VH9N6@)r-r;nwm^09W-} zitHPIaSiVslJsUNUY%`-DHr_LE5A#w-GRKGA5+(Q87P#6);)xuTx>iTY^L`yR zWskV*a}4V;hw8s}3`Wjcju>xOQFUh*Y7sH;$VFc~T92Q?4AQx!OgQv-CE8v}N1?l* zyYGvc!^JX+X^5RRfRW4Cw8(TfnVqJuK7BHcfWNYou_iC{Me7CQeZ4|kCK_~5W$bfC zDydDET&qH^yDze$D2!V~@3Rv(*}BSPfR=v<4sS{Q4ca+zwpn8-TWKp0&hO&(rh5XY zH|L@21e;c!)iqO~;}gSz^KBv1?65}N4k&fk?qoW-E_)Kb><^Ro(JKO`tRf#JO(W6= zVRB`yWtJV)Sx*b4oKWbK^n7{fDY4xfb4pQyK$ig;K=tWN5 z&mMlHhjcN-i?<^+rmA#(?LsUK_!54#RjPkU+iq)kBpdSr*9d6czsgnD;fpJXPrBaG zecm@iV4ASj(}p&!GV?1}l~l>k=uYmL&IBhX`G)P5#+m)0a1we+eov%1%yC0LSvuxI zE`Dk+C=aLBL45$+Wo>;sb+_7Is2NVbJX0Zv&gn65U{6R9zA&TR=AkF=cV${e%XsC9 z_SxT2)wN~$J)sDJRN7J5=*(Sm>DGP7GA|C6$(N$S&;_e@)sg6gbo{`7);&iE{OL`V z%jR{Pi5ej&SV`2?VD|C7OMH4>jd6k2Gw{FRW^JYQvVDfSg!4=h=wPilJYK9ifTpFA zo?U&K!a;vfY>jI#1o#(JuAcb)B(`?^D*Gi1+`)fT*B2pD_L5N3wUFyWD%pk8wCHXP zXj(>c{w3ZVkMU>KB^&tKRQnu&H<6;oSIuR$!R@!huD3v;nyHt&p+nl;ZMt+3@w#~+ zo(ws_RFCgyCNtHun>D)#amj3-%A=aOJcnO$+RC%@K?(C-D|P^ZF`$%=9gdEKK9Vsg zAS<}d1bUPCfirO>E0>v5$8U~%AKHCPZr&tww*LI93!|5Jua0uGl?>nBIw-)7kJ1k_OX#e=o?7WwfRyV>CS5Br)VVC$a(yfA zM+C49HUf`FcuJ*7Kl4)Tyu5Z7WF|{TM#|6Nrq7r|dHBe_(+tS(s_+h(NNb71Hnr|h z8K1n$%j^IqDkK}U%ug<)#n^BG9cJG7TLb%pgwCXoT!1Mfp1%$dQ$w1fQ)g+P_9Xu~ z^-n%sLDg3P?@nRrPaZ3jOr8eobwwK7)vt96W2m&nC=)@0YQAuA4}w zNmN^5&b{8v-|YF8s*PUC+~j0>t%!Jg$h1LdJ(1|+yr&AAL{NkObqf;?GoC8Ag_Wtu z*nAsFTSzlQL;(>Oj?RD6!$mB@nKl7&gEe5&|D`D5W}?C#-A|ZSNsNF@j1rOn;pm4n z-f=sEw;(U0?q zTcpUJKfrYSi^gvmecF;G^j#P92!W&-0zKyFQgls{!lLC`umYgMpj?77BUVWb-p$j70AlbS($v1Y<5dmy+F)vM z>;{ghmmOWIf!5xDdr^~t+9Q%w@VIqHmvxb7Es*X6;CZ3k^4hK$He7b1$9;s(rFk+;64$nQHa+b@BJ(~4T1o*TALi*)h^j`VC-ibzf$9MKii)lm*MtI&; zIk3}`>!9lKf{|NhnO-@_tJFAAB3C{p(8}lkTz+O2JB%fkcq~EtEXzgiCj_|K$Q|hD zN;P;_=iZdM@F-fP z@nZpClehpXY5B*etn+$khv|K;%`-_=vZ_p(dG_Jqhq$COi-`an=1(hj+Q1ve8`LUQsZt>0?YjQ$W=N}J>m&xPsj@Q>D z<;9G_s_`rtK;xf6@^D)nRVMeCVw*f~F`_;934;np&3x-hw}eGZ=-vk@WxSC%)6!FM zkqVCQ5tJndgrA}`@~t#C-6AHXD2NR;RB1u;vEQ5`yySeOZ3(#b%pOdIxjd2_D7fKV z^5Y!<#!nQ+3-09Rrgn)i!z@$1yRf?l8jJqu0{oUTio@UV#tiCnG_mtZ# z1`|yLn7?M7)X>a5DW>Eix2y;AN1(%L2;TADCo{NKNpi%enC||-*e47HBpCmG`LdTq z1O#V8TC4?GvK2^J_EMS;tOtfmAxB#4YvY%`hY z(<;$5DVmLwQ7qeeQKXw#zioHw_G@le)6?E0ocwouvp#z;=jqZF>N(QsP}Qk9OLC)8(6(4)a23w_InPnc7hh*fL)*LRIqX~N+F!jkDepA2{~}CR2z@Cfa>D$f zQ$q1VkdFf(U!vnw@^Q>>XQ>FVKGC`Il{0Hq2X#I4BR6TnM(Pk& zN}6AuF-+97thNNemk&pe5JL`Qm3%0~G?JNFCzQA~x_9MN=?Zv=>FuaGDKfL1|A(wU z4~P2u!Xg zND|fS=l%KozSs4=uJ7YIbDe*m*K^K!p2z(>&bi;dA%KHHs>SH!`<%n0F&K>f8E$iG zSy%b6pNyVQ_)QxADr-&zB^&n}tSq<@RCK6Dnn}82m7EVf=Web;ZR(MU9gB2vCtlRvTfR%4sbwQzXZpR6&q8EYnT|{1MY$k_aK%b0f zgOX4g9b@-t!21nFdAKH#tpYnpuE>7Kg}l3h+4T=GMk`5P4J^n~ul3sW4o~89*N|ve z__=Ec%p_HqqytOyst~DC6#>pj%Ak zZ`;M6<@)%n=64Eb_&!HyI>Jd&C-i=;z$0lU;|!M=t`}y`hhijV$^2BPl10>QEu_=v z8j(3LDv&H?x%6X*oRGtz$DTg8>iSA(t|AMiJeB-S+%fy;pChHTr7@41C( z>ZPF0pswq~AsUAdp?q4~P9$ALK7W&w2$@<5Eq23|I#4%GLL24WoSGR_=igX*o{~{Q z)w1B=OTYqUg|`&Iqh~n+5k}{nGV%A?mOMH{h{A%6#Czc9iwz(h`pf(Gc;xowVRk=B zYMb6HCO-3(#?ITvM-jLWcxG0%rXl7J6t>z)(HCC_QSkog=@a-nvn{u;p*R3fKF z9*oj=iwpNb{cb3JOH<&`H&{E~SQLEZRww$-yG+_BnmyH@op8eA%WIM8H7TowQvTlS zs^tfIa(LaTpzcph=o0t=N@_}oeMF9^8c?ZM77HknohQB*#cI^h0v}TyrY1jis6};_ z`?2OL_$G{1GdVgS<lCE&)LxjkW`#0+SDq4W9kP!hmXmB#UCw#bmr(oo<|r0}U4hznY02Q;0M zWULh~d_A}9#c8idamcHShfAmj$ICy5_BFLU8ALXg+kTwa=FhnL`AL6L@P*^u!wYbM&|>`5`jEXp;wy6r za>yLhc``q{^+Duo7ED9yBCm7sh!P(@V>Bz-o9x>>JJlHNCvbN*#gVbY0Z$)NH$(2* zM8AyzX=)c+xNMGbR^=P^x1rjyMh~U+%e;~%wCmJm*$KpjO}6{k1WI*H9W!hFJ^xN0 z&S2QWL%61IG5Vobyh`?*kqKp>@%r6&fY@AUDHcChbC|>USXVP-S6W7o*=m2+9@lKa z#p0ktm2?YGb$W}CYas@?2;oc&7}0Yqp=Kt$WfYc>(pN>pjN-@gCX=n#)Ler65#HJ1 zMh~+Pv=ppQDr~C5=M6HH`0eJ?bCaNqk!5H{Z!8pma;e6svYrS~>VGBw07#QRCXbCu z$8ipiXW<6qjsM+G$*V}|Ck6WTWAa)`7%DF-5MjtD$QrbHE<+?24IZpn(VQ0#LqmfZ z7>W+e-;-0`cn3r4&hPQ(PkdCdL}detY;~d6aG1@;BY42P&kGH1Zo$xOBbiNhU*cNQ z$AgaM2l9heQl)$7xvWx|F+O=vblAn)=WH3^}w@+0+G(%c>M;f-&kzDW>})* zUO469M)?@)4pJdFRaVYpSmp^$Hsd2Tvcb}lLh;TgEL6JKT(2aG>eF$$UbOzzF0+xj7BPjCH)d+VYy4=E?KU4BfXTr88s z%F4WiF)i23c3?jo zeGoV-!rEi)=7|OWEUIw>cld?VI7bUlAS#?_Qtj75>e~2-NTFO$n%fyqaexz>0eG!= zt_jysh074McbOfoEEDV_Q2UQn4$@`mp7OHCrJ@{0^g-t&`BKaw-H&0jNKzP|5w zZ&1^W5WO#zb;5r|B88umK7D9%)3OF+dr6~3`FuzQMKClqKT@k|-c!j(arRdu+$|da1 z)Jc}+U^a77DffX(J|;f`Uy_&LkpdL$V&b5?a(>Q>Yr6hJpRK%H&X0BuX9SD0E!&p@ z%cR~Aek=m&Dh+&+7DbDp)#nF8h1R~M3Te2aC(IEKWxed_61D4iQ|#cSQ`1}9NIV2{ zEF~=dwKiwoOQamb?6aQ)p6mxhrExYaqykHsiAy#BlxPmqr{8zxd*+|5z1TT6e>qh8 zL?#yho_+RR&YSRyfs!m<1-3&P19+>i;)z)Rody*GS9E|I<$>S1rQ-OW@a2L4Z>)D6 zIRUdDQ^nfDx+#f;s*fcgS`;ewOpCrQ9)0# z6D$9_z@;+I^@smm_uAyQg!|Q?unN<+Bo^Cko9*5_+7N_ztHg9}#imZ*8k_i`ppuF-k-a{VWeV{`_w;&cU1&EY-^pKIF zxZc{aea8C26y$p3I#<)KM&pUpZfEt9 z^qRTPxPY&9_EM1VdAhIm-QfRLk#_?MjXJUqZPwMbPu>jnsf`t^TK<$J zQ0pHODU;1?dK;nS^o&4Fl_t-A3}D~3aHOzLXNT-tSEWjRDnp0#a;=50g~&p~Ld9A| z(%>%Wyc}(;GjLUH#wCFle}0oaomHD(9L**ry{{jA8TXLK{^YbW z)ic2}ldAQP*7BQ}?chz3I^i;n4iyjlm{_61V8O$|9XA1Wit`^14}u~wpz8V1JTz%T zGJ)d*6q8bVl-8&DB)y)csnMIFb)io^l1nWUX+SjWthOonNGx#?V*AbVeAcXS;uy}2 za*h&^o1Ht-c)+C+%?(bdVBtrXSmoPsJQn0#J`k5EmtpQ1f(uER(|_`MyBlRZt&JTV zKup8ehghWbQ=1sI71_+6@%x%$COVVYMvHB!!>}Hn$s_w@$v}2am>!ZWjND8^c%Rc` z+NCVq3SCfAYZ*)GPh}o>zk8Q2+lAh)x@aYInVQd#|JwFUAqzjAHDv6H__1l!S_&^; zuF}T3+D=#T46Ruxp+8IxKD=L-mmajC5h6W*y=X9_Jt6y-FhGl)wU*bVKu~oxpfBnn ztC|g6EbCKxJN%14l1fv-Ow35l~@( z11U~HxW3VMVB($EJPPi-qiAz+&TS$XFgNJzLcI@Q@`cP8g@kWg<>rZea!|PzG5+ux zY%XAIRzOlO^RX>SF*i)}ax{2rKD_`j;`R5!>vfjfodt<$G95RpHq(6+>*vUU%dJpM z_q1h-_#1!+QrWQ38|f}^gH<3Ffrfy(4i$Vyv{ihy)dYuGGETruHJJd>X+PFVtHbbp zztQM&hp_w2p={!is89n_>pE(-LTh$0a_JB`*!QPgzB0;Y#sG25^+Afj)O zdJT1p$`di*^(i3K7ylkE|B0jKb%)p5*WuQ{0vC-G+Ya;M*+aHil2g?XyxNp~a_X&R zr{L1NjCO={GN-P7jb;6jM`%EO#payrG@lvHGUo)81m^;?>LQtH!8x4yyyl9?w}NfC zyNv`=L66WDkw&KOgW#4XNb;ES{9$F$HK7alq^1rp8LxTyifc^%B$^r;`PG`FsdJi+ z%nG;7kK|FkvL8TYr?Qzbgp`6-jBJ{~ZXD1Bm69gJaOD4R~d*3YuWH4kCM#FID2 zA$A3yZI8-sGLNsRBjsATg9j(d>l!(xJ{6!fS_$3v`RV+Gpr#^Wioj-Hu8-WLZ9JCW z13mUO*hWGC?4L`2JpT5KQ)6zSTV22OqE+4-y^JzI*)naiWq?kD)RP^=6LLdDA%DPJ z9F|IvLl~(zcwSoG*Zg`}$pV(md-YO2P4f^}AHmwQ7AllUgKGl|1i3Y5#Y6eC3c`kN zb|S^QOM9}Tjm0E}aL-12*n%f*u? z|9MRn?c0SO-%2?_Ni)%14{-GMD&yt8tcs4XqgL>3XBxh}>EUP`g>>TAhV8$YV`4U3 z5`vk#qEjUw#Zn$Fn|1Z-%iPzgp4QS%&34t8D#GxaTA**QO6Ri z41P&}ZF>7lelMQ|rK=QMeC53~HI?Nl&%PiR_dApu%hjQ)9!%WX3kIgcdfL1v{*~UW zkG=Y!z^igZ&6wJSh z$5w^41g}0X8M@g+9kc=c*4DO%+Q8wGreo^U&sdnd4WizuM_8SazgVm4F2`fplRNM+ z?oN!7MOKEWP?0^QFyCJpUHZhi=_dg<*dC5B9@rHA=J^5bRV&fRfP5sm)5tUDSV9l zW5a&;=&DBxrQNL*1+xw5q@C%bi0z&JBg7UEu zR>sNxrg>8<;tOVE%{WO6p0+#80u$I17p9;rZP3>Q`9? zE6i$kjV7vITiM<0^b{hY{hcO&sU#;o`XQu{Nhdhj&^+(6c(^hsb@I9qotocT5Gj>g z1r(AG)z|{Ic(qR6HbFT#mCK&Ps5O_zBHw0EHgo_}E}8MXn#qDC627!f*;jt+9Xa!*_J>;G?OJCVso&_4F8JoNlZmMwwZsQ#d=p2*H$Q7jqFlTVgQt6f9bu}=?|v4zTMp{fB7 zeHR2Su7V}?>v%$0@zrR*SH~yqahqD}S2*||0|Vk9o7Y6|W)s#9UEiZAU@nfGOWm7sMm1fouE1Rl^BXFb z#;2kt>uYB9vn4RwpYR(Db1DInq=mXijhtkN8UI9bHhO`@a=U>WW*OsUDS@Wx$e6D% zP!+v8WQ#XMoRPf+d?gZ4HX23;4b_ppOLi$vceC5~nqn}{wi~~+;MG)4L_Fi{v4haLC>jt)1pbwie)b z62IGazp#lS=|pqhHdG)vAT+R03QEoV7N3*v)0%9_lebIqhIDHI!C$G_|+IX~AizZSPv;t7ZvSnsxh zZSs7s#yjrIg>giWO9%3^0*AQXSri>IUsgCY3r5_!dk7J?sr0%wc^F~kn>hmKMg&1D z^C4Ilw79HY!$n#6L_aKb`B9{{b2g4uf@$hWO32{C0t@3A!Gj*o+WCecsS098f}3Fe z^SdLZGczgYY&nD#oAmt4vK~3ZLEp(#ipAtZuf`NrK#)GVJH;BS%JS9Np~9AiP>WX& zbi$O@e?$g~VO4o>m&@c7m0db104Zhs?lu1hrxM?Ak14%gcs^9Ur;6hM+mz zQLxa;&{AGR+N%J61xF?NYg~_N;S+w%{?mgeg9}AX#kU@eXY_}dua|p(fob?k<`%xZ?n@it*j`}SXYa;TJ?6e= z%-*b{ymsO~BGUJeYR|m1mQCsd#RA2&|XZbjE2|B%V~y=!Plv#-gV~E1==%3YTsot%eZcMEz;Nd zPxwrov)cgYXg9iZ(%Xd#K+tRsEB$cGjUB8@b@Ykj5)PN0d3UQ;N9orOE$uVtEe;0$ z3-lc=a_aU)RR)hVU5vxbk6>~>vjI}PH`U^8q9QXKoKt$g9TuJq|@_KoG?aA>)fU^m1PH{*je`&=omV5S4N7 z#Qh&vyho#|*4Zkb)fW!)+?f{$f9Q5{)C~>OahdEEv8_Cq*9kN7_C8kmmfx01M)R!U zcFAQBA}TCo(CiL;<}B*F*jCW%g>vQ$Yn?_JQ$}<1pwH%7qTj|tzP2pHAxWlMx~g%) zI};h%HH941K{kud?`J~WBQSr3mcg{eCihUt6@#DqVNETJXqicIQ_~YPDnjCU1bxWp z=#YTzJ(qWKtUJQOCm)rzzKsH;CbOULe3#w4Z3|EUyjp_5pEmt?64laHPyZu&>(mR! zIx=d;x07E-b`BXW9CPFw2)n5Uf5oO(#@lrIq%8o4Gc~6TJ^JxOhD*-BC9jsOCvH$w zr$abilBVglm}dk@O^n^U<+gZL(z|MPc8HR{%tk;CK_3aR+1E^f5mC5i4h z^XXwzu)4l3v0gghE6Fosus8iL)&1s^E6v6(&maAw?|rx`y3u&3|KW3RuKHYz$4`;z zr-emA%l?bBSn$oik_Hi<$}Cyk%j7Tp-b;}D59xHWU;Z?aSC_-a&uXNfWEN}{rE;UYMi=k`u$pK?hKb7OPm>WY<3)aK&En+EXB7 z2GB$P=F#Zbrf^N{l}3_s*f&_~Xo~le+1*#wAShn=1PZ=k3VQeaG@k8|=2Duvh^<@= zyX&*d^rO}rtEcyjxw;itag9>u&z|I+C52er#DMCuR;a=L8H64)mZHvLj;-u~>D6T) zg-*-0XZt3eT2so$^wWJ|rSISKFl*tI{=|;Al>B$$bK)h&=>)3( zrSM0Y2hmS9!eZ*y9tc^K{9McjTN(i}c%joG5#92vNg1(!HwH5rX?urca#Hw}h81Oc zA%bb^MLG>43FiOY*IV-069h=K$A#TENuS;Hy^8CvTTdmpU*y7bmrOgerR7wv{0O$Z z^(?!yz2@$j>K~{0y`px@?AfUGiukUiMhSth>V4*=CjVVH`!}0mXu)tvh+%0Zm53TT ze=$X61O8!R(c60W?Gc74`i_}W{<5Lj3WaHaDs+axXOWgLCs^1g-y~)fbMquy>g(51 zD47ra*%$!^s{ppCPKiMGt+p2EUU72e=IZK{n)u;3SIwDs2p&W2+vS$D3gF^Ya%&^(RAU|`#9@UVPkv)N}yA^Md?Tz>R z$)PaJ%HYmYKY=n*qGw9UIex6$91BEYnH%Ngo<8kvygODV*(0+KHF>yJhHr^&@9J&p z{G5mTMh}zQQcCLc&Bnj+i&pSIzj@ZI6l>)PDa&e*P10S;VF?hSlkpi)-gvTU^zxtO z?*=uZe3kI#y(6uQzJA5B*73Jx%13HCgO2@satlvox~sTj{(O+UW90WdYs>_q-NhO= zymc7d8GIjcDLX+>}sGp#!m&GxO9 z3A!ho;@JBP3c>3ySbbp-f1hT$7oI&~6?29MJM?GV?w^ci{#}xOBe+;^X(|^S76fy- zMmK1?kz!&N8@zf)fFVEYiBA8E3sSyblav0^abYm|5MCY!b*s8-6dt~R_iQdZ#^204 zPjd${Q^!p-o7y&XSmx&)6%?w)W7!4C}ngX z&8o5992r38ocEmR?=xd70bbO_$IXcPZoBtH4WSj!`TE(tc)b}^U;Z2MJ7MlTAQuM( zj5Z6> zoj;T4v+AXm@e}BSzJ8U`{q;3~GZETiVZOIB$(j0%E&9paq7|sBk_O0lHyY-}b31%% z`&&EL?FU9eYku(>#v1vYelw(XT9K(`tCCb>?2j{@yJ?a5vyE_~e#|>+U(mx9gL)dZ zXqIE#(lSMg6iHh6{*4b`XJhH1TS+fbE0|RhR;zjyTp{dPeF2<5d1^`xu<1kA`-i(NCy81S% zrehK1Mon9%bbH=_y@Q)##_Q7A6oP24ky|ZlCjVdL(lQ+q_EKpUg?^#%oaz;R(KtRD zO)rplO`4urhEA=_akjV55XXP<;#1d0@;y1G+A7U&@x-zvOiZ@vG`ZHrJ$_N@0jS~S zMaKSsaT)RdF6`XrbIKVjqq>8b0StGQNU?QR?Yk*@c59UzRk|)l`Y%VgXE2vZdCvrD zWTH0UG*6SKca0L>tOUy*H0AH_TnYd9--VyFzqBeI=TSnA_f?)pHp|l-uMG9p{I88} z2qI_bMC$s#$I@I@m)5d_l;1oD@G=mr5(5;{wE zk{gqm$$PHF@am`s#owKpJ(Mc;Ks@tH#u=6(Ta7%gy|-7KSa;5jZ3WGtt@uhL>ZqEHe$gH!YNf^tMlvAZLX1!r#gqH%HMd{?;!ZqL|h z^4;ufI9G4T!?OoLWxZwmLiD2!A3aInP1*QI{bHO+*I1HcM(&!uCO!G{UK#jT?3b2;a8mCFGIXi3%#m46gq2RXq}>zB>$B$aFx4UY zfWA1X?7s^QpL}|XfMbr6=?{Z~%D`vdWl2&;yG4S>@%Ncz(x3WUwQVg4I8q%^T%$_0 z?ki%S+X|d-UPAx5R&8x9{l3KqUF%QfDHJXa@eON}qCMA1ZK92lRyb1NFZ@os{lor! zZDp*y*;@p#RjL{HKQ}7A9ivCmEj#l-)v_w%;&RSXZxfqP3H@P>9Jx;A@Nc<}LRKj;l} zAxeNYPjD|fxO`a~CG)rOE|s(Ume+%-^K`_miiK8)aTKEQmo6I#&_M6Uj-JX5((E5a zHx3qSf8kl8I*LBOSyaYgTvA1)u3}hCS%a!Cl({z6ZUM;mA5*Iw?-e;Fy70I|c-#T* z5O+te@eZjk_f~Ejd}U@SS$CxMu2L|oio$byBw-9qpghGg#s44foc=5U`v23PFa9si z)xm`e7ePR%n5v2q#yiq5nY2$i7Z1!AFI~KN1-NE15E!vjHIkq#{|UR^Z&$Tnkn&j% zfcRmbr1|j!%MjZ@fJ^oDk1>$CHNi3hMwbtFJs;x4Xfitab;OyDM zSr2gKkHjqI?<&3uz#awOQ<=^gna)g^5RAb836^27I#|)i2MiukDefirNXI<8#ao>9 zl`vrOdn`8XZf&N_AJKwC$y4dIdnpE-HK&|4o)?cqjm}#V(|jTWw+Ac@n}WqB5OBS% zS3wjC9A$OxbwXYW?33TMIs=CjNBorOzsW{MT2y3uaQ7?8#zq-%8l-LSWl@nxE2(>f zRYoEcPht!Q7&I2GPVSlg6vf zbcN+seEiPG;3n8=gYXGxwmg=$xX~}qreBV)sdaU|QRQyo9x zs@^0f#Ed49Z*~d6EG;0BVkYsS^59lh#lc7&MCLUyFX_*zx|kN(1~TL4Yeo+J!qSc$ zw_sIcJMjqTc|%XFYnPZtUmu%)So#zqt5R*?|NBT*Mzbq4ApTadPdw{emQO!NT0PV` z*?5#;g>~Q4Odi2sWVq)9+L=11T)d|GSfxV0Im_V0?Stgz(+Mm>aXD5s1_8!F>6e?c z5P5AbnaK|zR@<(hI7eer(=&nT6ca3 zkIMyBzf6i(d6WRixbXmmI@~t*-rWsqws|30PO7OgKFX~(gF=Pnz1lsc+W}GmIB$nD|;mB@{?!Z!(9A-F^5#-f66_4voyOD2W3Vhe1N6Zj0%eEL9!B2 zb@IVX%Mxb>Bi{^04*t84c4qMpyvJD;@!y4m>;JM(U6K_3yKsGvD0`$#$~zUd|CsN2 zcD^Q~5?`MDuVn{sPW`$<{g-v%bBED0Re9*1g#rG&AG^2x-vyJ?EAs_^h>26b<|f?u z60B0OeoC_DcK;(3*yTRpq;$88fx)to=5BTyCEPvz!1Nm@@$5VxWBPMPR@SjZy?FT5 zQ@?JleSKwt2RJPs$Gxg6gDaoL0Zmh)o6qSJ*-|nueG{dK0#3`0)XF5}O>YVu-;4cq zFYx$YAm?>j)v3T0KrTLMV)yE#<=@QTe22=LNzMalJidJru+1x+nG-Q?c5fiYi=z33 z4aR692w3{S^c=JMzo-@%ehM*TiNF3}yk}h03VWv(h�Qxg%Uw&-*G}cIx)@OT*fb zBYk)Nr(#sSJqN*m8X1gV*+;cJu2+>abOlso-#?OgwW^^LT8_>@#6o<+3l3+naR?0e zo$=Ap7t87mI=2P*LT&M*XWNQTn#`fv)>Z=Zm7YXiNQQZ6b;Cxby&HofuyVL?*W^Ld z5Nk^ko~%^pd+D4#BY^;x#$%0peGVj1wY;kmkM!izloi3}bU%$~um&gg@*x5+{0m3T7vs{J(4iFH|0x6VL*lot zqtb*n`@t{GG3yzLRk;s0V)$~HC4nU2n{Lll={o{&P^PsMB(MHPFe$?4z(^TIh&I)_ zy;0`;C9SMv%_l*>dWQ0x>p;OY43@Q-2#m4w<0NBai*v8PO>BB6v8~>w=>3?i9~1UD z4VGf>+*U#aVv#PlhX@;K9{BOM+?%lBw0Y8j1^c>2l$7)7aA1p6=>r=&8A*Wq1WCw=QH~_Nj71d46B|eA)6=AQe(*?9lt$Bb+a;2Mf|G^`tsQmG2e?u_+<3rMTCoe zSzbk`Y^BbFby=9Ym5r$PgEe8^8ZX9t;PWqbLnBO&DLq<@A4@z0bU&&bs7&e^Ok*tM zUO5*;x$-t^gac(#7a{5I!L(PgxTLm*ZCcJqCjk(zlQ*BH$l(s`6o|sV=4#;R!XJseLunjXyYi>(&{ORM zC_NuG+h%@4Lc@jAKh9tCjc}4%HHI~>bhTQ65&enxwmT-M90YPLnZBNa-cYbRA%Bo? z)^`g7MZ83Yd~>^%K0p7k8Gocev!T?E8g!ZTS(o3 z+fJ&~&-C>?=S22?X+}qOJ2uX|XC<})(u>RG*LXwo70oLQwg~kI+rUopxt+aw$MFVa zK}4E8hL2w&O3%PDrVESR{=jsZz7F)5l94E~>Co$Vz(A|i!@8rrB0*I_S5EDEQElb;4s6wMVm z+I<}JlSa?fH+j5;l{m9!KdbD=Ia`0){fS>&KGiV^SpY6k^p{cto0lSv(rysC`B(3e zPg%38KGwZzoRs5TDwG-j_ zk0ByYS=9Rz)!*~YXEu}iAEu4(WW)lgAhwX8gFDII`C1}}nRdhytZ_dx+U}Gq*!yor zbIn^mqdy=yxNSHUEFmcFvw+JCA@GK1li17yI|{t5#x~tVPFCJaYcv-)KShN?fD+;7 zHteDJ7+w3&l4xVC_RQA~CgerNm+>VQLM}|MWjLO&w0_R2d2iN3qgo`rRcqd{Qv#3W zWmJWSnD+!7*(X+L5u{RX3|K_oXC(20=ZRz%BcC%a88gbZcZ`(WKkr(U33-QcyD#Nh z=~D(^(D_$nEo95n_Y_domW-O=*9M&en#LQhz@wf#1m)8mK7IMtJ}20#6~Txq3}817P`f zmZ}}Oob^?U;1y5@o(K{=0n78mq~yGx%hNO5@z;ue`N(qqNXCl&PO^2sh0hMsT$g}C zSEtR_G6#)y5mS9?t#r{=;ljlb#PWU7+BUTual^;8R_RK)@8ZUmYZl-(kc0lX>FY>$ z%7Zb!PJs=8k^-l5`^CMA7zy zTpJl#dr^3zB07H#E={shdO3P^KlIW4ZX((4N$ydd%y^eXGM59!+|7;h*k!k0nYpL3 ziES+&Tn-l2mbf-^KT7YG(t)`Y^e5XMVJv#I?scXcTo1}-`GBf<^4|r$!$Vgew0@V< zkSs1r2yCPol~E5_eve5cq9hqx@9bq97)uUEia$nP)9NzFTmDDu_3u}4?%hV}eio)I zqO<$j#7Il)w|t=^rW))4w-!Pr;zSLrX|~F z5?>0fL-{DDK6?JiyM_DJuA;&*{gnx(&U~a?`zPJO&0%8~5xENJ> z@;rM7GSLqEv}@0amI9d@-%R<&EreLE5PnPs-y+_pY}cRhnVMD%3yQcRU&W7p9GKeZ zxBcB3F9;k>?mmHqGrJSB6kLs>6au-ivL?{ZnCIF~R}_^xJKiCH8ON?x>$PAS1{3Mx z;zB8sp6?s|ERip=ZoJ;pn-CVQXCyyF7Ut{eCh8hoWHaKdh14F%UlUHyHDZz;x^wAe zbJ)vaiJHUAl2l`OU5+x|kl{&vPo^gvZ(63DX zn^W4`V;K^(@=tRdi@c_|{whMty3SRSwN;)9J#?f7B==o0mc=lfg2U_KbANKqblJ%L znh>+0d7uJ1-Ae&K`}qnd?}57N*!ywYs2y&5E}9{ zH4s{$kH}xfcS-ojB!Ahx83#j*@vlNO#a5XgbcF84D_#8&Wq@Cu#4a(WHAE0I62$G2 zUz7ds>*uMNL!sa8G(tkYaGK&Y&{2WMpa%MpV-P`Blz!8N#j-8|q?#}vqbo2UdMvJH z1>&jj4aj!j*OoCd{Z5e{lE`RfyNf~v=j`WtE;57xli@&d37}!G5pxDnwCA~=lZdX= zt)jK<2EO9;Js=JW0<|t|?4Ny1;1fQ1Jm!;?-oBOvtQ2K7S=;G<&h(uA<7J!8@5Lv< z1s@J&6Pc+Wj$jU}(*3t9rigQ6O_5Tv&7tU*T{~tk4rcn3) zk0hu2pCq4)^k6C*x+A`?V30-_+Ye8;p7pEzAb3u7x9K^<+Nr4L=z&Vwi#yypv%>WW)dmP z2E*<72IiTW1Lm2et5cZshH(lit^2^T9-OjKB>2+V)Vz}mSP9)tL5+&#;U>>jF7$s= z7s_mk^q-uofXju@JSSH+t>(P32tEF8Jtl#pVcz%4oklE7Se6ITc z*K(Urb8AjBWwLXK5tUk56xEj9c#dhMG{-Z6`$qw(?4IQFRQZ2`r55XV-j%S;vMO}W z{8rvP%ld8b@tg8yd;UM0jx*LzujA(s_;xHx=cY~NP%4yuL-0Mm4g&35UessLqj_`U zq@27NSTYoDrI(CEh1^&^*4(hRZxyk#zuqk=);;xp{~0^#IC|~RBTnJl1fq}6`jJZ3 z9n>aj_LDjOYu)5F@=jCO#2)%tV-yEHPhCil8~BIyRpzp7T_5h~No(VcHj@-)u@o3g z9ECy?_Lcf~ltl`u3Ds@{CP~bhLn~O7uJgIaQY4>1f0$A`O@^b8)PH? z(r@rFq>aJqr4n-?V;xPFoi@Ym60-jX|38b6>xaJQ1X`LMfzHg`t%`^H}0ud6Ao zfWuEb=|{zgrLSwna)f`4akQ9F*u1S+lnWl$fAGDEJNW0nZlJ5)s>C*?PMiyG~ zE;|~fNdR4UmyTPxaB-*L;kxL6QkoLv1P*@)g3=a)drGn~J7 zaruvT=F6cZrnNt!+3*lrr`madNdHd|UyS}$zdXS1&IQDYKn3)a)uTcr`^k6YBe0_y zD>||RiXf;rR0V+e8f3br?f##)W$xB8 z+gfWqlh!6*Jd^K1tS#(;ChXc&j488?)xHPuMvF^GD0$sWJ`6NqotAP_CLJl6Ch1%? zQacqI)%^9+88_j)H^z}zC78J06-qlq1vCI{#;YMp_K*WR#c0jxFH!ODHHV@x#@rI~ zD~T22g*5ZUBH>P99X>O>Udo{4b)S^4juKUnihM}~#``EbCneIK09H=8pC z6=L{l{k*oTUWSWQ3C8wTb%{iJSze=;4*#GtqbF^ER1FDPyUMGLNV?5)mu& z;2H8?mpO8~LJotUe+^xHQLz6LFDMK!Nv7rEr<*^Pdp_v#ccjm^>WIJgbmJ>Sajh`v z885v_1GtHuz@;!Z-I;y91CHV#&QZMA_sivUx54ufl%!UKNH-OAjH3xQ|4$Ypf+R4e-=dG4Wh| zlj*bW{fnjU39rI!IKs8TIUm?KZH{Y$!c%?MmgduuVuXn0gkf_dTSrPW$y{4eBcM>^ zcwbf?f+?9#NUM*9(q~5ZtZtRyJ8q2~M&%S>opV#d(n8g*q8u6DI!Bur?XZQiDhzGo zN9l|6h8{$1v*PD_c}E{&2`cV6`R95*${_kvRt0E>u{i`w7L2DgK4{u5JKI@-<0;uMrl3&GXO+N9CE+TgG z3J*V2-G+sDQ8D9hp?z}hT#O;u#4PfLeS@IKSd<3l!40s8D6_clcEQ|oiR4^Vl+>J8 z0S%%vxDPCeVQ4X;8a0w2tSvr-A>iw@m6W#n)LOE4QFlmy^B+(X#g2NGn2SK4>Jrv1ru6bzWT# zt!N7y2^)L=U?6-{*S_cPBr?^sD#y)fSeu2uM29lt?|>L}Y!qr>Vt>NZMm73LN3@ zeI&c>(-m)A|Kh&)PHVFjEa3F|EJ%mkxS(_KDMu}Of_m$p$l4A>P_?UgI#9KzTl(hq zt$FjjHT@yjd_y!baQE6dx_6Pwduxk*R661)oWGCrHPjisl4`$@dp!nE<&wc`N8dwe zLEFDxDcR{d2*CWeTx|9>r%b-DOWL^Ipw2q+e>VAkg#!cG@61j zRuB1!b`0=Xpk1?d&5LHG5`k~T1x2x8Lo5(MS>d!VAWJsiVC7oZ?L=IX>LYh(mXR5V zfgIDs&bxnXi8)dl|HU!l$5COB)xZnZVh-tvOR%j=}8S^%A%T{*&Pd zGX{NBMg{Lfc@tzPV_>7;-DLBJKCfS-Um|hFY%*hV=8vdepKRmRT6m9lZ&itM&Yw!6|@YuFNPeir*EMrAPPP-LBTTMUoLX>nm8tD%j z!?IjvS|Kqrdlx|1tZejM{{YxxibZxOVgCSv2j4lxbDjy5u9>QZ64W~u2i1W?il~#? z3dG>#ws#vHwlqG_lYJt+k8a1XjN>Opf=LL_RW>JIY~8N~H{&9f5~PsSpU>7;1nrBn zvAxF2NVpwGI~2MSE|Ca5DkUhCsz!|zHE9H8)2K|=%2Dla7pwz?RVzbYT_N?RF5sR`^#RiSzfi@ZkcP1C0hoWgDG^1CfPaL}&UlvVc6keL4f zpe*``rG)83$ExuE0I6ef5sZ^mV3wzILRQU+NP{#QE*LYXC}^mI2u9w9x%xK`q&X*h z{{Ybx{hvHMqp-X1xYv#ObRk3BEOd~RCe771s3&TSx&FuFZ01d8kikNNtrA-=kurWGC35M7a9P z$L|ec^IjN(PKmggv9dZ_HCq%kLkzFr*|HEsL}*=`hL0DYa}r^`J1N(EH{oK+%S1GT zQ=s;UN~CMp*Vfrp57Dus(~Pd%M3%Ze_?q+2I@z$#UE*@n<$Nf5!+Hw0@IHrn5Y?Jy z&q8yge3@%SD-umcG4K=bn!;NnM~I@`DfyejTrPLZ@Yu0N@VYx2TNy;`x*ujzrag;$ z6GOE2ZH;;o+sojvyAsI=LJ)#NM3))nye271*w9Q=6%&rgrtUWFA0j>zLsAhUCX3RL zM(x57p|L*3i?F>6Nlu1WLZ@maO0gqqq+3CZQ?bqLT`qlp3d3ESXzneD(I$5~k7|&l zn8hI`{f%u6f)o4=>)6;p*w9;4rh>F>aI4XCOmVq)aF!rF#E@2kQ=_iP>WM;#u<`6> zu(0^`;(HTlN;y%qV>=ML8*dgdA&B}A-9#~sM8;KNOiM?gML`Wl2H;5>n2`&jix@wc zZSq-pDYuq(d*JZ%GVr;rR3W9<o3E8F|Hc&J}aEU!r|UmI5WJi8ug9hao3Z1>kAjbG1)v56;kk7)_N}lOeKe}2LAw^ zZ2iOd;XEB-VHbkocrP~icf-6-0?%Aie#E>JE@9?-CO3agMgwtBHbk;s7RBt81sQ^H z#IR;6ykc_mFD{7P3d{!f)UAxd>sfhM+yJ$QmL{6SqnNCvxKYMqZEB`exm4~ZRf;rO zDO<8Jq}rod!~<+X$|#NE>Iu{;jS|X)DqG-{cEk&HnOi$1Erey3$^g4&K`b61Jt_x# zn<}7INl&PY!$d&?mSL%2w=>?N8dP!>UZ7#xBxski$PBKdNa9=yrltpMscKvsr%8Fj z6>OFkVZ!bNXo4AYi1PG>)tOj}h1AFa?optXO5UZ0oyrYBQZF&gmf~_BFuqU+J7rEe z{LCjfh@#p^g1owg9DGF^9FPG~%-d;G0?frha`g*co6t%rS(dL81)g9HlGUqa74m|q zTjDUvsycX-w%tK0Lj+wAr#{ z!S_5lW(?qn8At>zaN=W#wdN&gH5@b^U`pcUycaQGX@Y{+5VMAG9KbDR6sGaiLxF4s zg{eSdJ8N+$ZR!ELrYnj??&wVpAhm5*ai;YZ09ix~Ji?YLqt|Gg91spjShev1K{7)Y z8dOz=sfb`f9JrenQz>X}4|ZI)LB z=$BYb9EC=5ib^8MxOVx1P~E{AoWvlkL^*0&#Bmk1n2RG(4F+x&DJx~>C~2->nO0$m ztUz4gfmEtx0s{<}aiXZp3@Y5fn^>*hh%U=x5o~-*7$bBzm*!*{WVPxlsupBiWvT8U zUKa#~u{}zdwq*%cnw5AlGb+tB|wOmQlsHdyEG0`g#e5F;N!5sdfyp1mEyOCW^8_vB zmUWb%EW3g%nI#U`oRuw3Ys^+9#cttCynL^N63$~7fpK_=F42cdumYa z5ljS_Q0(SdZ%$@bDJ9bu#8q(WS;#3ArJ{8#D%om+L0;R$un5#pF^H8=Wya-(B~3QQ zxij5C-IwNMZ#+OWYs^DxAQ#z|))Ts=>Ijyp*#x6RN&|^l5hYC~*5(0zQd~i4m!pDi zhyxPXnuW6Ohzg!zK;AAlZsAo`aCvSaiPqq|7$HuQt56MHqR;UepWzbX>6ED5N@~rr z#9gq-q%4_$L0POz1=UOkL@AOrB#BxSfJ;dqD^rn#J7UfEAK=Gs|j9WGbKw zOu!8lsJ5yy)iD530(BNCk5FBYmr)j*-K?q4rwn9fx7GaMz> z7_A`zt3yqzh%Li&AVnG?AO_x`3XQ<9X?;X2hHez~a@kxomRY#6E4CJRB^$cLt9T%a zQBwsDC7dn_(MpMwaU6rM5xt)TrB#s?P9|Z;1xo_sSb`QN;)1N7#7-YLAlViq1(kq% z5!&YXkFhNKcLf4PM@fEW1qof1;yUW1l&9P>{-U>L=2c}kF?qsoS}|T5 zh|een+wKFC4d~XT7|g(@UCT3%nag5YvSMwnC&N&zn3OE2i9j4Og?j23RhUg@B+LPM zTviM19JRI7BI~)Fn4(aGD9QaLYB_mZ9TyC_Qw6ExXLfgJg^axPk(vN zNaT=SG2(;7eWj&Pea5^8=2mI6^H9!WY?eot;!}~cnC{ihy)9G)8YK!8^#oKV+`vR~J(A4? z6f*UgV2CI*V3etBYfwkcPQ`v8$MH=M#TvLhMQMCMAHgqy5k>w8lnO2wBusii+NL6A zzjICbusYM)|LnKfY-#z8ESmuseOe>@yithg>!YHZYe zD871`R=;tyiI*@VwE78YkE$j7Q^@*?Yw$*`{-BN*)E;m31Tf$*6Q9&gsbb|0y8V8g zqCZf5J|g(P5j}`HRTZ@(vH{o-f##bu1Dl0gVS*Xu-b&p-pEL>mbCWZ>@Ijr=sgL+( zOnou`00%6e!xR!7YV{rv)<_w*es~u$Pcp2Vv-(K$OS9~XntjHM{!#Az$Nbb5h7?&N zST0o2?khp_6ap*UQE4^}-%^3xD5a{3%JtlDCokR_+6+`WUYOCM>Q(};o0Vq0%b*6@ z&XJi)e{8g%mp%ixMt;bSaH6{BCj1kj^7kHU;1ddyYldIYc25c|fMs7%DE6UG_P%3= zW0?3OP=^7PcULkRt=%9=`$j1N(cwEt^8?v0*;%-&zC0KXp#U|Tnczt$4p-&{YKINp zdG`eDN{kM7nWm2gY1hJ3^-!}?YTD^|2b2Q;mI;_z7HaS*K` zRg8k-4+1tAHB&QYR2Wv`hIKADl)4#<5Iny~8_NL@Qz~BQj59A-jkZ`~1!r)#2~NpK z%t~TL=!M$_7?v$98io5JBT*(Q1umjWrVFW?BB`j6aT1z{6;k(d&LQyjk7 z!YtekYHPw+ktKC62X0_kH|l1ZXzEZ6D1a5N7Ex&h@?1a>m{ie#mJ$J+>xP}~MHE-4inS}YEUaIYW5KkEA+ zz=pN@nXmSTZGW{M+k;J)%*fsT{7*4##qdFjjCy7V8W=h@W>E#`Ryv|TdF~`y$ic(J zL~uY+ynjr5wuxEJ^&Nz*><@|~3=V3i2Bq6ym-j#ICzJU@lj&n_4`vZDXr;k_aa77k z27~AQMGxeEQ%Ujv0E|~}{`^Xs{CMok<0$3zn+^TaG2|>4(jcooNo7Owe{gF0NB0S% z>wj@e56AnBU^&5v;Gwm^(!1JHM80!2Wb>3~?ZfNx=IkU8R7zTZv&8fN0JFpavHt*f zh|#~l`h%|i{{ZSFul2o7OFuvAY`)+10uRalra>>1r$hTiyZxc6@5%z${?Ssc_JUor zjGW@jM!(XT&B0>hr-iu@=JPnfg$W#8EzAGQa(y~i+5nAcyD3F7w#*X|F0 zWY7<}Ln#xGeagI$@CX9tlz~>U#|V``OAMLyFsRH?gB(!=vrU{N6wnBQo3sTfQ|1LJ z&1yZFWy0D`)Bx6VaYF9OMhDOF*y|nX?r}Zjt zd3S2sqP3`|-qV$3D;o1JqDe4ab5By0_Q#vYOdvqIWAI9dP-;OpSlqLz>a|-N0|*;u z;;}9P)zN6)yhM1qhP7?n29GYE5~lO8J=IEahQg$b1HoeH?otPpxQ9@ehS%F1!w4t# zLg(rV#UTYSBP1lWY7USg87_im8eL?nXN{gFcp2@N=k+iB6Sww*N_ja;J42%3fAN7v z>GFfo72V;R56%l@9>2vOr7nAUg0vn=e-W6EhEnyVI7Q6a4QDQhq9ejkl$>k@edL!YAf^IPMVjiKq{V*S@Wm54x1n?8WPXRmx@R785P=A3>3+i9P z>RZDeCFk)@kE(KhDgOW>CAxi2V;lDTPx!H7pRGURqs#RrZ}FnLe~5{Hi3BtB5Dk3^ zXZ628dp}Z%mCJvr{{RkE{d4|I==x*&5qF8<{m1_17)r-?6e@)?gC-kh%rUWNH@M_h ze9H17f`dE<#A^*kLURIa!NwD0LBAinQtw zE23K9BD~BM6eu4rY%2xRF*pf>6!*fS8C2U=tAma4bOOGZ9fpWF7~&bq&R4NrW#X(gBY- zl&37nfQ~W)my3*|95scYfsHd-xM2*cJfK~EhH(J}T@73bjc^-z_XCK}j-hzfsifL6 z*%usC3vvU#qX%n+&2a}^8FQVtnNhZmq0F4>KkaZ8x)IF$;46==CTnt4Trvgm0$o$Y z$fcL4EVpH94S1}ypgWemXLR9|BTt!O792++uv`|S51tYLk!yvxECN_-FdC9<>Tz*- zKW1XlnIcOE6fVRDPXJsVT7Qt#wgbF zEEs`rF5*%Rw2Y4k)~aS$shAAS(5saA3^Xe7Qk;b2GNFJ~IDw`}3@NWrxq*6K;6}jm z6ZeUk9mOhBce7?89*u7?=ubBj01ug)lpbM&2e{Z2c0~=9WkT;)83MwMo>HTbZRv44 z0Ru#25G)(Kx%@?lb+*G&LhQG6VpcJAr1esWNx5xxFh$?;N*K_){{UC@1YhJo>Y+Cl zO9I}15lPv&*J`&5>T;49dvy|v64inC8VV>?1o1sZB~VLa3jnH>IYW4lRl1o7gA(Py zS`jTp3JuSYh$YEUEPANPWYGbbA&BHl4NtKYDrBevsvy)s5@HpeVs!v+ppy`=;3K#( z8z2`lg-xB2GDdosxpxdTF{xSGK)lF(qkI~&l89a9^vKy&wC-}6~8f>*SdX0vlnq@Y zpXAd3<+sTX_bli(8z0FXf-~B7W(Sl2h=K^=0H{?7VVOe40;0f%;utKz!hu0^FfgE| za~2V5OrQtCF4O|aDOloJ+EhQ1RWJ*O7&olTgHrs$T0nOmTt#r)nl?=SVPfBUOCIqs z%r$nvV5*amja6`t+n%Fja*kVHiEt5&ZG>QWK>L_V;8P-6DjKjAT06!*3DhFE`}G`` znHE=r69kP=yj~jr0Cx)A)~ODdmcVet$WN4xZ9!qdZU<{B=2eFSvQ^nHfL@p9_k(mP zCpUqwZ`5+LQ@T5-jCR!{rZ^%l&XVJ6@DViIh=zeBLdA=bWkU@yk)=-sEmbtY#TvZv z1eh2Mx?wd@rXUH$6CE%^vl1W{h4_fu8yc7j+@azu5C%xbAw)`rW-gFg;H?oXOGL`d zY*j(Q5(4qe!_~yGL#iTc0}9t?h9U=`u)0Z&W z9q6nP`EBPBl;G$k$3arVDE|O5;qw-z1z9oWh{G4l6v6t$ET?C^G1{|j62X1a0TNMM zgX+A&(#msIVZ`#v$B4=W%6I(_xVvhUr!R?ad6Ty*!=#t)g8Zkah?{OCt72F#6mAL( zz=jqft-uE28eDL~!0pVqVl8u-K^GMi8zZ(DF3C2L1=m#sS|#r2fiMXRs!;|3WDcyU zN@vssRRFM7FSv5G)HokY=2?PKicAZ(sUM^*w<~5P_-4NSOa=UnMQkg&*Qr9W=Jf;2 zY!&%{i^pY_D-Gq^cgng^0Rw;-ecT<9vn2e=0s`SmjZKEQ81%aYb`Fy;%R7()&cC<|@}RHkmSjWYlR zmrM{WMMVU%SuQY98ethzRT#xL3gRVIFs#%PYEarsCJ55iEld!-5mcat#Awv9RRC%s zgn=4~)GL~p7$L(3>8mUqKwBeBMGIZ|nL99tbI}G}(p3kFf3mbyc@rk1X~buktAH--h#e0pIvwjtJGiEXI^7IAX3a-p^k$kf^b zW;NvjT4IBE?W72X*ukjW8FiR)#}Hj`<~0s9soe-2Dxs-YDFswUij9mR00#sv(?+fX z8zwADaW=P?EY4buJ#hwvOw%LTm@vTr4g6kWP&8x6TVwW>5-n_xTuv$v1gif46cDtJ zQL{-RV}(2;;00q!I^HCEiH;w;C2%C8I5#7&9aK7 zOGmFi5gD5n<%XkHrP->9TA2o*t4ke~En7@9ii{CDBB?|rHbq95(p+hb8kcy2twOU< zT`ak}f~`!K1?o08ElopD7VxkFD5j#(WqBc?gAV4`MYtkXqRd75#JG<_Lh80EFEDkM z7_Ee2L=I*!(_ZBmXuKCO52eIZr|uwYX=17!zM2}gJwaJ0*9pZBY}Cb&HZjSRY|6~h zD=r$;L20XDLvEk}D-gk}7I|>R!;IsM!U)}us)RezpR@~&A-J8(inu4Jp|}?@rmktC z(BdcrZ1E7NXqA??>Iy-|p;1(Q zN_#~J)T64L)M7ZRLDgW0C_UaQ)OS`^R{mrCT7y%p=Q7094P)G4w8kMc3=w7GHz@&6 z(};d&aBuX)P!(u4#Vl>#EJGif9(mfGPej8ZLf3bsWu<`~3#g)7hzA8MPtDW_WmaYJ zGg(S$xprk#z;sH@OcxU2wrG1^putous&ncFAx0QVix*<0lEC5$l)y}lF(a6)pkqfQ zcYuzJk=}_>k}J_LY9+`+43g`03^f;OnnufaG_T@oNa3hsA}*B`I*Q5&k}JhQO_Igq zd=kvB*p^1P83Jh-~yTSK9>}b2xEK*c&tiGd6eMG1=qMM=<1fjAATdM#K zeMai$Y=pb;nvKL!sNJ$K;`vQn{&SOGN>nVJsu{MNWT{O>7U(zy(J5x~ zhWCcDZeoW%k`P3<1A3NV3t%Y&&-D(%tv(&65er;#F>efWMg#u0QL} zO7;3rRPjXhJW;z+lDDaYQ^7nF#VIMl0+4iVWi_U}K(dH^5NfY54X;a-)Jv7@<|W0R zSz0ap%G&gFO0?Y(k%2X@#J~}}w-aF4zy{?{FdOO zPl)IW=@bg3aF<%x+}VSsqWu#B!N|>_V%l{MYS>^0B3Cq2lF2ve6hkyhen%!7}I9WW|pK)U{sAqy1FIlr|l^@f}RoA|DND1vY9n!gQ}t z%XI+_kGW?kf|$HOL3wugB3lG$>(n0zmR8z!%f}7LpSh8iYJ(+TL|9U?+y^Wdtl|=& z3laRI7A><#>4u;33SIahz_x(+VZw`{k>$VMX27tqPJ5!|wsfN*mXD(`JFlo7MeZO* zjv%WH=s|SLbjx(l13V13Ot(z6X_o1h>6Yo1>6SQUx@Ed$x?;MD>6YqSrdy_4sp&7& zw6wM>4whQ+0nTnZJsGa%MQp`NCQf|_m=n%*0RTqM0Df6gvPY83C8Xa^iBq9l9zJEm1DZ0)U2KaDAX5i1 zs2Y!SJ77JG0)y?!`J;K5L(mAjG^&EN5p{FiN!j-YkgHLLS;PTT03y+v_K!vw%urR4 zf+nGcMqPkwOk33hQEkmaiDo*2mpD2i?TAh~odhfZsc0G?DMcYctfEz;C}G3yIwpKa zVl2UMMY}1^Vq%b+c7|mJt7To;307gDl`-)N zswq};Nm1PdFnZJ#xmgi7ce zdOy0rl{Vr4jH4>KBao4yag8AyIE1K@gG6G98W%)kRj4=!)+o3Eap1uyHJFXctOdjx zm0%H~(hy=aLRKP1p#~}>L2cp67$vP2KHyX%50MEo1I8GE(R+zDmB(;M&^ziH$Az-h zf_BR&(-6*RiHaU8FT@nfEV6@C+$mzZq|*g1HLlST(_e9Oc62PNiV3uAmMH=Y0J6~H zr+Hd~Aq**^wdDuUA-L>B&%|Moj?hNPxm9tpal>s!flC79V-twI)sNLnfQf4`>$!d{ zbx-ul0|5sPI>Z&ea^PUnz=A;Z+^5h=cc>a}7{f#nx0uz$Jh@LA7HNpJ;u6#5`ojxVO zsgOKHvb1ctrDRkf#T+hc6RCf|8wF*vpO{&qg|(}_$7NI~xwJQhfb?-3Ve;7; zMApX~AT0Lf1t#@>*w;xT9VJ6kiJtp2;-+^HFlJb5GK&EVGD=n< zESZ65W&p{U0_tocBv}}dxTI>^6c;O7LsH`ELV?VhVZNpyoy4YvXSZ&uU>;c)3^ zn5JY(-lEYXkZ#}1Y$v8mp)ROG5OrpPuLB5!AXGE3`X(a6_+{^pQJNK4 zy#V`^Y1@*q&G&pl3LDID7x$@!JtEu9c-*U~ss|FRyb%*~4Xi}m$7>3hW;WPV+{2a? zD&`%-Wf6yPt_EP-H-jm0xE)-yt)L&(%qRd$A(Ex{@ileu-E14A(}C1$d~hQliB;s_KL?@KHoK*-8LUPn0ig5sK3 zsUq;2iUojlV3r&)P@%B$0J7!lfxj-^B~TXqIEo~Lq`D_Cmdr$Kfh`CQEw2$MUa&EH zmpa3CJi(?EtXjORR#OEFmSECB5F8H?4dOMjo*`9|E2-nmtuQzx8>k9Jmjr}Ca78N= zU9bk$Tal?kTqT97juzo9%7#~jS2Rj)5mwZtvSb!uBdET~RnlaPvFUmtEEXL>utx@A zI+iFiC@5BR;g$fdL~d3f6)~BWGRbKbe^V&AvgJCKL=m3Ch=qu1i{Ckc$E0jl5fC*+ zIVM7nm2GwSnCIg>T=G*UeHSqQ0Bom3dx!mL<^95qzcJu&r+>`qp#c8?sElJ$I=u!I zX=1IX>KDlo+kUHgnv zLbzGfsMG~CZ`=l&yQ-LcL=q}-P@ssos3><8JVV$-P>`vz5EU^93Y=Hy6wW_Dr5i38 zNbws9NZAy*Oo|(T&5#Y;25w)fCE_5oMc?^?z^q-iObrLE!Dd=?mw*Wlvsyylo zae`L7?Ky~GnuvbzGa1y`LDPHp1-UeT5df4&A#`<6U7={!JQAS|^atWz;4)Rf);dzz z(TjmhOOq_<<`mHW0FOr`S|hj=+$Br6io1^iwT(j8mK4kTm$O%u%P@U=wxDJ1GYMLz z7fVsd{P32B3~dW-Y!VjLa{(dHED44o1%=k4aI;;g8B7kPr6wk*xT=*7V3$RS#4`{m z>{MF7+_0krz-6U%%m)FiLl6vx)0pK#uTt{67rWdV!bx;z9Ax{vHfl*ULdI{1awgO_*t3>f77zuE}3n>q|QNVbLm?AcnDBQKi zVrT;dF>V2XYG;Ncc0Q#l>LoE9s1nr6RaCKgdeat$pzBj5)E#POx`VAto2rAYOS4gH zQtZ=lYg2NfR;J}j8inCdoJtuW3Q5#r7^!Cw3{>bum|{%Bfr2C!@1u7MB41S(2~$P{uo%mmzY$%3$iwj#mnZMUQOtsXf`!O`wFtNa zgYcH)(;~rCTb7uK_yyT~L<-8yF;hA9llO~Vco2dl3IU>0s0tzO6kz%=1$^op1dFS> z`HY3HsO9r>CC#C%#tF{Bjm#)SBVELaOI>J05OZyZ`C{xs^j(irFsQQ1mZ)TlR-
8JgHbM9E6x_L5&mnPIDiVXVc9)4?=@J;AeO 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 literal 0 HcmV?d00001 diff --git a/lib/NewRemoteSwitch/docs/new kaku protocol.txt b/lib/NewRemoteSwitch/docs/new kaku protocol.txt new file mode 100644 index 00000000..c84ca8cc --- /dev/null +++ b/lib/NewRemoteSwitch/docs/new kaku protocol.txt @@ -0,0 +1,23 @@ += Protocol of klikaanklikuit A-series devices = + +Copied from Wieltje, http://www.circuitsonline.net/forum/view/message/1181410#1181410, +but with slightly different timings, as measured on my device. + _ _ +'0': | |_| |_____ (T,T,T,5T) + _ _ +'1': | |_____| |_ (T,5T,T,T) + _ _ +'dim': | |_| |_ (T,T,T,T) + +T = short period of ~260s. Use the ShowReceivedCodeNewRemote example to find the +actual period length for your devices. + +A full frame looks like this: + +- start pulse: 1T high, 10.44T low +- 26 bit: Address +- 1 bit: group bit +- 1 bit: on/off/[dim] +- 4 bit: unit +- [4 bit: dim level. Only present of [dim] is chosen] +- stop pulse: 1T high, 40T low \ No newline at end of file diff --git a/lib/NewRemoteSwitch/examples/LearnCode/LearnCode.ino b/lib/NewRemoteSwitch/examples/LearnCode/LearnCode.ino new file mode 100644 index 00000000..9a2c907a --- /dev/null +++ b/lib/NewRemoteSwitch/examples/LearnCode/LearnCode.ino @@ -0,0 +1,64 @@ +/* + * Demo for RF remote switch receiver. + * This example is for the new KaKu / Home Easy type of remotes! + * + * For details, see NewRemoteReceiver.h! + * + * With this sketch you can control a LED connected to digital pin 13, + * after the sketch learned the code. After start, the LED starts to blink, + * until a valid code has been received. The led stops blinking. Now you + * can control the LED with the remote. + * + * Note: only unit-switches are supported in this sketch, no group or dim. + * + * Set-up: connect the receiver to digital pin 2 and a LED to digital pin 13. + */ + +#include + +boolean codeLearned = false; +unsigned long learnedAddress; +byte learnedUnit; + +void setup() { + // LED-pin as output + pinMode(13, OUTPUT); + + // Init a new receiver on interrupt pin 0, minimal 2 identical repeats, and callback set to processCode. + NewRemoteReceiver::init(0, 2, processCode); +} + +void loop() { + // Blink led until a code has been learned + if (!codeLearned) { + digitalWrite(13, HIGH); + delay(500); + digitalWrite(13, LOW); + delay(500); + } +} + +// Callback function is called only when a valid code is received. +void processCode(NewRemoteCode receivedCode) { + // A code has been received. + // Do we already know the code? + if (!codeLearned) { + // No! Let's learn the received code. + learnedAddress = receivedCode.address; + learnedUnit = receivedCode.unit; + codeLearned = true; + } else { + // Yes! + // Is the received code identical to the learned code? + if (receivedCode.address == learnedAddress && receivedCode.unit == learnedUnit) { + // Yes! + // Switch the LED off if the received code was "off". + // Anything else (on, dim, on_with_dim) will switch the LED on. + if (receivedCode.switchType == NewRemoteCode::off) { + digitalWrite(13, LOW); + } else { + digitalWrite(13, HIGH); + } + } + } +} diff --git a/lib/NewRemoteSwitch/examples/LightShow/LightShow.ino b/lib/NewRemoteSwitch/examples/LightShow/LightShow.ino new file mode 100644 index 00000000..14f8639f --- /dev/null +++ b/lib/NewRemoteSwitch/examples/LightShow/LightShow.ino @@ -0,0 +1,55 @@ +/** + * Demo for RF remote switch receiver. + * For details, see NewRemoteReceiver.h! + * + * Connect the transmitter to digital pin 11. + * + * This sketch demonstrates the use of the NewRemoteTransmitter class. + * + * When run, this sketch switches some pre-defined devices on and off in a loop. + * + * NOTE: the actual receivers have the address and group numbers in this example + * are only for demonstration! If you want to duplicate an existing remote, please + * try the "retransmitter"-example instead. + * + * To use this actual example, you'd need to "learn" the used code in the receivers + * This sketch is unsuited for that. + * + */ + +#include + +// Create a transmitter on address 123, using digital pin 11 to transmit, +// with a period duration of 260ms (default), repeating the transmitted +// code 2^3=8 times. +NewRemoteTransmitter transmitter(123, 11, 260, 3); + +void setup() { +} + +void loop() { + // Switch unit 2 off + transmitter.sendUnit(2, false); + + // Switch all devices in the group off + transmitter.sendGroup(false); + + // Set unit 1 to dim-level 3 (range 0-15) + transmitter.sendDim(1, 3); + + // Wait 5 seconds + delay(5000); + + + // Switch unit 2 on + transmitter.sendUnit(2, true); + + // Switch all devices in the group on + transmitter.sendGroup(true); + + // Set unit 1 to dim-level 15, full brightness. + transmitter.sendDim(1, 15); + + // Wait 5 seconds + delay(5000); +} diff --git a/lib/NewRemoteSwitch/examples/Retransmitter/Retransmitter.ino b/lib/NewRemoteSwitch/examples/Retransmitter/Retransmitter.ino new file mode 100644 index 00000000..0fbd55ce --- /dev/null +++ b/lib/NewRemoteSwitch/examples/Retransmitter/Retransmitter.ino @@ -0,0 +1,63 @@ +/* + * Demo for RF remote switch receiver. + * For details, see NewRemoteReceiver.h! + * + * Connect the transmitter to digital pin 11, and the receiver to digital pin 2. + * + * When run, this sketch waits for a valid code from a new-style the receiver, + * decodes it, and retransmits it after 5 seconds. + */ + +#include +#include + +void setup() { + // See example ShowReceivedCode for info on this + NewRemoteReceiver::init(0, 2, retransmitter); +} + +void loop() { +} + +void retransmitter(NewRemoteCode receivedCode) { + // Disable the receiver; otherwise it might pick up the retransmit as well. + NewRemoteReceiver::disable(); + + // Need interrupts for delay() + interrupts(); + + // Wait 5 seconds before sending. + delay(5000); + + // Create a new transmitter with the received address and period, use digital pin 11 as output pin + + NewRemoteTransmitter transmitter(receivedCode.address, 11, receivedCode.period); + + if (receivedCode.switchType == NewRemoteCode::dim || + (receivedCode.switchType == NewRemoteCode::on && receivedCode.dimLevelPresent)) { + // Dimmer signal received + + if (receivedCode.groupBit) { + transmitter.sendGroupDim(receivedCode.dimLevel); + } + else { + transmitter.sendDim(receivedCode.unit, receivedCode.dimLevel); + } + } + else { + // On/Off signal received + bool isOn = receivedCode.switchType == NewRemoteCode::on; + + if (receivedCode.groupBit) { + // Send to the group + transmitter.sendGroup(isOn); + } + else { + // Send to a single unit + transmitter.sendUnit(receivedCode.unit, isOn); + } + } + + NewRemoteReceiver::enable(); +} + diff --git a/lib/NewRemoteSwitch/examples/ShowReceivedCode/ShowReceivedCode.ino b/lib/NewRemoteSwitch/examples/ShowReceivedCode/ShowReceivedCode.ino new file mode 100644 index 00000000..01466d2c --- /dev/null +++ b/lib/NewRemoteSwitch/examples/ShowReceivedCode/ShowReceivedCode.ino @@ -0,0 +1,55 @@ +/* +* Demo for RF remote switch receiver. +* For details, see RemoteReceiver.h! +* +* This sketch shows the received signals on the serial port. +* Connect the receiver to digital pin 2 on arduino and digital pin 1 on ESP8266. +* Detected codes example: + Code: 8233372 Period: 273 + unit: 1 + groupBit: 0 + switchType: 0 +*/ + +#include + +void setup() { + Serial.begin(115200); + + // Initialize receiver on interrupt 0 (= digital pin 2) for arduino uno, calls the callback "showCode" + // after 1 identical codes have been received in a row. (thus, keep the button pressed + // for a moment), on esp8266 use on interrupt 5 = digital pin 1 + // + // See the interrupt-parameter of attachInterrupt for possible values (and pins) + // to connect the receiver. + + // if you don't see codes try to reset your board after upload + + #ifdef ESP8266 + NewRemoteReceiver::init(5, 2, showCode); + #else + NewRemoteReceiver::init(0, 2, showCode); + #endif + Serial.println("Receiver initialized"); +} + +void loop() { + +} + +// Callback function is called only when a valid code is received. +void showCode(unsigned int period, unsigned long address, unsigned long groupBit, unsigned long unit, unsigned long switchType) { + + // Print the received code. + Serial.print("Code: "); + Serial.print(address); + Serial.print(" Period: "); + Serial.println(period); + Serial.print(" unit: "); + Serial.println(unit); + Serial.print(" groupBit: "); + Serial.println(groupBit); + Serial.print(" switchType: "); + Serial.println(switchType); + +} diff --git a/lib/NewRemoteSwitch/keywords.txt b/lib/NewRemoteSwitch/keywords.txt new file mode 100644 index 00000000..88cf85e8 --- /dev/null +++ b/lib/NewRemoteSwitch/keywords.txt @@ -0,0 +1,12 @@ +NewRemoteReceiver KEYWORD1 +NewRemoteCode KEYWORD1 +isReceiving KEYWORD2 +init KEYWORD2 +enable KEYWORD2 +disable KEYWORD2 +deinit KEYWORD2 +NewRemoteTransmitter KEYWORD1 +sendGroup KEYWORD2 +sendUnit KEYWORD2 +sendDim KEYWORD2 +sendGroupDim KEYWORD2 \ No newline at end of file diff --git a/lib/NewRemoteSwitch/license.txt b/lib/NewRemoteSwitch/license.txt new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/lib/NewRemoteSwitch/license.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/lib/RFM69/.travis.yml b/lib/RFM69/.travis.yml new file mode 100644 index 00000000..8155e094 --- /dev/null +++ b/lib/RFM69/.travis.yml @@ -0,0 +1,63 @@ +language: python +python: + - "2.7" + +# Cache PlatformIO packages using Travis CI container-based infrastructure +sudo: false +cache: + directories: + - "~/.platformio" + +env: + - PLATFORMIO_CI_SRC=Examples/DeepSleep + - PLATFORMIO_CI_SRC=Examples/DeepSleep_usingLowPowerLibrary + - PLATFORMIO_CI_SRC=Examples/DoorBellMote + - PLATFORMIO_CI_SRC=Examples/GarageMote + - PLATFORMIO_CI_SRC=Examples/Gateway + - PLATFORMIO_CI_SRC=Examples/IOShield + - PLATFORMIO_CI_SRC=Examples/MailboxNotifier + - PLATFORMIO_CI_SRC=Examples/MightyBoostControl + - PLATFORMIO_CI_SRC=Examples/MightyHat + - PLATFORMIO_CI_SRC=Examples/MotionMote/MotionMote.ino + - PLATFORMIO_CI_SRC=Examples/Node + - PLATFORMIO_CI_SRC=Examples/OLEDMote + - PLATFORMIO_CI_SRC=Examples/PiGateway/PiGateway.ino + # - PLATFORMIO_CI_SRC=Examples/PiGateway/PiGateway_withLCD.ino + - PLATFORMIO_CI_SRC=Examples/PulseMeter + - PLATFORMIO_CI_SRC=Examples/RandomNumbers + - PLATFORMIO_CI_SRC=Examples/SonarMote/SonarMote_DistanceReader/SonarMote_DistanceReader.ino + - PLATFORMIO_CI_SRC=Examples/SonarMote/SonarMote_DistanceTracker/SonarMote_DistanceTracker.ino + - PLATFORMIO_CI_SRC=Examples/SonarMote/SonarMote_Parking/SonarMote_Parking.ino + - PLATFORMIO_CI_SRC=Examples/SonarMote/SonarMote_Parking_Sound_OLED/SonarMote_Parking_Sound_OLED.ino + - PLATFORMIO_CI_SRC=Examples/Struct_receive + - PLATFORMIO_CI_SRC=Examples/Struct_send + - PLATFORMIO_CI_SRC=Examples/TxRxBlinky + - PLATFORMIO_CI_SRC=Examples/WeatherNode + - PLATFORMIO_CI_SRC=Examples/WirelessProgramming_OTA/Target + - PLATFORMIO_CI_SRC=Examples/WirelessProgramming_OTA/Programmer + +install: + - pip install -U platformio + + # + # Libraries from PlatformIO Library Registry: + # + # http://platformio.org/#!/lib/show/7/U8glib + # http://platformio.org/#!/lib/show/38/LowPower + # http://platformio.org/#!/lib/show/125/SPIFlash + # http://platformio.org/#!/lib/show/131/TimerOne + # http://platformio.org/#!/lib/show/136/LiquidCrystal + # http://platformio.org/#!/lib/show/176/NewPing + # http://platformio.org/#!/lib/show/531/WirelessHEX69 + # http://platformio.org/#!/lib/show/532/BMP180 + # http://platformio.org/#!/lib/show/536/Si7021 + # http://platformio.org/#!/lib/show/684/Sparkfun BME280 + + - platformio lib install 7 38 125 131 136 176 531 532 536 684 + + #- wget https://bitbucket.org/fmalpartida/st7036-display-driver/downloads/LCD_%20ST7036_v1.2.0.zip -O /tmp/st7036_source.zip + #- unzip /tmp/st7036_source.zip -d /tmp/ + +script: + #- platformio ci --board=moteino --lib=. --lib="/tmp/LCD_C0220BIZ" + - platformio ci --board=moteino --lib=. diff --git a/lib/RFM69/Examples/DeepSleep/DeepSleep.ino b/lib/RFM69/Examples/DeepSleep/DeepSleep.ino new file mode 100644 index 00000000..3ed2ce55 --- /dev/null +++ b/lib/RFM69/Examples/DeepSleep/DeepSleep.ino @@ -0,0 +1,106 @@ +//*********************************************************************************************************** +// Sample sketch that achieves the lowest power on a Moteino of ~6.5uA +// Everything is put to sleep including the MCU, the radio (if any) and the FlashMem chip +//**** SETTINGS ********************************************************************************************* +#define WITH_RFM69 //comment this line out if you don't have a RFM69 on your Moteino +#define WITH_SPIFLASH //comment this line out if you don't have the FLASH-MEM chip on your Moteino +//*********************************************************************************************************** + +#include // assumes Arduino IDE v1.0 or greater +#include +#include +#include + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#if defined(WITH_RFM69) || defined(WITH_SPIFLASH) + #include //comes with Arduino IDE (www.arduino.cc) + #if defined(WITH_RFM69) + #include //get it here: https://www.github.com/lowpowerlab/rfm69 + RFM69 radio; + #define NETWORKID 100 + #define NODEID 123 + #define FREQUENCY RF69_915MHZ + #endif + #if defined(WITH_SPIFLASH) + #include //get it here: https://www.github.com/lowpowerlab/spiflash + SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL) + #endif +#endif + +//watchdog interrupt +ISR (WDT_vect) { + wdt_disable(); +} + +void setup () { +#ifdef WITH_RFM69 + radio.initialize(FREQUENCY,NODEID,NETWORKID); + radio.sleep(); +#endif + +#ifdef WITH_SPIFLASH + if (flash.initialize()) + flash.sleep(); +#endif + +// //optional blink to know radio/flash sleeping went OK +// pinMode(LED, OUTPUT); +// digitalWrite(LED, HIGH); +// delay(30); +// digitalWrite(LED, LOW); +// delay(50); +// digitalWrite(LED, HIGH); +// delay(50); +// digitalWrite(LED, LOW); + + for (uint8_t i=0; i<=A5; i++) + { +#ifdef WITH_RFM69 + if (i == RF69_SPI_CS) continue; +#endif +#ifdef WITH_SPIFLASH + if (i == FLASH_SS) continue; +#endif + pinMode(i, OUTPUT); + digitalWrite(i, LOW); + } + + power_timer1_disable(); + power_timer2_disable(); + power_twi_disable(); +} + +void loop () +{ + // disable ADC + ADCSRA = 0; + // clear various "reset" flags + MCUSR = 0; + // allow changes, disable reset + WDTCSR = bit (WDCE) | bit (WDE); + //set interrupt mode and an interval + WDTCSR = bit (WDIE) | bit (WDP3) | bit (WDP0); //set WDIE, and 8 seconds delay + wdt_reset(); //pat the dog... + + set_sleep_mode (SLEEP_MODE_PWR_DOWN); + noInterrupts(); // timed sequence follows + sleep_enable(); + + // turn off brown-out enable in software + // BODS must be set to one and BODSE must be set to zero within four clock cycles + MCUCR = bit (BODS) | bit (BODSE); + // The BODS bit is automatically cleared after three clock cycles + MCUCR = bit (BODS); + interrupts(); + sleep_cpu(); + + //cancel sleep as a precaution + sleep_disable(); +} diff --git a/lib/RFM69/Examples/DeepSleep_usingLowPowerLibrary/DeepSleep_usingLowPowerLibrary.ino b/lib/RFM69/Examples/DeepSleep_usingLowPowerLibrary/DeepSleep_usingLowPowerLibrary.ino new file mode 100644 index 00000000..826dbf33 --- /dev/null +++ b/lib/RFM69/Examples/DeepSleep_usingLowPowerLibrary/DeepSleep_usingLowPowerLibrary.ino @@ -0,0 +1,65 @@ +//*********************************************************************************************************** +// Sample sketch that achieves the lowest power on a Moteino of ~6.5uA +// Everything is put to sleep including the MCU, the radio (if any) and the FlashMem chip +//**** SETTINGS ********************************************************************************************* +#define WITH_RFM69 //comment this line out if you don't have a RFM69 on your Moteino +#define WITH_SPIFLASH //comment this line out if you don't have the FLASH-MEM chip on your Moteino +//*********************************************************************************************************** + +#include //get library from: https://github.com/lowpowerlab/lowpower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#if defined(WITH_RFM69) || defined(WITH_SPIFLASH) + #include //comes with Arduino IDE (www.arduino.cc) + #if defined(WITH_RFM69) + #include //get it here: https://www.github.com/lowpowerlab/rfm69 + RFM69 radio; + #endif + #if defined(WITH_SPIFLASH) + #include //get it here: https://www.github.com/lowpowerlab/spiflash + SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL) + #endif +#endif + +void setup () { +#ifdef WITH_RFM69 + radio.sleep(); +#endif + +#ifdef WITH_SPIFLASH + if (flash.initialize()) + flash.sleep(); +#endif + + for (uint8_t i=0; i<=A5; i++) + { +#ifdef WITH_RFM69 + if (i == RF69_SPI_CS) continue; +#endif +#ifdef WITH_SPIFLASH + if (i == FLASH_SS) continue; +#endif + pinMode(i, OUTPUT); + digitalWrite(i, LOW); + } +} + +void loop () +{ + //optional blink to know radio/flash sleeping went OK + pinMode(LED, OUTPUT); + digitalWrite(LED, HIGH); + delay(30); + digitalWrite(LED, LOW); + + //sleep MCU for 8seconds + LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); +} diff --git a/lib/RFM69/Examples/DoorBellMote/DoorBellMote.ino b/lib/RFM69/Examples/DoorBellMote/DoorBellMote.ino new file mode 100644 index 00000000..f91892cf --- /dev/null +++ b/lib/RFM69/Examples/DoorBellMote/DoorBellMote.ino @@ -0,0 +1,228 @@ +// ********************************************************************************** +// DoorBellMote sketch works with Moteinos equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// It detects current flow at the doorbell transformer and send a message each time to the gateway +// It can trigger doorbell through a relay powered from pins D6+D7 +// Deploy and forget: wirelessly programmable via Moteino + RFM69_OTA library +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define GATEWAYID 1 +#define NODEID 133 +#define NETWORKID 100 +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//***************************************************************************************************************************** +#define CHIMEPIN 4 // active HIGH chime signal from detector H11AA1 circuit +#define RELAYPIN1 6 //for the bell ring relay we just need 2 digital pins together to activate the relay for a short pulse +#define RELAYPIN2 7 //for the bell ring relay we just need 2 digital pins together to activate the relay for a short pulse +#define DISABLE_RELAY 5 //for the bell disable relay we use a single digital pin through a transistor +#define RELAY_PULSE_MS 250 //just enough that the doorbell chime will trigger +#define RINGDELAY 3000 //time between rings (avoid fast repeated rings) +//***************************************************************************************************************************** +#define LED 9 //pin connected to onboard LED +#define SERIAL_BAUD 115200 +#define SERIAL_EN //comment out if you don't want any serial output + +#ifdef SERIAL_EN + #define DEBUG(input) Serial.print(input) + #define DEBUGln(input) Serial.println(input) +#else + #define DEBUG(input) + #define DEBUGln(input) +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif +//***************************************************************************************************************************** +// flash(SPI_CS, MANUFACTURER_ID) +// SPI_CS - CS pin attached to SPI flash chip (8 in case of Moteino) +// MANUFACTURER_ID - OPTIONAL, 0xEF30 for windbond 4mbit flash (Moteino OEM) +//***************************************************************************************************************************** +SPIFlash flash(8, 0xEF30); //regular Moteinos have FLASH MEM on D8, MEGA has it on D4 +char buff[50]; + +void setup(void) +{ + Serial.begin(SERIAL_BAUD); + pinMode(CHIMEPIN, INPUT); + pinMode(RELAYPIN1, OUTPUT); + pinMode(RELAYPIN2, OUTPUT); + pinMode(DISABLE_RELAY, OUTPUT); + pinMode(LED, OUTPUT); + + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + sprintf(buff, "DoorBellMote : %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + DEBUGln(buff); + + if (flash.initialize()) + DEBUGln("SPI Flash Init OK"); + else + DEBUGln("SPI Flash Init FAIL! (is chip present?)"); + + radio.sendWithRetry(GATEWAYID, "START", 6); + Blink(LED, 100); + Blink(LED, 100); + Blink(LED, 100); +} + +uint32_t doorPulseCount = 0; +uint32_t lastStatusTimestamp=0; +uint32_t LEDCYCLETIMER=0; +byte LEDSTATE=LOW; +char input; +boolean ring=false; +boolean disable=false; +byte disableStatus=0; + +void loop() +{ + if (Serial.available()) + input = Serial.read(); + + if (input=='r') + { + DEBUGln("Relay test..."); + pulseRelay(); + input = 0; + } + + if (millis()-(lastStatusTimestamp)>RINGDELAY) + { + if (digitalRead(CHIMEPIN) == HIGH) + { + lastStatusTimestamp = millis(); + radio.sendWithRetry(GATEWAYID, "RING", 4); + Blink(LED,20); + Blink(LED,20); + Blink(LED,20); + } + } + + if (radio.receiveDone()) + { + DEBUG('[');DEBUG(radio.SENDERID);DEBUG("] "); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + + if (radio.DATALEN==4) + if (radio.DATA[0]=='R' && radio.DATA[1]=='I' && radio.DATA[2]=='N' && radio.DATA[3]=='G') + ring = true; + + if (radio.DATALEN==6) + if (radio.DATA[0]=='B' && radio.DATA[1]=='E' && radio.DATA[2]=='L' && radio.DATA[3]=='L' && radio.DATA[4]==':') + if (radio.DATA[5]=='0') + { + disableStatus = 1; + disable = true; + } + else if (radio.DATA[5]=='1') + { + disableStatus = 0; + disable = true; + } + + // wireless programming token check + // DO NOT REMOVE, or this Moteino will not be wirelessly programmable any more! + CheckForWirelessHEX(radio, flash, true); + + //first send any ACK to request + DEBUG(" [RX_RSSI:");DEBUG(radio.RSSI);DEBUG("]"); + if (radio.ACKRequested()) + { + radio.sendACK(); + DEBUG(" - ACK sent."); + } + + if (ring) + { + //if other relay is ON we must temporarily turn it off while we pulse the RING relay, to avoid any rail collapse and reset + if (disableStatus) digitalWrite(DISABLE_RELAY, 0); + pulseRelay(); + if (disableStatus) digitalWrite(DISABLE_RELAY, 1); + radio.sendWithRetry(GATEWAYID, "RING OK", 4); + ring = false; + } + + if (disable) + { + digitalWrite(DISABLE_RELAY, disableStatus); //disable it + sprintf(buff, "BELL:%d", disableStatus ? 0 : 1); + radio.sendWithRetry(GATEWAYID, buff, 6); + disable=false; + } + + DEBUGln(); + } + + if (millis() - LEDCYCLETIMER > 2000) //flip onboard LED state every so often to indicate activity + { + LEDCYCLETIMER = millis(); + LEDSTATE = !LEDSTATE; + digitalWrite(LED, LEDSTATE); + } +} + +void pulseRelay() +{ + digitalWrite(RELAYPIN1, HIGH); + digitalWrite(RELAYPIN2, HIGH); + delay(RELAY_PULSE_MS); + digitalWrite(RELAYPIN1, LOW); + digitalWrite(RELAYPIN2, LOW); +} + +void Blink(byte PIN, byte DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS/2); + digitalWrite(PIN,LOW); + delay(DELAY_MS/2); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/GarageMote/GarageMote.ino b/lib/RFM69/Examples/GarageMote/GarageMote.ino new file mode 100644 index 00000000..d1f9fc3f --- /dev/null +++ b/lib/RFM69/Examples/GarageMote/GarageMote.ino @@ -0,0 +1,422 @@ +// ********************************************************************************************************** +// GarageMote garage door controller sketch that works with Moteinos equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// Monitors door position (open, closed, closing, unknown) +// Can trigger door open/close +// http://www.LowPowerLab.com/GarageMote +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +//#define WEATHERSHIELD //uncomment if WeatherShield is present to report temp/humidity/pressure periodically +//#define WEATHERSENDDELAY 300000 // send WeatherShield data every so often (ms) +// *************************************************************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) + +//For WeatherShield with BME280 see the WeatherNode example +#ifdef WEATHERSHIELD + #include //get it here: https://github.com/LowPowerLab/SFE_BMP180 + #include //get it here: https://github.com/LowPowerLab/SI7021 + #include +#endif +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define GATEWAYID 1 +#define NODEID 11 +#define NETWORKID 250 +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//***************************************************************************************************************************** +#define HALLSENSOR1 A0 +#define HALLSENSOR1_EN 4 +#define HALLSENSOR2 A1 +#define HALLSENSOR2_EN 5 + +#define RELAYPIN1 6 +#define RELAYPIN2 7 +#define RELAY_PULSE_MS 250 //just enough that the opener will pick it up + +#define DOOR_MOVEMENT_TIME 14000 // this has to be at least as long as the max between [door opening time, door closing time] + // my door opens and closes in about 12s +#define STATUS_CHANGE_MIN 1500 // this has to be at least as long as the delay + // between a opener button press and door movement start + // most garage doors will start moving immediately (within half a second) +//***************************************************************************************************************************** +#define HALLSENSOR_OPENSIDE 0 +#define HALLSENSOR_CLOSEDSIDE 1 + +#define STATUS_CLOSED 0 +#define STATUS_CLOSING 1 +#define STATUS_OPENING 2 +#define STATUS_OPEN 3 +#define STATUS_UNKNOWN 4 + +#define LED 9 //pin connected to onboard LED +#define LED_PULSE_PERIOD 5000 //5s seems good value for pulsing/blinking (not too fast/slow) +#define SERIAL_BAUD 115200 +#define SERIAL_EN //comment out if you don't want any serial output + +#ifdef SERIAL_EN + #define DEBUG(input) {Serial.print(input); delay(1);} + #define DEBUGln(input) {Serial.println(input); delay(1);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif + +#ifdef WEATHERSHIELD + SI7021 weatherShield_SI7021; + SFE_BMP180 weatherShield_BMP180; +#endif + +//function prototypes +void setStatus(byte newSTATUS, boolean reportStatus=true); +void reportStatus(); +boolean hallSensorRead(byte which); +void pulseRelay(); + +//global program variables +byte STATUS; +unsigned long lastStatusTimestamp=0; +unsigned long ledPulseTimestamp=0; +unsigned long lastWeatherSent=0; +int ledPulseValue=0; +boolean ledPulseDirection=false; //false=down, true=up +char Pstr[10]; +char sendBuf[30]; +SPIFlash flash(8, 0xEF30); //WINDBOND 4MBIT flash chip on CS pin D8 (default for Moteino) + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +void setup(void) +{ +#ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); +#endif + pinMode(HALLSENSOR1, INPUT); + pinMode(HALLSENSOR2, INPUT); + pinMode(HALLSENSOR1_EN, OUTPUT); + pinMode(HALLSENSOR2_EN, OUTPUT); + pinMode(RELAYPIN1, OUTPUT); + pinMode(RELAYPIN2, OUTPUT); + pinMode(LED, OUTPUT); + + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + char buff[50]; + sprintf(buff, "GarageMote : %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + DEBUGln(buff); + + if (hallSensorRead(HALLSENSOR_OPENSIDE)==true) + setStatus(STATUS_OPEN); + if (hallSensorRead(HALLSENSOR_CLOSEDSIDE)==true) + setStatus(STATUS_CLOSED); + else setStatus(STATUS_UNKNOWN); + +#ifdef WEATHERSHIELD + //initialize weather shield sensors + weatherShield_SI7021.begin(); + if (weatherShield_BMP180.begin()) + { DEBUGln("BMP180 init success"); } + else { DEBUGln("BMP180 init fail\n"); } +#endif +} + +unsigned long doorPulseCount = 0; +char input=0; +double P; + +void loop() +{ +#ifdef SERIAL_EN + if (Serial.available()) + input = Serial.read(); +#endif + + if (input=='r') + { + DEBUGln("Relay test..."); + pulseRelay(); + input = 0; + } + + // UNKNOWN => OPEN/CLOSED + if (STATUS == STATUS_UNKNOWN && millis()-(lastStatusTimestamp)>STATUS_CHANGE_MIN) + { + if (hallSensorRead(HALLSENSOR_OPENSIDE)==true) + setStatus(STATUS_OPEN); + if (hallSensorRead(HALLSENSOR_CLOSEDSIDE)==true) + setStatus(STATUS_CLOSED); + } + + // OPEN => CLOSING + if (STATUS == STATUS_OPEN && millis()-(lastStatusTimestamp)>STATUS_CHANGE_MIN) + { + if (hallSensorRead(HALLSENSOR_OPENSIDE)==false) + setStatus(STATUS_CLOSING); + } + + // CLOSED => OPENING + if (STATUS == STATUS_CLOSED && millis()-(lastStatusTimestamp)>STATUS_CHANGE_MIN) + { + if (hallSensorRead(HALLSENSOR_CLOSEDSIDE)==false) + setStatus(STATUS_OPENING); + } + + // OPENING/CLOSING => OPEN (when door returns to open due to obstacle or toggle action) + // => CLOSED (when door closes normally from OPEN) + // => UNKNOWN (when more time passes than normally would for a door up/down movement) + if ((STATUS == STATUS_OPENING || STATUS == STATUS_CLOSING) && millis()-(lastStatusTimestamp)>STATUS_CHANGE_MIN) + { + if (hallSensorRead(HALLSENSOR_OPENSIDE)==true) + setStatus(STATUS_OPEN); + else if (hallSensorRead(HALLSENSOR_CLOSEDSIDE)==true) + setStatus(STATUS_CLOSED); + else if (millis()-(lastStatusTimestamp)>DOOR_MOVEMENT_TIME) + setStatus(STATUS_UNKNOWN); + } + + if (radio.receiveDone()) + { + byte newStatus=STATUS; + boolean reportStatusRequest=false; + DEBUG('[');DEBUG(radio.SENDERID);DEBUG("] "); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + + if (radio.DATALEN==3) + { + //check for an OPEN/CLOSE/STATUS request + if (radio.DATA[0]=='O' && radio.DATA[1]=='P' && radio.DATA[2]=='N') + { + if (millis()-(lastStatusTimestamp) > STATUS_CHANGE_MIN && (STATUS == STATUS_CLOSED || STATUS == STATUS_CLOSING || STATUS == STATUS_UNKNOWN)) + newStatus = STATUS_OPENING; + //else radio.Send(requester, "INVALID", 7); + } + if (radio.DATA[0]=='C' && radio.DATA[1]=='L' && radio.DATA[2]=='S') + { + if (millis()-(lastStatusTimestamp) > STATUS_CHANGE_MIN && (STATUS == STATUS_OPEN || STATUS == STATUS_OPENING || STATUS == STATUS_UNKNOWN)) + newStatus = STATUS_CLOSING; + //else radio.Send(requester, "INVALID", 7); + } + if (radio.DATA[0]=='S' && radio.DATA[1]=='T' && radio.DATA[2]=='S') + { + reportStatusRequest = true; + } + } + + // wireless programming token check + // DO NOT REMOVE, or GarageMote will not be wirelessly programmable any more! + CheckForWirelessHEX(radio, flash, true); + + //first send any ACK to request + DEBUG(" [RX_RSSI:");DEBUG(radio.RSSI);DEBUG("]"); + if (radio.ACKRequested()) + { + radio.sendACK(); + DEBUG(" - ACK sent."); + } + + //now take care of the request, if not invalid + if (STATUS != newStatus) + { + pulseRelay(); + setStatus(newStatus); + } + if (reportStatusRequest) + { + reportStatus(); + } + + DEBUGln(); + } + + //use LED to visually indicate STATUS + if (STATUS == STATUS_OPEN || STATUS == STATUS_CLOSED) //solid ON/OFF + { + digitalWrite(LED, STATUS == STATUS_OPEN ? LOW : HIGH); + } + if (STATUS == STATUS_OPENING || STATUS == STATUS_CLOSING) //pulse + { + if (millis()-(ledPulseTimestamp) > LED_PULSE_PERIOD/256) + { + ledPulseValue = ledPulseDirection ? ledPulseValue + LED_PULSE_PERIOD/256 : ledPulseValue - LED_PULSE_PERIOD/256; + + if (ledPulseDirection && ledPulseValue > 255) + { + ledPulseDirection=false; + ledPulseValue = 255; + } + else if (!ledPulseDirection && ledPulseValue < 0) + { + ledPulseDirection=true; + ledPulseValue = 0; + } + + analogWrite(LED, ledPulseValue); + ledPulseTimestamp = millis(); + } + } + if (STATUS == STATUS_UNKNOWN) //blink + { + if (millis()-(ledPulseTimestamp) > LED_PULSE_PERIOD/20) + { + ledPulseDirection = !ledPulseDirection; + digitalWrite(LED, ledPulseDirection ? HIGH : LOW); + ledPulseTimestamp = millis(); + } + } + +#ifdef WEATHERSHIELD + if (millis()-lastWeatherSent > WEATHERSENDDELAY) + { + lastWeatherSent = millis(); + P = getPressure(); + P*=0.0295333727; //transform to inHg + dtostrf(P, 3,2, Pstr); + sprintf(sendBuf, "F:%d H:%d P:%s", weatherShield_SI7021.getFahrenheitHundredths(), weatherShield_SI7021.getHumidityPercent(), Pstr); + byte sendLen = strlen(sendBuf); + radio.send(GATEWAYID, sendBuf, sendLen); + } +#endif +} + +//returns TRUE if magnet is next to sensor, FALSE if magnet is away +boolean hallSensorRead(byte which) +{ + //while(millis()-lastStatusTimestamp //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://www.github.com/lowpowerlab/spiflash +#include //included with Arduino IDE install (www.arduino.cc) + +//********************************************************************************************* +//************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************* +//********************************************************************************************* +#define NODEID 1 //unique for each node on same network +#define NETWORKID 100 //the same on all nodes that talk to each other +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +//#define FREQUENCY RF69_915MHZ +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//********************************************************************************************* +//Auto Transmission Control - dials down transmit power to save battery +//Usually you do not need to always transmit at max output power +//By reducing TX power even a little you save a significant amount of battery power +//This setting enables this gateway to work with remote nodes that have ATC enabled to +//dial their power down to only the required level +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +//********************************************************************************************* +#define SERIAL_BAUD 115200 + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL) +bool promiscuousMode = false; //set to 'true' to sniff all packets on the same network + +void setup() { + Serial.begin(SERIAL_BAUD); + delay(10); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + radio.promiscuous(promiscuousMode); + //radio.setFrequency(919000000); //set frequency to some custom frequency + char buff[50]; + sprintf(buff, "\nListening at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); + if (flash.initialize()) + { + Serial.print("SPI Flash Init OK. Unique MAC = ["); + flash.readUniqueId(); + for (byte i=0;i<8;i++) + { + Serial.print(flash.UNIQUEID[i], HEX); + if (i!=8) Serial.print(':'); + } + Serial.println(']'); + + //alternative way to read it: + //byte* MAC = flash.readUniqueId(); + //for (byte i=0;i<8;i++) + //{ + // Serial.print(MAC[i], HEX); + // Serial.print(' '); + //} + } + else + Serial.println("SPI Flash MEM not found (is chip soldered?)..."); + +#ifdef ENABLE_ATC + Serial.println("RFM69_ATC Enabled (Auto Transmission Control)"); +#endif +} + +byte ackCount=0; +uint32_t packetCount = 0; +void loop() { + //process any serial input + if (Serial.available() > 0) + { + char input = Serial.read(); + if (input == 'r') //d=dump all register values + radio.readAllRegs(); + if (input == 'E') //E=enable encryption + radio.encrypt(ENCRYPTKEY); + if (input == 'e') //e=disable encryption + radio.encrypt(null); + if (input == 'p') + { + promiscuousMode = !promiscuousMode; + radio.promiscuous(promiscuousMode); + Serial.print("Promiscuous mode ");Serial.println(promiscuousMode ? "on" : "off"); + } + + if (input == 'd') //d=dump flash area + { + Serial.println("Flash content:"); + int counter = 0; + + while(counter<=256){ + Serial.print(flash.readByte(counter++), HEX); + Serial.print('.'); + } + while(flash.busy()); + Serial.println(); + } + if (input == 'D') + { + Serial.print("Deleting Flash chip ... "); + flash.chipErase(); + while(flash.busy()); + Serial.println("DONE"); + } + if (input == 'i') + { + Serial.print("DeviceID: "); + word jedecid = flash.readDeviceId(); + Serial.println(jedecid, HEX); + } + if (input == 't') + { + byte temperature = radio.readTemperature(-1); // -1 = user cal factor, adjust for correct ambient + byte fTemp = 1.8 * temperature + 32; // 9/5=1.8 + Serial.print( "Radio Temp is "); + Serial.print(temperature); + Serial.print("C, "); + Serial.print(fTemp); //converting to F loses some resolution, obvious when C is on edge between 2 values (ie 26C=78F, 27C=80F) + Serial.println('F'); + } + } + + if (radio.receiveDone()) + { + Serial.print("#["); + Serial.print(++packetCount); + Serial.print(']'); + Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] "); + if (promiscuousMode) + { + Serial.print("to [");Serial.print(radio.TARGETID, DEC);Serial.print("] "); + } + for (byte i = 0; i < radio.DATALEN; i++) + Serial.print((char)radio.DATA[i]); + Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]"); + + if (radio.ACKRequested()) + { + byte theNodeID = radio.SENDERID; + radio.sendACK(); + Serial.print(" - ACK sent."); + + // When a node requests an ACK, respond to the ACK + // and also send a packet requesting an ACK (every 3rd one only) + // This way both TX/RX NODE functions are tested on 1 end at the GATEWAY + if (ackCount++%3==0) + { + Serial.print(" Pinging node "); + Serial.print(theNodeID); + Serial.print(" - ACK..."); + delay(3); //need this when sending right after reception .. ? + if (radio.sendWithRetry(theNodeID, "ACK TEST", 8, 0)) // 0 = only 1 attempt, no retries + Serial.print("ok!"); + else Serial.print("nothing"); + } + } + Serial.println(); + Blink(LED,3); + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/IOShield/IOShield.ino b/lib/RFM69/Examples/IOShield/IOShield.ino new file mode 100644 index 00000000..685d1ee3 --- /dev/null +++ b/lib/RFM69/Examples/IOShield/IOShield.ino @@ -0,0 +1,356 @@ +// ********************************************************************************** +// IOShield sample sketch works with Moteinos equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// http://www.LowPowerLab.com/IOShield +// ********************************************************************************** +// It works with IOShield(s) that have 2 shift registers (74HC595) +// You can daisy chain up to 16 IOShields for a total of 256 outputs/stations/zones +// If you chain more than 2 IOShields be sure to adjust the REGISTERCOUNT setting below in the define section +// Also you must adjust the radio settings: frequency/ HW setting, encryption key etc below in the define section +// It listens for tokens like: +// - 'ON:N' where N={1..16} - turns ON one output dictated by position N +// - 'ALL' - turns ON all outputs +// - 'OFF' turns off all outputs +// - 'PRG A:n ... Z:m' - runs a program in sequence, first token is station/zone/output number, second is the number of seconds to turn it ON for +// WARNING: there is no delay between switching zones, so beware of the frequency you switch the valves on/off +// Example use: control your sprinkler controller wirelessly, more at lowpowerlab.com/gateway +// Deploy and forget: wirelessly programmable via Moteino + RFM69_OTA library +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define GATEWAYID 1 +#define NODEID 121 +#define NETWORKID 250 +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//***************************************************************************************************************************** +#define LATCHPIN 5 +#define CLOCKPIN 6 +#define DATAPIN 7 +#define REGISTERCOUNT 2 //Moteino IOShield has 2 daisy chained registers, if you have more adjust this number +//***************************************************************************************************************************** +#define LED 9 //pin connected to onboard LED +#define SERIAL_BAUD 115200 +#define SERIAL_EN //comment out if you don't want any serial output + +#ifdef SERIAL_EN + #define DEBUG(input) Serial.print(input) + #define DEBUGln(input) Serial.println(input) +#else + #define DEBUG(input) + #define DEBUGln(input) +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +//***************************************************************************************************************************** +// flash(SPI_CS, MANUFACTURER_ID) +// SPI_CS - CS pin attached to SPI flash chip (8 in case of Moteino) +// MANUFACTURER_ID - OPTIONAL, 0xEF30 for windbond 4mbit flash (Moteino OEM) +//***************************************************************************************************************************** +SPIFlash flash(8, 0xEF30); //regular Moteinos have FLASH MEM on D8, MEGA has it on D4 +char buff[30]; //max radio DATA length = 61 +String str; +String substr; + +void setup(void) +{ + Serial.begin(SERIAL_BAUD); + pinMode(LATCHPIN, OUTPUT); + pinMode(DATAPIN, OUTPUT); + pinMode(CLOCKPIN, OUTPUT); + pinMode(LED, OUTPUT); + + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + //sprintf(buff, "IOShield : %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + //DEBUGln(buff); + DEBUGln(F("START")); + + if (flash.initialize()) + DEBUGln(F("SPI Flash Init OK")); + else + DEBUGln(F("SPI Flash Init FAIL! (is chip present?)")); + + radio.sendWithRetry(GATEWAYID, "START", 5); + zonesOFF(); + Blink(LED, 100); + Blink(LED, 100); + Blink(LED, 100); + DEBUG("Free RAM:");DEBUGln(checkFreeRAM()); +} + +byte LEDSTATE=LOW; +uint32_t LEDCYCLETIMER=0; +byte programZone[32]; //used to store program data +unsigned int programSeconds[32]; //used to store program data +byte programLength=0; //how many zones in this program +byte programPointer=0; //keeps track of active zone (when >=0) +unsigned int seconds=0; +byte whichZone; +int index; + +void loop() +{ + if (radio.receiveDone()) + { + DEBUG(F("["));DEBUG(radio.SENDERID);DEBUG(F("] ")); + DEBUG((char *)radio.DATA); + DEBUG(F(" [RX_RSSI:"));DEBUG(radio.RSSI);DEBUGln("]"); + + // wireless programming token check + // DO NOT REMOVE, or this node will not be wirelessly programmable any more! + CheckForWirelessHEX(radio, flash, true); + + whichZone=0; + str = String((char *)radio.DATA); + str.trim(); + if (str.equals(F("OFF"))) zonesOFF(); + else if (str.equals(F("ALL"))) zonesAllON(); //for testing registers only, you should never turn ON all zones in a sprinkler system + else if (str.length() >= 4 && str.startsWith("ON:")) //ON:zoneNumber + { + str = str.substring(3); //trim "ON:" + whichZone = str.toInt(); //extract zone id + if (whichZone > 0) { + stopAndResetProgram();//this command forces any programs to stop and only set the requested zone/output ON + zoneON(whichZone); + } + else DEBUG("Invalid ON"); + } + else if (str.length() >= 7 && str.startsWith("PRG ")) //PRG 1:5 2:5 3:10 4:5 .... zoneN:seconds + { + str = str.substring(4); //trim "PRG " + while (str.length()>=3 && programPointer < 255) + { + whichZone = str.toInt(); //extract zone id + index = str.indexOf(':'); + if (index > 0 && str.length() > index) //make sure there's something after the colon + { + str = str.substring(index+1); //trim "zoneId:" + seconds = str.toInt(); //extract seconds + if (seconds > 0) + { + programZone[programLength] = whichZone; + programSeconds[programLength] = seconds; + programLength++; + + DEBUG("Extracted ZONE"); + DEBUG(whichZone); + DEBUG(":"); + DEBUG(seconds); + DEBUGln("s"); + } + else + { + programLength = 0; + DEBUG("INVALID PRG"); + break; + } + } + else + { + programLength = 0; + DEBUG("INVALID PRG"); + break; + } + + //trim current token and move to next one + index = str.indexOf(' '); + if (index > 0 && str.length() > index+3) //X X:X + { + str = str.substring(index+1); + } + else //EOS? + { + DEBUG( programLength>0 ? "DONE" : "INVALID PRG"); + break; + } + } + DEBUG(F("Found programs:"));DEBUGln(programLength); + } + + //respond to any other ACKs + if (radio.ACKRequested()) radio.sendACK(); + DEBUGln(); + DEBUG("Free RAM:");DEBUGln(checkFreeRAM()); + } + + handleProgram(); + + if (millis() - LEDCYCLETIMER > 2000) //flip onboard LED state every so often to indicate activity + { + LEDCYCLETIMER = millis(); + LEDSTATE = !LEDSTATE; + digitalWrite(LED, LEDSTATE); + } +} + +unsigned long programZoneStart=0; +void handleProgram() +{ + if (programLength > 0) + { + if (programZoneStart == 0) + { + programZoneStart = millis(); //mark start time of a zone + zoneON(programZone[programPointer]); + DEBUG("Running zone "); + DEBUG(programZone[programPointer]); + DEBUG(" for "); + DEBUG((((unsigned long)programSeconds[programPointer])*1000)); + DEBUGln("ms..."); + } + else if (millis() - programZoneStart > (((unsigned long)programSeconds[programPointer])*1000)) //check if zone time expired, jump to next zone + { + programZoneStart=0; + programLength--; + if (programLength == 0) //finished + zonesOFF(); + else programPointer++; //skip to next zone in program + } + } +} + +void stopAndResetProgram() +{ + programLength=0; + programPointer=0; + programZoneStart=0; +} + +//turns ON one zone only, all others off +void zoneON(byte which) +{ + //stopAndResetProgram(); //stop any running programs + if (radio.ACKRequested()) radio.sendACK(); + registersWriteBit(which-1); + sprintf(buff, "ZONE:%d", which); + if (radio.sendWithRetry(GATEWAYID, buff, strlen(buff))) + {DEBUGln(F("..OK"));} + else {DEBUGln(F("..NOK"));} +} + +//all zones OFF +void zonesOFF() +{ + stopAndResetProgram(); //stop any running programs + if (radio.ACKRequested()) radio.sendACK(); + registersClear(); + if (radio.sendWithRetry(GATEWAYID, "ZONES:OFF", 9)) + {DEBUGln(F("..OK"));} + else {DEBUGln(F("..NOK"));} +} + +//all zones ON - for testing purposes only +void zonesAllON() +{ + stopAndResetProgram(); //stop any running programs + registersAllOn(); +} + +void registersClear() { + digitalWrite(LATCHPIN, LOW); + for(byte i=0;i //get it here: https://github.com/LowPowerLab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) +#include //get library from: https://github.com/LowPowerLab/LowPower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 55 //unique for each node on same network +#define NETWORKID 100 //the same on all nodes that talk to each other +#define GATEWAYID 1 +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +//#define FREQUENCY_EXACT 917000000 +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define SENDEVERYXLOOPS 8 //each loop sleeps 8 seconds, so send status message every this many sleep cycles (default "4" = 32 seconds) +//********************************************************************************************* +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//********************************************************************************************* + +#define MOTION_PIN 3 // D3 +#define MOTION_IRQ 1 // hardware interrupt 1 (D3) - where motion sensors OUTput is connected, this will generate an interrupt every time there is MOTION +#define BATT_MONITOR A7 //through 1Meg+470Kohm and 0.1uF cap from battery VCC - this ratio divides the voltage to bring it below 3.3V where it is scaled to a readable range +#define BATT_CYCLES 50 // read and report battery voltage every this many sleep cycles (ex 30cycles * 8sec sleep = 240sec/4min). For 450 cyclesyou would get ~1 hour intervals +#define BATT_FORMULA(reading) reading * 0.00322 * 1.47 +#define LED 5 // Moteinos have LEDs on D9 +#define DUPLICATE_INTERVAL 55000 //avoid duplicates in 55second intervals (ie mailman sometimes spends 30+ seconds at mailbox) +//#define BLINK_EN //uncomment to make LED flash when messages are sent, leave out if you want low power + +//#define SERIAL_EN //uncomment this line to enable serial IO debug messages, leave out if you want low power +#ifdef SERIAL_EN + #define SERIAL_BAUD 115200 + #define DEBUG(input) {Serial.print(input); delay(1);} + #define DEBUGln(input) {Serial.println(input); delay(1);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +volatile boolean motionDetected=false; +char sendBuf[61]; +byte sendLen; +byte sendLoops=0; +unsigned long MLO=0; //MailLastOpen (ago, in ms) +unsigned long now = 0, time=0, lastSend = 0, temp = 0; +float batteryVolts = 5; +char BATstr[20]; +char MLOstr[20]; + +void setup() { +#ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); +#endif + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef FREQUENCY_EXACT + radio.setFrequency(FREQUENCY_EXACT); //set frequency to some custom frequency +#endif + + radio.setPowerLevel(29); +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + radio.sendWithRetry(GATEWAYID, "START", 6); + + radio.sleep(); + pinMode(MOTION_PIN, INPUT); + pinMode(BATT_MONITOR, INPUT); + attachInterrupt(MOTION_IRQ, motionIRQ, RISING); + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + DEBUGln(buff); + checkBattery(); +} + +void motionIRQ() +{ + motionDetected=true; + DEBUGln("IRQ"); +} + +void loop() { + now = millis(); + checkBattery(); + + if (motionDetected && (time-MLO > DUPLICATE_INTERVAL)) + { + DEBUG("MOTION"); + MLO = time; //save timestamp of event + sprintf(sendBuf, "MOTION LO:0s BAT:%sv", BATstr); + sendLen = strlen(sendBuf); + if (radio.sendWithRetry(GATEWAYID, sendBuf, sendLen)) + { + DEBUGln("..OK"); + #ifdef BLINK_EN + Blink(LED,3); + #endif + } + else DEBUGln("..NOK"); + radio.sleep(); + } + else sendLoops++; + + //send readings every SENDEVERYXLOOPS + if (sendLoops>=SENDEVERYXLOOPS) + { + sendLoops=0; + char periodO='X', periodC='X'; + unsigned long lastOpened = (time - MLO) / 1000; //get seconds + unsigned long LO = lastOpened; + + if (lastOpened <= 59) periodO = 's'; //1-59 seconds + else if (lastOpened <= 3599) { periodO = 'm'; lastOpened/=60; } //1-59 minutes + else if (lastOpened <= 259199) { periodO = 'h'; lastOpened/=3600; } // 1-71 hours + else if (lastOpened >= 259200) { periodO = 'd'; lastOpened/=86400; } // >=3 days + + if (periodO == 'd') + sprintf(MLOstr, "LO:%ldd%ldh", lastOpened, (LO%86400)/3600); + else if (periodO == 'h') + sprintf(MLOstr, "LO:%ldh%ldm", lastOpened, (LO%3600)/60); + else sprintf(MLOstr, "LO:%ld%c", lastOpened, periodO); + + sprintf(sendBuf, "%s BAT:%sv", MLOstr, BATstr); + sendLen = strlen(sendBuf); + radio.send(GATEWAYID, sendBuf, sendLen); + radio.sleep(); + DEBUG(sendBuf); DEBUG(" ("); DEBUG(sendLen); DEBUGln(")"); + lastSend = time; + #ifdef BLINK_EN + Blink(LED, 5); + #endif + } + + motionDetected=false; //do NOT move this after the SLEEP line below or motion will never be detected + time = time + 8000 + millis()-now + 480; //correct millis() resonator drift, may need to be tweaked to be accurate + LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); + DEBUGln("WAKEUP"); +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} + +byte cycleCount=BATT_CYCLES; +void checkBattery() +{ + if (cycleCount++ == BATT_CYCLES) //only read battery every BATT_CYCLES sleep cycles + { + unsigned int reading=0; + //enable battery monitor + pinMode(A3, OUTPUT); + digitalWrite(A3, LOW); + + for (byte i=0; i<10; i++) + reading += analogRead(BATT_MONITOR); + + //disable battery monitor + pinMode(A3, INPUT); //highZ mode will allow p-mosfet to be pulled high and disconnect the voltage divider on the weather shield + batteryVolts = BATT_FORMULA(reading/10); + DEBUG("reading:"); DEBUGln(reading); + dtostrf(batteryVolts, 3,2, BATstr); + cycleCount = 0; + } +} \ No newline at end of file diff --git a/lib/RFM69/Examples/MightyBoostControl/MightyBoostControl.ino b/lib/RFM69/Examples/MightyBoostControl/MightyBoostControl.ino new file mode 100644 index 00000000..6abbd31d --- /dev/null +++ b/lib/RFM69/Examples/MightyBoostControl/MightyBoostControl.ino @@ -0,0 +1,259 @@ +// ************************************************************************************************************* +// MightyBoost control sample sketch +// ************************************************************************************************************* +// Copyright (2015) Felix Rusu of http://lowpowerlab.com +// http://lowpowerlab.com/mightyboost +// MightyBoost is a smart backup PSU controllable by Moteino, and this sketch is a sample control sketch to run +// MightyBoost in this mode. +// Be sure to check back for code updates and patches +// ************************************************************************************************************* +// This sketch will provide control over the essential features of MightyBoost: +// - provide switched 5V power to a sensitive load like RaspberryPi which should not lose power instantly +// - Control the "5V*" output via Moteino+PowerButton (momentary tactile) +// - Monitor input supply and switch to battery backup when external power is lost +// - Monitor battery voltage and issue a shutdown/reboot signal when battery runs low +// This sketch may be extended to include integration with other LowPowerLab automation products +// ************************************************************************************************************* +// License +// ************************************************************************************************************* +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General +// Public License along with this program; if not, write +// to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// Licence can be viewed at +// http://www.fsf.org/licenses/gpl.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ************************************************************************************************************* +#define LED 5 // LED pin, should be analog for fading effect (PWM) +#define BUTTON 3 // Power button pin +#define SIG_SHUTOFF 6 // Signal to Pi to ask for a shutdown +#define SIG_BOOTOK A0 // Signal from Pi that it's OK to cutoff power + // !!NOTE!! Originally this was D7 but it was moved to A0 at least temporarily. + // On MightyBoost R1 you need to connect D7 and A0 with a jumper wire. + // The explanation for this is given here: http://lowpowerlab.com/mightyboost/#source +#define OUTPUT_5V 4 // HIGH on this pin will switch the "5V*" output ON +#define BATTERYSENSE A7 // Sense VBAT_COND signal (when powered externally should read ~3.25v/3.3v (1000-1023), when external power is cutoff it should start reading around 2.85v/3.3v * 1023 ~= 880 (ratio given by 10k+4.7K divider from VBAT_COND = 1.47 multiplier) + // hence the actual input voltage = analogRead(A7) * 0.00322 (3.3v/1024) * 1.47 (10k+4.7k voltage divider ratio) + // when plugged in this should be 4.80v, nothing to worry about + // when on battery power this should decrease from 4.15v (fully charged Lipoly) to 3.3v (discharged Lipoly) + // trigger a shutdown to the target device once voltage is around 3.4v to allow 30sec safe shutdown +#define LOWBATTERYTHRESHOLD 3.5 // a shutdown will be triggered to the target device when battery voltage drops below this (Volts) + +#define RESETHOLDTIME 500 // Button must be hold this many mseconds before a reset is issued (should be much less than SHUTDOWNHOLDTIME) +#define SHUTDOWNHOLDTIME 2000 // Button must be hold this many mseconds before a shutdown sequence is started (should be much less than ForcedShutoffDelay) +#define ShutoffTriggerDelay 6000 // will start checking the SIG_BOOTOK line after this long +#define RecycleTime 50000 // window of time in which SIG_BOOTOK is expected to go HIGH + // should be at least 3000 more than Min + // if nothing happens after this window, if button is + // still pressed, force cutoff power, otherwise switch back to normal ON state +#define RESETPULSETIME 500 // When reset is issued, the SHUTOFF signal is held HIGH this many ms +#define ForcedShutoffDelay 7500 // when SIG_BOOTOK==0 (PI in unknown state): if button is held + // for this long, force shutdown (this should be less than RecycleTime) +#define ShutdownFinalDelay 4500 // after shutdown signal is received, delay for this long + // to allow all PI LEDs to stop activity (pulse LED faster) + +#define PRINTPERIOD 10000 + +int lastValidReading = 1; +unsigned long lastValidReadingTime = 0; +unsigned long NOW=0; +int PowerState = 0; +long lastPeriod = -1; +float systemVoltage = 5; + +void setup() { + Serial.begin(115200); + pinMode(BUTTON, INPUT_PULLUP); + pinMode(SIG_BOOTOK, INPUT); + pinMode(SIG_SHUTOFF, OUTPUT); + pinMode(LED, OUTPUT); + pinMode(OUTPUT_5V, OUTPUT); + pinMode(A7, INPUT); + digitalWrite(SIG_SHUTOFF, LOW);//added after sudden shutdown quirks, DO NOT REMOVE! + digitalWrite(OUTPUT_5V, LOW);//added after sudden shutdown quirks, DO NOT REMOVE! +} + +void loop() { + int reading = digitalRead(BUTTON); + NOW = millis(); + digitalWrite(SIG_SHUTOFF, LOW);//added after sudden shutdown quirks, DO NOT REMOVE! + boolean batteryLow = systemVoltage < LOWBATTERYTHRESHOLD; + + if (batteryLow || reading != lastValidReading && NOW - lastValidReadingTime > 200) + { + lastValidReading = reading; + lastValidReadingTime = NOW; + + if (batteryLow || reading == 0) + { + //make sure the button is held down for at least 'RESETHOLDTIME' before taking action (this is to avoid accidental button presses and consequently Pi shutdowns) + NOW = millis(); + while (!batteryLow && (PowerState == 1 && millis()-NOW < RESETHOLDTIME)) { delay(10); if (digitalRead(BUTTON) != 0) return; } + + //RESETHOLDTIME is satisfied, now check if button still held until SHUTDOWNHOLDTIME is satisfied + analogWrite(LED, 128); //dim the LED to show something's going on + while (!batteryLow && (PowerState == 1 && millis()-NOW < SHUTDOWNHOLDTIME)) + { + if (digitalRead(BUTTON) != 0) + { + if (BOOTOK()) //SIG_BOOTOK is HIGH so Pi is running the shutdowncheck.sh script, ready to intercept the RESET PULSE + { + digitalWrite(SIG_SHUTOFF, HIGH); + delay(RESETPULSETIME); + digitalWrite(SIG_SHUTOFF, LOW); + + NOW = millis(); + boolean recycleDetected=false; + while (millis()-NOW < RecycleTime) //blink LED while waiting for BOOTOK to go high + { + //blink 3 times and pause + digitalWrite(LED, LOW); + delay(100); + digitalWrite(LED, HIGH); + delay(100); + digitalWrite(LED, LOW); + delay(100); + digitalWrite(LED, HIGH); + delay(100); + digitalWrite(LED, LOW); + delay(100); + digitalWrite(LED, HIGH); + delay(500); + + if (!BOOTOK()) recycleDetected = true; + else if (BOOTOK() && recycleDetected) + return; + } + return; //reboot pulse sent but it appears a reboot failed; exit all checks + } + else return; //ignore everything else (button was held for RESETHOLDTIME, but SIG_BOOTOK was LOW) + } + } + + //SIG_BOOTOK must be HIGH when Pi is ON. During boot, this will take a while to happen (till it executes the "shutdowncheck" script) + //so I dont want to cutoff power before it had a chance to fully boot up + if (batteryLow || (PowerState == 1 && BOOTOK())) + { + // signal Pi to shutdown + digitalWrite(SIG_SHUTOFF, HIGH); + + //now wait for the Pi to signal back + NOW = millis(); + float in, out; + boolean forceShutdown = true; + + while (millis()-NOW < RecycleTime) + { + if (in > 6.283) in = 0; + in += .00628; + + out = sin(in) * 127.5 + 127.5; + analogWrite(LED,out); + delayMicroseconds(1500); + + //account for force-shutdown action (if button held for ForcedShutoffDelay, then force shutdown regardless) + if (millis()-NOW <= (ForcedShutoffDelay-SHUTDOWNHOLDTIME) && digitalRead(BUTTON) != 0) + forceShutdown = false; + if (millis()-NOW >= (ForcedShutoffDelay-SHUTDOWNHOLDTIME) && forceShutdown) + { + PowerState = 0; + digitalWrite(LED, PowerState); //turn off LED to indicate power is being cutoff + digitalWrite(OUTPUT_5V, PowerState); + break; + } + + if (millis() - NOW > ShutoffTriggerDelay) + { + // Pi signaling OK to turn off + if (!BOOTOK()) + { + PowerState = 0; + digitalWrite(LED, PowerState); //turn off LED to indicate power is being cutoff + NOW = millis(); + while (millis()-NOW < ShutdownFinalDelay) + { + if (in > 6.283) in = 0; + in += .00628; + + out = sin(in) * 127.5 + 127.5; + analogWrite(LED,out); + delayMicroseconds(300); + } + + digitalWrite(OUTPUT_5V, PowerState); + break; + } + } + } + + // last chance: if power still on but button still pressed, force cutoff power + if (PowerState == 1 && digitalRead(BUTTON) == 0) + { + PowerState = 0; + digitalWrite(OUTPUT_5V, PowerState); + } + + digitalWrite(SIG_SHUTOFF, LOW); + } + else if (PowerState == 1 && !BOOTOK()) + { + NOW = millis(); + unsigned long NOW2 = millis(); + int analogstep = 255 / ((ForcedShutoffDelay-SHUTDOWNHOLDTIME)/100); //every 500ms decrease LED intensity + while (digitalRead(BUTTON) == 0) + { + if (millis()-NOW2 > 100) + { + analogWrite(LED, 255 - ((millis()-NOW)/100)*analogstep); + NOW2 = millis(); + } + if (millis()-NOW > ForcedShutoffDelay-SHUTDOWNHOLDTIME) + { + //TODO: add blinking here to signal final shutdown delay + PowerState = 0; + digitalWrite(OUTPUT_5V, PowerState); + break; + } + } + } + else if (PowerState == 0) + { + PowerState = 1; + digitalWrite(OUTPUT_5V, PowerState); //digitalWrite(LED, PowerState); + } + } + + digitalWrite(LED, PowerState); + } + + int currPeriod = millis()/PRINTPERIOD; + if (currPeriod != lastPeriod) + { + lastPeriod=currPeriod; + Serial.print("VIN: "); + systemVoltage = analogRead(BATTERYSENSE) * 0.00322 * 1.47; + Serial.print(systemVoltage); + if (systemVoltage > 4.3) + Serial.println(" (plugged in)"); + else Serial.println(" (running from battery!)"); + } +} + +boolean BOOTOK() { + return analogRead(SIG_BOOTOK) > 800; +} \ No newline at end of file diff --git a/lib/RFM69/Examples/MightyHat/MightyHat.ino b/lib/RFM69/Examples/MightyHat/MightyHat.ino new file mode 100644 index 00000000..bf473aa4 --- /dev/null +++ b/lib/RFM69/Examples/MightyHat/MightyHat.ino @@ -0,0 +1,756 @@ +// ********************************************************************************************************** +// MightyHat gateway base unit sketch that works with MightyHat equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// This will relay all RF data over serial to the host computer (RaspberryPi, PC etc) and vice versa +// http://LowPowerLab.com/MightyHat +// Also see http://LowPowerLab.com/gateway +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#define MHAT_VERSION 3 //latest version is R3, change to "2" if you have a MightyHat R2 +// **************************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) +#include "U8glib.h" //https://bintray.com/olikraus/u8glib/Arduino + //u8g compared to adafruit lib: https://www.youtube.com/watch?v=lkWZuAnHa2Y + //draing bitmaps: https://www.coconauts.net/blog/2015/01/19/easy-draw-bitmaps-arduino/ +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 1 //the gateway has ID=1 +#define NETWORKID 100 //all nodes on the same network can talk to each other +//#define FREQUENCY RF69_433MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +//#define FREQUENCY_EXACT 917000000 //uncomment and set to a specific frequency in Hz, if commented the center frequency is used +#define ENCRYPTKEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL //more here: http://lowpowerlab.com/blog/2015/11/11/rfm69_atc-automatic-transmission-control/ +//#define ENABLE_WIRELESS_PROGRAMMING //comment out this line to disable Wireless Programming of this gateway node +#define ENABLE_LCD //comment this out if you don't have or don't want to use the LCD +//***************************************************************************************************************************** +#define ACK_TIME 30 // # of ms to wait for an ack +#define SERIAL_BAUD 19200 +#define DEBUG_EN //comment out if you don't want any serial verbose output (keep out in real use) + +#define BTN_LED_RED 9 +#define BTN_LED_GRN 6 // This will indicate when Pi has power +#define POWER_LED_RED() { digitalWrite(BTN_LED_RED, HIGH); digitalWrite(BTN_LED_GRN, LOW); } +#define POWER_LED_GRN() { digitalWrite(BTN_LED_RED, LOW); digitalWrite(BTN_LED_GRN, HIGH); } +#define POWER_LED_ORANGE() { digitalWrite(BTN_LED_RED, HIGH); digitalWrite(BTN_LED_GRN, HIGH); } +#define POWER_LED_OFF() { digitalWrite(BTN_LED_RED, LOW); digitalWrite(BTN_LED_GRN, LOW); } +#define ON 1 +#define OFF 0 + +#define FLASH_CS 8 + +#define BUZZER 5 // Buzzer attached to D5 (PWM pin required for tones) +#define BUTTON A2 // Power button pin +#define BUTTON1 A4 // Backlight control button +#define BUTTON2 A5 // Backlight control button +#define LATCH_EN 4 +#define LATCH_VAL 7 +#define SIG_SHUTOFF A3 // Signal to Pi to ask for a shutdown +#define SIG_BOOTOK A6 // Signal from Pi that it's OK to cutoff power + // !!NOTE!! Originally this was D7 but it was moved to A0 at least temporarily. + // On MightyBoost R1 you need to connect D7 and A0 with a jumper wire. + // The explanation for this is given here: http://lowpowerlab.com/mightyboost/#source +#define BATTERYSENSE A7 // Sense VBAT_COND signal (when powered externally should read ~3.25v/3.3v (1000-1023), when external power is cutoff it should start reading around 2.85v/3.3v * 1023 ~= 880 (ratio given by 10k+4.7K divider from VBAT_COND = 1.47 multiplier) + // hence the actual input voltage = analogRead(A7) * 0.00322 (3.3v/1024) * 1.47 (10k+4.7k voltage divider ratio) + // when plugged in this should be 4.80v, nothing to worry about + // when on battery power this should decrease from 4.15v (fully charged Lipoly) to 3.3v (discharged Lipoly) + // trigger a shutdown to the target device once voltage is around 3.4v to allow 30sec safe shutdown + +#define BATTERY_VOLTS(analog_reading) analog_reading * 0.00322 * 1.51 // 100/66 is the inverse ratio of the voltage divider ( Batt > 1MEG > A7 > 2MEG > GND ) +#define LOWBATTERYTHRESHOLD 3.5 // a shutdown will be triggered to the target device when battery voltage drops below this (Volts) +#define CHARGINGTHRESHOLD 4.3 +#define RESETHOLDTIME 500 // Button must be hold this many mseconds before a reset is issued (should be much less than SHUTDOWNHOLDTIME) +#define SHUTDOWNHOLDTIME 2000 // Button must be hold this many mseconds before a shutdown sequence is started (should be much less than ForcedShutoffDelay) +#define ShutoffTriggerDelay 6000 // will start checking the SIG_BOOTOK line after this long +#define RESETPULSETIME 500 // When reset is issued, the SHUTOFF signal is held HIGH this many ms +#define ForcedShutoffDelay 7500 // when SIG_BOOTOK==0 (PI in unknown state): if button is held + // for this long, force shutdown (this should be less than RecycleTime) +#define ShutdownFinalDelay 4500 // after shutdown signal is received, delay for this long + // to allow all PI LEDs to stop activity (pulse LED faster) +#define RecycleTime 60000 // window of time in which SIG_BOOTOK is expected to go HIGH + // should be at least 3000 more than Min + // if nothing happens after this window, if button is + // still pressed, force cutoff power, otherwise switch back to normal ON state +#define BATTERYREADINTERVAL 2000 + +#ifdef DEBUG_EN + #define DEBUG(input) Serial.print(input) + #define DEBUGln(input) Serial.println(input) +#else + #define DEBUG(input) + #define DEBUGln(input) +#endif + +//general variables +byte ackCount=0; +String inputstr; +byte inputLen=0; +char RSSIstr[] = "-100dBm"; +char temp[64]; + +byte lastValidReading = 1; +unsigned long lastValidReadingTime = 0; +unsigned long NOW=0; +byte PowerState = OFF; +long lastPeriod = -1; +int rssi=0; +float systemVoltage = 5; +float systemVoltagePrevious = 5; +boolean batteryLow=false; +boolean batteryLowShutdown=false; + +SPIFlash flash(FLASH_CS, 0xEF30); //EF30 for 4mbit Windbond FLASH MEM +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +//******************************************** BEGIN LCD STUFF ******************************************************************************** +char lcdbuff[80]; +#ifdef ENABLE_LCD + +#if defined(MHAT_VERSION) && (MHAT_VERSION == 3) + #define PIN_LCD_CS A1 //Pin 2 on LCD, lcd CS is shared with Latch value pin since they are both outputs and never HIGH at the same time + #define PIN_LCD_RST U8G_PIN_NONE //this is tied directly to the atmega RST +#else + #define PIN_LCD_CS LATCH_VAL //Pin 2 on LCD, lcd CS is shared with Latch value pin since they are both outputs and never HIGH at the same time + #define PIN_LCD_RST A1 //Pin 1 on LCD +#endif + +#define PIN_LCD_DC A0 //Pin 3 on LCD +#define PIN_LCD_LIGHT 3 //Backlight pin +#define xbmp_logo_width 30 +#define xbmp_logo_height 27 +#define BACKLIGHTLEVELS 5 //5 levels gives a nice round number that allows full brightness +void LCD_BACKLIGHT(byte level) { if (level>BACKLIGHTLEVELS) level=BACKLIGHTLEVELS; analogWrite(PIN_LCD_LIGHT, 255-level*255/BACKLIGHTLEVELS); } +byte backlightLevel=BACKLIGHTLEVELS; //max at startup + +const uint8_t xbmp_logo[] PROGMEM = { + 0xe0, 0xff, 0xff, 0x01, 0xf0, 0xff, 0xff, 0x03, 0x08, 0x00, 0x00, 0x04, + 0x06, 0x00, 0x00, 0x18, 0xc3, 0x03, 0xf0, 0x30, 0x23, 0x04, 0x08, 0x31, + 0x23, 0x04, 0x08, 0x31, 0x23, 0x0c, 0x0c, 0x31, 0xc3, 0x13, 0xf2, 0x30, + 0x03, 0xe0, 0x01, 0x30, 0x03, 0xe0, 0x01, 0x30, 0xc3, 0xe3, 0xf1, 0x30, + 0x23, 0xe4, 0x09, 0x31, 0x23, 0xfc, 0x0f, 0x31, 0x23, 0xe4, 0x09, 0x31, + 0xc3, 0xe3, 0xf1, 0x30, 0x03, 0xe0, 0x01, 0x30, 0x03, 0xe0, 0x01, 0x30, + 0xc3, 0x13, 0xf2, 0x30, 0x23, 0x0c, 0x0c, 0x31, 0x23, 0x04, 0x08, 0x31, + 0x23, 0x04, 0x08, 0x31, 0xc3, 0x03, 0xf0, 0x30, 0x06, 0x00, 0x00, 0x18, + 0x08, 0x00, 0x00, 0x04, 0xf0, 0xff, 0xff, 0x03, 0xe0, 0xff, 0xff, 0x01 }; + +#define xbmp_batt_width 9 +#define xbmp_batt_height 6 +const uint8_t xbmp_batt_c[] PROGMEM = { 0xff, 0x00, 0xbf, 0x00, 0x9f, 0x01, 0x8f, 0x01, 0x87, 0x00, 0xff, 0x00 }; +const uint8_t xbmp_batt_x[] PROGMEM = { 0xff, 0x00, 0xa5, 0x00, 0x81, 0x01, 0x99, 0x01, 0xa5, 0x00, 0xff, 0x00 }; + +const uint8_t xbmp_batt_0[] PROGMEM = { }; +const uint8_t xbmp_batt_1[] PROGMEM = { 0xff, 0x00, 0x83, 0x00, 0x83, 0x01, 0x83, 0x01, 0x83, 0x00, 0xff, 0x00 }; +const uint8_t xbmp_batt_2[] PROGMEM = { 0xff, 0x00, 0x87, 0x00, 0x87, 0x01, 0x87, 0x01, 0x87, 0x00, 0xff, 0x00 }; +const uint8_t xbmp_batt_3[] PROGMEM = { 0xff, 0x00, 0x8f, 0x00, 0x8f, 0x01, 0x8f, 0x01, 0x8f, 0x00, 0xff, 0x00 }; +const uint8_t xbmp_batt_4[] PROGMEM = { 0xff, 0x00, 0x9f, 0x00, 0x9f, 0x01, 0x9f, 0x01, 0x9f, 0x00, 0xff, 0x00 }; +const uint8_t xbmp_batt_5[] PROGMEM = { 0xff, 0x00, 0xbf, 0x00, 0xbf, 0x01, 0xbf, 0x01, 0xbf, 0x00, 0xff, 0x00 }; +const uint8_t xbmp_batt_6[] PROGMEM = { 0xff, 0x00, 0xff, 0x00, 0xff, 0x01, 0xff, 0x01, 0xff, 0x00, 0xff, 0x00 }; + +#define xbmp_rssi_width 7 +#define xbmp_rssi_height 6 +const uint8_t xbmp_rssi_1[] PROGMEM = { 0x40, 0x10, 0x00, 0x04, 0x04, 0x05 }; +const uint8_t xbmp_rssi_2[] PROGMEM = { 0x40, 0x10, 0x10, 0x14, 0x14, 0x15 }; +const uint8_t xbmp_rssi_3[] PROGMEM = { 0x40, 0x50, 0x50, 0x54, 0x54, 0x55 }; +const uint8_t xbmp_rssi_0[] PROGMEM = { 0x40, 0x10, 0x00, 0x04, 0x00, 0x01 }; + +U8GLIB_PCD8544 lcd(PIN_LCD_CS, PIN_LCD_DC, PIN_LCD_RST); //hardware SPI +//U8GLIB_PCD8544 lcd(SCK, MOSI, PIN_LCD_CS, PIN_LCD_DC , PIN_LCD_RST); //software SPI + +//******************************************** LCD FUNCTIONS ******************************************************************************** +void drawLogo() { + lcd.firstPage(); + do { + lcd.drawXBMP((84-xbmp_logo_width)/2, (48-xbmp_logo_height)/2, xbmp_logo_width, xbmp_logo_height, xbmp_logo); //tutorial: https://www.coconauts.net/blog/2015/01/19/easy-draw-bitmaps-arduino/ + } while(lcd.nextPage()); +} + +void clearDisplay() { lcd.firstPage(); do{}while(lcd.nextPage()); } + +void refreshLCD() { + noInterrupts(); //while messing with LCD need to pause interrups from radio to avoid SPI conflicts! + byte lcdwidth = lcd.getWidth(); + byte lcdheight = lcd.getHeight(); + char c; + byte i,pos,swidth; + byte * bmpPtr; + + //u8glib picture loop + lcd.firstPage(); + do { + lcd.setFont(u8g_font_profont10); + lcd.setFontRefHeightText(); + lcd.setFontPosTop(); + byte fontheight = lcd.getFontAscent()-lcd.getFontDescent(); + char * textp = lcdbuff; + byte textLength = strlen(textp); + byte line=0; + byte done = false; + + //this section splits the textp string into chunks that fit on the screen width and prints each to a new line + while(textLength && !done) + { + for (i=1;i<=textLength;i++) + { + c = textp[i]; + textp[i]=0; + swidth = lcd.getStrWidth(textp); + textp[i] = c; + if (c=='\n') { pos = i; break; } //newline char found, skip it and go to next line + if (swidth > lcdwidth) { pos = i-1; break; } //line is full, go to next line + else if (i==textLength) { done = true; } + } + if (!done) + { + c = textp[pos]; + textp[pos]=0; + } + lcd.drawStr(0, line * fontheight, textp); + if (done) break; + textp[pos] = c; + textp += pos; + textLength -= pos; + line++; + } + + lcd.setFontPosBaseline(); + + //print battery voltage and icon + if (systemVoltage >= 4.3) bmpPtr = (byte*)xbmp_batt_c; + else if (systemVoltage >= 4) bmpPtr = (byte*)xbmp_batt_6; + else if (systemVoltage >= 3.9) bmpPtr = (byte*)xbmp_batt_5; + else if (systemVoltage >= 3.8) bmpPtr = (byte*)xbmp_batt_4; + else if (systemVoltage >= 3.7) bmpPtr = (byte*)xbmp_batt_3; + else if (systemVoltage >= 3.6) bmpPtr = (byte*)xbmp_batt_2; + else if (systemVoltage >= 3.5) bmpPtr = (byte*)xbmp_batt_1; + else bmpPtr = (byte*)xbmp_batt_x; + lcd.drawXBMP(lcdwidth-xbmp_batt_width, lcdheight-xbmp_batt_height, xbmp_batt_width, xbmp_batt_height, bmpPtr); + + lcd.setPrintPos(54, 48); + if (systemVoltage >= CHARGINGTHRESHOLD) + lcd.print("CHRG"); + else + lcd.print(systemVoltage); //sprintf(BATvstr, "%sv", BATstr); + + lcd.setPrintPos(0, 40); + uint16_t uptimeSeconds = millis()/1000; + if (uptimeSeconds<60) + sprintf(temp, "up:%us", uptimeSeconds); + else + sprintf(temp, "up:%um", uptimeSeconds/60); + lcd.print(temp); + + lcd.setPrintPos(45, 40); + sprintf(temp, "RAM:%u", checkFreeRAM()); + lcd.print(temp); + + //print rssi and icon + if (rssi > -70) bmpPtr = (byte*)xbmp_rssi_3; + else if (rssi > -80) bmpPtr = (byte*)xbmp_rssi_2; + else if (rssi > -90) bmpPtr = (byte*)xbmp_rssi_1; + else if (rssi > -95) bmpPtr = (byte*)xbmp_rssi_0; + lcd.drawXBMP(0, lcdheight-xbmp_rssi_height, xbmp_rssi_width, xbmp_rssi_height, bmpPtr); + lcd.drawStr(xbmp_rssi_width+1, 48, RSSIstr); + } while(lcd.nextPage()); + digitalWrite(PIN_LCD_CS, HIGH); + interrupts(); //re-enable interrupts +} +#endif +//******************************************** END LCD STUFF ******************************************************************************** + +//******************************************** MESSAGE HISTORY ****************************************************************************** +#define MSG_MAX_LEN 32 //truncate message at 32 chars since most are shorter than that anyway +#define HISTORY_LEN 10 //hold this many past messages (IMPORTANT: 10 records needs about 330 bytes of RAM so be careful about making this too large) +typedef struct { + char data[MSG_MAX_LEN]; + int rssi; +} Message; +Message * messageHistory = new Message[HISTORY_LEN]; +byte lastMessageIndex = HISTORY_LEN; +byte currMessageIndex = HISTORY_LEN; +byte historyLength = 0; + +void saveToHistory(char * msg, int rssi) +{ + byte length = strlen(msg); + byte i = 0; + if (lastMessageIndex >= HISTORY_LEN-1) lastMessageIndex = 0; + else lastMessageIndex++; + if (historyLength < HISTORY_LEN) historyLength++; + currMessageIndex = historyLength-1; //reset history pointer back to latest message + + for (; i<(MSG_MAX_LEN-1) && (i < length); i++) + messageHistory[lastMessageIndex].data[i] = msg[i]; + + messageHistory[lastMessageIndex].data[i] = '\0'; //terminate string + messageHistory[lastMessageIndex].rssi = rssi; +} +//******************************************** END MESSAGE HISTORY ************************************************************************** + +//parse through any serial commands from the host (Pi) +void handleSerialInput() { + inputLen = readSerialLine(temp, 10, 64, 10); //readSerialLine(char* input, char endOfLineChar=10, byte maxLength=64, uint16_t timeout=10); + + if (inputLen > 0) + { + DEBUG("GTWCMD:");DEBUGln(temp); + inputstr = String(temp); + inputstr.toUpperCase(); + + if (inputstr.equals("BEEP")) Beep(5, false); + if (inputstr.equals("BEEP2")) Beep(10, true); + if (inputstr.equals("RAM")) { DEBUG(F("Free RAM bytes: "));DEBUGln(checkFreeRAM()); } + if (inputstr.equals("KEY?")) { Serial.print(F("ENCRYPTKEY:"));Serial.println(ENCRYPTKEY); } + + byte targetId = inputstr.toInt(); //extract ID if any + byte colonIndex = inputstr.indexOf(":"); //find position of first colon + if (targetId > 0) inputstr = inputstr.substring(colonIndex+1); //trim "ID:" if any + if (targetId > 0 && targetId != NODEID && targetId != RF69_BROADCAST_ADDR && colonIndex>0 && colonIndex<4 && inputstr.length()>0) + { + inputstr.getBytes((byte*)temp, 61); + if (radio.sendWithRetry(targetId, (byte*)temp, inputstr.length())) + DEBUGln(F("ACK:OK")); + else + DEBUGln(F("ACK:NOK")); + } + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} + +void setupPowerControl(){ + pinMode(BUTTON, INPUT_PULLUP); + pinMode(SIG_BOOTOK, INPUT); + pinMode(SIG_SHUTOFF, OUTPUT); + pinMode(BTN_LED_RED, OUTPUT); + pinMode(BTN_LED_GRN, OUTPUT); + pinMode(LATCH_EN, OUTPUT); + digitalWrite(LATCH_EN, LOW); + pinMode(PIN_LCD_CS, OUTPUT); + digitalWrite(PIN_LCD_CS, HIGH); + pinMode(LATCH_VAL, OUTPUT); + pinMode(BUTTON1, INPUT_PULLUP); + pinMode(BUTTON2, INPUT_PULLUP); + pinMode(BATTERYSENSE, INPUT); + digitalWrite(SIG_SHUTOFF, LOW);//added after sudden shutdown quirks, DO NOT REMOVE! +} + +void handlePowerControl() { + byte reading = digitalRead(BUTTON); + NOW = millis(); + digitalWrite(SIG_SHUTOFF, LOW);//added after sudden shutdown quirks, DO NOT REMOVE! + + //artificial power ON after a low battery shutdown + if (PowerState == OFF && batteryLowShutdown && systemVoltage >= CHARGINGTHRESHOLD) + reading = HIGH; + + if ((PowerState == ON && batteryLow) || (reading != lastValidReading && NOW - lastValidReadingTime > 200)) + { + lastValidReading = reading; + lastValidReadingTime = NOW; + + if ((PowerState == ON && batteryLow) || reading == LOW) + { + radio.sleep(); + //make sure the button is held down for at least 'RESETHOLDTIME' before taking action (this is to avoid accidental button presses and consequently Pi shutdowns) + NOW = millis(); + while (!batteryLow && (PowerState == ON && millis()-NOW < RESETHOLDTIME)) { delay(10); if (digitalRead(BUTTON) != 0) return; } + + //RESETHOLDTIME is satisfied, now check if button still held until SHUTDOWNHOLDTIME is satisfied + POWER_LED_ORANGE(); //make the button LED orange to show something's going on + while (!batteryLow && (PowerState == ON && millis()-NOW < SHUTDOWNHOLDTIME)) + { + if (digitalRead(BUTTON) != 0) + { + if (BOOTOK()) //SIG_BOOTOK is HIGH so Pi is running the shutdowncheck.sh script, ready to intercept the RESET PULSE + { +#ifdef ENABLE_LCD + sprintf(lcdbuff, "Rebooting Pi.."); + refreshLCD(); +#endif + digitalWrite(SIG_SHUTOFF, HIGH); + delay(RESETPULSETIME); + digitalWrite(SIG_SHUTOFF, LOW); + + NOW = millis(); + boolean recycleDetected=false; + while (millis()-NOW < RecycleTime) //blink LED while waiting for BOOTOK to go high + { + //blink 3 times and pause + POWER_LED_OFF(); //digitalWrite(POWER_LED, LOW); + delay(100); + POWER_LED_ORANGE(); //digitalWrite(POWER_LED, HIGH); + delay(100); + POWER_LED_OFF(); //digitalWrite(POWER_LED, LOW); + delay(100); + POWER_LED_ORANGE(); //digitalWrite(POWER_LED, HIGH); + delay(100); + POWER_LED_OFF(); //digitalWrite(POWER_LED, LOW); + delay(100); + POWER_LED_ORANGE(); //digitalWrite(POWER_LED, HIGH); + delay(500); + + if (!BOOTOK()) recycleDetected = true; + else if (BOOTOK() && recycleDetected) + { +#ifdef ENABLE_LCD + sprintf(lcdbuff, "Reboot OK!"); + refreshLCD(); +#endif + return; + } + } + return; //reboot pulse sent but it appears a reboot failed; exit all checks + } + else return; //ignore everything else (button was held for RESETHOLDTIME, but SIG_BOOTOK was LOW) + } + } + + //SIG_BOOTOK must be HIGH when Pi is ON. During boot, this will take a while to happen (till it executes the "shutdowncheck" script) + //so I dont want to cutoff power before it had a chance to fully boot up + if ((batteryLow || PowerState == ON) && BOOTOK()) + { + if (batteryLow) { +#ifdef ENABLE_LCD + sprintf(lcdbuff, "Battery low! Shutting down Pi.."); +#endif + batteryLowShutdown = true; + } +#ifdef ENABLE_LCD + else + sprintf(lcdbuff, "Shutting down Pi.."); + refreshLCD(); +#endif + + // signal Pi to shutdown + digitalWrite(SIG_SHUTOFF, HIGH); + //DEBUGln("SIG_SHUTOFF - HIGH - if(batteryLow || (PowerState == 1 && BOOTOK())"); + + //now wait for the Pi to signal back + NOW = millis(); + float in, out; + boolean forceShutdown = true; + + POWER_LED_OFF(); + while (millis()-NOW < RecycleTime) + { + if (in > 6.283) in = 0; + in += .00628; + + out = sin(in) * 127.5 + 127.5; + analogWrite(BTN_LED_RED, out); + delayMicroseconds(1500); + + //account for force-shutdown action (if button held for ForcedShutoffDelay, then force shutdown regardless) + if (millis()-NOW <= (ForcedShutoffDelay-SHUTDOWNHOLDTIME) && digitalRead(BUTTON) != 0) + forceShutdown = false; + if (millis()-NOW >= (ForcedShutoffDelay-SHUTDOWNHOLDTIME) && forceShutdown) + { + PowerState = OFF; + POWER_LED_OFF(); //digitalWrite(POWER_LED, PowerState); //turn off LED to indicate power is being cutoff + POWER(PowerState); + break; + } + + if (millis() - NOW > ShutoffTriggerDelay) + { + // Pi signaling OK to turn off + if (!BOOTOK()) + { + PowerState = OFF; + POWER_LED_OFF(); //digitalWrite(POWER_LED, PowerState); //turn off LED to indicate power is being cutoff + NOW = millis(); + while (millis()-NOW < ShutdownFinalDelay) + { + if (in > 6.283) in = 0; + in += .00628; + out = sin(in) * 127.5 + 127.5; + analogWrite(BTN_LED_RED,out); + delayMicroseconds(300); + } + + POWER(PowerState); + break; + } + } + } + + // last chance: if power still on but button still pressed, force cutoff power + if (PowerState == ON && digitalRead(BUTTON) == 0) + { + PowerState = OFF; + POWER(PowerState); + } + +#ifdef ENABLE_LCD + if (PowerState == OFF) + { + sprintf(lcdbuff, "Pi is now OFF"); + refreshLCD(); + } +#endif + + digitalWrite(SIG_SHUTOFF, LOW); + //DEBUGln("SIG_SHUTOFF - LOW"); + } + else if (PowerState == ON && !BOOTOK()) + { +#ifdef ENABLE_LCD + sprintf(lcdbuff, "Forced shutdown.."); + refreshLCD(); +#endif + + NOW = millis(); + unsigned long NOW2 = millis(); + int analogstep = 255 / ((ForcedShutoffDelay-SHUTDOWNHOLDTIME)/100); //every 500ms decrease LED intensity + while (digitalRead(BUTTON) == 0) + { + if (millis()-NOW2 > 100) + { + analogWrite(BTN_LED_RED, 255 - ((millis()-NOW)/100)*analogstep); + NOW2 = millis(); + } + if (millis()-NOW > ForcedShutoffDelay-SHUTDOWNHOLDTIME) + { + //TODO: add blinking here to signal final shutdown delay + PowerState = OFF; + POWER(PowerState); +#ifdef ENABLE_LCD + sprintf(lcdbuff, "Pi is now OFF"); + refreshLCD(); +#endif + break; + } + } + } + else if (PowerState == OFF) + { + PowerState = ON; + batteryLowShutdown=false; + POWER(PowerState); +#ifdef ENABLE_LCD + sprintf(lcdbuff, "Pi is now ON"); + refreshLCD(); +#endif + } + } + + if (PowerState == ON) POWER_LED_GRN() else POWER_LED_OFF(); //digitalWrite(POWER_LED, PowerState); + } +} + +uint32_t buttonsLastChanged; +void handle2Buttons() +{ + if (millis() - buttonsLastChanged < 200) return; //basic button debouncing & prevent changing level too fast + + //button 1 - backlight + if (digitalRead(BUTTON1)==LOW) + { + buttonsLastChanged=millis(); + Beep(3, false); +#ifdef ENABLE_LCD + if (backlightLevel==BACKLIGHTLEVELS) backlightLevel=0; + else backlightLevel++; + LCD_BACKLIGHT(backlightLevel); + sprintf(lcdbuff, "LCDlight:%d/100", 100*backlightLevel/BACKLIGHTLEVELS); + refreshLCD(); +#endif + } + + //button 2 - message history + if (digitalRead(BUTTON2)==LOW) + { + buttonsLastChanged=millis(); + Beep(3, false); + + if (historyLength > 0) //if at least 1 data packet was received and saved to history... + { + sprintf(RSSIstr, "%ddBm", messageHistory[currMessageIndex].rssi); //paint the history rssi string for the LCDRefresh + rssi = messageHistory[currMessageIndex].rssi; //save the history rssi for the LCDRefresh signal icon +#ifdef ENABLE_LCD + sprintf(lcdbuff, "\n%s", currMessageIndex+1, historyLength, messageHistory[currMessageIndex].data); //fill the LCD string buffer with the history data string + refreshLCD(); //paint the screen +#endif + if (currMessageIndex==0) currMessageIndex=historyLength-1; else currMessageIndex--; //this makes it cycle from the latest message towards oldest as you press BTN2 + } + } +} + +boolean BOOTOK() { + return analogRead(SIG_BOOTOK) > 800; //the BOOTOK signal is on an analog pin because a digital may not always pick it up (its less than 3.3v) +} + +void POWER(uint8_t ON_OFF) { + digitalWrite(LATCH_EN, HIGH); + digitalWrite(LATCH_VAL, ON_OFF); + delay(5); + digitalWrite(LATCH_EN, LOW); + delay(5); +#ifdef ENABLE_LCD + digitalWrite(PIN_LCD_CS, HIGH); //if shared with LATCH_VAL, should be HIGH when not used by latch +#endif +} + +void Beep(byte theDelay, boolean twoSounds) +{ + if (theDelay > 20) theDelay = 20; + tone(BUZZER, 4200); //4200 + delay(theDelay); + noTone(BUZZER); + delay(10); + if (twoSounds) + { + tone(BUZZER, 4500); //4500 + delay(theDelay); + noTone(BUZZER); + } +} + +int checkFreeRAM() +{ + extern int __heap_start, *__brkval; + int v; + return (int) &v - (__brkval == 0 ? (int) &__heap_start : (int) __brkval); +} + +boolean readBattery() { + //periodically read the battery voltage + int currPeriod = millis()/BATTERYREADINTERVAL; + if (currPeriod != lastPeriod) + { + lastPeriod=currPeriod; + systemVoltage = BATTERY_VOLTS(analogRead(BATTERYSENSE)); + //dtostrf(systemVoltage, 3,2, BATstr); + batteryLow = systemVoltage < LOWBATTERYTHRESHOLD; + return true; //signal that batt has been read + } + return false; +} + +void setup() { + Beep(20, false);delay(50);Beep(20, false);delay(50);Beep(20, false); + setupPowerControl(); + Serial.begin(SERIAL_BAUD); + + radio.initialize(FREQUENCY,NODEID,NETWORKID); + radio.encrypt(ENCRYPTKEY); + +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + + sprintf(lcdbuff, "Listening @ %dmhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + DEBUGln(lcdbuff); + if (flash.initialize()) DEBUGln("SPI Flash Init OK!"); + else DEBUGln(F("SPI Flash MEM FAIL!")); + +#ifdef FREQUENCY_EXACT + radio.setFrequency(FREQUENCY_EXACT); //set frequency to some custom frequency +#endif + +#ifdef ENABLE_ATC + DEBUGln(F("RFM69_ATC Enabled (Auto Transmission Control)")); +#endif + + readBattery(); + DEBUG(F("Free RAM bytes: "));DEBUG(checkFreeRAM()); + +#ifdef ENABLE_LCD + pinMode(PIN_LCD_LIGHT, OUTPUT); //LCD backlight, LOW = backlight ON + lcd.setRot180(); //rotate screen 180 degrees + lcd.setContrast(140); //120-160 seems to be usable range + drawLogo(); + LCD_BACKLIGHT(backlightLevel); + delay(2000); + refreshLCD(); + delay(1000); +#endif +} + +boolean newPacketReceived; +void loop() { + handlePowerControl(); //checks any button presses and takes action + handle2Buttons(); //checks the general purpose buttons next to the LCD (R2+) + handleSerialInput(); //checks for any serial input from the Pi computer + + //process any received radio packets + if (radio.receiveDone()) + { + rssi = radio.RSSI; + if (radio.DATALEN > 0) //data packets have a payload + { + sprintf(lcdbuff, "[%d] %s", radio.SENDERID, radio.DATA); + sprintf(RSSIstr, "%ddBm", rssi); + Serial.print(lcdbuff); //this passes data to MightyHat / RaspberryPi + Serial.print(F(" [RSSI:"));Serial.print(rssi);Serial.print(']'); + saveToHistory(lcdbuff, rssi); + } + + //check if the packet is a wireless programming request + //removing this line will save 3kb+ of flash space +#ifdef ENABLE_WIRELESS_PROGRAMMING + CheckForWirelessHEX(radio, flash, false); //non verbose DEBUG +#endif + + //respond to any ACK if requested + if (radio.ACKRequested()) + { + radio.sendACK(); + DEBUG(F("[ACK-sent]")); + } + + //DEBUG(F("Free RAM bytes: "));DEBUG(checkFreeRAM()); + + Serial.println(); + Blink(LED,2); + newPacketReceived = true; + } + + readBattery(); + +#ifdef ENABLE_LCD + if (newPacketReceived || systemVoltagePrevious-systemVoltage > 0.01 || systemVoltagePrevious-systemVoltage < -0.1) + { + systemVoltagePrevious = systemVoltage; + newPacketReceived = false; + refreshLCD(); + } + LCD_BACKLIGHT(batteryLow ? 0 : backlightLevel); +#endif +} \ No newline at end of file diff --git a/lib/RFM69/Examples/MotionMote/LasercutCase_R3.dxf b/lib/RFM69/Examples/MotionMote/LasercutCase_R3.dxf new file mode 100644 index 00000000..e9e409a9 --- /dev/null +++ b/lib/RFM69/Examples/MotionMote/LasercutCase_R3.dxf @@ -0,0 +1,438246 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1021 + 9 +$ACADMAINTVER + 70 + 25 + 9 +$DWGCODEPAGE + 3 +ANSI_1252 + 9 +$INSBASE + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$EXTMIN + 10 +-3.070397637795276 + 20 +-9.832208661417322 + 30 +0.0 + 9 +$EXTMAX + 10 +14.89266535433071 + 20 +5.528948818897637 + 30 +0.0 + 9 +$LIMMIN + 10 +0.0 + 20 +0.0 + 9 +$LIMMAX + 10 +12.0 + 20 +9.0 + 9 +$ORTHOMODE + 70 + 0 + 9 +$REGENMODE + 70 + 1 + 9 +$FILLMODE + 70 + 1 + 9 +$QTEXTMODE + 70 + 0 + 9 +$MIRRTEXT + 70 + 1 + 9 +$LTSCALE + 40 +1.0 + 9 +$ATTMODE + 70 + 1 + 9 +$TEXTSIZE + 40 +0.2 + 9 +$TRACEWID + 40 +0.05 + 9 +$TEXTSTYLE + 7 +Standard + 9 +$CLAYER + 8 +0 + 9 +$CELTYPE + 6 +ByLayer + 9 +$CECOLOR + 62 + 256 + 9 +$CELTSCALE + 40 +1.0 + 9 +$DISPSILH + 70 + 0 + 9 +$DIMSCALE + 40 +1.0 + 9 +$DIMASZ + 40 +0.18 + 9 +$DIMEXO + 40 +0.0625 + 9 +$DIMDLI + 40 +0.38 + 9 +$DIMRND + 40 +0.0 + 9 +$DIMDLE + 40 +0.0 + 9 +$DIMEXE + 40 +0.18 + 9 +$DIMTP + 40 +0.0 + 9 +$DIMTM + 40 +0.0 + 9 +$DIMTXT + 40 +0.18 + 9 +$DIMCEN + 40 +0.09 + 9 +$DIMTSZ + 40 +0.0 + 9 +$DIMTOL + 70 + 0 + 9 +$DIMLIM + 70 + 0 + 9 +$DIMTIH + 70 + 1 + 9 +$DIMTOH + 70 + 1 + 9 +$DIMSE1 + 70 + 0 + 9 +$DIMSE2 + 70 + 0 + 9 +$DIMTAD + 70 + 0 + 9 +$DIMZIN + 70 + 0 + 9 +$DIMBLK + 1 + + 9 +$DIMASO + 70 + 1 + 9 +$DIMSHO + 70 + 1 + 9 +$DIMPOST + 1 + + 9 +$DIMAPOST + 1 + + 9 +$DIMALT + 70 + 0 + 9 +$DIMALTD + 70 + 2 + 9 +$DIMALTF + 40 +25.4 + 9 +$DIMLFAC + 40 +1.0 + 9 +$DIMTOFL + 70 + 0 + 9 +$DIMTVP + 40 +0.0 + 9 +$DIMTIX + 70 + 0 + 9 +$DIMSOXD + 70 + 0 + 9 +$DIMSAH + 70 + 0 + 9 +$DIMBLK1 + 1 + + 9 +$DIMBLK2 + 1 + + 9 +$DIMSTYLE + 2 +Standard + 9 +$DIMCLRD + 70 + 0 + 9 +$DIMCLRE + 70 + 0 + 9 +$DIMCLRT + 70 + 0 + 9 +$DIMTFAC + 40 +1.0 + 9 +$DIMGAP + 40 +0.09 + 9 +$DIMJUST + 70 + 0 + 9 +$DIMSD1 + 70 + 0 + 9 +$DIMSD2 + 70 + 0 + 9 +$DIMTOLJ + 70 + 1 + 9 +$DIMTZIN + 70 + 0 + 9 +$DIMALTZ + 70 + 0 + 9 +$DIMALTTZ + 70 + 0 + 9 +$DIMUPT + 70 + 0 + 9 +$DIMDEC + 70 + 4 + 9 +$DIMTDEC + 70 + 4 + 9 +$DIMALTU + 70 + 2 + 9 +$DIMALTTD + 70 + 2 + 9 +$DIMTXSTY + 7 +Standard + 9 +$DIMAUNIT + 70 + 0 + 9 +$DIMADEC + 70 + 0 + 9 +$DIMALTRND + 40 +0.0 + 9 +$DIMAZIN + 70 + 0 + 9 +$DIMDSEP + 70 + 46 + 9 +$DIMATFIT + 70 + 3 + 9 +$DIMFRAC + 70 + 0 + 9 +$DIMLDRBLK + 1 + + 9 +$DIMLUNIT + 70 + 2 + 9 +$DIMLWD + 70 + -2 + 9 +$DIMLWE + 70 + -2 + 9 +$DIMTMOVE + 70 + 0 + 9 +$DIMFXL + 40 +1.0 + 9 +$DIMFXLON + 70 + 0 + 9 +$DIMJOGANG + 40 +0.7853981633974483 + 9 +$DIMTFILL + 70 + 0 + 9 +$DIMTFILLCLR + 70 + 0 + 9 +$DIMARCSYM + 70 + 0 + 9 +$DIMLTYPE + 6 + + 9 +$DIMLTEX1 + 6 + + 9 +$DIMLTEX2 + 6 + + 9 +$LUNITS + 70 + 2 + 9 +$LUPREC + 70 + 4 + 9 +$SKETCHINC + 40 +0.1 + 9 +$FILLETRAD + 40 +0.5 + 9 +$AUNITS + 70 + 0 + 9 +$AUPREC + 70 + 0 + 9 +$MENU + 1 +. + 9 +$ELEVATION + 40 +0.0 + 9 +$PELEVATION + 40 +0.0 + 9 +$THICKNESS + 40 +0.0 + 9 +$LIMCHECK + 70 + 0 + 9 +$CHAMFERA + 40 +0.5 + 9 +$CHAMFERB + 40 +0.5 + 9 +$CHAMFERC + 40 +1.0 + 9 +$CHAMFERD + 40 +0.0 + 9 +$SKPOLY + 70 + 0 + 9 +$TDCREATE + 40 +2457697.564668241 + 9 +$TDUCREATE + 40 +2457697.731334907 + 9 +$TDUPDATE + 40 +2457697.564668252 + 9 +$TDUUPDATE + 40 +2457697.731334919 + 9 +$TDINDWG + 40 +0.0000000116 + 9 +$TDUSRTIMER + 40 +0.0000000116 + 9 +$USRTIMER + 70 + 1 + 9 +$ANGBASE + 50 +0.0 + 9 +$ANGDIR + 70 + 0 + 9 +$PDMODE + 70 + 0 + 9 +$PDSIZE + 40 +0.0 + 9 +$PLINEWID + 40 +0.0 + 9 +$SPLFRAME + 70 + 0 + 9 +$SPLINETYPE + 70 + 6 + 9 +$SPLINESEGS + 70 + 8 + 9 +$HANDSEED + 5 +436 + 9 +$SURFTAB1 + 70 + 6 + 9 +$SURFTAB2 + 70 + 6 + 9 +$SURFTYPE + 70 + 6 + 9 +$SURFU + 70 + 6 + 9 +$SURFV + 70 + 6 + 9 +$UCSBASE + 2 + + 9 +$UCSNAME + 2 + + 9 +$UCSORG + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSXDIR + 10 +1.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSYDIR + 10 +0.0 + 20 +1.0 + 30 +0.0 + 9 +$UCSORTHOREF + 2 + + 9 +$UCSORTHOVIEW + 70 + 0 + 9 +$UCSORGTOP + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGBOTTOM + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGLEFT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGRIGHT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGFRONT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGBACK + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSBASE + 2 + + 9 +$PUCSNAME + 2 + + 9 +$PUCSORG + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSXDIR + 10 +1.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSYDIR + 10 +0.0 + 20 +1.0 + 30 +0.0 + 9 +$PUCSORTHOREF + 2 + + 9 +$PUCSORTHOVIEW + 70 + 0 + 9 +$PUCSORGTOP + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGBOTTOM + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGLEFT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGRIGHT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGFRONT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGBACK + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$USERI1 + 70 + 0 + 9 +$USERI2 + 70 + 0 + 9 +$USERI3 + 70 + 0 + 9 +$USERI4 + 70 + 0 + 9 +$USERI5 + 70 + 0 + 9 +$USERR1 + 40 +0.0 + 9 +$USERR2 + 40 +0.0 + 9 +$USERR3 + 40 +0.0 + 9 +$USERR4 + 40 +0.0 + 9 +$USERR5 + 40 +0.0 + 9 +$WORLDVIEW + 70 + 1 + 9 +$SHADEDGE + 70 + 3 + 9 +$SHADEDIF + 70 + 70 + 9 +$TILEMODE + 70 + 1 + 9 +$MAXACTVP + 70 + 64 + 9 +$PINSBASE + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PLIMCHECK + 70 + 0 + 9 +$PEXTMIN + 10 +1.000000000000000E+20 + 20 +1.000000000000000E+20 + 30 +1.000000000000000E+20 + 9 +$PEXTMAX + 10 +-1.000000000000000E+20 + 20 +-1.000000000000000E+20 + 30 +-1.000000000000000E+20 + 9 +$PLIMMIN + 10 +0.0 + 20 +0.0 + 9 +$PLIMMAX + 10 +12.0 + 20 +9.0 + 9 +$UNITMODE + 70 + 0 + 9 +$VISRETAIN + 70 + 1 + 9 +$PLINEGEN + 70 + 0 + 9 +$PSLTSCALE + 70 + 1 + 9 +$TREEDEPTH + 70 + 3020 + 9 +$CMLSTYLE + 2 +Standard + 9 +$CMLJUST + 70 + 0 + 9 +$CMLSCALE + 40 +1.0 + 9 +$PROXYGRAPHICS + 70 + 1 + 9 +$MEASUREMENT + 70 + 0 + 9 +$CELWEIGHT +370 + -1 + 9 +$ENDCAPS +280 + 0 + 9 +$JOINSTYLE +280 + 0 + 9 +$LWDISPLAY +290 + 0 + 9 +$INSUNITS + 70 + 1 + 9 +$HYPERLINKBASE + 1 + + 9 +$STYLESHEET + 1 + + 9 +$XEDIT +290 + 1 + 9 +$CEPSNTYPE +380 + 0 + 9 +$PSTYLEMODE +290 + 1 + 9 +$FINGERPRINTGUID + 2 +{8A740309-048A-41BA-9392-724D854F5BE7} + 9 +$VERSIONGUID + 2 +{FAEB1C32-E019-11D5-929B-00C0DF256EC4} + 9 +$EXTNAMES +290 + 1 + 9 +$PSVPSCALE + 40 +0.0 + 9 +$OLESTARTUP +290 + 0 + 9 +$SORTENTS +280 + 127 + 9 +$INDEXCTL +280 + 0 + 9 +$HIDETEXT +280 + 1 + 9 +$XCLIPFRAME +290 + 0 + 9 +$HALOGAP +280 + 0 + 9 +$OBSCOLOR + 70 + 257 + 9 +$OBSLTYPE +280 + 0 + 9 +$INTERSECTIONDISPLAY +280 + 0 + 9 +$INTERSECTIONCOLOR + 70 + 257 + 9 +$DIMASSOC +280 + 2 + 9 +$PROJECTNAME + 1 + + 9 +$CAMERADISPLAY +290 + 0 + 9 +$LENSLENGTH + 40 +50.0 + 9 +$CAMERAHEIGHT + 40 +0.0 + 9 +$STEPSPERSEC + 40 +2.0 + 9 +$STEPSIZE + 40 +6.0 + 9 +$3DDWFPREC + 40 +2.0 + 9 +$PSOLWIDTH + 40 +0.25 + 9 +$PSOLHEIGHT + 40 +4.0 + 9 +$LOFTANG1 + 40 +1.570796326794897 + 9 +$LOFTANG2 + 40 +1.570796326794897 + 9 +$LOFTMAG1 + 40 +0.0 + 9 +$LOFTMAG2 + 40 +0.0 + 9 +$LOFTPARAM + 70 + 7 + 9 +$LOFTNORMALS +280 + 1 + 9 +$LATITUDE + 40 +37.795 + 9 +$LONGITUDE + 40 +-122.394 + 9 +$NORTHDIRECTION + 40 +0.0 + 9 +$TIMEZONE + 70 + -8000 + 9 +$LIGHTGLYPHDISPLAY +280 + 1 + 9 +$TILEMODELIGHTSYNCH +280 + 1 + 9 +$SOLIDHIST +280 + 1 + 9 +$SHOWHIST +280 + 1 + 9 +$DWFFRAME +280 + 2 + 9 +$DGNFRAME +280 + 2 + 9 +$REALWORLDSCALE +290 + 1 + 9 +$INTERFERECOLOR + 62 + 256 + 9 +$CSHADOW +280 + 0 + 9 +$SHADOWPLANELOCATION + 40 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +CLASSES + 0 +CLASS + 1 +ACDBDICTIONARYWDFLT + 2 +AcDbDictionaryWithDefault + 3 +ObjectDBX Classes + 90 + 0 + 91 + 4 +280 + 0 +281 + 0 + 0 +CLASS + 1 +VISUALSTYLE + 2 +AcDbVisualStyle + 3 +ObjectDBX Classes + 90 + 4095 + 91 + 4 +280 + 0 +281 + 0 + 0 +CLASS + 1 +MATERIAL + 2 +AcDbMaterial + 3 +ObjectDBX Classes + 90 + 1153 + 91 + 4 +280 + 0 +281 + 0 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +VPORT + 5 +29 +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*Active + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +10.42990654205607 + 22 +4.5 + 13 +0.0 + 23 +0.0 + 14 +0.5 + 24 +0.5 + 15 +0.5 + 25 +0.5 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +9.0 + 41 +1.972972972850329 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 +281 + 0 + 65 + 1 +110 +0.0 +120 +0.0 +130 +0.0 +111 +1.0 +121 +0.0 +131 +0.0 +112 +0.0 +122 +1.0 +132 +0.0 + 79 + 0 +146 +0.0 + 60 + 3 + 61 + 5 +292 + 1 +282 + 1 +141 +0.0 +142 +0.0 + 63 + 250 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ByBlock + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ByLayer + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +Continuous + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +LAYER + 5 +10 +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 + 0 + 62 + 7 + 6 +Continuous +370 + -3 +390 +F +347 +3E + 0 +LAYER + 5 +40 +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Layer 1 + 70 + 0 + 62 + 7 + 6 +Continuous +370 + -3 +390 +F +347 +3E + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +Standard + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +0.2 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +APPID + 5 +3F +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ODA + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 +100 +AcDbDimStyleTable + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +Standard + 70 + 0 +178 + 0 +340 +11 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Model_Space +340 +22 + 70 + 0 +280 + 1 +281 + 0 + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Paper_Space +340 +1E + 70 + 0 +280 + 1 +281 + 0 + 0 +BLOCK_RECORD + 5 +23 +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Paper_Space0 +340 +26 + 70 + 0 +280 + 1 +281 + 0 + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*Model_Space + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Model_Space + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*Paper_Space + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Paper_Space + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +24 +330 +23 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*Paper_Space0 + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Paper_Space0 + 1 + + 0 +ENDBLK + 5 +25 +330 +23 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +SPLINE + 5 +41 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.82750393700787 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.82750393700787 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.07681496062992 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.41274015748031 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.60171653543307 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.244586614173228 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.165846456692913 + 30 +0.0 + 10 +12.93764173228347 + 20 +3.165846456692913 + 30 +0.0 + 10 +13.18695275590551 + 20 +3.165846456692913 + 30 +0.0 + 10 +13.18695275590551 + 20 +3.165846456692913 + 30 +0.0 + 10 +13.18695275590551 + 20 +3.165846456692913 + 30 +0.0 + 10 +13.18695275590551 + 20 +3.165846456692913 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.968996062992126 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.685531496062992 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.496555118110236 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.291830708661417 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.18695275590551 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.26569291338583 + 20 +2.102854330708662 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.898129921259843 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.709153543307087 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.504429133858268 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.315452755905512 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.26569291338583 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.18695275590551 + 20 +1.031988188976378 + 30 +0.0 + 10 +13.18695275590551 + 20 +0.8351377952755905 + 30 +0.0 + 10 +13.18695275590551 + 20 +0.8351377952755905 + 30 +0.0 + 10 +13.18695275590551 + 20 +0.8351377952755905 + 30 +0.0 + 10 +13.18695275590551 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.93764173228347 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.60171653543307 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.41274015748031 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.7563976377952756 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.8351377952755905 + 30 +0.0 + 10 +12.07681496062992 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.82750393700787 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.82750393700787 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.82750393700787 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.82750393700787 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.82750393700787 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.74876377952756 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.74876377952756 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.82750393700787 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.82750393700787 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.82750393700787 + 20 +3.165846456692913 + 30 +0.0 + 0 +SPLINE + 5 +42 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.13734645669291 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.13734645669291 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.38665748031496 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.72258267716535 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.244586614173228 + 30 +0.0 + 10 +10.91155905511811 + 20 +3.244586614173228 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.244586614173228 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.244586614173228 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.244586614173228 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.244586614173228 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.2474842519685 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.49679527559055 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.49679527559055 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.49679527559055 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.49679527559055 + 20 +3.165846456692913 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.968996062992126 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.685531496062992 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.496555118110236 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.291830708661417 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.49679527559055 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.57553543307087 + 20 +2.102854330708662 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.898129921259843 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.709153543307087 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.504429133858268 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.315452755905512 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.57553543307087 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.49679527559055 + 20 +1.031988188976378 + 30 +0.0 + 10 +11.49679527559055 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.49679527559055 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.49679527559055 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.49679527559055 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.8351377952755905 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.7563976377952756 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.7563976377952756 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.7563976377952756 + 30 +0.0 + 10 +11.2474842519685 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.91155905511811 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.72258267716535 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.7563976377952756 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.38665748031496 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.13734645669291 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.13734645669291 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.13734645669291 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.13734645669291 + 20 +0.8351377952755905 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.13734645669291 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0586062992126 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0586062992126 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.13734645669291 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.13734645669291 + 20 +3.165846456692913 + 30 +0.0 + 10 +10.13734645669291 + 20 +3.165846456692913 + 30 +0.0 + 0 +SPLINE + 5 +43 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.56790157480315 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.56790157480315 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.817212598425197 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.15313779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.342114173228346 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.244586614173228 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.678039370078741 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.927350393700788 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.927350393700788 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.927350393700788 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.927350393700788 + 20 +3.165846456692913 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.968996062992126 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.968996062992126 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.968996062992126 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.968996062992126 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.685531496062992 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.685531496062992 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.685531496062992 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.685531496062992 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.685531496062992 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.685531496062992 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.496555118110236 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.496555118110236 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.496555118110236 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.496555118110236 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.291830708661417 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.291830708661417 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.291830708661417 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.291830708661417 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.291830708661417 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.291830708661417 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.102854330708662 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.102854330708662 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.102854330708662 + 30 +0.0 + 10 +9.927350393700788 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0060905511811 + 20 +2.102854330708662 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.898129921259843 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.898129921259843 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.898129921259843 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.898129921259843 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.898129921259843 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.898129921259843 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.709153543307087 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.709153543307087 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.709153543307087 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.709153543307087 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.504429133858268 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.504429133858268 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.504429133858268 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.504429133858268 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.504429133858268 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.504429133858268 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.315452755905512 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.315452755905512 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.315452755905512 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.315452755905512 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.031988188976378 + 30 +0.0 + 10 +10.0060905511811 + 20 +1.031988188976378 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.031988188976378 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.031988188976378 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.031988188976378 + 30 +0.0 + 10 +9.927350393700788 + 20 +1.031988188976378 + 30 +0.0 + 10 +9.927350393700788 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.927350393700788 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.927350393700788 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.927350393700788 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.678039370078741 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.342114173228346 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.7563976377952756 + 30 +0.0 + 10 +9.15313779527559 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.817212598425197 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.56790157480315 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.56790157480315 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.56790157480315 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.56790157480315 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.56790157480315 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.489161417322835 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.489161417322835 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.56790157480315 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.56790157480315 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.56790157480315 + 20 +3.165846456692913 + 30 +0.0 + 0 +SPLINE + 5 +44 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 148 + 73 + 144 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.038066929133858 + 20 +-8.230397637795276 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.230397637795276 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.56632283464567 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.56632283464567 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.56632283464567 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.8865 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.8865 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.8865 + 30 +0.0 + 10 +7.959326771653544 + 20 +-8.8865 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.8865 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.8865 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.8865 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.8865 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.091224409448818 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.091224409448818 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.091224409448818 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.959326771653544 + 20 +-9.411401574803149 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.411401574803149 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.411401574803149 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.411401574803149 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.411401574803149 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.747326771653544 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.747326771653544 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.747326771653544 + 30 +0.0 + 10 +8.038066929133858 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.809720472440945 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.597122047244095 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.368775590551181 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.668586614173229 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.747326771653544 + 30 +0.0 + 10 +7.156177165354331 + 20 +-9.747326771653544 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.747326771653544 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.747326771653544 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.747326771653544 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.747326771653544 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.411401574803149 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.411401574803149 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.411401574803149 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.411401574803149 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.091224409448818 + 30 +0.0 + 10 +7.006570866141733 + 20 +-9.091224409448818 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.091224409448818 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.091224409448818 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.091224409448818 + 30 +0.0 + 10 +6.927830708661418 + 20 +-9.091224409448818 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.8865 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.8865 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.8865 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.8865 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.8865 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.8865 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.8865 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.8865 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.56632283464567 + 30 +0.0 + 10 +7.006570866141733 + 20 +-8.56632283464567 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.56632283464567 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.56632283464567 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.56632283464567 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.56632283464567 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.230397637795276 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.230397637795276 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.230397637795276 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.309137795275591 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.230397637795276 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.230397637795276 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.230397637795276 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.230397637795276 + 30 +0.0 + 0 +SPLINE + 5 +45 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 148 + 73 + 144 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.038066929133858 + 20 +-6.7115 + 30 +0.0 + 10 +8.038066929133858 + 20 +-6.7115 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.047425196850393 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.047425196850393 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.047425196850393 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.367602362204725 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.367602362204725 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.367602362204725 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.367602362204725 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.367602362204725 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.572326771653543 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.572326771653543 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.572326771653543 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.959326771653544 + 20 +-7.892503937007874 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.892503937007874 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.892503937007874 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.892503937007874 + 30 +0.0 + 10 +8.038066929133858 + 20 +-7.892503937007874 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.228429133858267 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.228429133858267 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.228429133858267 + 30 +0.0 + 10 +8.038066929133858 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.809720472440945 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.597122047244095 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.368775590551181 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.149688976377952 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.228429133858267 + 30 +0.0 + 10 +7.156177165354331 + 20 +-8.228429133858267 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.228429133858267 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.228429133858267 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.228429133858267 + 30 +0.0 + 10 +6.927830708661418 + 20 +-8.228429133858267 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.892503937007874 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.892503937007874 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.892503937007874 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.892503937007874 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.572326771653543 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.572326771653543 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.572326771653543 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.572326771653543 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.572326771653543 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.572326771653543 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.367602362204725 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.367602362204725 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.367602362204725 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.367602362204725 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.047425196850393 + 30 +0.0 + 10 +7.006570866141733 + 20 +-7.047425196850393 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.047425196850393 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.047425196850393 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.047425196850393 + 30 +0.0 + 10 +6.927830708661418 + 20 +-7.047425196850393 + 30 +0.0 + 10 +6.927830708661418 + 20 +-6.7115 + 30 +0.0 + 10 +6.927830708661418 + 20 +-6.7115 + 30 +0.0 + 10 +6.927830708661418 + 20 +-6.7115 + 30 +0.0 + 10 +6.927830708661418 + 20 +-6.7115 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.7115 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.7115 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.7115 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.7115 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.156177165354331 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.7115 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.7115 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.7115 + 30 +0.0 + 10 +7.368775590551181 + 20 +-6.7115 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.7115 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.7115 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.7115 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.7115 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.597122047244095 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.790240157480315 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.7115 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.7115 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.7115 + 30 +0.0 + 10 +7.809720472440945 + 20 +-6.7115 + 30 +0.0 + 10 +8.038066929133858 + 20 +-6.7115 + 30 +0.0 + 10 +8.038066929133858 + 20 +-6.7115 + 30 +0.0 + 0 +SPLINE + 5 +46 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.037177165354331 + 20 +-4.301145669291339 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.301145669291339 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.505870078740157 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.505870078740157 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.505870078740157 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.773586614173229 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.773586614173229 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.773586614173229 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.773586614173229 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.773586614173229 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.978311023622047 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.978311023622047 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.978311023622047 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.958437007874016 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.167287401574803 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.167287401574803 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.167287401574803 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.167287401574803 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.167287401574803 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.372011811023622 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.372011811023622 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.372011811023622 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.560988188976378 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.560988188976378 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.560988188976378 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.560988188976378 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.560988188976378 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.765712598425197 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.765712598425197 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.765712598425197 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.958437007874016 + 20 +-5.954688976377953 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.954688976377953 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.954688976377953 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.954688976377953 + 30 +0.0 + 10 +8.037177165354331 + 20 +-5.954688976377953 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.159413385826771 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.159413385826771 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.159413385826771 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.958437007874016 + 20 +-6.427129921259843 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.427129921259843 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.427129921259843 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.427129921259843 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.427129921259843 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.631854330708661 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.631854330708661 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.631854330708661 + 30 +0.0 + 10 +8.037177165354331 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.816704724409449 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.588358267716536 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.375759842519685 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.710594488188977 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.631854330708661 + 30 +0.0 + 10 +7.147413385826772 + 20 +-6.631854330708661 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.631854330708661 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.631854330708661 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.631854330708661 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.631854330708661 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.427129921259843 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.427129921259843 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.427129921259843 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.427129921259843 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.159413385826771 + 30 +0.0 + 10 +7.005681102362205 + 20 +-6.159413385826771 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.159413385826771 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.159413385826771 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.159413385826771 + 30 +0.0 + 10 +6.92694094488189 + 20 +-6.159413385826771 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.954688976377953 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.954688976377953 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.954688976377953 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.954688976377953 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.765712598425197 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.765712598425197 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.765712598425197 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.765712598425197 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.765712598425197 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.765712598425197 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.560988188976378 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.560988188976378 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.560988188976378 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.560988188976378 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.372011811023622 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.372011811023622 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.372011811023622 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.372011811023622 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.372011811023622 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.372011811023622 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.167287401574803 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.167287401574803 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.167287401574803 + 30 +0.0 + 10 +6.92694094488189 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.005681102362205 + 20 +-5.167287401574803 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.978311023622047 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.978311023622047 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.978311023622047 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.978311023622047 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.978311023622047 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.978311023622047 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.773586614173229 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.773586614173229 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.773586614173229 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.773586614173229 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.505870078740157 + 30 +0.0 + 10 +7.005681102362205 + 20 +-4.505870078740157 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.505870078740157 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.505870078740157 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.505870078740157 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.505870078740157 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.301145669291339 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.301145669291339 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.301145669291339 + 30 +0.0 + 10 +6.92694094488189 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.147413385826772 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.375759842519685 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.588358267716536 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.222405511811024 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.301145669291339 + 30 +0.0 + 10 +7.816704724409449 + 20 +-4.301145669291339 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.301145669291339 + 30 +0.0 + 10 +8.037177165354331 + 20 +-4.301145669291339 + 30 +0.0 + 0 +SPLINE + 5 +47 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.036937007874016 + 20 +-1.813220472440945 + 30 +0.0 + 10 +8.036937007874016 + 20 +-1.813220472440945 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.017944881889764 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.017944881889764 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.017944881889764 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.285661417322835 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.285661417322835 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.285661417322835 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.285661417322835 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.285661417322835 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.490385826771654 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.490385826771654 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.490385826771654 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.67936220472441 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.67936220472441 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.67936220472441 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.67936220472441 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.67936220472441 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.884086614173228 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.884086614173228 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.884086614173228 + 30 +0.0 + 10 +8.036937007874016 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.9581968503937 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.073062992125984 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.073062992125984 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.073062992125984 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.073062992125984 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.073062992125984 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.277787401574803 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.277787401574803 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.277787401574803 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.466763779527559 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.466763779527559 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.466763779527559 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.466763779527559 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.466763779527559 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.671488188976378 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.671488188976378 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.671488188976378 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.9581968503937 + 20 +-3.939204724409449 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.939204724409449 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.939204724409449 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.939204724409449 + 30 +0.0 + 10 +8.036937007874016 + 20 +-3.939204724409449 + 30 +0.0 + 10 +8.036937007874016 + 20 +-4.143929133858268 + 30 +0.0 + 10 +8.036937007874016 + 20 +-4.143929133858268 + 30 +0.0 + 10 +8.036937007874016 + 20 +-4.143929133858268 + 30 +0.0 + 10 +8.036937007874016 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.816464566929134 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.588118110236221 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.37551968503937 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.222669291338582 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.143929133858268 + 30 +0.0 + 10 +7.147173228346457 + 20 +-4.143929133858268 + 30 +0.0 + 10 +6.926700787401574 + 20 +-4.143929133858268 + 30 +0.0 + 10 +6.926700787401574 + 20 +-4.143929133858268 + 30 +0.0 + 10 +6.926700787401574 + 20 +-4.143929133858268 + 30 +0.0 + 10 +6.926700787401574 + 20 +-4.143929133858268 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.939204724409449 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.939204724409449 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.939204724409449 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.939204724409449 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.671488188976378 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.671488188976378 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.671488188976378 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.671488188976378 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.671488188976378 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.671488188976378 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.466763779527559 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.466763779527559 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.466763779527559 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.466763779527559 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.277787401574803 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.277787401574803 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.277787401574803 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.277787401574803 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.277787401574803 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.277787401574803 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.073062992125984 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.073062992125984 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.073062992125984 + 30 +0.0 + 10 +6.926700787401574 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.00544094488189 + 20 +-3.073062992125984 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.884086614173228 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.884086614173228 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.884086614173228 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.884086614173228 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.884086614173228 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.884086614173228 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.67936220472441 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.67936220472441 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.67936220472441 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.67936220472441 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.490385826771654 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.490385826771654 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.490385826771654 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.490385826771654 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.490385826771654 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.490385826771654 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.285661417322835 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.285661417322835 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.285661417322835 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.285661417322835 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.017944881889764 + 30 +0.0 + 10 +7.00544094488189 + 20 +-2.017944881889764 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.017944881889764 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.017944881889764 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.017944881889764 + 30 +0.0 + 10 +6.926700787401574 + 20 +-2.017944881889764 + 30 +0.0 + 10 +6.926700787401574 + 20 +-1.813220472440945 + 30 +0.0 + 10 +6.926700787401574 + 20 +-1.813220472440945 + 30 +0.0 + 10 +6.926700787401574 + 20 +-1.813220472440945 + 30 +0.0 + 10 +6.926700787401574 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.147173228346457 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.37551968503937 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.588118110236221 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.73448031496063 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.813220472440945 + 30 +0.0 + 10 +7.816464566929134 + 20 +-1.813220472440945 + 30 +0.0 + 10 +8.036937007874016 + 20 +-1.813220472440945 + 30 +0.0 + 10 +8.036937007874016 + 20 +-1.813220472440945 + 30 +0.0 + 0 +SPLINE + 5 +48 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.006185039370079 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.255496062992126 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.591421259842519 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.7544291338582677 + 30 +0.0 + 10 +7.780397637795276 + 20 +0.7544291338582677 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.7544291338582677 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.7544291338582677 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.7544291338582677 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.7544291338582677 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.11632283464567 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.6756889763779528 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.4788385826771653 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.1953740157480315 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.365633858267717 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.444374015748032 + 20 +0.0063976377952756 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.781003937007874 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.444374015748032 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.365633858267717 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.174704724409449 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.444374015748032 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.458169291338583 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.365633858267717 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.65501968503937 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.733759842519685 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.733759842519685 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.733759842519685 + 30 +0.0 + 10 +8.11632283464567 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.780397637795276 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.591421259842519 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.733759842519685 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.255496062992126 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.65501968503937 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.458169291338583 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.458169291338583 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.458169291338583 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.458169291338583 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.458169291338583 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.458169291338583 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.458169291338583 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.458169291338583 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.174704724409449 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.174704724409449 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.174704724409449 + 30 +0.0 + 10 +6.927444881889763 + 20 +-1.174704724409449 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.174704724409449 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.174704724409449 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.174704724409449 + 30 +0.0 + 10 +7.006185039370079 + 20 +-1.174704724409449 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.9857283464566929 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.781003937007874 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.781003937007874 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.781003937007874 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.781003937007874 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.781003937007874 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.781003937007874 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.781003937007874 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.781003937007874 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.5920275590551181 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.3873031496062992 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +7.006185039370079 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +6.927444881889763 + 20 +-0.1983267716535433 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.0063976377952756 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.0063976377952756 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.0063976377952756 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.0063976377952756 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.0063976377952756 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.0063976377952756 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.0063976377952756 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.0063976377952756 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.1953740157480315 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.1953740157480315 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.1953740157480315 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.1953740157480315 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.1953740157480315 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.1953740157480315 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.1953740157480315 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.1953740157480315 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.4788385826771653 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.4788385826771653 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.4788385826771653 + 30 +0.0 + 10 +6.927444881889763 + 20 +0.4788385826771653 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.4788385826771653 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.4788385826771653 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.4788385826771653 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.4788385826771653 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.6756889763779528 + 30 +0.0 + 10 +7.006185039370079 + 20 +0.6756889763779528 + 30 +0.0 + 0 +SPLINE + 5 +49 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 240 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.006263779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.006263779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.255574803149607 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.5915 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.5915 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.5915 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.5915 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.5915 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.5915 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.5915 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.5915 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.244586614173228 + 30 +0.0 + 10 +7.780476377952755 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.244586614173228 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.116401574803149 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.365712598425198 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.365712598425198 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.365712598425198 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.365712598425198 + 20 +3.165846456692913 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.968996062992126 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.685531496062992 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.496555118110236 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.291830708661417 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.365712598425198 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.444452755905512 + 20 +2.102854330708662 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.898129921259843 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.709153543307087 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.504429133858268 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.315452755905512 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.444452755905512 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.365712598425198 + 20 +1.031988188976378 + 30 +0.0 + 10 +8.365712598425198 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.365712598425198 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.365712598425198 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.365712598425198 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.8351377952755905 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.7563976377952756 + 30 +0.0 + 10 +8.116401574803149 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.780476377952755 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.5915 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.5915 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.5915 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.5915 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.5915 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.5915 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.5915 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.5915 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.7563976377952756 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.255574803149607 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.006263779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.006263779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.006263779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.006263779527559 + 20 +0.8351377952755905 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.031988188976378 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.031988188976378 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.031988188976378 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.031988188976378 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.031988188976378 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.031988188976378 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.031988188976378 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.031988188976378 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.315452755905512 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.315452755905512 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.315452755905512 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.315452755905512 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.315452755905512 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.315452755905512 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.315452755905512 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.315452755905512 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.504429133858268 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.504429133858268 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.504429133858268 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.504429133858268 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.504429133858268 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.504429133858268 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.504429133858268 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.504429133858268 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.709153543307087 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.709153543307087 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.709153543307087 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.709153543307087 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.709153543307087 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.709153543307087 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.709153543307087 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.709153543307087 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.898129921259843 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.898129921259843 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.898129921259843 + 30 +0.0 + 10 +7.006263779527559 + 20 +1.898129921259843 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.898129921259843 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.898129921259843 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.898129921259843 + 30 +0.0 + 10 +6.927523622047244 + 20 +1.898129921259843 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.102854330708662 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.102854330708662 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.102854330708662 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.102854330708662 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.102854330708662 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.102854330708662 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.102854330708662 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.102854330708662 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.291830708661417 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.291830708661417 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.291830708661417 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.291830708661417 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.291830708661417 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.291830708661417 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.291830708661417 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.291830708661417 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.496555118110236 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.496555118110236 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.496555118110236 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.496555118110236 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.496555118110236 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.496555118110236 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.496555118110236 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.496555118110236 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.685531496062992 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.685531496062992 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.685531496062992 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.685531496062992 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.685531496062992 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.685531496062992 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.685531496062992 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.685531496062992 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.968996062992126 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.968996062992126 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.968996062992126 + 30 +0.0 + 10 +6.927523622047244 + 20 +2.968996062992126 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.968996062992126 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.968996062992126 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.968996062992126 + 30 +0.0 + 10 +7.006263779527559 + 20 +2.968996062992126 + 30 +0.0 + 10 +7.006263779527559 + 20 +3.165846456692913 + 30 +0.0 + 10 +7.006263779527559 + 20 +3.165846456692913 + 30 +0.0 + 0 +ELLIPSE + 5 +4A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +0.8126692913385827 + 20 +2.113905511811024 + 30 +0.0 + 11 +0.0 + 21 +0.4035551181102362 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +4B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +-0.7567677165354331 + 20 +2.121787401574803 + 30 +0.0 + 11 +0.0 + 21 +0.1929173228346457 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +4C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +-2.315988188976378 + 20 +2.502011811023622 + 30 +0.0 + 11 +0.0 + 21 +0.453003937007874 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +4D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +0.305759842519685 + 20 +1.717251968503937 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +4E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +-0.7543385826771654 + 20 +1.717251968503937 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +SPLINE + 5 +4F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.996370078740157 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.996370078740157 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.741153543307087 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.411133858267716 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-2.22215748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.89213779527559 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.63692125984252 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.63692125984252 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.63692125984252 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.63692125984252 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.569992125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.63692125984252 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.63692125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.569992125984252 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.569992125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.569992125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.569992125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.569992125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.63692125984252 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.89213779527559 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.22215748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.411133858267716 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.741153543307087 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +-2.996370078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +-3.063299212598425 + 20 +0.907267716535433 + 30 +0.0 + 10 +-3.063299212598425 + 20 +0.907267716535433 + 30 +0.0 + 10 +-3.063299212598425 + 20 +0.907267716535433 + 30 +0.0 + 10 +-3.063299212598425 + 20 +0.907267716535433 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.184826771653543 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.184826771653543 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.184826771653543 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.184826771653543 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.373803149606299 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.373803149606299 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.373803149606299 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.373803149606299 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.578527559055118 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.578527559055118 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.578527559055118 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.578527559055118 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.767503937007874 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.767503937007874 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.767503937007874 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.767503937007874 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.972228346456693 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.972228346456693 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.972228346456693 + 30 +0.0 + 10 +-3.063299212598425 + 20 +1.972228346456693 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +-2.996370078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.161204724409449 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.161204724409449 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.161204724409449 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.161204724409449 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.365929133858268 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.365929133858268 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.365929133858268 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.365929133858268 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.554905511811024 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.554905511811024 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.554905511811024 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.554905511811024 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.832464566929134 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.832464566929134 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.832464566929134 + 30 +0.0 + 10 +-3.063299212598425 + 20 +2.832464566929134 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +-2.996370078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +-2.996370078740157 + 20 +3.035220472440945 + 30 +0.0 + 10 +-2.996370078740157 + 20 +3.035220472440945 + 30 +0.0 + 0 +SPLINE + 5 +50 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.477330708661417 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.562590551181102 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.562590551181102 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.562590551181102 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.562590551181102 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.60292125984252 + 20 +-4.72692125984252 + 30 +0.0 + 10 +-2.60292125984252 + 20 +-4.72692125984252 + 30 +0.0 + 10 +-2.60292125984252 + 20 +-4.72692125984252 + 30 +0.0 + 10 +-2.60292125984252 + 20 +-4.72692125984252 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.72638188976378 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.72638188976378 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.72638188976378 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.72638188976378 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.995547244094488 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.995547244094488 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.995547244094488 + 30 +0.0 + 10 +-2.647850393700788 + 20 +-4.995547244094488 + 30 +0.0 + 10 +-2.601503937007874 + 20 +-4.995681102362204 + 30 +0.0 + 10 +-2.601503937007874 + 20 +-4.995681102362204 + 30 +0.0 + 10 +-2.601503937007874 + 20 +-4.995681102362204 + 30 +0.0 + 10 +-2.601503937007874 + 20 +-4.995681102362204 + 30 +0.0 + 10 +-2.564846456692913 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.564846456692913 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.564846456692913 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.564846456692913 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-5.015090551181102 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.862244094488189 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.862244094488189 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.862244094488189 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.862244094488189 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.709397637795275 + 30 +0.0 + 10 +-2.477330708661417 + 20 +-4.709397637795275 + 30 +0.0 + 0 +SPLINE + 5 +51 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.483271653543307 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.037377952755905 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 10 +-2.593507874015748 + 20 +-6.235204724409448 + 30 +0.0 + 0 +SPLINE + 5 +52 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 148 + 73 + 144 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.068897637795275 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.404330708661417 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.66742125984252 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.981692913385826 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.186417322834645 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.500688976377953 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.763779527559056 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.830708661417322 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-9.830708661417322 + 30 +0.0 + 0 +SPLINE + 5 +53 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 148 + 73 + 144 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.027027027027027 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0540540540540541 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.0810810810810811 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1081081081081081 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1351351351351351 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1621621621621622 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.1891891891891892 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2162162162162162 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2432432432432433 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2702702702702703 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.2972972972972973 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3243243243243243 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3513513513513514 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.3783783783783784 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4054054054054054 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4324324324324325 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4594594594594595 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.4864864864864865 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5135135135135135 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5405405405405406 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5675675675675675 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.5945945945945946 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6216216216216216 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6486486486486487 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.6756756756756757 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7027027027027027 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7297297297297297 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7567567567567568 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.7837837837837838 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8108108108108109 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8378378378378378 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8648648648648649 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.8918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.918918918918919 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +0.9459459459459459 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.001968503937008 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.911023622047244 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-6.844094488188976 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.174114173228347 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.488385826771654 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-7.693110236220472 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-2.049212598425197 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.00738188976378 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-1.982283464566929 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.205905511811024 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.413779527559055 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.63740157480315 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.270472440944882 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-2.845275590551181 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 10 +-3.068897637795275 + 20 +-8.337401574803149 + 30 +0.0 + 0 +SPLINE + 5 +54 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.514803149606299 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.514803149606299 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.514791338582677 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.514791338582677 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.514791338582677 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.505169291338583 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.618755905511811 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.609129921259842 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.609129921259842 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.609129921259842 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.19546062992126 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.19546062992126 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.19546062992126 + 30 +0.0 + 10 +-2.497295275590551 + 20 +-2.185834645669291 + 30 +0.0 + 10 +-2.505169291338583 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.514791338582677 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.514791338582677 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.514791338582677 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.514803149606299 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.514803149606299 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.514803149606299 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.524425196850394 + 20 +-2.177964566929134 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.185834645669291 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.19546062992126 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.19546062992126 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.19546062992126 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.609129921259842 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.609129921259842 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.609129921259842 + 30 +0.0 + 10 +-2.532295275590551 + 20 +-2.618755905511811 + 30 +0.0 + 10 +-2.524425196850394 + 20 +-2.626625984251969 + 30 +0.0 + 10 +-2.514803149606299 + 20 +-2.626625984251969 + 30 +0.0 + 0 +SPLINE + 5 +55 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.596996062992126 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.596996062992126 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.596984251968504 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.596984251968504 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.596984251968504 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.58736220472441 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.569633858267717 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.579488188976378 + 20 +-2.234956692913386 + 30 +0.0 + 10 +-2.58736220472441 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.596984251968504 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.596984251968504 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.596984251968504 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.596996062992126 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.596996062992126 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.596996062992126 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.60661811023622 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.234956692913386 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.614488188976378 + 20 +-2.569633858267717 + 30 +0.0 + 10 +-2.60661811023622 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.596996062992126 + 20 +-2.577503937007874 + 30 +0.0 + 0 +SPLINE + 5 +56 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.427688976377953 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.427688976377953 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.427677165354331 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.427677165354331 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.427677165354331 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.418055118110236 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.569633858267717 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.410181102362205 + 20 +-2.234956692913386 + 30 +0.0 + 10 +-2.418055118110236 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.427677165354331 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.427677165354331 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.427677165354331 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.427688976377953 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.427688976377953 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.427688976377953 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.437311023622047 + 20 +-2.227082677165354 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.234956692913386 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.244582677165354 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.560007874015748 + 30 +0.0 + 10 +-2.445181102362205 + 20 +-2.569633858267717 + 30 +0.0 + 10 +-2.437311023622047 + 20 +-2.577503937007874 + 30 +0.0 + 10 +-2.427688976377953 + 20 +-2.577503937007874 + 30 +0.0 + 0 +SPLINE + 5 +57 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.348669291338583 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.348669291338583 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.34865748031496 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.34865748031496 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.34865748031496 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.339035433070866 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.50211811023622 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.331161417322835 + 20 +-2.302472440944882 + 30 +0.0 + 10 +-2.339035433070866 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.34865748031496 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.34865748031496 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.34865748031496 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.348669291338583 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.348669291338583 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.348669291338583 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.358291338582677 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.302472440944882 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.366161417322834 + 20 +-2.50211811023622 + 30 +0.0 + 10 +-2.358291338582677 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.348669291338583 + 20 +-2.509988188976378 + 30 +0.0 + 0 +SPLINE + 5 +58 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.680338582677166 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.680338582677166 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.680326771653543 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.680326771653543 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.680326771653543 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.670704724409449 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.50211811023622 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.662830708661417 + 20 +-2.302472440944882 + 30 +0.0 + 10 +-2.670704724409449 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.680326771653543 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.680326771653543 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.680326771653543 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.680338582677166 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.680338582677166 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.680338582677166 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.68996062992126 + 20 +-2.294602362204724 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.302472440944882 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.31209842519685 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.492492125984252 + 30 +0.0 + 10 +-2.697830708661417 + 20 +-2.50211811023622 + 30 +0.0 + 10 +-2.68996062992126 + 20 +-2.509988188976378 + 30 +0.0 + 10 +-2.680338582677166 + 20 +-2.509988188976378 + 30 +0.0 + 0 +SPLINE + 5 +59 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.064122047244095 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.997192913385827 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.87298031496063 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-1.939909448818898 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.15053937007874 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.412350393700788 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.617074803149606 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-2.806051181102362 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.010775590551181 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.199751968503937 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.404476377952756 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.593452755905512 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-3.798177165354331 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-2.044437007874016 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.059988188976378 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-1.977507874015748 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.193255905511811 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.416877952755906 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.624751968503937 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.337547244094488 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-2.848374015748032 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.270618110236221 + 30 +0.0 + 10 +-3.064122047244095 + 20 +-4.270618110236221 + 30 +0.0 + 0 +SPLINE + 5 +5A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.061913385826772 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.105 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.105 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.105 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-5.105 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.105 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.105 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.105 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-5.105 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.994984251968504 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.360905511811024 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.427834645669291 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.638464566929134 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-4.900275590551181 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.105 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.105 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.105 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.105 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.105 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.105 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.105 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.105 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.293976377952756 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.498700787401575 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.687677165354331 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-5.89240157480315 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.081377952755905 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.286102362204725 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-2.042228346456693 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.547913385826772 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-1.975299212598425 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.191047244094488 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.414669291338583 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.622543307086614 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.825472440944882 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-2.846165354330709 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.758543307086614 + 30 +0.0 + 10 +-3.061913385826772 + 20 +-6.758543307086614 + 30 +0.0 + 0 +SPLINE + 5 +5B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.638736220472441 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-1.680807086614173 + 20 +-1.160051181102362 + 30 +0.0 + 0 +SPLINE + 5 +5C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.998417322834646 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.743200787401575 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.413181102362205 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.611992125984252 + 30 +0.0 + 10 +-2.224204724409449 + 20 +0.611992125984252 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.611992125984252 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.611992125984252 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.611992125984252 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.611992125984252 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.894185039370079 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.57203937007874 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.638968503937008 + 20 +0.064748031496063 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.57203937007874 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.638968503937008 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-1.894185039370079 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.224204724409449 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.413181102362205 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.852574803149606 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.743200787401575 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.785645669291338 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.582889763779528 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.305330708661417 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-1.116354330708661 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.9116299212598425 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.7226535433070866 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.5179291338582677 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.3289527559055118 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-3.065346456692913 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-2.998417322834646 + 20 +-0.1242283464566929 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.064748031496063 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.064748031496063 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.064748031496063 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.064748031496063 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.064748031496063 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.064748031496063 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.064748031496063 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.064748031496063 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-3.065346456692913 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.3423070866141733 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.5450629921259843 + 30 +0.0 + 10 +-2.998417322834646 + 20 +0.5450629921259843 + 30 +0.0 + 0 +SPLINE + 5 +5D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.957692913385827 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.116271653543307 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 10 +-2.999763779527559 + 20 +-1.160051181102362 + 30 +0.0 + 0 +SPLINE + 5 +5E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.434732283464567 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.434732283464567 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-1.179515748031496 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.849496062992126 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.3305 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.3305 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.3305 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.3305 + 20 +3.102149606299212 + 30 +0.0 + 10 +-0.3305 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.3305 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.3305 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.3305 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +3.035220472440945 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.832464566929134 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.365929133858268 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.972228346456693 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.578527559055118 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +1.184826771653543 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0083543307086614 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.0752834645669291 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.3305 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.3305 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.3305 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.3305 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.3305 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.3305 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.3305 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.3305 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.6605196850393701 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.704511811023622 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-0.849496062992126 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.6375826771653543 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.179515748031496 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.704511811023622 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.434732283464567 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.501661417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.501661417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.501661417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.501661417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.184826771653543 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.578527559055118 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.501661417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.434732283464567 + 20 +1.972228346456693 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.365929133858268 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.501661417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.434732283464567 + 20 +2.832464566929134 + 30 +0.0 + 10 +-1.434732283464567 + 20 +3.035220472440945 + 30 +0.0 + 10 +-1.434732283464567 + 20 +3.035220472440945 + 30 +0.0 + 0 +SPLINE + 5 +5F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.1347125984251968 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.1347125984251968 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.3899291338582677 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.7199488188976378 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.102149606299212 + 30 +0.0 + 10 +0.9089251968503937 + 20 +3.102149606299212 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.102149606299212 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.102149606299212 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.102149606299212 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.102149606299212 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.238944881889764 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.494161417322835 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.494161417322835 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.494161417322835 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.494161417322835 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.561090551181102 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.494161417322835 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.494161417322835 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.561090551181102 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.561090551181102 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.561090551181102 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.561090551181102 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.561090551181102 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.494161417322835 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.6375826771653543 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.6375826771653543 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.6375826771653543 + 30 +0.0 + 10 +1.238944881889764 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.9089251968503937 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.7199488188976378 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.6375826771653543 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.3899291338582677 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.704511811023622 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.1347125984251968 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.0677834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.0677834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.0677834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.0677834645669291 + 20 +0.907267716535433 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.184826771653543 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.373803149606299 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.578527559055118 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.767503937007874 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.0677834645669291 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.1347125984251968 + 20 +1.972228346456693 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.161204724409449 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.365929133858268 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.554905511811024 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.0677834645669291 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.1347125984251968 + 20 +2.832464566929134 + 30 +0.0 + 10 +0.1347125984251968 + 20 +3.035220472440945 + 30 +0.0 + 10 +0.1347125984251968 + 20 +3.035220472440945 + 30 +0.0 + 0 +ELLIPSE + 5 +60 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +-2.487318897637795 + 20 +-5.539645669291339 + 30 +0.0 + 11 +0.0 + 21 +0.075 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +61 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +-2.315976377952756 + 20 +1.717251968503937 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +SPLINE + 5 +62 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.395933070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.395933070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.395933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.395933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.395933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.395933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.234933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.234933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.234933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.234933070866142 + 20 +4.020370078740157 + 30 +0.0 + 10 +-1.234933070866142 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.234933070866142 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.234933070866142 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.234933070866142 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.992204724409449 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.918314960629921 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.252377952755906 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.890149606299213 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.364322834645669 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.395933070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.395933070866142 + 20 +3.781759842519685 + 30 +0.0 + 0 +SPLINE + 5 +63 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.084877952755906 + 20 +3.803094488188977 + 30 +0.0 + 10 +-1.095767716535433 + 20 +3.793870078740158 + 30 +0.0 + 10 +-1.106212598425197 + 20 +3.787370078740158 + 30 +0.0 + 10 +-1.116212598425197 + 20 +3.78353937007874 + 30 +0.0 + 10 +-1.116212598425197 + 20 +3.78353937007874 + 30 +0.0 + 10 +-1.126267716535433 + 20 +3.779759842519685 + 30 +0.0 + 10 +-1.137047244094488 + 20 +3.777870078740158 + 30 +0.0 + 10 +-1.148547244094488 + 20 +3.777870078740158 + 30 +0.0 + 10 +-1.148547244094488 + 20 +3.777870078740158 + 30 +0.0 + 10 +-1.167547244094488 + 20 +3.777870078740158 + 30 +0.0 + 10 +-1.182102362204724 + 20 +3.78248031496063 + 30 +0.0 + 10 +-1.192322834645669 + 20 +3.791759842519685 + 30 +0.0 + 10 +-1.192322834645669 + 20 +3.791759842519685 + 30 +0.0 + 10 +-1.202492125984252 + 20 +3.80103937007874 + 30 +0.0 + 10 +-1.207602362204724 + 20 +3.812925196850394 + 30 +0.0 + 10 +-1.207602362204724 + 20 +3.827314960629921 + 30 +0.0 + 10 +-1.207602362204724 + 20 +3.827314960629921 + 30 +0.0 + 10 +-1.207602362204724 + 20 +3.835814960629921 + 30 +0.0 + 10 +-1.205712598425197 + 20 +3.84353937007874 + 30 +0.0 + 10 +-1.201822834645669 + 20 +3.85053937007874 + 30 +0.0 + 10 +-1.201822834645669 + 20 +3.85053937007874 + 30 +0.0 + 10 +-1.197992125984252 + 20 +3.85753937007874 + 30 +0.0 + 10 +-1.192937007874016 + 20 +3.863149606299213 + 30 +0.0 + 10 +-1.186712598425197 + 20 +3.867370078740158 + 30 +0.0 + 10 +-1.186712598425197 + 20 +3.867370078740158 + 30 +0.0 + 10 +-1.180437007874016 + 20 +3.871594488188976 + 30 +0.0 + 10 +-1.173437007874016 + 20 +3.874814960629921 + 30 +0.0 + 10 +-1.165602362204724 + 20 +3.876984251968504 + 30 +0.0 + 10 +-1.165602362204724 + 20 +3.876984251968504 + 30 +0.0 + 10 +-1.159877952755906 + 20 +3.878484251968504 + 30 +0.0 + 10 +-1.151212598425197 + 20 +3.879984251968504 + 30 +0.0 + 10 +-1.139602362204724 + 20 +3.881370078740157 + 30 +0.0 + 10 +-1.139602362204724 + 20 +3.881370078740157 + 30 +0.0 + 10 +-1.115933070866142 + 20 +3.884204724409449 + 30 +0.0 + 10 +-1.098492125984252 + 20 +3.88753937007874 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.891484251968504 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.891484251968504 + 30 +0.0 + 10 +-1.087212598425197 + 20 +3.895484251968504 + 30 +0.0 + 10 +-1.087157480314961 + 20 +3.89803937007874 + 30 +0.0 + 10 +-1.087157480314961 + 20 +3.899094488188976 + 30 +0.0 + 10 +-1.087157480314961 + 20 +3.899094488188976 + 30 +0.0 + 10 +-1.087157480314961 + 20 +3.91103937007874 + 30 +0.0 + 10 +-1.089933070866142 + 20 +3.919484251968504 + 30 +0.0 + 10 +-1.095492125984252 + 20 +3.924314960629921 + 30 +0.0 + 10 +-1.095492125984252 + 20 +3.924314960629921 + 30 +0.0 + 10 +-1.102933070866142 + 20 +3.930984251968504 + 30 +0.0 + 10 +-1.114102362204724 + 20 +3.934259842519685 + 30 +0.0 + 10 +-1.128822834645669 + 20 +3.934259842519685 + 30 +0.0 + 10 +-1.128822834645669 + 20 +3.934259842519685 + 30 +0.0 + 10 +-1.142602362204724 + 20 +3.934259842519685 + 30 +0.0 + 10 +-1.152767716535433 + 20 +3.931870078740157 + 30 +0.0 + 10 +-1.159377952755906 + 20 +3.92703937007874 + 30 +0.0 + 10 +-1.159377952755906 + 20 +3.92703937007874 + 30 +0.0 + 10 +-1.165937007874016 + 20 +3.922204724409449 + 30 +0.0 + 10 +-1.170767716535433 + 20 +3.913649606299213 + 30 +0.0 + 10 +-1.173937007874016 + 20 +3.901370078740158 + 30 +0.0 + 10 +-1.173937007874016 + 20 +3.901370078740158 + 30 +0.0 + 10 +-1.173937007874016 + 20 +3.901370078740158 + 30 +0.0 + 10 +-1.202547244094488 + 20 +3.905314960629921 + 30 +0.0 + 10 +-1.202547244094488 + 20 +3.905314960629921 + 30 +0.0 + 10 +-1.202547244094488 + 20 +3.905314960629921 + 30 +0.0 + 10 +-1.199937007874016 + 20 +3.91753937007874 + 30 +0.0 + 10 +-1.195657480314961 + 20 +3.927484251968504 + 30 +0.0 + 10 +-1.189712598425197 + 20 +3.934984251968504 + 30 +0.0 + 10 +-1.189712598425197 + 20 +3.934984251968504 + 30 +0.0 + 10 +-1.183767716535433 + 20 +3.94253937007874 + 30 +0.0 + 10 +-1.175102362204724 + 20 +3.948370078740158 + 30 +0.0 + 10 +-1.163822834645669 + 20 +3.952429133858268 + 30 +0.0 + 10 +-1.163822834645669 + 20 +3.952429133858268 + 30 +0.0 + 10 +-1.152547244094488 + 20 +3.956484251968504 + 30 +0.0 + 10 +-1.139492125984252 + 20 +3.95853937007874 + 30 +0.0 + 10 +-1.124602362204724 + 20 +3.95853937007874 + 30 +0.0 + 10 +-1.124602362204724 + 20 +3.95853937007874 + 30 +0.0 + 10 +-1.109822834645669 + 20 +3.95853937007874 + 30 +0.0 + 10 +-1.097877952755905 + 20 +3.956759842519685 + 30 +0.0 + 10 +-1.088657480314961 + 20 +3.953314960629921 + 30 +0.0 + 10 +-1.088657480314961 + 20 +3.953314960629921 + 30 +0.0 + 10 +-1.079433070866142 + 20 +3.949814960629921 + 30 +0.0 + 10 +-1.072657480314961 + 20 +3.945484251968504 + 30 +0.0 + 10 +-1.068267716535433 + 20 +3.940204724409449 + 30 +0.0 + 10 +-1.068267716535433 + 20 +3.940204724409449 + 30 +0.0 + 10 +-1.063933070866142 + 20 +3.934925196850394 + 30 +0.0 + 10 +-1.060933070866142 + 20 +3.928314960629921 + 30 +0.0 + 10 +-1.059157480314961 + 20 +3.920259842519685 + 30 +0.0 + 10 +-1.059157480314961 + 20 +3.920259842519685 + 30 +0.0 + 10 +-1.058212598425197 + 20 +3.915259842519685 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.906259842519685 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.893259842519685 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.893259842519685 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.893259842519685 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.854204724409449 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.854204724409449 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.854204724409449 + 30 +0.0 + 10 +-1.057712598425197 + 20 +3.826925196850394 + 30 +0.0 + 10 +-1.057102362204724 + 20 +3.809704724409449 + 30 +0.0 + 10 +-1.055822834645669 + 20 +3.80253937007874 + 30 +0.0 + 10 +-1.055822834645669 + 20 +3.80253937007874 + 30 +0.0 + 10 +-1.054602362204724 + 20 +3.795314960629921 + 30 +0.0 + 10 +-1.052102362204724 + 20 +3.788370078740158 + 30 +0.0 + 10 +-1.048433070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.048433070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.048433070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.079047244094488 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.079047244094488 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.079047244094488 + 20 +3.781759842519685 + 30 +0.0 + 10 +-1.082047244094488 + 20 +3.787814960629921 + 30 +0.0 + 10 +-1.084047244094488 + 20 +3.794925196850394 + 30 +0.0 + 10 +-1.084877952755906 + 20 +3.803094488188977 + 30 +0.0 + 0 +SPLINE + 5 +64 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.087322834645669 + 20 +3.86853937007874 + 30 +0.0 + 10 +-1.097992125984252 + 20 +3.864149606299212 + 30 +0.0 + 10 +-1.113933070866142 + 20 +3.860484251968504 + 30 +0.0 + 10 +-1.135157480314961 + 20 +3.857425196850394 + 30 +0.0 + 10 +-1.135157480314961 + 20 +3.857425196850394 + 30 +0.0 + 10 +-1.147212598425197 + 20 +3.855704724409449 + 30 +0.0 + 10 +-1.155767716535433 + 20 +3.853759842519685 + 30 +0.0 + 10 +-1.160712598425197 + 20 +3.851594488188976 + 30 +0.0 + 10 +-1.160712598425197 + 20 +3.851594488188976 + 30 +0.0 + 10 +-1.165712598425197 + 20 +3.849425196850394 + 30 +0.0 + 10 +-1.169602362204724 + 20 +3.846259842519685 + 30 +0.0 + 10 +-1.172267716535433 + 20 +3.84203937007874 + 30 +0.0 + 10 +-1.172267716535433 + 20 +3.84203937007874 + 30 +0.0 + 10 +-1.174992125984252 + 20 +3.837870078740158 + 30 +0.0 + 10 +-1.176377952755906 + 20 +3.833259842519685 + 30 +0.0 + 10 +-1.176377952755906 + 20 +3.828149606299212 + 30 +0.0 + 10 +-1.176377952755906 + 20 +3.828149606299212 + 30 +0.0 + 10 +-1.176377952755906 + 20 +3.820314960629921 + 30 +0.0 + 10 +-1.173377952755906 + 20 +3.813814960629921 + 30 +0.0 + 10 +-1.167492125984252 + 20 +3.808594488188976 + 30 +0.0 + 10 +-1.167492125984252 + 20 +3.808594488188976 + 30 +0.0 + 10 +-1.161602362204724 + 20 +3.803425196850394 + 30 +0.0 + 10 +-1.152933070866142 + 20 +3.800814960629921 + 30 +0.0 + 10 +-1.141547244094488 + 20 +3.800814960629921 + 30 +0.0 + 10 +-1.141547244094488 + 20 +3.800814960629921 + 30 +0.0 + 10 +-1.130267716535433 + 20 +3.800814960629921 + 30 +0.0 + 10 +-1.120212598425197 + 20 +3.803259842519685 + 30 +0.0 + 10 +-1.111433070866142 + 20 +3.808204724409449 + 30 +0.0 + 10 +-1.111433070866142 + 20 +3.808204724409449 + 30 +0.0 + 10 +-1.102657480314961 + 20 +3.813149606299213 + 30 +0.0 + 10 +-1.096157480314961 + 20 +3.819925196850394 + 30 +0.0 + 10 +-1.092047244094488 + 20 +3.82848031496063 + 30 +0.0 + 10 +-1.092047244094488 + 20 +3.82848031496063 + 30 +0.0 + 10 +-1.088877952755906 + 20 +3.835094488188977 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.844870078740157 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.857759842519685 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.857759842519685 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.857759842519685 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.86853937007874 + 30 +0.0 + 10 +-1.087322834645669 + 20 +3.86853937007874 + 30 +0.0 + 0 +SPLINE + 5 +65 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.899488188976378 + 20 +3.845094488188976 + 30 +0.0 + 10 +-0.899488188976378 + 20 +3.845094488188976 + 30 +0.0 + 10 +-0.8707125984251969 + 20 +3.841314960629921 + 30 +0.0 + 10 +-0.8707125984251969 + 20 +3.841314960629921 + 30 +0.0 + 10 +-0.8707125984251969 + 20 +3.841314960629921 + 30 +0.0 + 10 +-0.8738228346456693 + 20 +3.82148031496063 + 30 +0.0 + 10 +-0.8818779527559055 + 20 +3.805925196850394 + 30 +0.0 + 10 +-0.8948779527559055 + 20 +3.794704724409449 + 30 +0.0 + 10 +-0.8948779527559055 + 20 +3.794704724409449 + 30 +0.0 + 10 +-0.9078228346456693 + 20 +3.78348031496063 + 30 +0.0 + 10 +-0.9237677165354331 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.9426574803149607 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.9426574803149607 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.9662677165354331 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.9853228346456693 + 20 +3.785594488188976 + 30 +0.0 + 10 +-0.9996574803149606 + 20 +3.80103937007874 + 30 +0.0 + 10 +-0.9996574803149606 + 20 +3.80103937007874 + 30 +0.0 + 10 +-1.014047244094488 + 20 +3.81648031496063 + 30 +0.0 + 10 +-1.021267716535433 + 20 +3.838649606299213 + 30 +0.0 + 10 +-1.021267716535433 + 20 +3.86753937007874 + 30 +0.0 + 10 +-1.021267716535433 + 20 +3.86753937007874 + 30 +0.0 + 10 +-1.021267716535433 + 20 +3.886204724409449 + 30 +0.0 + 10 +-1.018157480314961 + 20 +3.90253937007874 + 30 +0.0 + 10 +-1.011988188976378 + 20 +3.91653937007874 + 30 +0.0 + 10 +-1.011988188976378 + 20 +3.91653937007874 + 30 +0.0 + 10 +-1.005767716535433 + 20 +3.93053937007874 + 30 +0.0 + 10 +-0.9963779527559055 + 20 +3.94103937007874 + 30 +0.0 + 10 +-0.9837125984251969 + 20 +3.94803937007874 + 30 +0.0 + 10 +-0.9837125984251969 + 20 +3.94803937007874 + 30 +0.0 + 10 +-0.9711023622047245 + 20 +3.95503937007874 + 30 +0.0 + 10 +-0.9573228346456693 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.942488188976378 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.942488188976378 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.9237125984251968 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.9083228346456693 + 20 +3.953759842519685 + 30 +0.0 + 10 +-0.8964330708661418 + 20 +3.944259842519685 + 30 +0.0 + 10 +-0.8964330708661418 + 20 +3.944259842519685 + 30 +0.0 + 10 +-0.8844881889763779 + 20 +3.934759842519685 + 30 +0.0 + 10 +-0.8768228346456693 + 20 +3.921314960629921 + 30 +0.0 + 10 +-0.8734330708661417 + 20 +3.903814960629921 + 30 +0.0 + 10 +-0.8734330708661417 + 20 +3.903814960629921 + 30 +0.0 + 10 +-0.8734330708661417 + 20 +3.903814960629921 + 30 +0.0 + 10 +-0.9019330708661417 + 20 +3.899425196850394 + 30 +0.0 + 10 +-0.9019330708661417 + 20 +3.899425196850394 + 30 +0.0 + 10 +-0.9019330708661417 + 20 +3.899425196850394 + 30 +0.0 + 10 +-0.9046574803149606 + 20 +3.91103937007874 + 30 +0.0 + 10 +-0.9094330708661418 + 20 +3.919759842519685 + 30 +0.0 + 10 +-0.9163228346456693 + 20 +3.925649606299213 + 30 +0.0 + 10 +-0.9163228346456693 + 20 +3.925649606299213 + 30 +0.0 + 10 +-0.9232125984251969 + 20 +3.931484251968504 + 30 +0.0 + 10 +-0.9315433070866141 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.9413228346456692 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.9413228346456692 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.9561023622047244 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.9681023622047245 + 20 +3.929149606299212 + 30 +0.0 + 10 +-0.9773228346456693 + 20 +3.91853937007874 + 30 +0.0 + 10 +-0.9773228346456693 + 20 +3.91853937007874 + 30 +0.0 + 10 +-0.9865472440944882 + 20 +3.907984251968504 + 30 +0.0 + 10 +-0.9911574803149606 + 20 +3.891259842519685 + 30 +0.0 + 10 +-0.9911574803149606 + 20 +3.868370078740158 + 30 +0.0 + 10 +-0.9911574803149606 + 20 +3.868370078740158 + 30 +0.0 + 10 +-0.9911574803149606 + 20 +3.845149606299213 + 30 +0.0 + 10 +-0.9867125984251969 + 20 +3.828259842519685 + 30 +0.0 + 10 +-0.977767716535433 + 20 +3.817704724409449 + 30 +0.0 + 10 +-0.977767716535433 + 20 +3.817704724409449 + 30 +0.0 + 10 +-0.9688779527559055 + 20 +3.807204724409449 + 30 +0.0 + 10 +-0.9572677165354331 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.9429330708661418 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.9429330708661418 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.9314330708661417 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.9218779527559056 + 20 +3.80548031496063 + 30 +0.0 + 10 +-0.9141574803149606 + 20 +3.81253937007874 + 30 +0.0 + 10 +-0.9141574803149606 + 20 +3.81253937007874 + 30 +0.0 + 10 +-0.9064330708661418 + 20 +3.819594488188976 + 30 +0.0 + 10 +-0.9015433070866141 + 20 +3.830425196850394 + 30 +0.0 + 10 +-0.899488188976378 + 20 +3.845094488188976 + 30 +0.0 + 0 +SPLINE + 5 +66 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7273188976377952 + 20 +3.837425196850394 + 30 +0.0 + 10 +-0.7273188976377952 + 20 +3.837425196850394 + 30 +0.0 + 10 +-0.6970433070866142 + 20 +3.833704724409449 + 30 +0.0 + 10 +-0.6970433070866142 + 20 +3.833704724409449 + 30 +0.0 + 10 +-0.6970433070866142 + 20 +3.833704724409449 + 30 +0.0 + 10 +-0.7018188976377953 + 20 +3.81598031496063 + 30 +0.0 + 10 +-0.7106535433070866 + 20 +3.802259842519685 + 30 +0.0 + 10 +-0.7235433070866142 + 20 +3.79248031496063 + 30 +0.0 + 10 +-0.7235433070866142 + 20 +3.79248031496063 + 30 +0.0 + 10 +-0.7364881889763779 + 20 +3.782759842519685 + 30 +0.0 + 10 +-0.752988188976378 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.7730433070866142 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.7730433070866142 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.7983188976377953 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.8183779527559055 + 20 +3.785649606299212 + 30 +0.0 + 10 +-0.8331535433070866 + 20 +3.801204724409449 + 30 +0.0 + 10 +-0.8331535433070866 + 20 +3.801204724409449 + 30 +0.0 + 10 +-0.847988188976378 + 20 +3.816759842519685 + 30 +0.0 + 10 +-0.8553779527559056 + 20 +3.838594488188976 + 30 +0.0 + 10 +-0.8553779527559056 + 20 +3.866704724409449 + 30 +0.0 + 10 +-0.8553779527559056 + 20 +3.866704724409449 + 30 +0.0 + 10 +-0.8553779527559056 + 20 +3.895814960629921 + 30 +0.0 + 10 +-0.8478779527559055 + 20 +3.918370078740157 + 30 +0.0 + 10 +-0.8329330708661418 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.8329330708661418 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.8179330708661418 + 20 +3.950484251968504 + 30 +0.0 + 10 +-0.7985433070866141 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.7746535433070866 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.7746535433070866 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.7515433070866142 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.7326535433070867 + 20 +3.950649606299212 + 30 +0.0 + 10 +-0.7180433070866141 + 20 +3.934925196850394 + 30 +0.0 + 10 +-0.7180433070866141 + 20 +3.934925196850394 + 30 +0.0 + 10 +-0.7033740157480315 + 20 +3.919204724409449 + 30 +0.0 + 10 +-0.6960433070866142 + 20 +3.89703937007874 + 30 +0.0 + 10 +-0.6960433070866142 + 20 +3.86853937007874 + 30 +0.0 + 10 +-0.6960433070866142 + 20 +3.86853937007874 + 30 +0.0 + 10 +-0.6960433070866142 + 20 +3.866759842519685 + 30 +0.0 + 10 +-0.6960984251968504 + 20 +3.864149606299212 + 30 +0.0 + 10 +-0.6962086614173228 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.6962086614173228 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.6962086614173228 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.8250984251968504 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.8250984251968504 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.8250984251968504 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.8240433070866142 + 20 +3.841704724409449 + 30 +0.0 + 10 +-0.8186535433070866 + 20 +3.827149606299213 + 30 +0.0 + 10 +-0.8089881889763779 + 20 +3.817094488188976 + 30 +0.0 + 10 +-0.8089881889763779 + 20 +3.817094488188976 + 30 +0.0 + 10 +-0.7993188976377953 + 20 +3.80698031496063 + 30 +0.0 + 10 +-0.7873188976377953 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.7728740157480315 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.7728740157480315 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.7621535433070866 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.752988188976378 + 20 +3.804759842519685 + 30 +0.0 + 10 +-0.7453740157480315 + 20 +3.810425196850394 + 30 +0.0 + 10 +-0.7453740157480315 + 20 +3.810425196850394 + 30 +0.0 + 10 +-0.737763779527559 + 20 +3.81603937007874 + 30 +0.0 + 10 +-0.7317637795275591 + 20 +3.82503937007874 + 30 +0.0 + 10 +-0.7273188976377952 + 20 +3.837425196850394 + 30 +0.0 + 0 +SPLINE + 5 +67 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.823488188976378 + 20 +3.884814960629921 + 30 +0.0 + 10 +-0.823488188976378 + 20 +3.884814960629921 + 30 +0.0 + 10 +-0.726988188976378 + 20 +3.884814960629921 + 30 +0.0 + 10 +-0.726988188976378 + 20 +3.884814960629921 + 30 +0.0 + 10 +-0.726988188976378 + 20 +3.884814960629921 + 30 +0.0 + 10 +-0.728263779527559 + 20 +3.899314960629921 + 30 +0.0 + 10 +-0.731988188976378 + 20 +3.910259842519685 + 30 +0.0 + 10 +-0.7380433070866141 + 20 +3.917484251968504 + 30 +0.0 + 10 +-0.7380433070866141 + 20 +3.917484251968504 + 30 +0.0 + 10 +-0.7473740157480315 + 20 +3.928759842519685 + 30 +0.0 + 10 +-0.7594881889763779 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.7743188976377953 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.7743188976377953 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.787763779527559 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.7990984251968504 + 20 +3.929925196850394 + 30 +0.0 + 10 +-0.808263779527559 + 20 +3.920925196850394 + 30 +0.0 + 10 +-0.808263779527559 + 20 +3.920925196850394 + 30 +0.0 + 10 +-0.8174330708661417 + 20 +3.911925196850394 + 30 +0.0 + 10 +-0.822488188976378 + 20 +3.899870078740157 + 30 +0.0 + 10 +-0.823488188976378 + 20 +3.884814960629921 + 30 +0.0 + 0 +SPLINE + 5 +68 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5675984251968504 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.932149606299213 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.932149606299213 + 30 +0.0 + 10 +-0.5409330708661417 + 20 +3.932149606299213 + 30 +0.0 + 10 +-0.5346535433070866 + 20 +3.940925196850394 + 30 +0.0 + 10 +-0.5275433070866141 + 20 +3.94753937007874 + 30 +0.0 + 10 +-0.5195984251968504 + 20 +3.951929133858268 + 30 +0.0 + 10 +-0.5195984251968504 + 20 +3.951929133858268 + 30 +0.0 + 10 +-0.5117086614173229 + 20 +3.956314960629921 + 30 +0.0 + 10 +-0.5020984251968504 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.4908188976377953 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.4908188976377953 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.4760433070866142 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.4630433070866142 + 20 +3.954704724409449 + 30 +0.0 + 10 +-0.451763779527559 + 20 +3.947149606299213 + 30 +0.0 + 10 +-0.451763779527559 + 20 +3.947149606299213 + 30 +0.0 + 10 +-0.4404330708661418 + 20 +3.93953937007874 + 30 +0.0 + 10 +-0.4319330708661417 + 20 +3.928814960629921 + 30 +0.0 + 10 +-0.4262086614173228 + 20 +3.914984251968504 + 30 +0.0 + 10 +-0.4262086614173228 + 20 +3.914984251968504 + 30 +0.0 + 10 +-0.4204291338582677 + 20 +3.901149606299213 + 30 +0.0 + 10 +-0.4175433070866142 + 20 +3.885984251968504 + 30 +0.0 + 10 +-0.4175433070866142 + 20 +3.869484251968504 + 30 +0.0 + 10 +-0.4175433070866142 + 20 +3.869484251968504 + 30 +0.0 + 10 +-0.4175433070866142 + 20 +3.851814960629921 + 30 +0.0 + 10 +-0.4207086614173228 + 20 +3.835870078740157 + 30 +0.0 + 10 +-0.4270984251968504 + 20 +3.821704724409449 + 30 +0.0 + 10 +-0.4270984251968504 + 20 +3.821704724409449 + 30 +0.0 + 10 +-0.4334330708661417 + 20 +3.80753937007874 + 30 +0.0 + 10 +-0.4426535433070866 + 20 +3.796704724409449 + 30 +0.0 + 10 +-0.454763779527559 + 20 +3.789149606299213 + 30 +0.0 + 10 +-0.454763779527559 + 20 +3.789149606299213 + 30 +0.0 + 10 +-0.4668740157480315 + 20 +3.781649606299212 + 30 +0.0 + 10 +-0.4795984251968504 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.4929330708661417 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.4929330708661417 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.5027086614173228 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.5114330708661418 + 20 +3.779925196850394 + 30 +0.0 + 10 +-0.5192086614173228 + 20 +3.78403937007874 + 30 +0.0 + 10 +-0.5192086614173228 + 20 +3.78403937007874 + 30 +0.0 + 10 +-0.526988188976378 + 20 +3.788149606299212 + 30 +0.0 + 10 +-0.5333188976377953 + 20 +3.793370078740157 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.799649606299213 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.799649606299213 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.799649606299213 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5383188976377953 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.715535433070866 + 30 +0.0 + 10 +-0.5675984251968504 + 20 +3.715535433070866 + 30 +0.0 + 0 +SPLINE + 5 +69 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5410984251968504 + 20 +3.867204724409449 + 30 +0.0 + 10 +-0.5410984251968504 + 20 +3.844984251968504 + 30 +0.0 + 10 +-0.5365984251968504 + 20 +3.82853937007874 + 30 +0.0 + 10 +-0.5275984251968504 + 20 +3.817870078740158 + 30 +0.0 + 10 +-0.5275984251968504 + 20 +3.817870078740158 + 30 +0.0 + 10 +-0.5185984251968504 + 20 +3.807259842519685 + 30 +0.0 + 10 +-0.5076535433070866 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.4948740157480315 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.4948740157480315 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.4818740157480315 + 20 +3.801925196850394 + 30 +0.0 + 10 +-0.4707086614173228 + 20 +3.807425196850394 + 30 +0.0 + 10 +-0.4614330708661417 + 20 +3.81848031496063 + 30 +0.0 + 10 +-0.4614330708661417 + 20 +3.81848031496063 + 30 +0.0 + 10 +-0.4521535433070866 + 20 +3.82948031496063 + 30 +0.0 + 10 +-0.4474881889763779 + 20 +3.84653937007874 + 30 +0.0 + 10 +-0.4474881889763779 + 20 +3.869649606299213 + 30 +0.0 + 10 +-0.4474881889763779 + 20 +3.869649606299213 + 30 +0.0 + 10 +-0.4474881889763779 + 20 +3.891704724409449 + 30 +0.0 + 10 +-0.4520433070866142 + 20 +3.908149606299212 + 30 +0.0 + 10 +-0.4610984251968504 + 20 +3.919149606299213 + 30 +0.0 + 10 +-0.4610984251968504 + 20 +3.919149606299213 + 30 +0.0 + 10 +-0.4701535433070866 + 20 +3.930094488188976 + 30 +0.0 + 10 +-0.480988188976378 + 20 +3.935594488188976 + 30 +0.0 + 10 +-0.4935433070866141 + 20 +3.935594488188976 + 30 +0.0 + 10 +-0.4935433070866141 + 20 +3.935594488188976 + 30 +0.0 + 10 +-0.5060433070866142 + 20 +3.935594488188976 + 30 +0.0 + 10 +-0.5170984251968503 + 20 +3.929759842519685 + 30 +0.0 + 10 +-0.5267086614173229 + 20 +3.918094488188976 + 30 +0.0 + 10 +-0.5267086614173229 + 20 +3.918094488188976 + 30 +0.0 + 10 +-0.5363188976377953 + 20 +3.906425196850394 + 30 +0.0 + 10 +-0.5410984251968504 + 20 +3.889425196850394 + 30 +0.0 + 10 +-0.5410984251968504 + 20 +3.867204724409449 + 30 +0.0 + 0 +SPLINE + 5 +6A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3828740157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +4.020370078740157 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3535984251968504 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.3828740157480315 + 20 +3.781759842519685 + 30 +0.0 + 0 +SPLINE + 5 +6B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.1953740157480315 + 20 +3.803094488188977 + 30 +0.0 + 10 +-0.2062637795275591 + 20 +3.793870078740158 + 30 +0.0 + 10 +-0.2167086614173228 + 20 +3.787370078740158 + 30 +0.0 + 10 +-0.2267086614173228 + 20 +3.78353937007874 + 30 +0.0 + 10 +-0.2267086614173228 + 20 +3.78353937007874 + 30 +0.0 + 10 +-0.2367637795275591 + 20 +3.779759842519685 + 30 +0.0 + 10 +-0.2475433070866142 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.2590433070866142 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.2590433070866142 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.2780433070866142 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.2925984251968504 + 20 +3.78248031496063 + 30 +0.0 + 10 +-0.3028188976377953 + 20 +3.791759842519685 + 30 +0.0 + 10 +-0.3028188976377953 + 20 +3.791759842519685 + 30 +0.0 + 10 +-0.312988188976378 + 20 +3.80103937007874 + 30 +0.0 + 10 +-0.3180984251968504 + 20 +3.812925196850394 + 30 +0.0 + 10 +-0.3180984251968504 + 20 +3.827314960629921 + 30 +0.0 + 10 +-0.3180984251968504 + 20 +3.827314960629921 + 30 +0.0 + 10 +-0.3180984251968504 + 20 +3.835814960629921 + 30 +0.0 + 10 +-0.3162086614173228 + 20 +3.84353937007874 + 30 +0.0 + 10 +-0.3123188976377953 + 20 +3.85053937007874 + 30 +0.0 + 10 +-0.3123188976377953 + 20 +3.85053937007874 + 30 +0.0 + 10 +-0.308488188976378 + 20 +3.85753937007874 + 30 +0.0 + 10 +-0.3034330708661417 + 20 +3.863149606299213 + 30 +0.0 + 10 +-0.2972086614173228 + 20 +3.867370078740158 + 30 +0.0 + 10 +-0.2972086614173228 + 20 +3.867370078740158 + 30 +0.0 + 10 +-0.2909330708661417 + 20 +3.871594488188976 + 30 +0.0 + 10 +-0.2839330708661417 + 20 +3.874814960629921 + 30 +0.0 + 10 +-0.2760984251968504 + 20 +3.876984251968504 + 30 +0.0 + 10 +-0.2760984251968504 + 20 +3.876984251968504 + 30 +0.0 + 10 +-0.2703740157480315 + 20 +3.878484251968504 + 30 +0.0 + 10 +-0.2617086614173229 + 20 +3.879984251968504 + 30 +0.0 + 10 +-0.2500984251968504 + 20 +3.881370078740157 + 30 +0.0 + 10 +-0.2500984251968504 + 20 +3.881370078740157 + 30 +0.0 + 10 +-0.2264291338582677 + 20 +3.884204724409449 + 30 +0.0 + 10 +-0.2089881889763779 + 20 +3.88753937007874 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.891484251968504 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.891484251968504 + 30 +0.0 + 10 +-0.1977086614173228 + 20 +3.895484251968504 + 30 +0.0 + 10 +-0.1976535433070866 + 20 +3.89803937007874 + 30 +0.0 + 10 +-0.1976535433070866 + 20 +3.899094488188976 + 30 +0.0 + 10 +-0.1976535433070866 + 20 +3.899094488188976 + 30 +0.0 + 10 +-0.1976535433070866 + 20 +3.91103937007874 + 30 +0.0 + 10 +-0.2004291338582677 + 20 +3.919484251968504 + 30 +0.0 + 10 +-0.2059881889763779 + 20 +3.924314960629921 + 30 +0.0 + 10 +-0.2059881889763779 + 20 +3.924314960629921 + 30 +0.0 + 10 +-0.2134291338582677 + 20 +3.930984251968504 + 30 +0.0 + 10 +-0.2245984251968504 + 20 +3.934259842519685 + 30 +0.0 + 10 +-0.2393188976377953 + 20 +3.934259842519685 + 30 +0.0 + 10 +-0.2393188976377953 + 20 +3.934259842519685 + 30 +0.0 + 10 +-0.2530984251968504 + 20 +3.934259842519685 + 30 +0.0 + 10 +-0.263263779527559 + 20 +3.931870078740157 + 30 +0.0 + 10 +-0.2698740157480315 + 20 +3.92703937007874 + 30 +0.0 + 10 +-0.2698740157480315 + 20 +3.92703937007874 + 30 +0.0 + 10 +-0.2764330708661417 + 20 +3.922204724409449 + 30 +0.0 + 10 +-0.281263779527559 + 20 +3.913649606299213 + 30 +0.0 + 10 +-0.2844330708661417 + 20 +3.901370078740158 + 30 +0.0 + 10 +-0.2844330708661417 + 20 +3.901370078740158 + 30 +0.0 + 10 +-0.2844330708661417 + 20 +3.901370078740158 + 30 +0.0 + 10 +-0.3130433070866142 + 20 +3.905314960629921 + 30 +0.0 + 10 +-0.3130433070866142 + 20 +3.905314960629921 + 30 +0.0 + 10 +-0.3130433070866142 + 20 +3.905314960629921 + 30 +0.0 + 10 +-0.3104330708661417 + 20 +3.91753937007874 + 30 +0.0 + 10 +-0.3061535433070866 + 20 +3.927484251968504 + 30 +0.0 + 10 +-0.3002086614173228 + 20 +3.934984251968504 + 30 +0.0 + 10 +-0.3002086614173228 + 20 +3.934984251968504 + 30 +0.0 + 10 +-0.2942637795275591 + 20 +3.94253937007874 + 30 +0.0 + 10 +-0.2855984251968504 + 20 +3.948370078740158 + 30 +0.0 + 10 +-0.2743188976377953 + 20 +3.952429133858268 + 30 +0.0 + 10 +-0.2743188976377953 + 20 +3.952429133858268 + 30 +0.0 + 10 +-0.2630433070866142 + 20 +3.956484251968504 + 30 +0.0 + 10 +-0.249988188976378 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.2350984251968504 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.2350984251968504 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.2203188976377953 + 20 +3.95853937007874 + 30 +0.0 + 10 +-0.2083740157480315 + 20 +3.956759842519685 + 30 +0.0 + 10 +-0.1991535433070866 + 20 +3.953314960629921 + 30 +0.0 + 10 +-0.1991535433070866 + 20 +3.953314960629921 + 30 +0.0 + 10 +-0.1899291338582677 + 20 +3.949814960629921 + 30 +0.0 + 10 +-0.1831535433070866 + 20 +3.945484251968504 + 30 +0.0 + 10 +-0.1787637795275591 + 20 +3.940204724409449 + 30 +0.0 + 10 +-0.1787637795275591 + 20 +3.940204724409449 + 30 +0.0 + 10 +-0.1744291338582677 + 20 +3.934925196850394 + 30 +0.0 + 10 +-0.1714291338582677 + 20 +3.928314960629921 + 30 +0.0 + 10 +-0.1696535433070866 + 20 +3.920259842519685 + 30 +0.0 + 10 +-0.1696535433070866 + 20 +3.920259842519685 + 30 +0.0 + 10 +-0.1687086614173228 + 20 +3.915259842519685 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.906259842519685 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.893259842519685 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.893259842519685 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.893259842519685 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.854204724409449 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.854204724409449 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.854204724409449 + 30 +0.0 + 10 +-0.1682086614173228 + 20 +3.826925196850394 + 30 +0.0 + 10 +-0.1675984251968504 + 20 +3.809704724409449 + 30 +0.0 + 10 +-0.1663188976377953 + 20 +3.80253937007874 + 30 +0.0 + 10 +-0.1663188976377953 + 20 +3.80253937007874 + 30 +0.0 + 10 +-0.1650984251968504 + 20 +3.795314960629921 + 30 +0.0 + 10 +-0.1625984251968504 + 20 +3.788370078740158 + 30 +0.0 + 10 +-0.1589291338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.1589291338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.1589291338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.1895433070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.1895433070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.1895433070866142 + 20 +3.781759842519685 + 30 +0.0 + 10 +-0.1925433070866142 + 20 +3.787814960629921 + 30 +0.0 + 10 +-0.1945433070866142 + 20 +3.794925196850394 + 30 +0.0 + 10 +-0.1953740157480315 + 20 +3.803094488188977 + 30 +0.0 + 0 +SPLINE + 5 +6C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.1978188976377953 + 20 +3.86853937007874 + 30 +0.0 + 10 +-0.2084881889763779 + 20 +3.864149606299212 + 30 +0.0 + 10 +-0.2244291338582677 + 20 +3.860484251968504 + 30 +0.0 + 10 +-0.2456535433070866 + 20 +3.857425196850394 + 30 +0.0 + 10 +-0.2456535433070866 + 20 +3.857425196850394 + 30 +0.0 + 10 +-0.2577086614173228 + 20 +3.855704724409449 + 30 +0.0 + 10 +-0.266263779527559 + 20 +3.853759842519685 + 30 +0.0 + 10 +-0.2712086614173229 + 20 +3.851594488188976 + 30 +0.0 + 10 +-0.2712086614173229 + 20 +3.851594488188976 + 30 +0.0 + 10 +-0.2762086614173228 + 20 +3.849425196850394 + 30 +0.0 + 10 +-0.2800984251968504 + 20 +3.846259842519685 + 30 +0.0 + 10 +-0.282763779527559 + 20 +3.84203937007874 + 30 +0.0 + 10 +-0.282763779527559 + 20 +3.84203937007874 + 30 +0.0 + 10 +-0.285488188976378 + 20 +3.837870078740158 + 30 +0.0 + 10 +-0.2868740157480315 + 20 +3.833259842519685 + 30 +0.0 + 10 +-0.2868740157480315 + 20 +3.828149606299212 + 30 +0.0 + 10 +-0.2868740157480315 + 20 +3.828149606299212 + 30 +0.0 + 10 +-0.2868740157480315 + 20 +3.820314960629921 + 30 +0.0 + 10 +-0.2838740157480315 + 20 +3.813814960629921 + 30 +0.0 + 10 +-0.2779881889763779 + 20 +3.808594488188976 + 30 +0.0 + 10 +-0.2779881889763779 + 20 +3.808594488188976 + 30 +0.0 + 10 +-0.2720984251968504 + 20 +3.803425196850394 + 30 +0.0 + 10 +-0.2634291338582677 + 20 +3.800814960629921 + 30 +0.0 + 10 +-0.2520433070866142 + 20 +3.800814960629921 + 30 +0.0 + 10 +-0.2520433070866142 + 20 +3.800814960629921 + 30 +0.0 + 10 +-0.2407637795275591 + 20 +3.800814960629921 + 30 +0.0 + 10 +-0.2307086614173228 + 20 +3.803259842519685 + 30 +0.0 + 10 +-0.2219291338582677 + 20 +3.808204724409449 + 30 +0.0 + 10 +-0.2219291338582677 + 20 +3.808204724409449 + 30 +0.0 + 10 +-0.2131535433070866 + 20 +3.813149606299213 + 30 +0.0 + 10 +-0.2066535433070866 + 20 +3.819925196850394 + 30 +0.0 + 10 +-0.2025433070866142 + 20 +3.82848031496063 + 30 +0.0 + 10 +-0.2025433070866142 + 20 +3.82848031496063 + 30 +0.0 + 10 +-0.1993740157480315 + 20 +3.835094488188977 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.844870078740157 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.857759842519685 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.857759842519685 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.857759842519685 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.86853937007874 + 30 +0.0 + 10 +-0.1978188976377953 + 20 +3.86853937007874 + 30 +0.0 + 0 +SPLINE + 5 +6D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.0588188976377953 + 20 +3.80798031496063 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.80798031496063 + 30 +0.0 + 10 +-0.0545984251968504 + 20 +3.782094488188976 + 30 +0.0 + 10 +-0.0545984251968504 + 20 +3.782094488188976 + 30 +0.0 + 10 +-0.0545984251968504 + 20 +3.782094488188976 + 30 +0.0 + 10 +-0.0628188976377953 + 20 +3.780370078740158 + 30 +0.0 + 10 +-0.0702086614173228 + 20 +3.77948031496063 + 30 +0.0 + 10 +-0.0767086614173228 + 20 +3.77948031496063 + 30 +0.0 + 10 +-0.0767086614173228 + 20 +3.77948031496063 + 30 +0.0 + 10 +-0.0873740157480315 + 20 +3.77948031496063 + 30 +0.0 + 10 +-0.0955984251968504 + 20 +3.781149606299213 + 30 +0.0 + 10 +-0.1014842519685039 + 20 +3.78453937007874 + 30 +0.0 + 10 +-0.1014842519685039 + 20 +3.78453937007874 + 30 +0.0 + 10 +-0.1073188976377953 + 20 +3.787870078740157 + 30 +0.0 + 10 +-0.1114291338582677 + 20 +3.792314960629921 + 30 +0.0 + 10 +-0.1138188976377953 + 20 +3.797814960629921 + 30 +0.0 + 10 +-0.1138188976377953 + 20 +3.797814960629921 + 30 +0.0 + 10 +-0.1162086614173228 + 20 +3.803259842519685 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.814814960629921 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.832370078740158 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.832370078740158 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.832370078740158 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1389291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.997429133858268 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.997429133858268 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.997429133858268 + 30 +0.0 + 10 +-0.1174291338582677 + 20 +3.997429133858268 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +4.014984251968504 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +4.014984251968504 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +4.014984251968504 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +4.014984251968504 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.954594488188977 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.931814960629921 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.830759842519685 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.830759842519685 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.830759842519685 + 30 +0.0 + 10 +-0.0882637795275591 + 20 +3.822370078740157 + 30 +0.0 + 10 +-0.0877637795275591 + 20 +3.81703937007874 + 30 +0.0 + 10 +-0.0867637795275591 + 20 +3.814649606299213 + 30 +0.0 + 10 +-0.0867637795275591 + 20 +3.814649606299213 + 30 +0.0 + 10 +-0.0857086614173228 + 20 +3.812259842519685 + 30 +0.0 + 10 +-0.0840393700787402 + 20 +3.810370078740157 + 30 +0.0 + 10 +-0.0817086614173228 + 20 +3.808925196850394 + 30 +0.0 + 10 +-0.0817086614173228 + 20 +3.808925196850394 + 30 +0.0 + 10 +-0.0793740157480315 + 20 +3.80753937007874 + 30 +0.0 + 10 +-0.0760393700787402 + 20 +3.806814960629921 + 30 +0.0 + 10 +-0.0717086614173228 + 20 +3.806814960629921 + 30 +0.0 + 10 +-0.0717086614173228 + 20 +3.806814960629921 + 30 +0.0 + 10 +-0.0684291338582677 + 20 +3.806814960629921 + 30 +0.0 + 10 +-0.0641535433070866 + 20 +3.807204724409449 + 30 +0.0 + 10 +-0.0588188976377953 + 20 +3.80798031496063 + 30 +0.0 + 0 +SPLINE + 5 +6E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0881259842519685 + 20 +3.837425196850394 + 30 +0.0 + 10 +0.0881259842519685 + 20 +3.837425196850394 + 30 +0.0 + 10 +0.1184015748031496 + 20 +3.833704724409449 + 30 +0.0 + 10 +0.1184015748031496 + 20 +3.833704724409449 + 30 +0.0 + 10 +0.1184015748031496 + 20 +3.833704724409449 + 30 +0.0 + 10 +0.1136259842519685 + 20 +3.81598031496063 + 30 +0.0 + 10 +0.1047913385826772 + 20 +3.802259842519685 + 30 +0.0 + 10 +0.0919015748031496 + 20 +3.79248031496063 + 30 +0.0 + 10 +0.0919015748031496 + 20 +3.79248031496063 + 30 +0.0 + 10 +0.0789566929133858 + 20 +3.782759842519685 + 30 +0.0 + 10 +0.0624566929133858 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.0424015748031496 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.0424015748031496 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.0171259842519685 + 20 +3.777870078740158 + 30 +0.0 + 10 +-0.0029330708661417 + 20 +3.785649606299212 + 30 +0.0 + 10 +-0.0177086614173228 + 20 +3.801204724409449 + 30 +0.0 + 10 +-0.0177086614173228 + 20 +3.801204724409449 + 30 +0.0 + 10 +-0.0325433070866142 + 20 +3.816759842519685 + 30 +0.0 + 10 +-0.0399330708661417 + 20 +3.838594488188976 + 30 +0.0 + 10 +-0.0399330708661417 + 20 +3.866704724409449 + 30 +0.0 + 10 +-0.0399330708661417 + 20 +3.866704724409449 + 30 +0.0 + 10 +-0.0399330708661417 + 20 +3.895814960629921 + 30 +0.0 + 10 +-0.0324330708661417 + 20 +3.918370078740157 + 30 +0.0 + 10 +-0.017488188976378 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.017488188976378 + 20 +3.934425196850394 + 30 +0.0 + 10 +-0.002488188976378 + 20 +3.950484251968504 + 30 +0.0 + 10 +0.0169015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.0407913385826772 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.0407913385826772 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.0639015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.0827913385826772 + 20 +3.950649606299212 + 30 +0.0 + 10 +0.0974015748031496 + 20 +3.934925196850394 + 30 +0.0 + 10 +0.0974015748031496 + 20 +3.934925196850394 + 30 +0.0 + 10 +0.1120708661417323 + 20 +3.919204724409449 + 30 +0.0 + 10 +0.1194015748031496 + 20 +3.89703937007874 + 30 +0.0 + 10 +0.1194015748031496 + 20 +3.86853937007874 + 30 +0.0 + 10 +0.1194015748031496 + 20 +3.86853937007874 + 30 +0.0 + 10 +0.1194015748031496 + 20 +3.866759842519685 + 30 +0.0 + 10 +0.1193464566929134 + 20 +3.864149606299212 + 30 +0.0 + 10 +0.119236220472441 + 20 +3.860704724409449 + 30 +0.0 + 10 +0.119236220472441 + 20 +3.860704724409449 + 30 +0.0 + 10 +0.119236220472441 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.0096535433070866 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.0096535433070866 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.0096535433070866 + 20 +3.860704724409449 + 30 +0.0 + 10 +-0.0085984251968504 + 20 +3.841704724409449 + 30 +0.0 + 10 +-0.0032086614173228 + 20 +3.827149606299213 + 30 +0.0 + 10 +0.0064566929133858 + 20 +3.817094488188976 + 30 +0.0 + 10 +0.0064566929133858 + 20 +3.817094488188976 + 30 +0.0 + 10 +0.0161259842519685 + 20 +3.80698031496063 + 30 +0.0 + 10 +0.0281259842519685 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.0425708661417323 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.0425708661417323 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.0532913385826772 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.0624566929133858 + 20 +3.804759842519685 + 30 +0.0 + 10 +0.0700708661417323 + 20 +3.810425196850394 + 30 +0.0 + 10 +0.0700708661417323 + 20 +3.810425196850394 + 30 +0.0 + 10 +0.0776811023622047 + 20 +3.81603937007874 + 30 +0.0 + 10 +0.0836811023622047 + 20 +3.82503937007874 + 30 +0.0 + 10 +0.0881259842519685 + 20 +3.837425196850394 + 30 +0.0 + 0 +SPLINE + 5 +6F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.0080433070866142 + 20 +3.884814960629921 + 30 +0.0 + 10 +-0.0080433070866142 + 20 +3.884814960629921 + 30 +0.0 + 10 +0.0884566929133858 + 20 +3.884814960629921 + 30 +0.0 + 10 +0.0884566929133858 + 20 +3.884814960629921 + 30 +0.0 + 10 +0.0884566929133858 + 20 +3.884814960629921 + 30 +0.0 + 10 +0.0871811023622047 + 20 +3.899314960629921 + 30 +0.0 + 10 +0.0834566929133858 + 20 +3.910259842519685 + 30 +0.0 + 10 +0.0774015748031496 + 20 +3.917484251968504 + 30 +0.0 + 10 +0.0774015748031496 + 20 +3.917484251968504 + 30 +0.0 + 10 +0.0680708661417323 + 20 +3.928759842519685 + 30 +0.0 + 10 +0.0559566929133858 + 20 +3.934425196850394 + 30 +0.0 + 10 +0.0411259842519685 + 20 +3.934425196850394 + 30 +0.0 + 10 +0.0411259842519685 + 20 +3.934425196850394 + 30 +0.0 + 10 +0.0276811023622047 + 20 +3.934425196850394 + 30 +0.0 + 10 +0.0163464566929134 + 20 +3.929925196850394 + 30 +0.0 + 10 +0.0071811023622047 + 20 +3.920925196850394 + 30 +0.0 + 10 +0.0071811023622047 + 20 +3.920925196850394 + 30 +0.0 + 10 +-0.001988188976378 + 20 +3.911925196850394 + 30 +0.0 + 10 +-0.0070433070866142 + 20 +3.899870078740157 + 30 +0.0 + 10 +-0.0080433070866142 + 20 +3.884814960629921 + 30 +0.0 + 0 +SPLINE + 5 +70 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.2369015748031496 + 20 +3.868204724409449 + 30 +0.0 + 10 +0.2369015748031496 + 20 +3.900204724409449 + 30 +0.0 + 10 +0.2457913385826772 + 20 +3.923925196850394 + 30 +0.0 + 10 +0.2636259842519685 + 20 +3.939314960629921 + 30 +0.0 + 10 +0.2636259842519685 + 20 +3.939314960629921 + 30 +0.0 + 10 +0.2784566929133858 + 20 +3.952094488188977 + 30 +0.0 + 10 +0.2965708661417323 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.341736220472441 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.3611811023622047 + 20 +3.950759842519685 + 30 +0.0 + 10 +0.3762362204724409 + 20 +3.935149606299213 + 30 +0.0 + 10 +0.3762362204724409 + 20 +3.935149606299213 + 30 +0.0 + 10 +0.3913464566929134 + 20 +3.919594488188976 + 30 +0.0 + 10 +0.3988464566929134 + 20 +3.898094488188976 + 30 +0.0 + 10 +0.3988464566929134 + 20 +3.870649606299212 + 30 +0.0 + 10 +0.3988464566929134 + 20 +3.870649606299212 + 30 +0.0 + 10 +0.3988464566929134 + 20 +3.848370078740158 + 30 +0.0 + 10 +0.3955157480314961 + 20 +3.830870078740158 + 30 +0.0 + 10 +0.3888464566929134 + 20 +3.818149606299213 + 30 +0.0 + 10 +0.3888464566929134 + 20 +3.818149606299213 + 30 +0.0 + 10 +0.3821811023622047 + 20 +3.805370078740157 + 30 +0.0 + 10 +0.3724566929133858 + 20 +3.79548031496063 + 30 +0.0 + 10 +0.359736220472441 + 20 +3.788425196850394 + 30 +0.0 + 10 +0.359736220472441 + 20 +3.788425196850394 + 30 +0.0 + 10 +0.3469566929133858 + 20 +3.781370078740157 + 30 +0.0 + 10 +0.3330708661417323 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.2937913385826771 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.274236220472441 + 20 +3.785594488188976 + 30 +0.0 + 10 +0.2592913385826772 + 20 +3.801149606299213 + 30 +0.0 + 10 +0.2592913385826772 + 20 +3.801149606299213 + 30 +0.0 + 10 +0.2443464566929134 + 20 +3.816649606299213 + 30 +0.0 + 10 +0.2369015748031496 + 20 +3.838984251968504 + 30 +0.0 + 10 +0.2369015748031496 + 20 +3.868204724409449 + 30 +0.0 + 0 +SPLINE + 5 +71 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.267011811023622 + 20 +3.868204724409449 + 30 +0.0 + 10 +0.267011811023622 + 20 +3.84603937007874 + 30 +0.0 + 10 +0.2718464566929134 + 20 +3.82948031496063 + 30 +0.0 + 10 +0.281511811023622 + 20 +3.81848031496063 + 30 +0.0 + 10 +0.281511811023622 + 20 +3.81848031496063 + 30 +0.0 + 10 +0.2911811023622047 + 20 +3.807425196850394 + 30 +0.0 + 10 +0.3033464566929134 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.332511811023622 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.3446259842519685 + 20 +3.80748031496063 + 30 +0.0 + 10 +0.3542913385826771 + 20 +3.81853937007874 + 30 +0.0 + 10 +0.3542913385826771 + 20 +3.81853937007874 + 30 +0.0 + 10 +0.3639015748031496 + 20 +3.829594488188977 + 30 +0.0 + 10 +0.3687362204724409 + 20 +3.846484251968504 + 30 +0.0 + 10 +0.3687362204724409 + 20 +3.869149606299213 + 30 +0.0 + 10 +0.3687362204724409 + 20 +3.869149606299213 + 30 +0.0 + 10 +0.3687362204724409 + 20 +3.89053937007874 + 30 +0.0 + 10 +0.3639015748031496 + 20 +3.906759842519685 + 30 +0.0 + 10 +0.3541811023622047 + 20 +3.917759842519685 + 30 +0.0 + 10 +0.3541811023622047 + 20 +3.917759842519685 + 30 +0.0 + 10 +0.3444566929133858 + 20 +3.928759842519685 + 30 +0.0 + 10 +0.3324015748031496 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.3179566929133859 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.3033464566929134 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.2911811023622047 + 20 +3.928759842519685 + 30 +0.0 + 10 +0.281511811023622 + 20 +3.917814960629921 + 30 +0.0 + 10 +0.281511811023622 + 20 +3.917814960629921 + 30 +0.0 + 10 +0.2718464566929134 + 20 +3.906870078740158 + 30 +0.0 + 10 +0.267011811023622 + 20 +3.890314960629921 + 30 +0.0 + 10 +0.267011811023622 + 20 +3.868204724409449 + 30 +0.0 + 0 +SPLINE + 5 +72 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4332362204724409 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.932149606299213 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.932149606299213 + 30 +0.0 + 10 +0.4599015748031496 + 20 +3.932149606299213 + 30 +0.0 + 10 +0.4661811023622047 + 20 +3.940925196850394 + 30 +0.0 + 10 +0.4732913385826772 + 20 +3.94753937007874 + 30 +0.0 + 10 +0.481236220472441 + 20 +3.951929133858268 + 30 +0.0 + 10 +0.481236220472441 + 20 +3.951929133858268 + 30 +0.0 + 10 +0.4891259842519685 + 20 +3.956314960629921 + 30 +0.0 + 10 +0.4987362204724409 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.5100157480314961 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.5100157480314961 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.5247913385826771 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.5377913385826771 + 20 +3.954704724409449 + 30 +0.0 + 10 +0.5490708661417323 + 20 +3.947149606299213 + 30 +0.0 + 10 +0.5490708661417323 + 20 +3.947149606299213 + 30 +0.0 + 10 +0.5604015748031496 + 20 +3.93953937007874 + 30 +0.0 + 10 +0.5689015748031496 + 20 +3.928814960629921 + 30 +0.0 + 10 +0.5746259842519685 + 20 +3.914984251968504 + 30 +0.0 + 10 +0.5746259842519685 + 20 +3.914984251968504 + 30 +0.0 + 10 +0.5804055118110236 + 20 +3.901149606299213 + 30 +0.0 + 10 +0.5832913385826771 + 20 +3.885984251968504 + 30 +0.0 + 10 +0.5832913385826771 + 20 +3.869484251968504 + 30 +0.0 + 10 +0.5832913385826771 + 20 +3.869484251968504 + 30 +0.0 + 10 +0.5832913385826771 + 20 +3.851814960629921 + 30 +0.0 + 10 +0.5801259842519685 + 20 +3.835870078740157 + 30 +0.0 + 10 +0.573736220472441 + 20 +3.821704724409449 + 30 +0.0 + 10 +0.573736220472441 + 20 +3.821704724409449 + 30 +0.0 + 10 +0.5674015748031496 + 20 +3.80753937007874 + 30 +0.0 + 10 +0.5581811023622048 + 20 +3.796704724409449 + 30 +0.0 + 10 +0.5460708661417323 + 20 +3.789149606299213 + 30 +0.0 + 10 +0.5460708661417323 + 20 +3.789149606299213 + 30 +0.0 + 10 +0.5339606299212598 + 20 +3.781649606299212 + 30 +0.0 + 10 +0.5212362204724409 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.5079015748031496 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.5079015748031496 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.4981259842519685 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.4894015748031496 + 20 +3.779925196850394 + 30 +0.0 + 10 +0.4816259842519685 + 20 +3.78403937007874 + 30 +0.0 + 10 +0.4816259842519685 + 20 +3.78403937007874 + 30 +0.0 + 10 +0.4738464566929134 + 20 +3.788149606299212 + 30 +0.0 + 10 +0.467515748031496 + 20 +3.793370078740157 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.799649606299213 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.799649606299213 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.799649606299213 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4625157480314961 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.715535433070866 + 30 +0.0 + 10 +0.4332362204724409 + 20 +3.715535433070866 + 30 +0.0 + 0 +SPLINE + 5 +73 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4597362204724409 + 20 +3.867204724409449 + 30 +0.0 + 10 +0.4597362204724409 + 20 +3.844984251968504 + 30 +0.0 + 10 +0.464236220472441 + 20 +3.82853937007874 + 30 +0.0 + 10 +0.473236220472441 + 20 +3.817870078740158 + 30 +0.0 + 10 +0.473236220472441 + 20 +3.817870078740158 + 30 +0.0 + 10 +0.482236220472441 + 20 +3.807259842519685 + 30 +0.0 + 10 +0.4931811023622047 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.5059606299212599 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.5059606299212599 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.5189606299212598 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.5301259842519686 + 20 +3.807425196850394 + 30 +0.0 + 10 +0.5394015748031497 + 20 +3.81848031496063 + 30 +0.0 + 10 +0.5394015748031497 + 20 +3.81848031496063 + 30 +0.0 + 10 +0.5486811023622047 + 20 +3.82948031496063 + 30 +0.0 + 10 +0.5533464566929134 + 20 +3.84653937007874 + 30 +0.0 + 10 +0.5533464566929134 + 20 +3.869649606299213 + 30 +0.0 + 10 +0.5533464566929134 + 20 +3.869649606299213 + 30 +0.0 + 10 +0.5533464566929134 + 20 +3.891704724409449 + 30 +0.0 + 10 +0.5487913385826771 + 20 +3.908149606299212 + 30 +0.0 + 10 +0.539736220472441 + 20 +3.919149606299213 + 30 +0.0 + 10 +0.539736220472441 + 20 +3.919149606299213 + 30 +0.0 + 10 +0.5306811023622047 + 20 +3.930094488188976 + 30 +0.0 + 10 +0.5198464566929134 + 20 +3.935594488188976 + 30 +0.0 + 10 +0.5072913385826772 + 20 +3.935594488188976 + 30 +0.0 + 10 +0.5072913385826772 + 20 +3.935594488188976 + 30 +0.0 + 10 +0.4947913385826772 + 20 +3.935594488188976 + 30 +0.0 + 10 +0.483736220472441 + 20 +3.929759842519685 + 30 +0.0 + 10 +0.4741259842519685 + 20 +3.918094488188976 + 30 +0.0 + 10 +0.4741259842519685 + 20 +3.918094488188976 + 30 +0.0 + 10 +0.4645157480314961 + 20 +3.906425196850394 + 30 +0.0 + 10 +0.4597362204724409 + 20 +3.889425196850394 + 30 +0.0 + 10 +0.4597362204724409 + 20 +3.867204724409449 + 30 +0.0 + 0 +SPLINE + 5 +74 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.6825708661417322 + 20 +3.80798031496063 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.80798031496063 + 30 +0.0 + 10 +0.6867913385826772 + 20 +3.782094488188976 + 30 +0.0 + 10 +0.6867913385826772 + 20 +3.782094488188976 + 30 +0.0 + 10 +0.6867913385826772 + 20 +3.782094488188976 + 30 +0.0 + 10 +0.6785708661417322 + 20 +3.780370078740158 + 30 +0.0 + 10 +0.6711811023622047 + 20 +3.77948031496063 + 30 +0.0 + 10 +0.6646811023622047 + 20 +3.77948031496063 + 30 +0.0 + 10 +0.6646811023622047 + 20 +3.77948031496063 + 30 +0.0 + 10 +0.6540157480314961 + 20 +3.77948031496063 + 30 +0.0 + 10 +0.6457913385826771 + 20 +3.781149606299213 + 30 +0.0 + 10 +0.6399055118110236 + 20 +3.78453937007874 + 30 +0.0 + 10 +0.6399055118110236 + 20 +3.78453937007874 + 30 +0.0 + 10 +0.6340708661417322 + 20 +3.787870078740157 + 30 +0.0 + 10 +0.6299606299212599 + 20 +3.792314960629921 + 30 +0.0 + 10 +0.6275708661417323 + 20 +3.797814960629921 + 30 +0.0 + 10 +0.6275708661417323 + 20 +3.797814960629921 + 30 +0.0 + 10 +0.6251811023622047 + 20 +3.803259842519685 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.814814960629921 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.832370078740158 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.832370078740158 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.832370078740158 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6024606299212598 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.997429133858268 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.997429133858268 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.997429133858268 + 30 +0.0 + 10 +0.6239606299212599 + 20 +3.997429133858268 + 30 +0.0 + 10 +0.6531259842519685 + 20 +4.014984251968504 + 30 +0.0 + 10 +0.6531259842519685 + 20 +4.014984251968504 + 30 +0.0 + 10 +0.6531259842519685 + 20 +4.014984251968504 + 30 +0.0 + 10 +0.6531259842519685 + 20 +4.014984251968504 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.931814960629921 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.830759842519685 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.830759842519685 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.830759842519685 + 30 +0.0 + 10 +0.6531259842519685 + 20 +3.822370078740157 + 30 +0.0 + 10 +0.6536259842519685 + 20 +3.81703937007874 + 30 +0.0 + 10 +0.6546259842519685 + 20 +3.814649606299213 + 30 +0.0 + 10 +0.6546259842519685 + 20 +3.814649606299213 + 30 +0.0 + 10 +0.6556811023622047 + 20 +3.812259842519685 + 30 +0.0 + 10 +0.6573503937007874 + 20 +3.810370078740157 + 30 +0.0 + 10 +0.6596811023622047 + 20 +3.808925196850394 + 30 +0.0 + 10 +0.6596811023622047 + 20 +3.808925196850394 + 30 +0.0 + 10 +0.6620157480314961 + 20 +3.80753937007874 + 30 +0.0 + 10 +0.6653503937007874 + 20 +3.806814960629921 + 30 +0.0 + 10 +0.6696811023622047 + 20 +3.806814960629921 + 30 +0.0 + 10 +0.6696811023622047 + 20 +3.806814960629921 + 30 +0.0 + 10 +0.6729606299212598 + 20 +3.806814960629921 + 30 +0.0 + 10 +0.6772362204724409 + 20 +3.807204724409449 + 30 +0.0 + 10 +0.6825708661417322 + 20 +3.80798031496063 + 30 +0.0 + 0 +SPLINE + 5 +75 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7113464566929134 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7113464566929134 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7113464566929134 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7113464566929134 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7113464566929134 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7406811023622047 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7406811023622047 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7406811023622047 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7406811023622047 + 20 +4.020370078740157 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.986649606299213 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.986649606299213 + 30 +0.0 + 0 +SPLINE + 5 +76 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7113464566929134 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7406811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.7113464566929134 + 20 +3.781759842519685 + 30 +0.0 + 0 +SPLINE + 5 +77 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7743464566929134 + 20 +3.868204724409449 + 30 +0.0 + 10 +0.7743464566929134 + 20 +3.900204724409449 + 30 +0.0 + 10 +0.7832362204724409 + 20 +3.923925196850394 + 30 +0.0 + 10 +0.8010708661417323 + 20 +3.939314960629921 + 30 +0.0 + 10 +0.8010708661417323 + 20 +3.939314960629921 + 30 +0.0 + 10 +0.8159015748031496 + 20 +3.952094488188977 + 30 +0.0 + 10 +0.834015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.8791811023622047 + 20 +3.95853937007874 + 30 +0.0 + 10 +0.8986259842519685 + 20 +3.950759842519685 + 30 +0.0 + 10 +0.9136811023622047 + 20 +3.935149606299213 + 30 +0.0 + 10 +0.9136811023622047 + 20 +3.935149606299213 + 30 +0.0 + 10 +0.9287913385826772 + 20 +3.919594488188976 + 30 +0.0 + 10 +0.9362913385826772 + 20 +3.898094488188976 + 30 +0.0 + 10 +0.9362913385826772 + 20 +3.870649606299212 + 30 +0.0 + 10 +0.9362913385826772 + 20 +3.870649606299212 + 30 +0.0 + 10 +0.9362913385826772 + 20 +3.848370078740158 + 30 +0.0 + 10 +0.9329606299212598 + 20 +3.830870078740158 + 30 +0.0 + 10 +0.9262913385826772 + 20 +3.818149606299213 + 30 +0.0 + 10 +0.9262913385826772 + 20 +3.818149606299213 + 30 +0.0 + 10 +0.9196259842519685 + 20 +3.805370078740157 + 30 +0.0 + 10 +0.9099015748031496 + 20 +3.79548031496063 + 30 +0.0 + 10 +0.8971811023622047 + 20 +3.788425196850394 + 30 +0.0 + 10 +0.8971811023622047 + 20 +3.788425196850394 + 30 +0.0 + 10 +0.8844015748031496 + 20 +3.781370078740157 + 30 +0.0 + 10 +0.8705157480314961 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.831236220472441 + 20 +3.777870078740158 + 30 +0.0 + 10 +0.8116811023622047 + 20 +3.785594488188976 + 30 +0.0 + 10 +0.796736220472441 + 20 +3.801149606299213 + 30 +0.0 + 10 +0.796736220472441 + 20 +3.801149606299213 + 30 +0.0 + 10 +0.7817913385826771 + 20 +3.816649606299213 + 30 +0.0 + 10 +0.7743464566929134 + 20 +3.838984251968504 + 30 +0.0 + 10 +0.7743464566929134 + 20 +3.868204724409449 + 30 +0.0 + 0 +SPLINE + 5 +78 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8044566929133858 + 20 +3.868204724409449 + 30 +0.0 + 10 +0.8044566929133858 + 20 +3.84603937007874 + 30 +0.0 + 10 +0.8092913385826772 + 20 +3.82948031496063 + 30 +0.0 + 10 +0.8189566929133858 + 20 +3.81848031496063 + 30 +0.0 + 10 +0.8189566929133858 + 20 +3.81848031496063 + 30 +0.0 + 10 +0.8286259842519685 + 20 +3.807425196850394 + 30 +0.0 + 10 +0.8407913385826772 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.8699566929133858 + 20 +3.801925196850394 + 30 +0.0 + 10 +0.8820708661417322 + 20 +3.80748031496063 + 30 +0.0 + 10 +0.8917362204724409 + 20 +3.81853937007874 + 30 +0.0 + 10 +0.8917362204724409 + 20 +3.81853937007874 + 30 +0.0 + 10 +0.9013464566929134 + 20 +3.829594488188977 + 30 +0.0 + 10 +0.9061811023622047 + 20 +3.846484251968504 + 30 +0.0 + 10 +0.9061811023622047 + 20 +3.869149606299213 + 30 +0.0 + 10 +0.9061811023622047 + 20 +3.869149606299213 + 30 +0.0 + 10 +0.9061811023622047 + 20 +3.89053937007874 + 30 +0.0 + 10 +0.9013464566929134 + 20 +3.906759842519685 + 30 +0.0 + 10 +0.8916259842519685 + 20 +3.917759842519685 + 30 +0.0 + 10 +0.8916259842519685 + 20 +3.917759842519685 + 30 +0.0 + 10 +0.8819015748031496 + 20 +3.928759842519685 + 30 +0.0 + 10 +0.8698464566929134 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.8554015748031496 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.8407913385826772 + 20 +3.934259842519685 + 30 +0.0 + 10 +0.8286259842519685 + 20 +3.928759842519685 + 30 +0.0 + 10 +0.8189566929133858 + 20 +3.917814960629921 + 30 +0.0 + 10 +0.8189566929133858 + 20 +3.917814960629921 + 30 +0.0 + 10 +0.8092913385826772 + 20 +3.906870078740158 + 30 +0.0 + 10 +0.8044566929133858 + 20 +3.890314960629921 + 30 +0.0 + 10 +0.8044566929133858 + 20 +3.868204724409449 + 30 +0.0 + 0 +SPLINE + 5 +79 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9706811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.954594488188977 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.93003937007874 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.93003937007874 + 30 +0.0 + 10 +0.9970157480314961 + 20 +3.93003937007874 + 30 +0.0 + 10 +1.009736220472441 + 20 +3.94903937007874 + 30 +0.0 + 10 +1.028070866141732 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.052015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.052015748031496 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.06246062992126 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.072015748031496 + 20 +3.956649606299213 + 30 +0.0 + 10 +1.080736220472441 + 20 +3.952929133858268 + 30 +0.0 + 10 +1.080736220472441 + 20 +3.952929133858268 + 30 +0.0 + 10 +1.089515748031496 + 20 +3.949149606299212 + 30 +0.0 + 10 +1.096015748031496 + 20 +3.944259842519685 + 30 +0.0 + 10 +1.100346456692913 + 20 +3.938149606299213 + 30 +0.0 + 10 +1.100346456692913 + 20 +3.938149606299213 + 30 +0.0 + 10 +1.104736220472441 + 20 +3.932094488188977 + 30 +0.0 + 10 +1.107736220472441 + 20 +3.924870078740157 + 30 +0.0 + 10 +1.109515748031496 + 20 +3.91653937007874 + 30 +0.0 + 10 +1.109515748031496 + 20 +3.91653937007874 + 30 +0.0 + 10 +1.110570866141732 + 20 +3.911094488188976 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.901594488188977 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.88803937007874 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.88803937007874 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.88803937007874 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.111125984251969 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.886925196850394 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.886925196850394 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.886925196850394 + 30 +0.0 + 10 +1.081791338582677 + 20 +3.898814960629921 + 30 +0.0 + 10 +1.080681102362205 + 20 +3.907759842519685 + 30 +0.0 + 10 +1.078405511811024 + 20 +3.913704724409449 + 30 +0.0 + 10 +1.078405511811024 + 20 +3.913704724409449 + 30 +0.0 + 10 +1.076125984251969 + 20 +3.919594488188976 + 30 +0.0 + 10 +1.072070866141732 + 20 +3.924314960629921 + 30 +0.0 + 10 +1.066291338582677 + 20 +3.927814960629921 + 30 +0.0 + 10 +1.066291338582677 + 20 +3.927814960629921 + 30 +0.0 + 10 +1.06046062992126 + 20 +3.931370078740157 + 30 +0.0 + 10 +1.053681102362205 + 20 +3.933149606299212 + 30 +0.0 + 10 +1.045846456692913 + 20 +3.933149606299212 + 30 +0.0 + 10 +1.045846456692913 + 20 +3.933149606299212 + 30 +0.0 + 10 +1.033346456692913 + 20 +3.933149606299212 + 30 +0.0 + 10 +1.022625984251968 + 20 +3.929149606299212 + 30 +0.0 + 10 +1.013515748031496 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.013515748031496 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.00446062992126 + 20 +3.913314960629921 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.898314960629921 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.876149606299212 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.876149606299212 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.876149606299212 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9999606299212599 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.781759842519685 + 30 +0.0 + 10 +0.9706811023622047 + 20 +3.781759842519685 + 30 +0.0 + 0 +SPLINE + 5 +7A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.144350393700788 + 20 +3.833370078740157 + 30 +0.0 + 10 +1.144350393700788 + 20 +3.833370078740157 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.837925196850394 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.837925196850394 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.837925196850394 + 30 +0.0 + 10 +1.174905511811024 + 20 +3.826314960629921 + 30 +0.0 + 10 +1.17946062992126 + 20 +3.817425196850394 + 30 +0.0 + 10 +1.186905511811024 + 20 +3.811204724409449 + 30 +0.0 + 10 +1.186905511811024 + 20 +3.811204724409449 + 30 +0.0 + 10 +1.194295275590551 + 20 +3.80503937007874 + 30 +0.0 + 10 +1.204681102362205 + 20 +3.801925196850394 + 30 +0.0 + 10 +1.218070866141732 + 20 +3.801925196850394 + 30 +0.0 + 10 +1.218070866141732 + 20 +3.801925196850394 + 30 +0.0 + 10 +1.231515748031496 + 20 +3.801925196850394 + 30 +0.0 + 10 +1.241515748031496 + 20 +3.804704724409449 + 30 +0.0 + 10 +1.248015748031496 + 20 +3.810149606299213 + 30 +0.0 + 10 +1.248015748031496 + 20 +3.810149606299213 + 30 +0.0 + 10 +1.254515748031496 + 20 +3.815649606299213 + 30 +0.0 + 10 +1.257795275590551 + 20 +3.822094488188976 + 30 +0.0 + 10 +1.257795275590551 + 20 +3.829425196850394 + 30 +0.0 + 10 +1.257795275590551 + 20 +3.829425196850394 + 30 +0.0 + 10 +1.257795275590551 + 20 +3.836094488188976 + 30 +0.0 + 10 +1.254905511811024 + 20 +3.841259842519685 + 30 +0.0 + 10 +1.249125984251968 + 20 +3.845094488188976 + 30 +0.0 + 10 +1.249125984251968 + 20 +3.845094488188976 + 30 +0.0 + 10 +1.245125984251968 + 20 +3.847704724409449 + 30 +0.0 + 10 +1.235125984251968 + 20 +3.850984251968504 + 30 +0.0 + 10 +1.219181102362205 + 20 +3.854984251968504 + 30 +0.0 + 10 +1.219181102362205 + 20 +3.854984251968504 + 30 +0.0 + 10 +1.197736220472441 + 20 +3.860425196850394 + 30 +0.0 + 10 +1.182791338582677 + 20 +3.865094488188976 + 30 +0.0 + 10 +1.174515748031496 + 20 +3.869094488188976 + 30 +0.0 + 10 +1.174515748031496 + 20 +3.869094488188976 + 30 +0.0 + 10 +1.166236220472441 + 20 +3.87303937007874 + 30 +0.0 + 10 +1.159905511811024 + 20 +3.87853937007874 + 30 +0.0 + 10 +1.155625984251968 + 20 +3.88553937007874 + 30 +0.0 + 10 +1.155625984251968 + 20 +3.88553937007874 + 30 +0.0 + 10 +1.151350393700787 + 20 +3.89253937007874 + 30 +0.0 + 10 +1.149181102362205 + 20 +3.900259842519685 + 30 +0.0 + 10 +1.149181102362205 + 20 +3.908704724409449 + 30 +0.0 + 10 +1.149181102362205 + 20 +3.908704724409449 + 30 +0.0 + 10 +1.149181102362205 + 20 +3.916425196850394 + 30 +0.0 + 10 +1.15096062992126 + 20 +3.92353937007874 + 30 +0.0 + 10 +1.154515748031496 + 20 +3.930094488188976 + 30 +0.0 + 10 +1.154515748031496 + 20 +3.930094488188976 + 30 +0.0 + 10 +1.158015748031496 + 20 +3.936704724409449 + 30 +0.0 + 10 +1.162850393700787 + 20 +3.942149606299213 + 30 +0.0 + 10 +1.168905511811024 + 20 +3.946484251968504 + 30 +0.0 + 10 +1.168905511811024 + 20 +3.946484251968504 + 30 +0.0 + 10 +1.17346062992126 + 20 +3.949814960629921 + 30 +0.0 + 10 +1.179681102362205 + 20 +3.952704724409449 + 30 +0.0 + 10 +1.187515748031496 + 20 +3.95503937007874 + 30 +0.0 + 10 +1.187515748031496 + 20 +3.95503937007874 + 30 +0.0 + 10 +1.195405511811024 + 20 +3.957370078740158 + 30 +0.0 + 10 +1.203850393700787 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.212850393700788 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.212850393700788 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.226405511811024 + 20 +3.95853937007874 + 30 +0.0 + 10 +1.238295275590551 + 20 +3.95653937007874 + 30 +0.0 + 10 +1.248570866141732 + 20 +3.952649606299213 + 30 +0.0 + 10 +1.248570866141732 + 20 +3.952649606299213 + 30 +0.0 + 10 +1.258850393700787 + 20 +3.948759842519685 + 30 +0.0 + 10 +1.266405511811024 + 20 +3.943484251968504 + 30 +0.0 + 10 +1.271295275590551 + 20 +3.936814960629921 + 30 +0.0 + 10 +1.271295275590551 + 20 +3.936814960629921 + 30 +0.0 + 10 +1.276181102362205 + 20 +3.930094488188976 + 30 +0.0 + 10 +1.279515748031496 + 20 +3.921204724409449 + 30 +0.0 + 10 +1.281350393700787 + 20 +3.91003937007874 + 30 +0.0 + 10 +1.281350393700787 + 20 +3.91003937007874 + 30 +0.0 + 10 +1.281350393700787 + 20 +3.91003937007874 + 30 +0.0 + 10 +1.252736220472441 + 20 +3.906094488188976 + 30 +0.0 + 10 +1.252736220472441 + 20 +3.906094488188976 + 30 +0.0 + 10 +1.252736220472441 + 20 +3.906094488188976 + 30 +0.0 + 10 +1.251405511811024 + 20 +3.914984251968504 + 30 +0.0 + 10 +1.247625984251969 + 20 +3.921925196850394 + 30 +0.0 + 10 +1.241405511811024 + 20 +3.926925196850394 + 30 +0.0 + 10 +1.241405511811024 + 20 +3.926925196850394 + 30 +0.0 + 10 +1.235181102362205 + 20 +3.931925196850394 + 30 +0.0 + 10 +1.226350393700787 + 20 +3.934425196850394 + 30 +0.0 + 10 +1.21496062992126 + 20 +3.934425196850394 + 30 +0.0 + 10 +1.21496062992126 + 20 +3.934425196850394 + 30 +0.0 + 10 +1.201515748031496 + 20 +3.934425196850394 + 30 +0.0 + 10 +1.191905511811024 + 20 +3.932204724409449 + 30 +0.0 + 10 +1.186181102362205 + 20 +3.927759842519685 + 30 +0.0 + 10 +1.186181102362205 + 20 +3.927759842519685 + 30 +0.0 + 10 +1.180405511811024 + 20 +3.923314960629921 + 30 +0.0 + 10 +1.177515748031496 + 20 +3.918094488188976 + 30 +0.0 + 10 +1.177515748031496 + 20 +3.912149606299212 + 30 +0.0 + 10 +1.177515748031496 + 20 +3.912149606299212 + 30 +0.0 + 10 +1.177515748031496 + 20 +3.908314960629921 + 30 +0.0 + 10 +1.178736220472441 + 20 +3.904925196850394 + 30 +0.0 + 10 +1.181125984251969 + 20 +3.901870078740158 + 30 +0.0 + 10 +1.181125984251969 + 20 +3.901870078740158 + 30 +0.0 + 10 +1.183515748031496 + 20 +3.898704724409449 + 30 +0.0 + 10 +1.187236220472441 + 20 +3.896149606299212 + 30 +0.0 + 10 +1.192350393700787 + 20 +3.89403937007874 + 30 +0.0 + 10 +1.192350393700787 + 20 +3.89403937007874 + 30 +0.0 + 10 +1.195295275590551 + 20 +3.892984251968504 + 30 +0.0 + 10 +1.203905511811024 + 20 +3.890484251968504 + 30 +0.0 + 10 +1.218236220472441 + 20 +3.886594488188976 + 30 +0.0 + 10 +1.218236220472441 + 20 +3.886594488188976 + 30 +0.0 + 10 +1.23896062992126 + 20 +3.88103937007874 + 30 +0.0 + 10 +1.253405511811024 + 20 +3.87653937007874 + 30 +0.0 + 10 +1.261570866141732 + 20 +3.872984251968504 + 30 +0.0 + 10 +1.261570866141732 + 20 +3.872984251968504 + 30 +0.0 + 10 +1.269795275590551 + 20 +3.869484251968504 + 30 +0.0 + 10 +1.276236220472441 + 20 +3.864314960629921 + 30 +0.0 + 10 +1.280905511811024 + 20 +3.857594488188977 + 30 +0.0 + 10 +1.280905511811024 + 20 +3.857594488188977 + 30 +0.0 + 10 +1.285570866141732 + 20 +3.850870078740158 + 30 +0.0 + 10 +1.287905511811024 + 20 +3.84253937007874 + 30 +0.0 + 10 +1.287905511811024 + 20 +3.83253937007874 + 30 +0.0 + 10 +1.287905511811024 + 20 +3.83253937007874 + 30 +0.0 + 10 +1.287905511811024 + 20 +3.822759842519685 + 30 +0.0 + 10 +1.285015748031496 + 20 +3.813594488188977 + 30 +0.0 + 10 +1.279350393700787 + 20 +3.804925196850394 + 30 +0.0 + 10 +1.279350393700787 + 20 +3.804925196850394 + 30 +0.0 + 10 +1.273625984251969 + 20 +3.796314960629921 + 30 +0.0 + 10 +1.265405511811024 + 20 +3.789649606299212 + 30 +0.0 + 10 +1.254681102362205 + 20 +3.784925196850394 + 30 +0.0 + 10 +1.254681102362205 + 20 +3.784925196850394 + 30 +0.0 + 10 +1.24396062992126 + 20 +3.780204724409449 + 30 +0.0 + 10 +1.231795275590551 + 20 +3.777870078740158 + 30 +0.0 + 10 +1.218236220472441 + 20 +3.777870078740158 + 30 +0.0 + 10 +1.218236220472441 + 20 +3.777870078740158 + 30 +0.0 + 10 +1.195736220472441 + 20 +3.777870078740158 + 30 +0.0 + 10 +1.178625984251968 + 20 +3.78253937007874 + 30 +0.0 + 10 +1.166850393700787 + 20 +3.791870078740157 + 30 +0.0 + 10 +1.166850393700787 + 20 +3.791870078740157 + 30 +0.0 + 10 +1.155070866141732 + 20 +3.801204724409449 + 30 +0.0 + 10 +1.147570866141732 + 20 +3.81503937007874 + 30 +0.0 + 10 +1.144350393700788 + 20 +3.833370078740157 + 30 +0.0 + 0 +SPLINE + 5 +7B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.330850393700787 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.954594488188977 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.921259842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.921259842519685 + 30 +0.0 + 0 +SPLINE + 5 +7C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.330850393700787 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.815149606299213 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.364240157480315 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.781759842519685 + 30 +0.0 + 10 +1.330850393700787 + 20 +3.781759842519685 + 30 +0.0 + 0 +SPLINE + 5 +7D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.665551181102362 + 20 +3.50509842519685 + 30 +0.0 + 10 +-2.665551181102362 + 20 +3.50509842519685 + 30 +0.0 + 10 +-2.649748031496063 + 20 +3.50109842519685 + 30 +0.0 + 10 +-2.649748031496063 + 20 +3.50109842519685 + 30 +0.0 + 10 +-2.649748031496063 + 20 +3.50109842519685 + 30 +0.0 + 10 +-2.653051181102362 + 20 +3.488153543307086 + 30 +0.0 + 10 +-2.659023622047244 + 20 +3.478263779527559 + 30 +0.0 + 10 +-2.667606299212598 + 20 +3.471429133858268 + 30 +0.0 + 10 +-2.667606299212598 + 20 +3.471429133858268 + 30 +0.0 + 10 +-2.676220472440945 + 20 +3.464625984251969 + 30 +0.0 + 10 +-2.686720472440945 + 20 +3.461236220472441 + 30 +0.0 + 10 +-2.699161417322835 + 20 +3.461236220472441 + 30 +0.0 + 10 +-2.699161417322835 + 20 +3.461236220472441 + 30 +0.0 + 10 +-2.712023622047244 + 20 +3.461236220472441 + 30 +0.0 + 10 +-2.722468503937008 + 20 +3.463846456692913 + 30 +0.0 + 10 +-2.730523622047244 + 20 +3.469070866141732 + 30 +0.0 + 10 +-2.730523622047244 + 20 +3.469070866141732 + 30 +0.0 + 10 +-2.73857874015748 + 20 +3.474318897637795 + 30 +0.0 + 10 +-2.744716535433071 + 20 +3.48190157480315 + 30 +0.0 + 10 +-2.748913385826772 + 20 +3.491818897637795 + 30 +0.0 + 10 +-2.748913385826772 + 20 +3.491818897637795 + 30 +0.0 + 10 +-2.753106299212599 + 20 +3.501763779527559 + 30 +0.0 + 10 +-2.755216535433071 + 20 +3.512429133858268 + 30 +0.0 + 10 +-2.755216535433071 + 20 +3.523818897637795 + 30 +0.0 + 10 +-2.755216535433071 + 20 +3.523818897637795 + 30 +0.0 + 10 +-2.755216535433071 + 20 +3.536236220472441 + 30 +0.0 + 10 +-2.752858267716535 + 20 +3.547066929133858 + 30 +0.0 + 10 +-2.748106299212599 + 20 +3.556318897637795 + 30 +0.0 + 10 +-2.748106299212599 + 20 +3.556318897637795 + 30 +0.0 + 10 +-2.743358267716535 + 20 +3.565566929133858 + 30 +0.0 + 10 +-2.736606299212598 + 20 +3.572594488188976 + 30 +0.0 + 10 +-2.727830708661418 + 20 +3.57740157480315 + 30 +0.0 + 10 +-2.727830708661418 + 20 +3.57740157480315 + 30 +0.0 + 10 +-2.71907874015748 + 20 +3.582208661417323 + 30 +0.0 + 10 +-2.70944094488189 + 20 +3.584594488188976 + 30 +0.0 + 10 +-2.698913385826772 + 20 +3.584594488188976 + 30 +0.0 + 10 +-2.698913385826772 + 20 +3.584594488188976 + 30 +0.0 + 10 +-2.686968503937008 + 20 +3.584594488188976 + 30 +0.0 + 10 +-2.67694094488189 + 20 +3.581566929133858 + 30 +0.0 + 10 +-2.668803149606299 + 20 +3.575484251968504 + 30 +0.0 + 10 +-2.668803149606299 + 20 +3.575484251968504 + 30 +0.0 + 10 +-2.660661417322835 + 20 +3.56940157480315 + 30 +0.0 + 10 +-2.654996062992126 + 20 +3.560874015748031 + 30 +0.0 + 10 +-2.651803149606299 + 20 +3.549846456692913 + 30 +0.0 + 10 +-2.651803149606299 + 20 +3.549846456692913 + 30 +0.0 + 10 +-2.651803149606299 + 20 +3.549846456692913 + 30 +0.0 + 10 +-2.667330708661417 + 20 +3.546181102362205 + 30 +0.0 + 10 +-2.667330708661417 + 20 +3.546181102362205 + 30 +0.0 + 10 +-2.667330708661417 + 20 +3.546181102362205 + 30 +0.0 + 10 +-2.670106299212598 + 20 +3.554874015748032 + 30 +0.0 + 10 +-2.674106299212598 + 20 +3.561181102362205 + 30 +0.0 + 10 +-2.679385826771654 + 20 +3.565153543307086 + 30 +0.0 + 10 +-2.679385826771654 + 20 +3.565153543307086 + 30 +0.0 + 10 +-2.684633858267717 + 20 +3.569125984251968 + 30 +0.0 + 10 +-2.691248031496063 + 20 +3.571094488188976 + 30 +0.0 + 10 +-2.699248031496063 + 20 +3.571094488188976 + 30 +0.0 + 10 +-2.699248031496063 + 20 +3.571094488188976 + 30 +0.0 + 10 +-2.708413385826772 + 20 +3.571094488188976 + 30 +0.0 + 10 +-2.716051181102362 + 20 +3.568901574803149 + 30 +0.0 + 10 +-2.722216535433071 + 20 +3.564511811023622 + 30 +0.0 + 10 +-2.722216535433071 + 20 +3.564511811023622 + 30 +0.0 + 10 +-2.728385826771654 + 20 +3.560094488188976 + 30 +0.0 + 10 +-2.732716535433071 + 20 +3.554208661417323 + 30 +0.0 + 10 +-2.735188976377953 + 20 +3.546791338582677 + 30 +0.0 + 10 +-2.735188976377953 + 20 +3.546791338582677 + 30 +0.0 + 10 +-2.737688976377953 + 20 +3.53940157480315 + 30 +0.0 + 10 +-2.73894094488189 + 20 +3.531763779527559 + 30 +0.0 + 10 +-2.73894094488189 + 20 +3.523901574803149 + 30 +0.0 + 10 +-2.73894094488189 + 20 +3.523901574803149 + 30 +0.0 + 10 +-2.73894094488189 + 20 +3.513736220472441 + 30 +0.0 + 10 +-2.737468503937008 + 20 +3.50490157480315 + 30 +0.0 + 10 +-2.734523622047244 + 20 +3.497318897637795 + 30 +0.0 + 10 +-2.734523622047244 + 20 +3.497318897637795 + 30 +0.0 + 10 +-2.731551181102362 + 20 +3.489763779527559 + 30 +0.0 + 10 +-2.726968503937008 + 20 +3.484098425196851 + 30 +0.0 + 10 +-2.720716535433071 + 20 +3.480346456692913 + 30 +0.0 + 10 +-2.720716535433071 + 20 +3.480346456692913 + 30 +0.0 + 10 +-2.714468503937008 + 20 +3.47659842519685 + 30 +0.0 + 10 +-2.707716535433071 + 20 +3.474736220472441 + 30 +0.0 + 10 +-2.70044094488189 + 20 +3.474736220472441 + 30 +0.0 + 10 +-2.70044094488189 + 20 +3.474736220472441 + 30 +0.0 + 10 +-2.691606299212598 + 20 +3.474736220472441 + 30 +0.0 + 10 +-2.684133858267717 + 20 +3.477291338582677 + 30 +0.0 + 10 +-2.677996062992126 + 20 +3.482374015748031 + 30 +0.0 + 10 +-2.677996062992126 + 20 +3.482374015748031 + 30 +0.0 + 10 +-2.671858267716535 + 20 +3.487484251968504 + 30 +0.0 + 10 +-2.667720472440945 + 20 +3.495070866141732 + 30 +0.0 + 10 +-2.665551181102362 + 20 +3.50509842519685 + 30 +0.0 + 0 +SPLINE + 5 +7E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 72 + 73 + 68 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.632165354330709 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.539763779527559 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.539763779527559 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.539763779527559 + 30 +0.0 + 10 +-2.610692913385827 + 20 +3.547681102362205 + 30 +0.0 + 10 +-2.602055118110236 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.591637795275591 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.591637795275591 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.585248031496063 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.579692913385827 + 20 +3.550374015748031 + 30 +0.0 + 10 +-2.574972440944882 + 20 +3.547846456692914 + 30 +0.0 + 10 +-2.574972440944882 + 20 +3.547846456692914 + 30 +0.0 + 10 +-2.570248031496063 + 20 +3.545346456692914 + 30 +0.0 + 10 +-2.566862204724409 + 20 +3.541846456692913 + 30 +0.0 + 10 +-2.564830708661417 + 20 +3.53740157480315 + 30 +0.0 + 10 +-2.564830708661417 + 20 +3.53740157480315 + 30 +0.0 + 10 +-2.562803149606299 + 20 +3.532956692913386 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.526484251968504 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.51803937007874 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.51803937007874 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.51803937007874 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.561775590551181 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.51803937007874 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.51803937007874 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.51803937007874 + 30 +0.0 + 10 +-2.576444881889764 + 20 +3.525346456692914 + 30 +0.0 + 10 +-2.578027559055118 + 20 +3.530681102362205 + 30 +0.0 + 10 +-2.581192913385827 + 20 +3.534011811023622 + 30 +0.0 + 10 +-2.581192913385827 + 20 +3.534011811023622 + 30 +0.0 + 10 +-2.584362204724409 + 20 +3.537346456692914 + 30 +0.0 + 10 +-2.588858267716535 + 20 +3.53903937007874 + 30 +0.0 + 10 +-2.594665354330709 + 20 +3.53903937007874 + 30 +0.0 + 10 +-2.594665354330709 + 20 +3.53903937007874 + 30 +0.0 + 10 +-2.599 + 20 +3.53903937007874 + 30 +0.0 + 10 +-2.603082677165354 + 20 +3.53790157480315 + 30 +0.0 + 10 +-2.606917322834646 + 20 +3.535653543307087 + 30 +0.0 + 10 +-2.606917322834646 + 20 +3.535653543307087 + 30 +0.0 + 10 +-2.610748031496063 + 20 +3.53340157480315 + 30 +0.0 + 10 +-2.613472440944882 + 20 +3.530346456692913 + 30 +0.0 + 10 +-2.615082677165354 + 20 +3.526484251968504 + 30 +0.0 + 10 +-2.615082677165354 + 20 +3.526484251968504 + 30 +0.0 + 10 +-2.616720472440945 + 20 +3.522653543307086 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.517318897637795 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.51053937007874 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.51053937007874 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.51053937007874 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.617527559055118 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.632165354330709 + 20 +3.463263779527559 + 30 +0.0 + 0 +SPLINE + 5 +7F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.539417322834645 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.582566929133858 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.565708661417323 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.565708661417323 + 30 +0.0 + 0 +SPLINE + 5 +80 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.539417322834645 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.524751968503937 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.539417322834645 + 20 +3.463263779527559 + 30 +0.0 + 0 +SPLINE + 5 +81 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.502444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.549681102362205 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.53740157480315 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.53740157480315 + 30 +0.0 + 10 +-2.489279527559055 + 20 +3.53740157480315 + 30 +0.0 + 10 +-2.482917322834646 + 20 +3.54690157480315 + 30 +0.0 + 10 +-2.473751968503937 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.461779527559055 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.461779527559055 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.456555118110236 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.451779527559055 + 20 +3.550708661417323 + 30 +0.0 + 10 +-2.447417322834646 + 20 +3.548846456692913 + 30 +0.0 + 10 +-2.447417322834646 + 20 +3.548846456692913 + 30 +0.0 + 10 +-2.443027559055118 + 20 +3.546956692913386 + 30 +0.0 + 10 +-2.439779527559055 + 20 +3.544511811023622 + 30 +0.0 + 10 +-2.437610236220472 + 20 +3.541456692913386 + 30 +0.0 + 10 +-2.437610236220472 + 20 +3.541456692913386 + 30 +0.0 + 10 +-2.435417322834646 + 20 +3.538429133858268 + 30 +0.0 + 10 +-2.433917322834646 + 20 +3.534818897637795 + 30 +0.0 + 10 +-2.433027559055118 + 20 +3.530653543307086 + 30 +0.0 + 10 +-2.433027559055118 + 20 +3.530653543307086 + 30 +0.0 + 10 +-2.4325 + 20 +3.527929133858268 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.523181102362205 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.51640157480315 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.51640157480315 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.51640157480315 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.432224409448819 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.515846456692914 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.515846456692914 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.515846456692914 + 30 +0.0 + 10 +-2.446889763779528 + 20 +3.521791338582677 + 30 +0.0 + 10 +-2.447444881889764 + 20 +3.526263779527559 + 30 +0.0 + 10 +-2.448582677165354 + 20 +3.529236220472441 + 30 +0.0 + 10 +-2.448582677165354 + 20 +3.529236220472441 + 30 +0.0 + 10 +-2.449724409448819 + 20 +3.532181102362205 + 30 +0.0 + 10 +-2.451751968503937 + 20 +3.53453937007874 + 30 +0.0 + 10 +-2.454641732283465 + 20 +3.536291338582677 + 30 +0.0 + 10 +-2.454641732283465 + 20 +3.536291338582677 + 30 +0.0 + 10 +-2.457555118110236 + 20 +3.538066929133858 + 30 +0.0 + 10 +-2.460944881889764 + 20 +3.538956692913386 + 30 +0.0 + 10 +-2.46486220472441 + 20 +3.538956692913386 + 30 +0.0 + 10 +-2.46486220472441 + 20 +3.538956692913386 + 30 +0.0 + 10 +-2.471110236220472 + 20 +3.538956692913386 + 30 +0.0 + 10 +-2.476472440944882 + 20 +3.536956692913386 + 30 +0.0 + 10 +-2.481027559055118 + 20 +3.533011811023622 + 30 +0.0 + 10 +-2.481027559055118 + 20 +3.533011811023622 + 30 +0.0 + 10 +-2.485555118110236 + 20 +3.52903937007874 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.52153937007874 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.510456692913386 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.510456692913386 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.510456692913386 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.487807086614173 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.463263779527559 + 30 +0.0 + 10 +-2.502444881889764 + 20 +3.463263779527559 + 30 +0.0 + 0 +SPLINE + 5 +82 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.350614173228347 + 20 +3.49109842519685 + 30 +0.0 + 10 +-2.350614173228347 + 20 +3.49109842519685 + 30 +0.0 + 10 +-2.335476377952756 + 20 +3.489236220472441 + 30 +0.0 + 10 +-2.335476377952756 + 20 +3.489236220472441 + 30 +0.0 + 10 +-2.335476377952756 + 20 +3.489236220472441 + 30 +0.0 + 10 +-2.337862204724409 + 20 +3.480374015748032 + 30 +0.0 + 10 +-2.342279527559055 + 20 +3.473511811023622 + 30 +0.0 + 10 +-2.348724409448819 + 20 +3.468625984251969 + 30 +0.0 + 10 +-2.348724409448819 + 20 +3.468625984251969 + 30 +0.0 + 10 +-2.355196850393701 + 20 +3.463763779527559 + 30 +0.0 + 10 +-2.363448818897638 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.373476377952756 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.373476377952756 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.386114173228346 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.396141732283465 + 20 +3.465208661417323 + 30 +0.0 + 10 +-2.403531496062992 + 20 +3.472984251968504 + 30 +0.0 + 10 +-2.403531496062992 + 20 +3.472984251968504 + 30 +0.0 + 10 +-2.410944881889764 + 20 +3.480763779527559 + 30 +0.0 + 10 +-2.414641732283465 + 20 +3.491681102362205 + 30 +0.0 + 10 +-2.414641732283465 + 20 +3.505736220472441 + 30 +0.0 + 10 +-2.414641732283465 + 20 +3.505736220472441 + 30 +0.0 + 10 +-2.414641732283465 + 20 +3.520291338582677 + 30 +0.0 + 10 +-2.410889763779528 + 20 +3.531566929133858 + 30 +0.0 + 10 +-2.403417322834646 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.403417322834646 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.395917322834646 + 20 +3.547625984251968 + 30 +0.0 + 10 +-2.386224409448819 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.374279527559055 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.374279527559055 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.362724409448819 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.353279527559055 + 20 +3.547708661417323 + 30 +0.0 + 10 +-2.345976377952756 + 20 +3.539846456692914 + 30 +0.0 + 10 +-2.345976377952756 + 20 +3.539846456692914 + 30 +0.0 + 10 +-2.338641732283465 + 20 +3.531984251968504 + 30 +0.0 + 10 +-2.334976377952756 + 20 +3.52090157480315 + 30 +0.0 + 10 +-2.334976377952756 + 20 +3.506653543307086 + 30 +0.0 + 10 +-2.334976377952756 + 20 +3.506653543307086 + 30 +0.0 + 10 +-2.334976377952756 + 20 +3.505763779527559 + 30 +0.0 + 10 +-2.335003937007874 + 20 +3.504456692913386 + 30 +0.0 + 10 +-2.33505905511811 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.33505905511811 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.33505905511811 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.399503937007874 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.399503937007874 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.399503937007874 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.398972440944882 + 20 +3.493236220472441 + 30 +0.0 + 10 +-2.396279527559055 + 20 +3.485956692913386 + 30 +0.0 + 10 +-2.391444881889764 + 20 +3.480929133858268 + 30 +0.0 + 10 +-2.391444881889764 + 20 +3.480929133858268 + 30 +0.0 + 10 +-2.386614173228347 + 20 +3.475874015748031 + 30 +0.0 + 10 +-2.380614173228346 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.373389763779528 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.373389763779528 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.368031496062992 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.363448818897638 + 20 +3.474763779527559 + 30 +0.0 + 10 +-2.359641732283464 + 20 +3.477598425196851 + 30 +0.0 + 10 +-2.359641732283464 + 20 +3.477598425196851 + 30 +0.0 + 10 +-2.355834645669291 + 20 +3.48040157480315 + 30 +0.0 + 10 +-2.352834645669291 + 20 +3.48490157480315 + 30 +0.0 + 10 +-2.350614173228347 + 20 +3.49109842519685 + 30 +0.0 + 0 +SPLINE + 5 +83 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.398696850393701 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.398696850393701 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.350448818897638 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.350448818897638 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.350448818897638 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.351086614173228 + 20 +3.52203937007874 + 30 +0.0 + 10 +-2.352948818897638 + 20 +3.527511811023622 + 30 +0.0 + 10 +-2.355976377952756 + 20 +3.531125984251969 + 30 +0.0 + 10 +-2.355976377952756 + 20 +3.531125984251969 + 30 +0.0 + 10 +-2.360641732283465 + 20 +3.536763779527559 + 30 +0.0 + 10 +-2.366696850393701 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.374114173228346 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.374114173228346 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.380834645669291 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.386503937007874 + 20 +3.537346456692914 + 30 +0.0 + 10 +-2.391086614173228 + 20 +3.532846456692913 + 30 +0.0 + 10 +-2.391086614173228 + 20 +3.532846456692913 + 30 +0.0 + 10 +-2.395669291338583 + 20 +3.528346456692913 + 30 +0.0 + 10 +-2.398196850393701 + 20 +3.522318897637795 + 30 +0.0 + 10 +-2.398696850393701 + 20 +3.514791338582677 + 30 +0.0 + 0 +SPLINE + 5 +84 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.32292125984252 + 20 +3.489070866141732 + 30 +0.0 + 10 +-2.32292125984252 + 20 +3.489070866141732 + 30 +0.0 + 10 +-2.308448818897638 + 20 +3.491346456692913 + 30 +0.0 + 10 +-2.308448818897638 + 20 +3.491346456692913 + 30 +0.0 + 10 +-2.308448818897638 + 20 +3.491346456692913 + 30 +0.0 + 10 +-2.307641732283464 + 20 +3.485543307086614 + 30 +0.0 + 10 +-2.305366141732283 + 20 +3.48109842519685 + 30 +0.0 + 10 +-2.301641732283465 + 20 +3.477984251968504 + 30 +0.0 + 10 +-2.301641732283465 + 20 +3.477984251968504 + 30 +0.0 + 10 +-2.297948818897638 + 20 +3.47490157480315 + 30 +0.0 + 10 +-2.292751968503937 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.28605905511811 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.28605905511811 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.279338582677165 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.274338582677165 + 20 +3.474736220472441 + 30 +0.0 + 10 +-2.271086614173228 + 20 +3.477456692913386 + 30 +0.0 + 10 +-2.271086614173228 + 20 +3.477456692913386 + 30 +0.0 + 10 +-2.267838582677165 + 20 +3.480208661417323 + 30 +0.0 + 10 +-2.266196850393701 + 20 +3.483429133858268 + 30 +0.0 + 10 +-2.266196850393701 + 20 +3.48709842519685 + 30 +0.0 + 10 +-2.266196850393701 + 20 +3.48709842519685 + 30 +0.0 + 10 +-2.266196850393701 + 20 +3.490429133858268 + 30 +0.0 + 10 +-2.267641732283465 + 20 +3.493011811023622 + 30 +0.0 + 10 +-2.270531496062992 + 20 +3.494929133858268 + 30 +0.0 + 10 +-2.270531496062992 + 20 +3.494929133858268 + 30 +0.0 + 10 +-2.272531496062992 + 20 +3.496236220472441 + 30 +0.0 + 10 +-2.277531496062992 + 20 +3.497874015748032 + 30 +0.0 + 10 +-2.285503937007874 + 20 +3.499874015748031 + 30 +0.0 + 10 +-2.285503937007874 + 20 +3.499874015748031 + 30 +0.0 + 10 +-2.296224409448819 + 20 +3.50259842519685 + 30 +0.0 + 10 +-2.303696850393701 + 20 +3.504929133858268 + 30 +0.0 + 10 +-2.307838582677165 + 20 +3.506929133858268 + 30 +0.0 + 10 +-2.307838582677165 + 20 +3.506929133858268 + 30 +0.0 + 10 +-2.311976377952756 + 20 +3.50890157480315 + 30 +0.0 + 10 +-2.315141732283465 + 20 +3.511653543307087 + 30 +0.0 + 10 +-2.317279527559055 + 20 +3.515153543307087 + 30 +0.0 + 10 +-2.317279527559055 + 20 +3.515153543307087 + 30 +0.0 + 10 +-2.31942125984252 + 20 +3.518653543307086 + 30 +0.0 + 10 +-2.320503937007874 + 20 +3.522511811023622 + 30 +0.0 + 10 +-2.320503937007874 + 20 +3.526736220472441 + 30 +0.0 + 10 +-2.320503937007874 + 20 +3.526736220472441 + 30 +0.0 + 10 +-2.320503937007874 + 20 +3.530598425196851 + 30 +0.0 + 10 +-2.319614173228346 + 20 +3.534153543307087 + 30 +0.0 + 10 +-2.317838582677165 + 20 +3.537429133858268 + 30 +0.0 + 10 +-2.317838582677165 + 20 +3.537429133858268 + 30 +0.0 + 10 +-2.316086614173228 + 20 +3.540736220472441 + 30 +0.0 + 10 +-2.313669291338583 + 20 +3.543456692913386 + 30 +0.0 + 10 +-2.310641732283464 + 20 +3.545625984251969 + 30 +0.0 + 10 +-2.310641732283464 + 20 +3.545625984251969 + 30 +0.0 + 10 +-2.308366141732284 + 20 +3.547291338582677 + 30 +0.0 + 10 +-2.305251968503937 + 20 +3.548736220472441 + 30 +0.0 + 10 +-2.301338582677166 + 20 +3.54990157480315 + 30 +0.0 + 10 +-2.301338582677166 + 20 +3.54990157480315 + 30 +0.0 + 10 +-2.297393700787401 + 20 +3.551066929133858 + 30 +0.0 + 10 +-2.293169291338583 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.288669291338583 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.288669291338583 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.281893700787402 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.275948818897638 + 20 +3.550653543307086 + 30 +0.0 + 10 +-2.270811023622047 + 20 +3.548708661417323 + 30 +0.0 + 10 +-2.270811023622047 + 20 +3.548708661417323 + 30 +0.0 + 10 +-2.265669291338583 + 20 +3.546763779527559 + 30 +0.0 + 10 +-2.261893700787402 + 20 +3.544125984251969 + 30 +0.0 + 10 +-2.259448818897638 + 20 +3.540791338582677 + 30 +0.0 + 10 +-2.259448818897638 + 20 +3.540791338582677 + 30 +0.0 + 10 +-2.257003937007874 + 20 +3.537429133858268 + 30 +0.0 + 10 +-2.255338582677165 + 20 +3.532984251968504 + 30 +0.0 + 10 +-2.25442125984252 + 20 +3.52740157480315 + 30 +0.0 + 10 +-2.25442125984252 + 20 +3.52740157480315 + 30 +0.0 + 10 +-2.25442125984252 + 20 +3.52740157480315 + 30 +0.0 + 10 +-2.268724409448819 + 20 +3.525429133858268 + 30 +0.0 + 10 +-2.268724409448819 + 20 +3.525429133858268 + 30 +0.0 + 10 +-2.268724409448819 + 20 +3.525429133858268 + 30 +0.0 + 10 +-2.269393700787401 + 20 +3.529874015748031 + 30 +0.0 + 10 +-2.271283464566929 + 20 +3.533346456692914 + 30 +0.0 + 10 +-2.274393700787402 + 20 +3.535846456692914 + 30 +0.0 + 10 +-2.274393700787402 + 20 +3.535846456692914 + 30 +0.0 + 10 +-2.277503937007874 + 20 +3.538346456692913 + 30 +0.0 + 10 +-2.28192125984252 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.287614173228346 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.287614173228346 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.294338582677165 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.299141732283465 + 20 +3.538484251968504 + 30 +0.0 + 10 +-2.302003937007874 + 20 +3.536263779527559 + 30 +0.0 + 10 +-2.302003937007874 + 20 +3.536263779527559 + 30 +0.0 + 10 +-2.304893700787402 + 20 +3.53403937007874 + 30 +0.0 + 10 +-2.306338582677165 + 20 +3.531429133858268 + 30 +0.0 + 10 +-2.306338582677165 + 20 +3.528456692913386 + 30 +0.0 + 10 +-2.306338582677165 + 20 +3.528456692913386 + 30 +0.0 + 10 +-2.306338582677165 + 20 +3.52653937007874 + 30 +0.0 + 10 +-2.305724409448819 + 20 +3.524846456692913 + 30 +0.0 + 10 +-2.304531496062992 + 20 +3.523318897637795 + 30 +0.0 + 10 +-2.304531496062992 + 20 +3.523318897637795 + 30 +0.0 + 10 +-2.303338582677165 + 20 +3.521736220472441 + 30 +0.0 + 10 +-2.301476377952756 + 20 +3.520456692913386 + 30 +0.0 + 10 +-2.298921259842519 + 20 +3.51940157480315 + 30 +0.0 + 10 +-2.298921259842519 + 20 +3.51940157480315 + 30 +0.0 + 10 +-2.297448818897638 + 20 +3.518874015748032 + 30 +0.0 + 10 +-2.293141732283464 + 20 +3.517625984251969 + 30 +0.0 + 10 +-2.285976377952756 + 20 +3.515681102362205 + 30 +0.0 + 10 +-2.285976377952756 + 20 +3.515681102362205 + 30 +0.0 + 10 +-2.275614173228346 + 20 +3.51290157480315 + 30 +0.0 + 10 +-2.268393700787402 + 20 +3.510653543307086 + 30 +0.0 + 10 +-2.264311023622047 + 20 +3.508874015748031 + 30 +0.0 + 10 +-2.264311023622047 + 20 +3.508874015748031 + 30 +0.0 + 10 +-2.260196850393701 + 20 +3.507125984251969 + 30 +0.0 + 10 +-2.256976377952756 + 20 +3.50453937007874 + 30 +0.0 + 10 +-2.254641732283464 + 20 +3.501181102362205 + 30 +0.0 + 10 +-2.254641732283464 + 20 +3.501181102362205 + 30 +0.0 + 10 +-2.252311023622047 + 20 +3.497818897637795 + 30 +0.0 + 10 +-2.251141732283465 + 20 +3.493653543307087 + 30 +0.0 + 10 +-2.251141732283465 + 20 +3.488653543307087 + 30 +0.0 + 10 +-2.251141732283465 + 20 +3.488653543307087 + 30 +0.0 + 10 +-2.251141732283465 + 20 +3.483763779527559 + 30 +0.0 + 10 +-2.252586614173228 + 20 +3.479181102362205 + 30 +0.0 + 10 +-2.25542125984252 + 20 +3.474846456692914 + 30 +0.0 + 10 +-2.25542125984252 + 20 +3.474846456692914 + 30 +0.0 + 10 +-2.258283464566929 + 20 +3.470543307086614 + 30 +0.0 + 10 +-2.262393700787402 + 20 +3.467208661417323 + 30 +0.0 + 10 +-2.267755905511811 + 20 +3.464846456692913 + 30 +0.0 + 10 +-2.267755905511811 + 20 +3.464846456692913 + 30 +0.0 + 10 +-2.273114173228346 + 20 +3.462484251968504 + 30 +0.0 + 10 +-2.279196850393701 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.285976377952756 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.285976377952756 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.297224409448819 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.305779527559055 + 20 +3.463653543307087 + 30 +0.0 + 10 +-2.311669291338583 + 20 +3.468318897637795 + 30 +0.0 + 10 +-2.311669291338583 + 20 +3.468318897637795 + 30 +0.0 + 10 +-2.31755905511811 + 20 +3.472984251968504 + 30 +0.0 + 10 +-2.321311023622047 + 20 +3.479901574803149 + 30 +0.0 + 10 +-2.32292125984252 + 20 +3.489070866141732 + 30 +0.0 + 0 +SPLINE + 5 +85 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.174586614173228 + 20 +3.49109842519685 + 30 +0.0 + 10 +-2.174586614173228 + 20 +3.49109842519685 + 30 +0.0 + 10 +-2.159448818897638 + 20 +3.489236220472441 + 30 +0.0 + 10 +-2.159448818897638 + 20 +3.489236220472441 + 30 +0.0 + 10 +-2.159448818897638 + 20 +3.489236220472441 + 30 +0.0 + 10 +-2.161834645669291 + 20 +3.480374015748032 + 30 +0.0 + 10 +-2.166251968503937 + 20 +3.473511811023622 + 30 +0.0 + 10 +-2.172696850393701 + 20 +3.468625984251969 + 30 +0.0 + 10 +-2.172696850393701 + 20 +3.468625984251969 + 30 +0.0 + 10 +-2.179169291338583 + 20 +3.463763779527559 + 30 +0.0 + 10 +-2.18742125984252 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.197448818897638 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.197448818897638 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.210086614173228 + 20 +3.461318897637795 + 30 +0.0 + 10 +-2.220114173228346 + 20 +3.465208661417323 + 30 +0.0 + 10 +-2.227503937007874 + 20 +3.472984251968504 + 30 +0.0 + 10 +-2.227503937007874 + 20 +3.472984251968504 + 30 +0.0 + 10 +-2.234917322834646 + 20 +3.480763779527559 + 30 +0.0 + 10 +-2.238614173228346 + 20 +3.491681102362205 + 30 +0.0 + 10 +-2.238614173228346 + 20 +3.505736220472441 + 30 +0.0 + 10 +-2.238614173228346 + 20 +3.505736220472441 + 30 +0.0 + 10 +-2.238614173228346 + 20 +3.520291338582677 + 30 +0.0 + 10 +-2.23486220472441 + 20 +3.531566929133858 + 30 +0.0 + 10 +-2.227389763779528 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.227389763779528 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.219889763779527 + 20 +3.547625984251968 + 30 +0.0 + 10 +-2.210196850393701 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.198251968503937 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.198251968503937 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.186696850393701 + 20 +3.551653543307087 + 30 +0.0 + 10 +-2.177251968503937 + 20 +3.547708661417323 + 30 +0.0 + 10 +-2.169948818897638 + 20 +3.539846456692914 + 30 +0.0 + 10 +-2.169948818897638 + 20 +3.539846456692914 + 30 +0.0 + 10 +-2.162614173228346 + 20 +3.531984251968504 + 30 +0.0 + 10 +-2.158948818897638 + 20 +3.52090157480315 + 30 +0.0 + 10 +-2.158948818897638 + 20 +3.506653543307086 + 30 +0.0 + 10 +-2.158948818897638 + 20 +3.506653543307086 + 30 +0.0 + 10 +-2.158948818897638 + 20 +3.505763779527559 + 30 +0.0 + 10 +-2.158976377952756 + 20 +3.504456692913386 + 30 +0.0 + 10 +-2.159031496062992 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.159031496062992 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.159031496062992 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.223476377952756 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.223476377952756 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.223476377952756 + 20 +3.502736220472441 + 30 +0.0 + 10 +-2.222944881889764 + 20 +3.493236220472441 + 30 +0.0 + 10 +-2.220251968503937 + 20 +3.485956692913386 + 30 +0.0 + 10 +-2.215417322834646 + 20 +3.480929133858268 + 30 +0.0 + 10 +-2.215417322834646 + 20 +3.480929133858268 + 30 +0.0 + 10 +-2.210586614173228 + 20 +3.475874015748031 + 30 +0.0 + 10 +-2.204586614173228 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.197362204724409 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.197362204724409 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.192003937007874 + 20 +3.473346456692914 + 30 +0.0 + 10 +-2.18742125984252 + 20 +3.474763779527559 + 30 +0.0 + 10 +-2.183614173228346 + 20 +3.477598425196851 + 30 +0.0 + 10 +-2.183614173228346 + 20 +3.477598425196851 + 30 +0.0 + 10 +-2.179807086614173 + 20 +3.48040157480315 + 30 +0.0 + 10 +-2.176807086614173 + 20 +3.48490157480315 + 30 +0.0 + 10 +-2.174586614173228 + 20 +3.49109842519685 + 30 +0.0 + 0 +SPLINE + 5 +86 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.222669291338583 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.222669291338583 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.17442125984252 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.17442125984252 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.17442125984252 + 20 +3.514791338582677 + 30 +0.0 + 10 +-2.17505905511811 + 20 +3.52203937007874 + 30 +0.0 + 10 +-2.17692125984252 + 20 +3.527511811023622 + 30 +0.0 + 10 +-2.179948818897638 + 20 +3.531125984251969 + 30 +0.0 + 10 +-2.179948818897638 + 20 +3.531125984251969 + 30 +0.0 + 10 +-2.184614173228347 + 20 +3.536763779527559 + 30 +0.0 + 10 +-2.190669291338583 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.198086614173228 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.198086614173228 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.204807086614173 + 20 +3.53959842519685 + 30 +0.0 + 10 +-2.210476377952756 + 20 +3.537346456692914 + 30 +0.0 + 10 +-2.21505905511811 + 20 +3.532846456692913 + 30 +0.0 + 10 +-2.21505905511811 + 20 +3.532846456692913 + 30 +0.0 + 10 +-2.219641732283465 + 20 +3.528346456692913 + 30 +0.0 + 10 +-2.222169291338583 + 20 +3.522318897637795 + 30 +0.0 + 10 +-2.222669291338583 + 20 +3.514791338582677 + 30 +0.0 + 0 +SPLINE + 5 +87 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.750188976377953 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.347374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.65657874015748 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.672385826771654 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.333291338582677 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.734385826771653 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.750188976377953 + 20 +3.277070866141732 + 30 +0.0 + 0 +SPLINE + 5 +88 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.545192913385827 + 20 +3.318905511811024 + 30 +0.0 + 10 +-2.545192913385827 + 20 +3.318905511811024 + 30 +0.0 + 10 +-2.529389763779528 + 20 +3.314905511811024 + 30 +0.0 + 10 +-2.529389763779528 + 20 +3.314905511811024 + 30 +0.0 + 10 +-2.529389763779528 + 20 +3.314905511811024 + 30 +0.0 + 10 +-2.532692913385827 + 20 +3.30196062992126 + 30 +0.0 + 10 +-2.538665354330709 + 20 +3.292070866141732 + 30 +0.0 + 10 +-2.547248031496063 + 20 +3.285236220472441 + 30 +0.0 + 10 +-2.547248031496063 + 20 +3.285236220472441 + 30 +0.0 + 10 +-2.555862204724409 + 20 +3.278433070866142 + 30 +0.0 + 10 +-2.566362204724409 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.578803149606299 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.578803149606299 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.591665354330709 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.602110236220473 + 20 +3.277653543307087 + 30 +0.0 + 10 +-2.610165354330709 + 20 +3.282877952755905 + 30 +0.0 + 10 +-2.610165354330709 + 20 +3.282877952755905 + 30 +0.0 + 10 +-2.618220472440945 + 20 +3.288125984251968 + 30 +0.0 + 10 +-2.624358267716536 + 20 +3.295708661417323 + 30 +0.0 + 10 +-2.628555118110236 + 20 +3.305625984251968 + 30 +0.0 + 10 +-2.628555118110236 + 20 +3.305625984251968 + 30 +0.0 + 10 +-2.632748031496063 + 20 +3.315570866141732 + 30 +0.0 + 10 +-2.634858267716536 + 20 +3.326236220472441 + 30 +0.0 + 10 +-2.634858267716536 + 20 +3.337625984251968 + 30 +0.0 + 10 +-2.634858267716536 + 20 +3.337625984251968 + 30 +0.0 + 10 +-2.634858267716536 + 20 +3.350043307086614 + 30 +0.0 + 10 +-2.6325 + 20 +3.360874015748032 + 30 +0.0 + 10 +-2.627748031496063 + 20 +3.370125984251969 + 30 +0.0 + 10 +-2.627748031496063 + 20 +3.370125984251969 + 30 +0.0 + 10 +-2.623 + 20 +3.379374015748032 + 30 +0.0 + 10 +-2.616248031496063 + 20 +3.38640157480315 + 30 +0.0 + 10 +-2.607472440944882 + 20 +3.391208661417323 + 30 +0.0 + 10 +-2.607472440944882 + 20 +3.391208661417323 + 30 +0.0 + 10 +-2.598720472440945 + 20 +3.396015748031496 + 30 +0.0 + 10 +-2.589082677165354 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.578555118110236 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.578555118110236 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.566610236220472 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.556582677165354 + 20 +3.395374015748032 + 30 +0.0 + 10 +-2.548444881889764 + 20 +3.389291338582677 + 30 +0.0 + 10 +-2.548444881889764 + 20 +3.389291338582677 + 30 +0.0 + 10 +-2.540303149606299 + 20 +3.383208661417323 + 30 +0.0 + 10 +-2.534637795275591 + 20 +3.374681102362205 + 30 +0.0 + 10 +-2.531444881889764 + 20 +3.363653543307087 + 30 +0.0 + 10 +-2.531444881889764 + 20 +3.363653543307087 + 30 +0.0 + 10 +-2.531444881889764 + 20 +3.363653543307087 + 30 +0.0 + 10 +-2.546972440944882 + 20 +3.359988188976378 + 30 +0.0 + 10 +-2.546972440944882 + 20 +3.359988188976378 + 30 +0.0 + 10 +-2.546972440944882 + 20 +3.359988188976378 + 30 +0.0 + 10 +-2.549748031496063 + 20 +3.368681102362205 + 30 +0.0 + 10 +-2.553748031496063 + 20 +3.374988188976378 + 30 +0.0 + 10 +-2.559027559055118 + 20 +3.37896062992126 + 30 +0.0 + 10 +-2.559027559055118 + 20 +3.37896062992126 + 30 +0.0 + 10 +-2.564275590551181 + 20 +3.382933070866142 + 30 +0.0 + 10 +-2.570889763779527 + 20 +3.38490157480315 + 30 +0.0 + 10 +-2.578889763779527 + 20 +3.38490157480315 + 30 +0.0 + 10 +-2.578889763779527 + 20 +3.38490157480315 + 30 +0.0 + 10 +-2.588055118110236 + 20 +3.38490157480315 + 30 +0.0 + 10 +-2.595692913385827 + 20 +3.382708661417323 + 30 +0.0 + 10 +-2.601858267716536 + 20 +3.378318897637795 + 30 +0.0 + 10 +-2.601858267716536 + 20 +3.378318897637795 + 30 +0.0 + 10 +-2.608027559055118 + 20 +3.37390157480315 + 30 +0.0 + 10 +-2.612358267716536 + 20 +3.368015748031496 + 30 +0.0 + 10 +-2.614830708661418 + 20 +3.360598425196851 + 30 +0.0 + 10 +-2.614830708661418 + 20 +3.360598425196851 + 30 +0.0 + 10 +-2.617330708661417 + 20 +3.353208661417323 + 30 +0.0 + 10 +-2.618582677165354 + 20 +3.345570866141732 + 30 +0.0 + 10 +-2.618582677165354 + 20 +3.337708661417323 + 30 +0.0 + 10 +-2.618582677165354 + 20 +3.337708661417323 + 30 +0.0 + 10 +-2.618582677165354 + 20 +3.327543307086614 + 30 +0.0 + 10 +-2.617110236220472 + 20 +3.318708661417323 + 30 +0.0 + 10 +-2.614165354330709 + 20 +3.311125984251968 + 30 +0.0 + 10 +-2.614165354330709 + 20 +3.311125984251968 + 30 +0.0 + 10 +-2.611192913385827 + 20 +3.303570866141732 + 30 +0.0 + 10 +-2.606610236220472 + 20 +3.297905511811023 + 30 +0.0 + 10 +-2.600358267716536 + 20 +3.294153543307087 + 30 +0.0 + 10 +-2.600358267716536 + 20 +3.294153543307087 + 30 +0.0 + 10 +-2.594110236220473 + 20 +3.290405511811024 + 30 +0.0 + 10 +-2.587358267716536 + 20 +3.288543307086614 + 30 +0.0 + 10 +-2.580082677165354 + 20 +3.288543307086614 + 30 +0.0 + 10 +-2.580082677165354 + 20 +3.288543307086614 + 30 +0.0 + 10 +-2.571248031496063 + 20 +3.288543307086614 + 30 +0.0 + 10 +-2.563775590551181 + 20 +3.29109842519685 + 30 +0.0 + 10 +-2.55763779527559 + 20 +3.296181102362205 + 30 +0.0 + 10 +-2.55763779527559 + 20 +3.296181102362205 + 30 +0.0 + 10 +-2.5515 + 20 +3.301291338582677 + 30 +0.0 + 10 +-2.54736220472441 + 20 +3.308877952755906 + 30 +0.0 + 10 +-2.545192913385827 + 20 +3.318905511811024 + 30 +0.0 + 0 +SPLINE + 5 +89 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.517527559055118 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.4725 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.4725 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.4725 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.4725 + 20 +3.32759842519685 + 30 +0.0 + 10 +-2.4725 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.4725 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.4725 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.4725 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.312877952755906 + 30 +0.0 + 10 +-2.517527559055118 + 20 +3.312877952755906 + 30 +0.0 + 0 +SPLINE + 5 +8A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.459807086614173 + 20 +3.315405511811023 + 30 +0.0 + 10 +-2.459807086614173 + 20 +3.315405511811023 + 30 +0.0 + 10 +-2.444917322834645 + 20 +3.316708661417323 + 30 +0.0 + 10 +-2.444917322834645 + 20 +3.316708661417323 + 30 +0.0 + 10 +-2.444917322834645 + 20 +3.316708661417323 + 30 +0.0 + 10 +-2.444224409448819 + 20 +3.310736220472441 + 30 +0.0 + 10 +-2.442586614173228 + 20 +3.305846456692914 + 30 +0.0 + 10 +-2.44 + 20 +3.302015748031496 + 30 +0.0 + 10 +-2.44 + 20 +3.302015748031496 + 30 +0.0 + 10 +-2.437417322834646 + 20 +3.298181102362205 + 30 +0.0 + 10 +-2.433417322834646 + 20 +3.29509842519685 + 30 +0.0 + 10 +-2.428 + 20 +3.292736220472441 + 30 +0.0 + 10 +-2.428 + 20 +3.292736220472441 + 30 +0.0 + 10 +-2.422586614173228 + 20 +3.290377952755906 + 30 +0.0 + 10 +-2.416472440944882 + 20 +3.289208661417323 + 30 +0.0 + 10 +-2.409696850393701 + 20 +3.289208661417323 + 30 +0.0 + 10 +-2.409696850393701 + 20 +3.289208661417323 + 30 +0.0 + 10 +-2.403669291338583 + 20 +3.289208661417323 + 30 +0.0 + 10 +-2.39836220472441 + 20 +3.290098425196851 + 30 +0.0 + 10 +-2.393751968503937 + 20 +3.291877952755906 + 30 +0.0 + 10 +-2.393751968503937 + 20 +3.291877952755906 + 30 +0.0 + 10 +-2.389141732283464 + 20 +3.293681102362205 + 30 +0.0 + 10 +-2.385696850393701 + 20 +3.296125984251968 + 30 +0.0 + 10 +-2.383444881889764 + 20 +3.299236220472441 + 30 +0.0 + 10 +-2.383444881889764 + 20 +3.299236220472441 + 30 +0.0 + 10 +-2.381196850393701 + 20 +3.302377952755906 + 30 +0.0 + 10 +-2.38005905511811 + 20 +3.305763779527559 + 30 +0.0 + 10 +-2.38005905511811 + 20 +3.30946062992126 + 30 +0.0 + 10 +-2.38005905511811 + 20 +3.30946062992126 + 30 +0.0 + 10 +-2.38005905511811 + 20 +3.313208661417323 + 30 +0.0 + 10 +-2.381141732283464 + 20 +3.31646062992126 + 30 +0.0 + 10 +-2.383334645669291 + 20 +3.319263779527559 + 30 +0.0 + 10 +-2.383334645669291 + 20 +3.319263779527559 + 30 +0.0 + 10 +-2.385503937007874 + 20 +3.322070866141732 + 30 +0.0 + 10 +-2.389086614173229 + 20 +3.324405511811024 + 30 +0.0 + 10 +-2.39405905511811 + 20 +3.326291338582677 + 30 +0.0 + 10 +-2.39405905511811 + 20 +3.326291338582677 + 30 +0.0 + 10 +-2.397279527559055 + 20 +3.327543307086614 + 30 +0.0 + 10 +-2.404334645669291 + 20 +3.329488188976378 + 30 +0.0 + 10 +-2.415307086614173 + 20 +3.332125984251968 + 30 +0.0 + 10 +-2.415307086614173 + 20 +3.332125984251968 + 30 +0.0 + 10 +-2.426251968503937 + 20 +3.334763779527559 + 30 +0.0 + 10 +-2.433944881889764 + 20 +3.337236220472441 + 30 +0.0 + 10 +-2.438334645669291 + 20 +3.339570866141732 + 30 +0.0 + 10 +-2.438334645669291 + 20 +3.339570866141732 + 30 +0.0 + 10 +-2.444027559055118 + 20 +3.342543307086614 + 30 +0.0 + 10 +-2.448279527559055 + 20 +3.346263779527559 + 30 +0.0 + 10 +-2.451086614173228 + 20 +3.350681102362205 + 30 +0.0 + 10 +-2.451086614173228 + 20 +3.350681102362205 + 30 +0.0 + 10 +-2.453862204724409 + 20 +3.355098425196851 + 30 +0.0 + 10 +-2.455251968503937 + 20 +3.360043307086614 + 30 +0.0 + 10 +-2.455251968503937 + 20 +3.365543307086614 + 30 +0.0 + 10 +-2.455251968503937 + 20 +3.365543307086614 + 30 +0.0 + 10 +-2.455251968503937 + 20 +3.371543307086614 + 30 +0.0 + 10 +-2.45355905511811 + 20 +3.377181102362205 + 30 +0.0 + 10 +-2.450141732283464 + 20 +3.38240157480315 + 30 +0.0 + 10 +-2.450141732283464 + 20 +3.38240157480315 + 30 +0.0 + 10 +-2.446724409448819 + 20 +3.387653543307087 + 30 +0.0 + 10 +-2.441724409448819 + 20 +3.391625984251969 + 30 +0.0 + 10 +-2.435169291338583 + 20 +3.394346456692913 + 30 +0.0 + 10 +-2.435169291338583 + 20 +3.394346456692913 + 30 +0.0 + 10 +-2.428586614173228 + 20 +3.397043307086614 + 30 +0.0 + 10 +-2.421307086614173 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.413279527559055 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.413279527559055 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.404417322834646 + 20 +3.39840157480315 + 30 +0.0 + 10 +-2.396641732283465 + 20 +3.396988188976378 + 30 +0.0 + 10 +-2.389862204724409 + 20 +3.394125984251969 + 30 +0.0 + 10 +-2.389862204724409 + 20 +3.394125984251969 + 30 +0.0 + 10 +-2.383114173228346 + 20 +3.391291338582677 + 30 +0.0 + 10 +-2.377917322834646 + 20 +3.387098425196851 + 30 +0.0 + 10 +-2.374279527559055 + 20 +3.381570866141732 + 30 +0.0 + 10 +-2.374279527559055 + 20 +3.381570866141732 + 30 +0.0 + 10 +-2.370669291338583 + 20 +3.376043307086614 + 30 +0.0 + 10 +-2.368696850393701 + 20 +3.369763779527559 + 30 +0.0 + 10 +-2.368417322834646 + 20 +3.362763779527559 + 30 +0.0 + 10 +-2.368417322834646 + 20 +3.362763779527559 + 30 +0.0 + 10 +-2.368417322834646 + 20 +3.362763779527559 + 30 +0.0 + 10 +-2.38355905511811 + 20 +3.361625984251968 + 30 +0.0 + 10 +-2.38355905511811 + 20 +3.361625984251968 + 30 +0.0 + 10 +-2.38355905511811 + 20 +3.361625984251968 + 30 +0.0 + 10 +-2.384389763779528 + 20 +3.369153543307087 + 30 +0.0 + 10 +-2.387141732283465 + 20 +3.374874015748031 + 30 +0.0 + 10 +-2.391834645669291 + 20 +3.378708661417323 + 30 +0.0 + 10 +-2.391834645669291 + 20 +3.378708661417323 + 30 +0.0 + 10 +-2.396531496062992 + 20 +3.382570866141732 + 30 +0.0 + 10 +-2.403444881889764 + 20 +3.384488188976378 + 30 +0.0 + 10 +-2.412614173228346 + 20 +3.384488188976378 + 30 +0.0 + 10 +-2.412614173228346 + 20 +3.384488188976378 + 30 +0.0 + 10 +-2.422169291338583 + 20 +3.384488188976378 + 30 +0.0 + 10 +-2.429114173228347 + 20 +3.382736220472441 + 30 +0.0 + 10 +-2.4335 + 20 +3.379236220472441 + 30 +0.0 + 10 +-2.4335 + 20 +3.379236220472441 + 30 +0.0 + 10 +-2.437862204724409 + 20 +3.375736220472441 + 30 +0.0 + 10 +-2.44005905511811 + 20 +3.371515748031496 + 30 +0.0 + 10 +-2.44005905511811 + 20 +3.36659842519685 + 30 +0.0 + 10 +-2.44005905511811 + 20 +3.36659842519685 + 30 +0.0 + 10 +-2.44005905511811 + 20 +3.362291338582677 + 30 +0.0 + 10 +-2.4385 + 20 +3.358763779527559 + 30 +0.0 + 10 +-2.435417322834646 + 20 +3.356015748031496 + 30 +0.0 + 10 +-2.435417322834646 + 20 +3.356015748031496 + 30 +0.0 + 10 +-2.432362204724409 + 20 +3.353236220472441 + 30 +0.0 + 10 +-2.424444881889764 + 20 +3.350405511811024 + 30 +0.0 + 10 +-2.411614173228346 + 20 +3.347515748031496 + 30 +0.0 + 10 +-2.411614173228346 + 20 +3.347515748031496 + 30 +0.0 + 10 +-2.398779527559055 + 20 +3.344598425196851 + 30 +0.0 + 10 +-2.389972440944882 + 20 +3.342070866141732 + 30 +0.0 + 10 +-2.385196850393701 + 20 +3.339905511811024 + 30 +0.0 + 10 +-2.385196850393701 + 20 +3.339905511811024 + 30 +0.0 + 10 +-2.378251968503937 + 20 +3.336681102362205 + 30 +0.0 + 10 +-2.373114173228347 + 20 +3.332625984251969 + 30 +0.0 + 10 +-2.369807086614173 + 20 +3.327736220472441 + 30 +0.0 + 10 +-2.369807086614173 + 20 +3.327736220472441 + 30 +0.0 + 10 +-2.366503937007874 + 20 +3.322818897637795 + 30 +0.0 + 10 +-2.364862204724409 + 20 +3.317153543307087 + 30 +0.0 + 10 +-2.364862204724409 + 20 +3.310763779527559 + 30 +0.0 + 10 +-2.364862204724409 + 20 +3.310763779527559 + 30 +0.0 + 10 +-2.364862204724409 + 20 +3.304405511811024 + 30 +0.0 + 10 +-2.366669291338583 + 20 +3.298433070866142 + 30 +0.0 + 10 +-2.370307086614173 + 20 +3.292818897637795 + 30 +0.0 + 10 +-2.370307086614173 + 20 +3.292818897637795 + 30 +0.0 + 10 +-2.373944881889764 + 20 +3.287208661417323 + 30 +0.0 + 10 +-2.379169291338583 + 20 +3.282850393700787 + 30 +0.0 + 10 +-2.385972440944882 + 20 +3.279708661417323 + 30 +0.0 + 10 +-2.385972440944882 + 20 +3.279708661417323 + 30 +0.0 + 10 +-2.392779527559055 + 20 +3.276598425196851 + 30 +0.0 + 10 +-2.400444881889764 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.408944881889764 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.408944881889764 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.419751968503937 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.428807086614173 + 20 +3.276598425196851 + 30 +0.0 + 10 +-2.436086614173228 + 20 +3.279763779527559 + 30 +0.0 + 10 +-2.436086614173228 + 20 +3.279763779527559 + 30 +0.0 + 10 +-2.443389763779527 + 20 +3.282905511811024 + 30 +0.0 + 10 +-2.449114173228347 + 20 +3.287625984251969 + 30 +0.0 + 10 +-2.453279527559055 + 20 +3.29396062992126 + 30 +0.0 + 10 +-2.453279527559055 + 20 +3.29396062992126 + 30 +0.0 + 10 +-2.457417322834646 + 20 +3.300263779527559 + 30 +0.0 + 10 +-2.459614173228347 + 20 +3.307433070866142 + 30 +0.0 + 10 +-2.459807086614173 + 20 +3.315405511811023 + 30 +0.0 + 0 +SPLINE + 5 +8B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.343031496062992 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.290141732283465 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.290141732283465 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.290141732283465 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.279503937007874 + 20 +3.396374015748032 + 30 +0.0 + 10 +-2.27142125984252 + 20 +3.395291338582677 + 30 +0.0 + 10 +-2.265893700787402 + 20 +3.393153543307087 + 30 +0.0 + 10 +-2.265893700787402 + 20 +3.393153543307087 + 30 +0.0 + 10 +-2.260366141732284 + 20 +3.391015748031496 + 30 +0.0 + 10 +-2.255948818897638 + 20 +3.387236220472441 + 30 +0.0 + 10 +-2.252614173228347 + 20 +3.381818897637795 + 30 +0.0 + 10 +-2.252614173228347 + 20 +3.381818897637795 + 30 +0.0 + 10 +-2.249311023622047 + 20 +3.376374015748032 + 30 +0.0 + 10 +-2.247669291338583 + 20 +3.370374015748031 + 30 +0.0 + 10 +-2.247669291338583 + 20 +3.363818897637795 + 30 +0.0 + 10 +-2.247669291338583 + 20 +3.363818897637795 + 30 +0.0 + 10 +-2.247669291338583 + 20 +3.355346456692913 + 30 +0.0 + 10 +-2.250393700787402 + 20 +3.348236220472441 + 30 +0.0 + 10 +-2.255893700787401 + 20 +3.342433070866142 + 30 +0.0 + 10 +-2.255893700787401 + 20 +3.342433070866142 + 30 +0.0 + 10 +-2.261366141732283 + 20 +3.336625984251969 + 30 +0.0 + 10 +-2.269838582677165 + 20 +3.332933070866142 + 30 +0.0 + 10 +-2.281279527559055 + 20 +3.331346456692913 + 30 +0.0 + 10 +-2.281279527559055 + 20 +3.331346456692913 + 30 +0.0 + 10 +-2.277086614173228 + 20 +3.329346456692913 + 30 +0.0 + 10 +-2.27392125984252 + 20 +3.327377952755906 + 30 +0.0 + 10 +-2.271751968503937 + 20 +3.325405511811024 + 30 +0.0 + 10 +-2.271751968503937 + 20 +3.325405511811024 + 30 +0.0 + 10 +-2.267141732283465 + 20 +3.321181102362205 + 30 +0.0 + 10 +-2.262779527559055 + 20 +3.315877952755906 + 30 +0.0 + 10 +-2.258641732283464 + 20 +3.309543307086614 + 30 +0.0 + 10 +-2.258641732283464 + 20 +3.309543307086614 + 30 +0.0 + 10 +-2.258641732283464 + 20 +3.309543307086614 + 30 +0.0 + 10 +-2.237893700787402 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.237893700787402 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.237893700787402 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.237893700787402 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.257751968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.257751968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.257751968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.257751968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.273531496062992 + 20 +3.301905511811023 + 30 +0.0 + 10 +-2.273531496062992 + 20 +3.301905511811023 + 30 +0.0 + 10 +-2.273531496062992 + 20 +3.301905511811023 + 30 +0.0 + 10 +-2.278141732283465 + 20 +3.309043307086614 + 30 +0.0 + 10 +-2.281948818897638 + 20 +3.314543307086614 + 30 +0.0 + 10 +-2.284948818897638 + 20 +3.318318897637795 + 30 +0.0 + 10 +-2.284948818897638 + 20 +3.318318897637795 + 30 +0.0 + 10 +-2.28792125984252 + 20 +3.322125984251969 + 30 +0.0 + 10 +-2.290586614173229 + 20 +3.324791338582677 + 30 +0.0 + 10 +-2.292948818897638 + 20 +3.326291338582677 + 30 +0.0 + 10 +-2.292948818897638 + 20 +3.326291338582677 + 30 +0.0 + 10 +-2.295307086614173 + 20 +3.327818897637795 + 30 +0.0 + 10 +-2.297696850393701 + 20 +3.328877952755906 + 30 +0.0 + 10 +-2.300141732283465 + 20 +3.329488188976378 + 30 +0.0 + 10 +-2.300141732283465 + 20 +3.329488188976378 + 30 +0.0 + 10 +-2.301948818897638 + 20 +3.329846456692914 + 30 +0.0 + 10 +-2.304866141732283 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.308948818897638 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.308948818897638 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.308948818897638 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.330043307086614 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.343031496062992 + 20 +3.277070866141732 + 30 +0.0 + 0 +SPLINE + 5 +8C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.327251968503937 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.293307086614173 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.293307086614173 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.293307086614173 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.286114173228346 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.280448818897638 + 20 +3.34446062992126 + 30 +0.0 + 10 +-2.276393700787402 + 20 +3.34596062992126 + 30 +0.0 + 10 +-2.276393700787402 + 20 +3.34596062992126 + 30 +0.0 + 10 +-2.272311023622047 + 20 +3.34746062992126 + 30 +0.0 + 10 +-2.269224409448819 + 20 +3.349846456692914 + 30 +0.0 + 10 +-2.267114173228347 + 20 +3.353125984251968 + 30 +0.0 + 10 +-2.267114173228347 + 20 +3.353125984251968 + 30 +0.0 + 10 +-2.265003937007874 + 20 +3.356405511811023 + 30 +0.0 + 10 +-2.263948818897638 + 20 +3.35996062992126 + 30 +0.0 + 10 +-2.263948818897638 + 20 +3.363818897637795 + 30 +0.0 + 10 +-2.263948818897638 + 20 +3.363818897637795 + 30 +0.0 + 10 +-2.263948818897638 + 20 +3.36946062992126 + 30 +0.0 + 10 +-2.265976377952756 + 20 +3.37409842519685 + 30 +0.0 + 10 +-2.270086614173228 + 20 +3.377736220472441 + 30 +0.0 + 10 +-2.270086614173228 + 20 +3.377736220472441 + 30 +0.0 + 10 +-2.274169291338583 + 20 +3.381374015748031 + 30 +0.0 + 10 +-2.280641732283465 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.289503937007874 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.289503937007874 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.289503937007874 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.383181102362205 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.343708661417323 + 30 +0.0 + 10 +-2.327251968503937 + 20 +3.343708661417323 + 30 +0.0 + 0 +SPLINE + 5 +8D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.228866141732283 + 20 +3.308318897637795 + 30 +0.0 + 10 +-2.228866141732283 + 20 +3.308318897637795 + 30 +0.0 + 10 +-2.213476377952756 + 20 +3.309625984251968 + 30 +0.0 + 10 +-2.213476377952756 + 20 +3.309625984251968 + 30 +0.0 + 10 +-2.213476377952756 + 20 +3.309625984251968 + 30 +0.0 + 10 +-2.212338582677166 + 20 +3.302125984251969 + 30 +0.0 + 10 +-2.209700787401575 + 20 +3.296515748031496 + 30 +0.0 + 10 +-2.205562992125984 + 20 +3.292736220472441 + 30 +0.0 + 10 +-2.205562992125984 + 20 +3.292736220472441 + 30 +0.0 + 10 +-2.201393700787401 + 20 +3.28896062992126 + 30 +0.0 + 10 +-2.196393700787401 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.190535433070866 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.190535433070866 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.183476377952756 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.177507874015748 + 20 +3.289736220472441 + 30 +0.0 + 10 +-2.172645669291339 + 20 +3.295043307086614 + 30 +0.0 + 10 +-2.172645669291339 + 20 +3.295043307086614 + 30 +0.0 + 10 +-2.167755905511811 + 20 +3.300377952755905 + 30 +0.0 + 10 +-2.165311023622047 + 20 +3.307433070866142 + 30 +0.0 + 10 +-2.165311023622047 + 20 +3.316208661417323 + 30 +0.0 + 10 +-2.165311023622047 + 20 +3.316208661417323 + 30 +0.0 + 10 +-2.165311023622047 + 20 +3.324570866141732 + 30 +0.0 + 10 +-2.167645669291339 + 20 +3.331153543307086 + 30 +0.0 + 10 +-2.172338582677166 + 20 +3.335988188976378 + 30 +0.0 + 10 +-2.172338582677166 + 20 +3.335988188976378 + 30 +0.0 + 10 +-2.177035433070866 + 20 +3.340818897637795 + 30 +0.0 + 10 +-2.183173228346457 + 20 +3.343236220472441 + 30 +0.0 + 10 +-2.190783464566929 + 20 +3.343236220472441 + 30 +0.0 + 10 +-2.190783464566929 + 20 +3.343236220472441 + 30 +0.0 + 10 +-2.195507874015748 + 20 +3.343236220472441 + 30 +0.0 + 10 +-2.199755905511811 + 20 +3.342153543307087 + 30 +0.0 + 10 +-2.203562992125984 + 20 +3.340015748031496 + 30 +0.0 + 10 +-2.203562992125984 + 20 +3.340015748031496 + 30 +0.0 + 10 +-2.207366141732284 + 20 +3.337874015748032 + 30 +0.0 + 10 +-2.210338582677165 + 20 +3.335098425196851 + 30 +0.0 + 10 +-2.212503937007874 + 20 +3.331681102362205 + 30 +0.0 + 10 +-2.212503937007874 + 20 +3.331681102362205 + 30 +0.0 + 10 +-2.212503937007874 + 20 +3.331681102362205 + 30 +0.0 + 10 +-2.226255905511811 + 20 +3.33346062992126 + 30 +0.0 + 10 +-2.226255905511811 + 20 +3.33346062992126 + 30 +0.0 + 10 +-2.226255905511811 + 20 +3.33346062992126 + 30 +0.0 + 10 +-2.226255905511811 + 20 +3.33346062992126 + 30 +0.0 + 10 +-2.214700787401575 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.214700787401575 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.214700787401575 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.214700787401575 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.394736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.155366141732284 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.202976377952756 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.202976377952756 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.202976377952756 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.202976377952756 + 20 +3.380736220472441 + 30 +0.0 + 10 +-2.20942125984252 + 20 +3.348681102362205 + 30 +0.0 + 10 +-2.20942125984252 + 20 +3.348681102362205 + 30 +0.0 + 10 +-2.20942125984252 + 20 +3.348681102362205 + 30 +0.0 + 10 +-2.202255905511811 + 20 +3.353681102362205 + 30 +0.0 + 10 +-2.194728346456693 + 20 +3.356181102362205 + 30 +0.0 + 10 +-2.186866141732283 + 20 +3.356181102362205 + 30 +0.0 + 10 +-2.186866141732283 + 20 +3.356181102362205 + 30 +0.0 + 10 +-2.176448818897638 + 20 +3.356181102362205 + 30 +0.0 + 10 +-2.167673228346457 + 20 +3.352570866141732 + 30 +0.0 + 10 +-2.160507874015748 + 20 +3.345346456692913 + 30 +0.0 + 10 +-2.160507874015748 + 20 +3.345346456692913 + 30 +0.0 + 10 +-2.153338582677165 + 20 +3.338125984251969 + 30 +0.0 + 10 +-2.149755905511811 + 20 +3.328846456692913 + 30 +0.0 + 10 +-2.149755905511811 + 20 +3.317515748031496 + 30 +0.0 + 10 +-2.149755905511811 + 20 +3.317515748031496 + 30 +0.0 + 10 +-2.149755905511811 + 20 +3.306708661417323 + 30 +0.0 + 10 +-2.15292125984252 + 20 +3.297377952755906 + 30 +0.0 + 10 +-2.159200787401575 + 20 +3.289515748031496 + 30 +0.0 + 10 +-2.159200787401575 + 20 +3.289515748031496 + 30 +0.0 + 10 +-2.166866141732283 + 20 +3.279877952755906 + 30 +0.0 + 10 +-2.177311023622047 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.190535433070866 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.190535433070866 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.201393700787401 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.210255905511811 + 20 +3.278070866141732 + 30 +0.0 + 10 +-2.21711811023622 + 20 +3.284153543307087 + 30 +0.0 + 10 +-2.21711811023622 + 20 +3.284153543307087 + 30 +0.0 + 10 +-2.223976377952756 + 20 +3.290236220472441 + 30 +0.0 + 10 +-2.227893700787402 + 20 +3.298291338582677 + 30 +0.0 + 10 +-2.228866141732283 + 20 +3.308318897637795 + 30 +0.0 + 0 +SPLINE + 5 +8E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.136173228346457 + 20 +3.335905511811024 + 30 +0.0 + 10 +-2.136173228346457 + 20 +3.350015748031496 + 30 +0.0 + 10 +-2.134728346456693 + 20 +3.361374015748031 + 30 +0.0 + 10 +-2.131811023622047 + 20 +3.36996062992126 + 30 +0.0 + 10 +-2.131811023622047 + 20 +3.36996062992126 + 30 +0.0 + 10 +-2.128925196850393 + 20 +3.378570866141732 + 30 +0.0 + 10 +-2.124590551181103 + 20 +3.385208661417323 + 30 +0.0 + 10 +-2.118870078740157 + 20 +3.389874015748032 + 30 +0.0 + 10 +-2.118870078740157 + 20 +3.389874015748032 + 30 +0.0 + 10 +-2.113145669291339 + 20 +3.394543307086614 + 30 +0.0 + 10 +-2.105952755905512 + 20 +3.396874015748032 + 30 +0.0 + 10 +-2.097283464566929 + 20 +3.396874015748032 + 30 +0.0 + 10 +-2.097283464566929 + 20 +3.396874015748032 + 30 +0.0 + 10 +-2.090870078740157 + 20 +3.396874015748032 + 30 +0.0 + 10 +-2.085255905511811 + 20 +3.395570866141732 + 30 +0.0 + 10 +-2.080425196850394 + 20 +3.392988188976378 + 30 +0.0 + 10 +-2.080425196850394 + 20 +3.392988188976378 + 30 +0.0 + 10 +-2.075590551181103 + 20 +3.390429133858268 + 30 +0.0 + 10 +-2.071618110236221 + 20 +3.386708661417323 + 30 +0.0 + 10 +-2.068452755905512 + 20 +3.381846456692913 + 30 +0.0 + 10 +-2.068452755905512 + 20 +3.381846456692913 + 30 +0.0 + 10 +-2.065314960629921 + 20 +3.376988188976378 + 30 +0.0 + 10 +-2.062842519685039 + 20 +3.371070866141732 + 30 +0.0 + 10 +-2.061062992125984 + 20 +3.36409842519685 + 30 +0.0 + 10 +-2.061062992125984 + 20 +3.36409842519685 + 30 +0.0 + 10 +-2.059259842519685 + 20 +3.357125984251968 + 30 +0.0 + 10 +-2.058370078740158 + 20 +3.347736220472441 + 30 +0.0 + 10 +-2.058370078740158 + 20 +3.335905511811024 + 30 +0.0 + 10 +-2.058370078740158 + 20 +3.335905511811024 + 30 +0.0 + 10 +-2.058370078740158 + 20 +3.321905511811023 + 30 +0.0 + 10 +-2.059814960629921 + 20 +3.310625984251968 + 30 +0.0 + 10 +-2.062673228346457 + 20 +3.302015748031496 + 30 +0.0 + 10 +-2.062673228346457 + 20 +3.302015748031496 + 30 +0.0 + 10 +-2.065562992125984 + 20 +3.293405511811024 + 30 +0.0 + 10 +-2.069870078740157 + 20 +3.286763779527559 + 30 +0.0 + 10 +-2.075590551181103 + 20 +3.282070866141732 + 30 +0.0 + 10 +-2.075590551181103 + 20 +3.282070866141732 + 30 +0.0 + 10 +-2.081314960629921 + 20 +3.277377952755906 + 30 +0.0 + 10 +-2.088535433070866 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.097283464566929 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.097283464566929 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.108783464566929 + 20 +3.275043307086614 + 30 +0.0 + 10 +-2.117811023622047 + 20 +3.279153543307086 + 30 +0.0 + 10 +-2.124370078740157 + 20 +3.287405511811023 + 30 +0.0 + 10 +-2.124370078740157 + 20 +3.287405511811023 + 30 +0.0 + 10 +-2.132228346456693 + 20 +3.297318897637795 + 30 +0.0 + 10 +-2.136173228346457 + 20 +3.313515748031496 + 30 +0.0 + 10 +-2.136173228346457 + 20 +3.335905511811024 + 30 +0.0 + 0 +SPLINE + 5 +8F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.121118110236221 + 20 +3.335905511811024 + 30 +0.0 + 10 +-2.121118110236221 + 20 +3.316318897637795 + 30 +0.0 + 10 +-2.118811023622047 + 20 +3.303291338582677 + 30 +0.0 + 10 +-2.114228346456693 + 20 +3.296791338582677 + 30 +0.0 + 10 +-2.114228346456693 + 20 +3.296791338582677 + 30 +0.0 + 10 +-2.109645669291339 + 20 +3.290318897637795 + 30 +0.0 + 10 +-2.104007874015748 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.097283464566929 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.097283464566929 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.090535433070866 + 20 +3.287070866141732 + 30 +0.0 + 10 +-2.084897637795275 + 20 +3.290350393700787 + 30 +0.0 + 10 +-2.080314960629921 + 20 +3.296850393700788 + 30 +0.0 + 10 +-2.080314960629921 + 20 +3.296850393700788 + 30 +0.0 + 10 +-2.075728346456693 + 20 +3.303350393700788 + 30 +0.0 + 10 +-2.073425196850394 + 20 +3.316377952755905 + 30 +0.0 + 10 +-2.073425196850394 + 20 +3.335905511811024 + 30 +0.0 + 10 +-2.073425196850394 + 20 +3.335905511811024 + 30 +0.0 + 10 +-2.073425196850394 + 20 +3.355543307086614 + 30 +0.0 + 10 +-2.075728346456693 + 20 +3.368598425196851 + 30 +0.0 + 10 +-2.080314960629921 + 20 +3.375043307086614 + 30 +0.0 + 10 +-2.080314960629921 + 20 +3.375043307086614 + 30 +0.0 + 10 +-2.084897637795275 + 20 +3.381515748031496 + 30 +0.0 + 10 +-2.090590551181102 + 20 +3.384736220472441 + 30 +0.0 + 10 +-2.097425196850394 + 20 +3.384736220472441 + 30 +0.0 + 10 +-2.097425196850394 + 20 +3.384736220472441 + 30 +0.0 + 10 +-2.104173228346457 + 20 +3.384736220472441 + 30 +0.0 + 10 +-2.109535433070866 + 20 +3.381874015748032 + 30 +0.0 + 10 +-2.113562992125984 + 20 +3.376181102362205 + 30 +0.0 + 10 +-2.113562992125984 + 20 +3.376181102362205 + 30 +0.0 + 10 +-2.118590551181102 + 20 +3.368933070866142 + 30 +0.0 + 10 +-2.121118110236221 + 20 +3.355488188976378 + 30 +0.0 + 10 +-2.121118110236221 + 20 +3.335905511811024 + 30 +0.0 + 0 +SPLINE + 5 +90 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.988314960629921 + 20 +3.277070866141732 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.277070866141732 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.37040157480315 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.37040157480315 + 30 +0.0 + 10 +-2.002952755905512 + 20 +3.37040157480315 + 30 +0.0 + 10 +-2.00648031496063 + 20 +3.367043307086614 + 30 +0.0 + 10 +-2.011090551181102 + 20 +3.363681102362205 + 30 +0.0 + 10 +-2.016814960629921 + 20 +3.360318897637795 + 30 +0.0 + 10 +-2.016814960629921 + 20 +3.360318897637795 + 30 +0.0 + 10 +-2.022562992125984 + 20 +3.35696062992126 + 30 +0.0 + 10 +-2.027704724409449 + 20 +3.354433070866142 + 30 +0.0 + 10 +-2.032259842519685 + 20 +3.352763779527559 + 30 +0.0 + 10 +-2.032259842519685 + 20 +3.352763779527559 + 30 +0.0 + 10 +-2.032259842519685 + 20 +3.352763779527559 + 30 +0.0 + 10 +-2.032259842519685 + 20 +3.366901574803149 + 30 +0.0 + 10 +-2.032259842519685 + 20 +3.366901574803149 + 30 +0.0 + 10 +-2.032259842519685 + 20 +3.366901574803149 + 30 +0.0 + 10 +-2.024062992125984 + 20 +3.370763779527559 + 30 +0.0 + 10 +-2.016897637795275 + 20 +3.375433070866142 + 30 +0.0 + 10 +-2.010759842519685 + 20 +3.38090157480315 + 30 +0.0 + 10 +-2.010759842519685 + 20 +3.38090157480315 + 30 +0.0 + 10 +-2.004649606299213 + 20 +3.38640157480315 + 30 +0.0 + 10 +-2.000287401574803 + 20 +3.391708661417323 + 30 +0.0 + 10 +-1.997732283464567 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.997732283464567 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.997732283464567 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.396874015748032 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.277070866141732 + 30 +0.0 + 10 +-1.988314960629921 + 20 +3.277070866141732 + 30 +0.0 + 0 +SPLINE + 5 +91 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.460488188976378 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.415488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.415488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.415488188976378 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.407574803149606 + 20 +3.540736220472441 + 30 +0.0 + 10 +-1.401515748031496 + 20 +3.540350393700787 + 30 +0.0 + 10 +-1.397350393700787 + 20 +3.53959842519685 + 30 +0.0 + 10 +-1.397350393700787 + 20 +3.53959842519685 + 30 +0.0 + 10 +-1.391488188976378 + 20 +3.538625984251969 + 30 +0.0 + 10 +-1.386574803149606 + 20 +3.536763779527559 + 30 +0.0 + 10 +-1.382602362204724 + 20 +3.534015748031496 + 30 +0.0 + 10 +-1.382602362204724 + 20 +3.534015748031496 + 30 +0.0 + 10 +-1.378657480314961 + 20 +3.531295275590551 + 30 +0.0 + 10 +-1.37546062992126 + 20 +3.527433070866142 + 30 +0.0 + 10 +-1.373047244094488 + 20 +3.522515748031496 + 30 +0.0 + 10 +-1.373047244094488 + 20 +3.522515748031496 + 30 +0.0 + 10 +-1.370629921259843 + 20 +3.517570866141732 + 30 +0.0 + 10 +-1.369433070866142 + 20 +3.512153543307087 + 30 +0.0 + 10 +-1.369433070866142 + 20 +3.506236220472441 + 30 +0.0 + 10 +-1.369433070866142 + 20 +3.506236220472441 + 30 +0.0 + 10 +-1.369433070866142 + 20 +3.496098425196851 + 30 +0.0 + 10 +-1.372657480314961 + 20 +3.487488188976378 + 30 +0.0 + 10 +-1.379102362204724 + 20 +3.48046062992126 + 30 +0.0 + 10 +-1.379102362204724 + 20 +3.48046062992126 + 30 +0.0 + 10 +-1.385574803149606 + 20 +3.47346062992126 + 30 +0.0 + 10 +-1.397240157480315 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.414102362204724 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.414102362204724 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.414102362204724 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.469933070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.460488188976378 + 20 +3.421433070866142 + 30 +0.0 + 0 +SPLINE + 5 +92 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.444712598425197 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.413850393700787 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.413850393700787 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.413850393700787 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.403657480314961 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.396405511811024 + 20 +3.485905511811024 + 30 +0.0 + 10 +-1.392129921259843 + 20 +3.489708661417323 + 30 +0.0 + 10 +-1.392129921259843 + 20 +3.489708661417323 + 30 +0.0 + 10 +-1.387850393700787 + 20 +3.493515748031496 + 30 +0.0 + 10 +-1.385712598425197 + 20 +3.498850393700788 + 30 +0.0 + 10 +-1.385712598425197 + 20 +3.505736220472441 + 30 +0.0 + 10 +-1.385712598425197 + 20 +3.505736220472441 + 30 +0.0 + 10 +-1.385712598425197 + 20 +3.510736220472441 + 30 +0.0 + 10 +-1.38696062992126 + 20 +3.515015748031496 + 30 +0.0 + 10 +-1.389488188976378 + 20 +3.518570866141732 + 30 +0.0 + 10 +-1.389488188976378 + 20 +3.518570866141732 + 30 +0.0 + 10 +-1.392015748031496 + 20 +3.522125984251968 + 30 +0.0 + 10 +-1.395322834645669 + 20 +3.52446062992126 + 30 +0.0 + 10 +-1.39946062992126 + 20 +3.52559842519685 + 30 +0.0 + 10 +-1.39946062992126 + 20 +3.52559842519685 + 30 +0.0 + 10 +-1.402129921259843 + 20 +3.526295275590551 + 30 +0.0 + 10 +-1.407015748031496 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.414185039370079 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.414185039370079 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.414185039370079 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.526653543307086 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.484015748031496 + 30 +0.0 + 10 +-1.444712598425197 + 20 +3.484015748031496 + 30 +0.0 + 0 +SPLINE + 5 +93 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.294795275590551 + 20 +3.43209842519685 + 30 +0.0 + 10 +-1.300240157480315 + 20 +3.427488188976378 + 30 +0.0 + 10 +-1.305464566929134 + 20 +3.424240157480315 + 30 +0.0 + 10 +-1.310464566929134 + 20 +3.422322834645669 + 30 +0.0 + 10 +-1.310464566929134 + 20 +3.422322834645669 + 30 +0.0 + 10 +-1.315492125984252 + 20 +3.420433070866142 + 30 +0.0 + 10 +-1.320877952755906 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.326629921259842 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.326629921259842 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.336129921259843 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.343405511811024 + 20 +3.421795275590551 + 30 +0.0 + 10 +-1.34851968503937 + 20 +3.426433070866142 + 30 +0.0 + 10 +-1.34851968503937 + 20 +3.426433070866142 + 30 +0.0 + 10 +-1.353602362204724 + 20 +3.431070866141732 + 30 +0.0 + 10 +-1.356157480314961 + 20 +3.437015748031496 + 30 +0.0 + 10 +-1.356157480314961 + 20 +3.444212598425197 + 30 +0.0 + 10 +-1.356157480314961 + 20 +3.444212598425197 + 30 +0.0 + 10 +-1.356157480314961 + 20 +3.44846062992126 + 30 +0.0 + 10 +-1.355212598425197 + 20 +3.452322834645669 + 30 +0.0 + 10 +-1.353267716535433 + 20 +3.455822834645669 + 30 +0.0 + 10 +-1.353267716535433 + 20 +3.455822834645669 + 30 +0.0 + 10 +-1.351350393700787 + 20 +3.459322834645669 + 30 +0.0 + 10 +-1.348822834645669 + 20 +3.462125984251969 + 30 +0.0 + 10 +-1.345712598425197 + 20 +3.464240157480315 + 30 +0.0 + 10 +-1.345712598425197 + 20 +3.464240157480315 + 30 +0.0 + 10 +-1.342574803149606 + 20 +3.466350393700787 + 30 +0.0 + 10 +-1.339074803149606 + 20 +3.46796062992126 + 30 +0.0 + 10 +-1.335157480314961 + 20 +3.469043307086614 + 30 +0.0 + 10 +-1.335157480314961 + 20 +3.469043307086614 + 30 +0.0 + 10 +-1.332295275590551 + 20 +3.469795275590551 + 30 +0.0 + 10 +-1.327964566929134 + 20 +3.470543307086614 + 30 +0.0 + 10 +-1.322157480314961 + 20 +3.471240157480315 + 30 +0.0 + 10 +-1.322157480314961 + 20 +3.471240157480315 + 30 +0.0 + 10 +-1.310322834645669 + 20 +3.472653543307087 + 30 +0.0 + 10 +-1.301602362204724 + 20 +3.474322834645669 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.476295275590551 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.476295275590551 + 30 +0.0 + 10 +-1.295964566929134 + 20 +3.478295275590551 + 30 +0.0 + 10 +-1.295937007874016 + 20 +3.479570866141732 + 30 +0.0 + 10 +-1.295937007874016 + 20 +3.480098425196851 + 30 +0.0 + 10 +-1.295937007874016 + 20 +3.480098425196851 + 30 +0.0 + 10 +-1.295937007874016 + 20 +3.486070866141732 + 30 +0.0 + 10 +-1.297322834645669 + 20 +3.490295275590551 + 30 +0.0 + 10 +-1.300102362204724 + 20 +3.492708661417323 + 30 +0.0 + 10 +-1.300102362204724 + 20 +3.492708661417323 + 30 +0.0 + 10 +-1.303822834645669 + 20 +3.496043307086614 + 30 +0.0 + 10 +-1.309409448818898 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.316767716535433 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.316767716535433 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.323657480314961 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.328740157480315 + 20 +3.496488188976378 + 30 +0.0 + 10 +-1.332047244094488 + 20 +3.494070866141732 + 30 +0.0 + 10 +-1.332047244094488 + 20 +3.494070866141732 + 30 +0.0 + 10 +-1.335322834645669 + 20 +3.491653543307087 + 30 +0.0 + 10 +-1.337740157480315 + 20 +3.487377952755906 + 30 +0.0 + 10 +-1.339322834645669 + 20 +3.481236220472441 + 30 +0.0 + 10 +-1.339322834645669 + 20 +3.481236220472441 + 30 +0.0 + 10 +-1.339322834645669 + 20 +3.481236220472441 + 30 +0.0 + 10 +-1.353629921259843 + 20 +3.483208661417323 + 30 +0.0 + 10 +-1.353629921259843 + 20 +3.483208661417323 + 30 +0.0 + 10 +-1.353629921259843 + 20 +3.483208661417323 + 30 +0.0 + 10 +-1.352322834645669 + 20 +3.48932283464567 + 30 +0.0 + 10 +-1.350185039370079 + 20 +3.494295275590551 + 30 +0.0 + 10 +-1.347212598425197 + 20 +3.498043307086614 + 30 +0.0 + 10 +-1.347212598425197 + 20 +3.498043307086614 + 30 +0.0 + 10 +-1.344240157480315 + 20 +3.501822834645669 + 30 +0.0 + 10 +-1.339905511811024 + 20 +3.504736220472441 + 30 +0.0 + 10 +-1.334267716535433 + 20 +3.506763779527559 + 30 +0.0 + 10 +-1.334267716535433 + 20 +3.506763779527559 + 30 +0.0 + 10 +-1.328629921259842 + 20 +3.508795275590551 + 30 +0.0 + 10 +-1.322102362204724 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.314657480314961 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.314657480314961 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.307267716535433 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.301295275590551 + 20 +3.508933070866142 + 30 +0.0 + 10 +-1.296685039370079 + 20 +3.507208661417323 + 30 +0.0 + 10 +-1.296685039370079 + 20 +3.507208661417323 + 30 +0.0 + 10 +-1.292074803149606 + 20 +3.50546062992126 + 30 +0.0 + 10 +-1.288685039370079 + 20 +3.503295275590551 + 30 +0.0 + 10 +-1.286492125984252 + 20 +3.500653543307087 + 30 +0.0 + 10 +-1.286492125984252 + 20 +3.500653543307087 + 30 +0.0 + 10 +-1.284322834645669 + 20 +3.498015748031496 + 30 +0.0 + 10 +-1.282822834645669 + 20 +3.494708661417323 + 30 +0.0 + 10 +-1.281937007874016 + 20 +3.490681102362205 + 30 +0.0 + 10 +-1.281937007874016 + 20 +3.490681102362205 + 30 +0.0 + 10 +-1.281464566929134 + 20 +3.488181102362205 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.483681102362205 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.477181102362205 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.477181102362205 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.477181102362205 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.457653543307087 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.457653543307087 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.457653543307087 + 30 +0.0 + 10 +-1.281212598425197 + 20 +3.444015748031496 + 30 +0.0 + 10 +-1.280909448818898 + 20 +3.435405511811024 + 30 +0.0 + 10 +-1.280267716535433 + 20 +3.431822834645669 + 30 +0.0 + 10 +-1.280267716535433 + 20 +3.431822834645669 + 30 +0.0 + 10 +-1.279657480314961 + 20 +3.428212598425197 + 30 +0.0 + 10 +-1.278409448818898 + 20 +3.424740157480315 + 30 +0.0 + 10 +-1.276574803149606 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.276574803149606 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.276574803149606 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.29188188976378 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.29188188976378 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.29188188976378 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.293381889763779 + 20 +3.42446062992126 + 30 +0.0 + 10 +-1.29438188976378 + 20 +3.428015748031496 + 30 +0.0 + 10 +-1.294795275590551 + 20 +3.43209842519685 + 30 +0.0 + 0 +SPLINE + 5 +94 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.29601968503937 + 20 +3.464822834645669 + 30 +0.0 + 10 +-1.301350393700787 + 20 +3.462625984251968 + 30 +0.0 + 10 +-1.309322834645669 + 20 +3.460795275590551 + 30 +0.0 + 10 +-1.319937007874016 + 20 +3.459267716535433 + 30 +0.0 + 10 +-1.319937007874016 + 20 +3.459267716535433 + 30 +0.0 + 10 +-1.325964566929134 + 20 +3.458405511811024 + 30 +0.0 + 10 +-1.330240157480315 + 20 +3.457433070866142 + 30 +0.0 + 10 +-1.332712598425197 + 20 +3.456350393700788 + 30 +0.0 + 10 +-1.332712598425197 + 20 +3.456350393700788 + 30 +0.0 + 10 +-1.335212598425197 + 20 +3.455267716535433 + 30 +0.0 + 10 +-1.337157480314961 + 20 +3.453681102362205 + 30 +0.0 + 10 +-1.338492125984252 + 20 +3.451570866141732 + 30 +0.0 + 10 +-1.338492125984252 + 20 +3.451570866141732 + 30 +0.0 + 10 +-1.339850393700788 + 20 +3.449488188976378 + 30 +0.0 + 10 +-1.340547244094488 + 20 +3.447181102362205 + 30 +0.0 + 10 +-1.340547244094488 + 20 +3.444625984251969 + 30 +0.0 + 10 +-1.340547244094488 + 20 +3.444625984251969 + 30 +0.0 + 10 +-1.340547244094488 + 20 +3.440712598425197 + 30 +0.0 + 10 +-1.339047244094488 + 20 +3.43746062992126 + 30 +0.0 + 10 +-1.336102362204724 + 20 +3.434850393700787 + 30 +0.0 + 10 +-1.336102362204724 + 20 +3.434850393700787 + 30 +0.0 + 10 +-1.333157480314961 + 20 +3.432267716535433 + 30 +0.0 + 10 +-1.328822834645669 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.323129921259842 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.323129921259842 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.317492125984252 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.312464566929134 + 20 +3.432181102362205 + 30 +0.0 + 10 +-1.308074803149606 + 20 +3.434653543307087 + 30 +0.0 + 10 +-1.308074803149606 + 20 +3.434653543307087 + 30 +0.0 + 10 +-1.303685039370079 + 20 +3.437125984251968 + 30 +0.0 + 10 +-1.300437007874016 + 20 +3.440515748031496 + 30 +0.0 + 10 +-1.29838188976378 + 20 +3.444795275590551 + 30 +0.0 + 10 +-1.29838188976378 + 20 +3.444795275590551 + 30 +0.0 + 10 +-1.296795275590551 + 20 +3.448098425196851 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.452988188976378 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.459433070866142 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.459433070866142 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.459433070866142 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.464822834645669 + 30 +0.0 + 10 +-1.29601968503937 + 20 +3.464822834645669 + 30 +0.0 + 0 +SPLINE + 5 +95 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.258492125984252 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.507850393700787 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.495570866141732 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.495570866141732 + 30 +0.0 + 10 +-1.245326771653543 + 20 +3.495570866141732 + 30 +0.0 + 10 +-1.238964566929134 + 20 +3.505070866141732 + 30 +0.0 + 10 +-1.229799212598425 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.217826771653543 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.217826771653543 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.212602362204724 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.207826771653543 + 20 +3.508877952755905 + 30 +0.0 + 10 +-1.203464566929134 + 20 +3.507015748031496 + 30 +0.0 + 10 +-1.203464566929134 + 20 +3.507015748031496 + 30 +0.0 + 10 +-1.199074803149606 + 20 +3.505125984251968 + 30 +0.0 + 10 +-1.195826771653543 + 20 +3.502681102362205 + 30 +0.0 + 10 +-1.193657480314961 + 20 +3.499625984251968 + 30 +0.0 + 10 +-1.193657480314961 + 20 +3.499625984251968 + 30 +0.0 + 10 +-1.191464566929134 + 20 +3.49659842519685 + 30 +0.0 + 10 +-1.189964566929134 + 20 +3.492988188976378 + 30 +0.0 + 10 +-1.189074803149606 + 20 +3.488822834645669 + 30 +0.0 + 10 +-1.189074803149606 + 20 +3.488822834645669 + 30 +0.0 + 10 +-1.188547244094488 + 20 +3.48609842519685 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.481350393700787 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.474570866141732 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.474570866141732 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.474570866141732 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.188271653543307 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.474015748031496 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.474015748031496 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.474015748031496 + 30 +0.0 + 10 +-1.202937007874016 + 20 +3.47996062992126 + 30 +0.0 + 10 +-1.203492125984252 + 20 +3.484433070866142 + 30 +0.0 + 10 +-1.204629921259843 + 20 +3.487405511811024 + 30 +0.0 + 10 +-1.204629921259843 + 20 +3.487405511811024 + 30 +0.0 + 10 +-1.205771653543307 + 20 +3.490350393700787 + 30 +0.0 + 10 +-1.207799212598425 + 20 +3.492708661417323 + 30 +0.0 + 10 +-1.210688976377953 + 20 +3.49446062992126 + 30 +0.0 + 10 +-1.210688976377953 + 20 +3.49446062992126 + 30 +0.0 + 10 +-1.213602362204725 + 20 +3.496236220472441 + 30 +0.0 + 10 +-1.216992125984252 + 20 +3.497125984251968 + 30 +0.0 + 10 +-1.220909448818898 + 20 +3.497125984251968 + 30 +0.0 + 10 +-1.220909448818898 + 20 +3.497125984251968 + 30 +0.0 + 10 +-1.227157480314961 + 20 +3.497125984251968 + 30 +0.0 + 10 +-1.23251968503937 + 20 +3.495125984251969 + 30 +0.0 + 10 +-1.237074803149606 + 20 +3.491181102362205 + 30 +0.0 + 10 +-1.237074803149606 + 20 +3.491181102362205 + 30 +0.0 + 10 +-1.241602362204724 + 20 +3.487208661417323 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.479708661417323 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.468625984251969 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.468625984251969 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.468625984251969 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.243854330708661 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.258492125984252 + 20 +3.421433070866142 + 30 +0.0 + 0 +SPLINE + 5 +96 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.109409448818898 + 20 +3.43209842519685 + 30 +0.0 + 10 +-1.114854330708661 + 20 +3.427488188976378 + 30 +0.0 + 10 +-1.12007874015748 + 20 +3.424240157480315 + 30 +0.0 + 10 +-1.12507874015748 + 20 +3.422322834645669 + 30 +0.0 + 10 +-1.12507874015748 + 20 +3.422322834645669 + 30 +0.0 + 10 +-1.130106299212599 + 20 +3.420433070866142 + 30 +0.0 + 10 +-1.135492125984252 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.141244094488189 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.141244094488189 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.150744094488189 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.15801968503937 + 20 +3.421795275590551 + 30 +0.0 + 10 +-1.163133858267716 + 20 +3.426433070866142 + 30 +0.0 + 10 +-1.163133858267716 + 20 +3.426433070866142 + 30 +0.0 + 10 +-1.168216535433071 + 20 +3.431070866141732 + 30 +0.0 + 10 +-1.170771653543307 + 20 +3.437015748031496 + 30 +0.0 + 10 +-1.170771653543307 + 20 +3.444212598425197 + 30 +0.0 + 10 +-1.170771653543307 + 20 +3.444212598425197 + 30 +0.0 + 10 +-1.170771653543307 + 20 +3.44846062992126 + 30 +0.0 + 10 +-1.169826771653543 + 20 +3.452322834645669 + 30 +0.0 + 10 +-1.167881889763779 + 20 +3.455822834645669 + 30 +0.0 + 10 +-1.167881889763779 + 20 +3.455822834645669 + 30 +0.0 + 10 +-1.165964566929134 + 20 +3.459322834645669 + 30 +0.0 + 10 +-1.163437007874016 + 20 +3.462125984251969 + 30 +0.0 + 10 +-1.160326771653543 + 20 +3.464240157480315 + 30 +0.0 + 10 +-1.160326771653543 + 20 +3.464240157480315 + 30 +0.0 + 10 +-1.157188976377953 + 20 +3.466350393700787 + 30 +0.0 + 10 +-1.153688976377953 + 20 +3.46796062992126 + 30 +0.0 + 10 +-1.149771653543307 + 20 +3.469043307086614 + 30 +0.0 + 10 +-1.149771653543307 + 20 +3.469043307086614 + 30 +0.0 + 10 +-1.146909448818898 + 20 +3.469795275590551 + 30 +0.0 + 10 +-1.14257874015748 + 20 +3.470543307086614 + 30 +0.0 + 10 +-1.136771653543307 + 20 +3.471240157480315 + 30 +0.0 + 10 +-1.136771653543307 + 20 +3.471240157480315 + 30 +0.0 + 10 +-1.124937007874016 + 20 +3.472653543307087 + 30 +0.0 + 10 +-1.116216535433071 + 20 +3.474322834645669 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.476295275590551 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.476295275590551 + 30 +0.0 + 10 +-1.11057874015748 + 20 +3.478295275590551 + 30 +0.0 + 10 +-1.110551181102362 + 20 +3.479570866141732 + 30 +0.0 + 10 +-1.110551181102362 + 20 +3.480098425196851 + 30 +0.0 + 10 +-1.110551181102362 + 20 +3.480098425196851 + 30 +0.0 + 10 +-1.110551181102362 + 20 +3.486070866141732 + 30 +0.0 + 10 +-1.111937007874016 + 20 +3.490295275590551 + 30 +0.0 + 10 +-1.114716535433071 + 20 +3.492708661417323 + 30 +0.0 + 10 +-1.114716535433071 + 20 +3.492708661417323 + 30 +0.0 + 10 +-1.118437007874016 + 20 +3.496043307086614 + 30 +0.0 + 10 +-1.124023622047244 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.13138188976378 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.13138188976378 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.138271653543307 + 20 +3.497681102362205 + 30 +0.0 + 10 +-1.143354330708661 + 20 +3.496488188976378 + 30 +0.0 + 10 +-1.146661417322835 + 20 +3.494070866141732 + 30 +0.0 + 10 +-1.146661417322835 + 20 +3.494070866141732 + 30 +0.0 + 10 +-1.149937007874016 + 20 +3.491653543307087 + 30 +0.0 + 10 +-1.152354330708661 + 20 +3.487377952755906 + 30 +0.0 + 10 +-1.153937007874016 + 20 +3.481236220472441 + 30 +0.0 + 10 +-1.153937007874016 + 20 +3.481236220472441 + 30 +0.0 + 10 +-1.153937007874016 + 20 +3.481236220472441 + 30 +0.0 + 10 +-1.168244094488189 + 20 +3.483208661417323 + 30 +0.0 + 10 +-1.168244094488189 + 20 +3.483208661417323 + 30 +0.0 + 10 +-1.168244094488189 + 20 +3.483208661417323 + 30 +0.0 + 10 +-1.166937007874016 + 20 +3.48932283464567 + 30 +0.0 + 10 +-1.164799212598425 + 20 +3.494295275590551 + 30 +0.0 + 10 +-1.161826771653543 + 20 +3.498043307086614 + 30 +0.0 + 10 +-1.161826771653543 + 20 +3.498043307086614 + 30 +0.0 + 10 +-1.158854330708661 + 20 +3.501822834645669 + 30 +0.0 + 10 +-1.15451968503937 + 20 +3.504736220472441 + 30 +0.0 + 10 +-1.14888188976378 + 20 +3.506763779527559 + 30 +0.0 + 10 +-1.14888188976378 + 20 +3.506763779527559 + 30 +0.0 + 10 +-1.143244094488189 + 20 +3.508795275590551 + 30 +0.0 + 10 +-1.136716535433071 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.129271653543307 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.129271653543307 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.121881889763779 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.115909448818898 + 20 +3.508933070866142 + 30 +0.0 + 10 +-1.111299212598425 + 20 +3.507208661417323 + 30 +0.0 + 10 +-1.111299212598425 + 20 +3.507208661417323 + 30 +0.0 + 10 +-1.106688976377953 + 20 +3.50546062992126 + 30 +0.0 + 10 +-1.103299212598425 + 20 +3.503295275590551 + 30 +0.0 + 10 +-1.101106299212598 + 20 +3.500653543307087 + 30 +0.0 + 10 +-1.101106299212598 + 20 +3.500653543307087 + 30 +0.0 + 10 +-1.098937007874016 + 20 +3.498015748031496 + 30 +0.0 + 10 +-1.097437007874016 + 20 +3.494708661417323 + 30 +0.0 + 10 +-1.096551181102362 + 20 +3.490681102362205 + 30 +0.0 + 10 +-1.096551181102362 + 20 +3.490681102362205 + 30 +0.0 + 10 +-1.09607874015748 + 20 +3.488181102362205 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.483681102362205 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.477181102362205 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.477181102362205 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.477181102362205 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.457653543307087 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.457653543307087 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.457653543307087 + 30 +0.0 + 10 +-1.095826771653543 + 20 +3.444015748031496 + 30 +0.0 + 10 +-1.095523622047244 + 20 +3.435405511811024 + 30 +0.0 + 10 +-1.09488188976378 + 20 +3.431822834645669 + 30 +0.0 + 10 +-1.09488188976378 + 20 +3.431822834645669 + 30 +0.0 + 10 +-1.094271653543307 + 20 +3.428212598425197 + 30 +0.0 + 10 +-1.093023622047244 + 20 +3.424740157480315 + 30 +0.0 + 10 +-1.091188976377953 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.091188976377953 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.091188976377953 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.106496062992126 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.106496062992126 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.106496062992126 + 20 +3.421433070866142 + 30 +0.0 + 10 +-1.107996062992126 + 20 +3.42446062992126 + 30 +0.0 + 10 +-1.108996062992126 + 20 +3.428015748031496 + 30 +0.0 + 10 +-1.109409448818898 + 20 +3.43209842519685 + 30 +0.0 + 0 +SPLINE + 5 +97 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.110633858267716 + 20 +3.464822834645669 + 30 +0.0 + 10 +-1.115964566929134 + 20 +3.462625984251968 + 30 +0.0 + 10 +-1.123937007874016 + 20 +3.460795275590551 + 30 +0.0 + 10 +-1.134551181102362 + 20 +3.459267716535433 + 30 +0.0 + 10 +-1.134551181102362 + 20 +3.459267716535433 + 30 +0.0 + 10 +-1.14057874015748 + 20 +3.458405511811024 + 30 +0.0 + 10 +-1.144854330708661 + 20 +3.457433070866142 + 30 +0.0 + 10 +-1.147326771653543 + 20 +3.456350393700788 + 30 +0.0 + 10 +-1.147326771653543 + 20 +3.456350393700788 + 30 +0.0 + 10 +-1.149826771653543 + 20 +3.455267716535433 + 30 +0.0 + 10 +-1.151771653543307 + 20 +3.453681102362205 + 30 +0.0 + 10 +-1.153106299212598 + 20 +3.451570866141732 + 30 +0.0 + 10 +-1.153106299212598 + 20 +3.451570866141732 + 30 +0.0 + 10 +-1.154464566929134 + 20 +3.449488188976378 + 30 +0.0 + 10 +-1.155161417322835 + 20 +3.447181102362205 + 30 +0.0 + 10 +-1.155161417322835 + 20 +3.444625984251969 + 30 +0.0 + 10 +-1.155161417322835 + 20 +3.444625984251969 + 30 +0.0 + 10 +-1.155161417322835 + 20 +3.440712598425197 + 30 +0.0 + 10 +-1.153661417322835 + 20 +3.43746062992126 + 30 +0.0 + 10 +-1.150716535433071 + 20 +3.434850393700787 + 30 +0.0 + 10 +-1.150716535433071 + 20 +3.434850393700787 + 30 +0.0 + 10 +-1.147771653543307 + 20 +3.432267716535433 + 30 +0.0 + 10 +-1.143437007874016 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.137744094488189 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.137744094488189 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.132106299212599 + 20 +3.43096062992126 + 30 +0.0 + 10 +-1.12707874015748 + 20 +3.432181102362205 + 30 +0.0 + 10 +-1.122688976377953 + 20 +3.434653543307087 + 30 +0.0 + 10 +-1.122688976377953 + 20 +3.434653543307087 + 30 +0.0 + 10 +-1.118299212598425 + 20 +3.437125984251968 + 30 +0.0 + 10 +-1.115051181102362 + 20 +3.440515748031496 + 30 +0.0 + 10 +-1.112996062992126 + 20 +3.444795275590551 + 30 +0.0 + 10 +-1.112996062992126 + 20 +3.444795275590551 + 30 +0.0 + 10 +-1.111409448818898 + 20 +3.448098425196851 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.452988188976378 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.459433070866142 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.459433070866142 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.459433070866142 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.464822834645669 + 30 +0.0 + 10 +-1.110633858267716 + 20 +3.464822834645669 + 30 +0.0 + 0 +SPLINE + 5 +98 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.078968503937008 + 20 +3.447240157480315 + 30 +0.0 + 10 +-1.078968503937008 + 20 +3.447240157480315 + 30 +0.0 + 10 +-1.064496062992126 + 20 +3.449515748031496 + 30 +0.0 + 10 +-1.064496062992126 + 20 +3.449515748031496 + 30 +0.0 + 10 +-1.064496062992126 + 20 +3.449515748031496 + 30 +0.0 + 10 +-1.063688976377953 + 20 +3.443712598425197 + 30 +0.0 + 10 +-1.061413385826772 + 20 +3.439267716535433 + 30 +0.0 + 10 +-1.057688976377953 + 20 +3.436153543307086 + 30 +0.0 + 10 +-1.057688976377953 + 20 +3.436153543307086 + 30 +0.0 + 10 +-1.053996062992126 + 20 +3.433070866141732 + 30 +0.0 + 10 +-1.048799212598425 + 20 +3.431515748031496 + 30 +0.0 + 10 +-1.042106299212598 + 20 +3.431515748031496 + 30 +0.0 + 10 +-1.042106299212598 + 20 +3.431515748031496 + 30 +0.0 + 10 +-1.035385826771654 + 20 +3.431515748031496 + 30 +0.0 + 10 +-1.030385826771653 + 20 +3.432905511811024 + 30 +0.0 + 10 +-1.027133858267717 + 20 +3.435625984251968 + 30 +0.0 + 10 +-1.027133858267717 + 20 +3.435625984251968 + 30 +0.0 + 10 +-1.023885826771654 + 20 +3.438377952755905 + 30 +0.0 + 10 +-1.022244094488189 + 20 +3.441598425196851 + 30 +0.0 + 10 +-1.022244094488189 + 20 +3.445267716535433 + 30 +0.0 + 10 +-1.022244094488189 + 20 +3.445267716535433 + 30 +0.0 + 10 +-1.022244094488189 + 20 +3.44859842519685 + 30 +0.0 + 10 +-1.023688976377953 + 20 +3.451181102362205 + 30 +0.0 + 10 +-1.02657874015748 + 20 +3.45309842519685 + 30 +0.0 + 10 +-1.02657874015748 + 20 +3.45309842519685 + 30 +0.0 + 10 +-1.02857874015748 + 20 +3.454405511811024 + 30 +0.0 + 10 +-1.03357874015748 + 20 +3.456043307086614 + 30 +0.0 + 10 +-1.041551181102362 + 20 +3.458043307086614 + 30 +0.0 + 10 +-1.041551181102362 + 20 +3.458043307086614 + 30 +0.0 + 10 +-1.052271653543307 + 20 +3.460767716535433 + 30 +0.0 + 10 +-1.059744094488189 + 20 +3.46309842519685 + 30 +0.0 + 10 +-1.063885826771654 + 20 +3.46509842519685 + 30 +0.0 + 10 +-1.063885826771654 + 20 +3.46509842519685 + 30 +0.0 + 10 +-1.068023622047244 + 20 +3.467070866141732 + 30 +0.0 + 10 +-1.071188976377953 + 20 +3.469822834645669 + 30 +0.0 + 10 +-1.073326771653543 + 20 +3.473322834645669 + 30 +0.0 + 10 +-1.073326771653543 + 20 +3.473322834645669 + 30 +0.0 + 10 +-1.075468503937008 + 20 +3.476822834645669 + 30 +0.0 + 10 +-1.076551181102362 + 20 +3.480681102362205 + 30 +0.0 + 10 +-1.076551181102362 + 20 +3.484905511811024 + 30 +0.0 + 10 +-1.076551181102362 + 20 +3.484905511811024 + 30 +0.0 + 10 +-1.076551181102362 + 20 +3.488767716535433 + 30 +0.0 + 10 +-1.075661417322835 + 20 +3.492322834645669 + 30 +0.0 + 10 +-1.073885826771654 + 20 +3.49559842519685 + 30 +0.0 + 10 +-1.073885826771654 + 20 +3.49559842519685 + 30 +0.0 + 10 +-1.072133858267716 + 20 +3.498905511811023 + 30 +0.0 + 10 +-1.069716535433071 + 20 +3.501625984251969 + 30 +0.0 + 10 +-1.066688976377953 + 20 +3.503795275590551 + 30 +0.0 + 10 +-1.066688976377953 + 20 +3.503795275590551 + 30 +0.0 + 10 +-1.064413385826772 + 20 +3.50546062992126 + 30 +0.0 + 10 +-1.061299212598425 + 20 +3.506905511811024 + 30 +0.0 + 10 +-1.057385826771654 + 20 +3.508070866141732 + 30 +0.0 + 10 +-1.057385826771654 + 20 +3.508070866141732 + 30 +0.0 + 10 +-1.05344094488189 + 20 +3.509236220472441 + 30 +0.0 + 10 +-1.049216535433071 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.044716535433071 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.044716535433071 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.03794094488189 + 20 +3.509822834645669 + 30 +0.0 + 10 +-1.031996062992126 + 20 +3.508822834645669 + 30 +0.0 + 10 +-1.026858267716535 + 20 +3.506877952755906 + 30 +0.0 + 10 +-1.026858267716535 + 20 +3.506877952755906 + 30 +0.0 + 10 +-1.021716535433071 + 20 +3.504933070866142 + 30 +0.0 + 10 +-1.01794094488189 + 20 +3.502295275590551 + 30 +0.0 + 10 +-1.015496062992126 + 20 +3.49896062992126 + 30 +0.0 + 10 +-1.015496062992126 + 20 +3.49896062992126 + 30 +0.0 + 10 +-1.013051181102362 + 20 +3.49559842519685 + 30 +0.0 + 10 +-1.011385826771654 + 20 +3.491153543307087 + 30 +0.0 + 10 +-1.010468503937008 + 20 +3.485570866141732 + 30 +0.0 + 10 +-1.010468503937008 + 20 +3.485570866141732 + 30 +0.0 + 10 +-1.010468503937008 + 20 +3.485570866141732 + 30 +0.0 + 10 +-1.024771653543307 + 20 +3.48359842519685 + 30 +0.0 + 10 +-1.024771653543307 + 20 +3.48359842519685 + 30 +0.0 + 10 +-1.024771653543307 + 20 +3.48359842519685 + 30 +0.0 + 10 +-1.02544094488189 + 20 +3.488043307086614 + 30 +0.0 + 10 +-1.027330708661417 + 20 +3.491515748031496 + 30 +0.0 + 10 +-1.03044094488189 + 20 +3.494015748031496 + 30 +0.0 + 10 +-1.03044094488189 + 20 +3.494015748031496 + 30 +0.0 + 10 +-1.033551181102362 + 20 +3.496515748031496 + 30 +0.0 + 10 +-1.037968503937008 + 20 +3.497767716535433 + 30 +0.0 + 10 +-1.043661417322835 + 20 +3.497767716535433 + 30 +0.0 + 10 +-1.043661417322835 + 20 +3.497767716535433 + 30 +0.0 + 10 +-1.050385826771653 + 20 +3.497767716535433 + 30 +0.0 + 10 +-1.055188976377953 + 20 +3.496653543307087 + 30 +0.0 + 10 +-1.058051181102362 + 20 +3.494433070866142 + 30 +0.0 + 10 +-1.058051181102362 + 20 +3.494433070866142 + 30 +0.0 + 10 +-1.06094094488189 + 20 +3.492208661417323 + 30 +0.0 + 10 +-1.062385826771653 + 20 +3.489598425196851 + 30 +0.0 + 10 +-1.062385826771653 + 20 +3.486625984251968 + 30 +0.0 + 10 +-1.062385826771653 + 20 +3.486625984251968 + 30 +0.0 + 10 +-1.062385826771653 + 20 +3.484708661417323 + 30 +0.0 + 10 +-1.061771653543307 + 20 +3.483015748031496 + 30 +0.0 + 10 +-1.06057874015748 + 20 +3.481488188976378 + 30 +0.0 + 10 +-1.06057874015748 + 20 +3.481488188976378 + 30 +0.0 + 10 +-1.059385826771654 + 20 +3.479905511811024 + 30 +0.0 + 10 +-1.057523622047244 + 20 +3.478625984251968 + 30 +0.0 + 10 +-1.054968503937008 + 20 +3.477570866141732 + 30 +0.0 + 10 +-1.054968503937008 + 20 +3.477570866141732 + 30 +0.0 + 10 +-1.053496062992126 + 20 +3.477043307086614 + 30 +0.0 + 10 +-1.049188976377953 + 20 +3.475795275590551 + 30 +0.0 + 10 +-1.042023622047244 + 20 +3.473850393700787 + 30 +0.0 + 10 +-1.042023622047244 + 20 +3.473850393700787 + 30 +0.0 + 10 +-1.031661417322835 + 20 +3.471070866141732 + 30 +0.0 + 10 +-1.02444094488189 + 20 +3.468822834645669 + 30 +0.0 + 10 +-1.020358267716535 + 20 +3.467043307086614 + 30 +0.0 + 10 +-1.020358267716535 + 20 +3.467043307086614 + 30 +0.0 + 10 +-1.016244094488189 + 20 +3.465295275590551 + 30 +0.0 + 10 +-1.013023622047244 + 20 +3.462708661417323 + 30 +0.0 + 10 +-1.010688976377953 + 20 +3.459350393700787 + 30 +0.0 + 10 +-1.010688976377953 + 20 +3.459350393700787 + 30 +0.0 + 10 +-1.008358267716535 + 20 +3.455988188976378 + 30 +0.0 + 10 +-1.007188976377953 + 20 +3.451822834645669 + 30 +0.0 + 10 +-1.007188976377953 + 20 +3.446822834645669 + 30 +0.0 + 10 +-1.007188976377953 + 20 +3.446822834645669 + 30 +0.0 + 10 +-1.007188976377953 + 20 +3.441933070866142 + 30 +0.0 + 10 +-1.008633858267717 + 20 +3.437350393700787 + 30 +0.0 + 10 +-1.011468503937008 + 20 +3.433015748031496 + 30 +0.0 + 10 +-1.011468503937008 + 20 +3.433015748031496 + 30 +0.0 + 10 +-1.014330708661417 + 20 +3.428712598425197 + 30 +0.0 + 10 +-1.01844094488189 + 20 +3.425377952755905 + 30 +0.0 + 10 +-1.023803149606299 + 20 +3.423015748031496 + 30 +0.0 + 10 +-1.023803149606299 + 20 +3.423015748031496 + 30 +0.0 + 10 +-1.029161417322835 + 20 +3.420653543307087 + 30 +0.0 + 10 +-1.035244094488189 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.042023622047244 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.042023622047244 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.053271653543307 + 20 +3.419488188976378 + 30 +0.0 + 10 +-1.061826771653543 + 20 +3.421822834645669 + 30 +0.0 + 10 +-1.067716535433071 + 20 +3.426488188976378 + 30 +0.0 + 10 +-1.067716535433071 + 20 +3.426488188976378 + 30 +0.0 + 10 +-1.073606299212599 + 20 +3.431153543307087 + 30 +0.0 + 10 +-1.077358267716535 + 20 +3.438070866141732 + 30 +0.0 + 10 +-1.078968503937008 + 20 +3.447240157480315 + 30 +0.0 + 0 +SPLINE + 5 +99 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.995244094488189 + 20 +3.464653543307087 + 30 +0.0 + 10 +-0.995244094488189 + 20 +3.480653543307087 + 30 +0.0 + 10 +-0.9907992125984252 + 20 +3.492515748031496 + 30 +0.0 + 10 +-0.9818818897637795 + 20 +3.500208661417323 + 30 +0.0 + 10 +-0.9818818897637795 + 20 +3.500208661417323 + 30 +0.0 + 10 +-0.9744645669291339 + 20 +3.50659842519685 + 30 +0.0 + 10 +-0.9654094488188977 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.9428267716535433 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.9331062992125985 + 20 +3.505933070866142 + 30 +0.0 + 10 +-0.9255787401574803 + 20 +3.498125984251968 + 30 +0.0 + 10 +-0.9255787401574803 + 20 +3.498125984251968 + 30 +0.0 + 10 +-0.9180236220472441 + 20 +3.490350393700787 + 30 +0.0 + 10 +-0.9142716535433071 + 20 +3.47959842519685 + 30 +0.0 + 10 +-0.9142716535433071 + 20 +3.465877952755906 + 30 +0.0 + 10 +-0.9142716535433071 + 20 +3.465877952755906 + 30 +0.0 + 10 +-0.9142716535433071 + 20 +3.454740157480315 + 30 +0.0 + 10 +-0.9159409448818898 + 20 +3.445988188976378 + 30 +0.0 + 10 +-0.9192716535433071 + 20 +3.439625984251968 + 30 +0.0 + 10 +-0.9192716535433071 + 20 +3.439625984251968 + 30 +0.0 + 10 +-0.9226062992125984 + 20 +3.433240157480315 + 30 +0.0 + 10 +-0.9274685039370079 + 20 +3.428295275590551 + 30 +0.0 + 10 +-0.9338267716535433 + 20 +3.424767716535433 + 30 +0.0 + 10 +-0.9338267716535433 + 20 +3.424767716535433 + 30 +0.0 + 10 +-0.9402165354330708 + 20 +3.421240157480315 + 30 +0.0 + 10 +-0.9471614173228347 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.9667992125984252 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.9765787401574804 + 20 +3.423350393700787 + 30 +0.0 + 10 +-0.9840511811023622 + 20 +3.431125984251969 + 30 +0.0 + 10 +-0.9840511811023622 + 20 +3.431125984251969 + 30 +0.0 + 10 +-0.9915236220472441 + 20 +3.438877952755905 + 30 +0.0 + 10 +-0.995244094488189 + 20 +3.450043307086614 + 30 +0.0 + 10 +-0.995244094488189 + 20 +3.464653543307087 + 30 +0.0 + 0 +SPLINE + 5 +9A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.9801889763779528 + 20 +3.464653543307087 + 30 +0.0 + 10 +-0.9801889763779528 + 20 +3.453570866141732 + 30 +0.0 + 10 +-0.9777716535433071 + 20 +3.445295275590551 + 30 +0.0 + 10 +-0.9729370078740157 + 20 +3.439795275590551 + 30 +0.0 + 10 +-0.9729370078740157 + 20 +3.439795275590551 + 30 +0.0 + 10 +-0.9681062992125984 + 20 +3.434267716535433 + 30 +0.0 + 10 +-0.9620236220472441 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.9474370078740157 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.9413818897637796 + 20 +3.434295275590551 + 30 +0.0 + 10 +-0.9365511811023622 + 20 +3.439822834645669 + 30 +0.0 + 10 +-0.9365511811023622 + 20 +3.439822834645669 + 30 +0.0 + 10 +-0.931744094488189 + 20 +3.445350393700787 + 30 +0.0 + 10 +-0.9293267716535433 + 20 +3.453795275590551 + 30 +0.0 + 10 +-0.9293267716535433 + 20 +3.465125984251968 + 30 +0.0 + 10 +-0.9293267716535433 + 20 +3.465125984251968 + 30 +0.0 + 10 +-0.9293267716535433 + 20 +3.475822834645669 + 30 +0.0 + 10 +-0.931744094488189 + 20 +3.483933070866142 + 30 +0.0 + 10 +-0.9366062992125984 + 20 +3.489433070866142 + 30 +0.0 + 10 +-0.9366062992125984 + 20 +3.489433070866142 + 30 +0.0 + 10 +-0.9414685039370079 + 20 +3.494933070866142 + 30 +0.0 + 10 +-0.947496062992126 + 20 +3.497681102362205 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.497681102362205 + 30 +0.0 + 10 +-0.9547165354330709 + 20 +3.497681102362205 + 30 +0.0 + 10 +-0.9620236220472441 + 20 +3.497681102362205 + 30 +0.0 + 10 +-0.9681062992125984 + 20 +3.494933070866142 + 30 +0.0 + 10 +-0.9729370078740157 + 20 +3.48946062992126 + 30 +0.0 + 10 +-0.9729370078740157 + 20 +3.48946062992126 + 30 +0.0 + 10 +-0.9777716535433071 + 20 +3.483988188976378 + 30 +0.0 + 10 +-0.9801889763779528 + 20 +3.475708661417323 + 30 +0.0 + 10 +-0.9801889763779528 + 20 +3.464653543307087 + 30 +0.0 + 0 +SPLINE + 5 +9B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8970787401574803 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.495570866141732 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.495570866141732 + 30 +0.0 + 10 +-0.8839133858267717 + 20 +3.495570866141732 + 30 +0.0 + 10 +-0.8775511811023622 + 20 +3.505070866141732 + 30 +0.0 + 10 +-0.8683858267716535 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.8564133858267716 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.8564133858267716 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.8511889763779528 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.8464133858267716 + 20 +3.508877952755905 + 30 +0.0 + 10 +-0.8420511811023622 + 20 +3.507015748031496 + 30 +0.0 + 10 +-0.8420511811023622 + 20 +3.507015748031496 + 30 +0.0 + 10 +-0.8376614173228346 + 20 +3.505125984251968 + 30 +0.0 + 10 +-0.8344133858267716 + 20 +3.502681102362205 + 30 +0.0 + 10 +-0.8322440944881889 + 20 +3.499625984251968 + 30 +0.0 + 10 +-0.8322440944881889 + 20 +3.499625984251968 + 30 +0.0 + 10 +-0.8300511811023622 + 20 +3.49659842519685 + 30 +0.0 + 10 +-0.8285511811023623 + 20 +3.492988188976378 + 30 +0.0 + 10 +-0.8276614173228346 + 20 +3.488822834645669 + 30 +0.0 + 10 +-0.8276614173228346 + 20 +3.488822834645669 + 30 +0.0 + 10 +-0.8271338582677166 + 20 +3.48609842519685 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.481350393700787 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.474570866141732 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.474570866141732 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.474570866141732 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8268582677165355 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.474015748031496 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.474015748031496 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.474015748031496 + 30 +0.0 + 10 +-0.8415236220472441 + 20 +3.47996062992126 + 30 +0.0 + 10 +-0.8420787401574803 + 20 +3.484433070866142 + 30 +0.0 + 10 +-0.8432165354330708 + 20 +3.487405511811024 + 30 +0.0 + 10 +-0.8432165354330708 + 20 +3.487405511811024 + 30 +0.0 + 10 +-0.8443582677165354 + 20 +3.490350393700787 + 30 +0.0 + 10 +-0.8463858267716535 + 20 +3.492708661417323 + 30 +0.0 + 10 +-0.8492755905511811 + 20 +3.49446062992126 + 30 +0.0 + 10 +-0.8492755905511811 + 20 +3.49446062992126 + 30 +0.0 + 10 +-0.8521889763779528 + 20 +3.496236220472441 + 30 +0.0 + 10 +-0.8555787401574804 + 20 +3.497125984251968 + 30 +0.0 + 10 +-0.859496062992126 + 20 +3.497125984251968 + 30 +0.0 + 10 +-0.859496062992126 + 20 +3.497125984251968 + 30 +0.0 + 10 +-0.865744094488189 + 20 +3.497125984251968 + 30 +0.0 + 10 +-0.8711062992125984 + 20 +3.495125984251969 + 30 +0.0 + 10 +-0.8756614173228346 + 20 +3.491181102362205 + 30 +0.0 + 10 +-0.8756614173228346 + 20 +3.491181102362205 + 30 +0.0 + 10 +-0.8801889763779528 + 20 +3.487208661417323 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.479708661417323 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.468625984251969 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.468625984251969 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.468625984251969 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8824409448818897 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8970787401574803 + 20 +3.421433070866142 + 30 +0.0 + 0 +SPLINE + 5 +9C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8043307086614173 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.540736220472441 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.523877952755905 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.523877952755905 + 30 +0.0 + 0 +SPLINE + 5 +9D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8043307086614173 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.507850393700787 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.7896653543307086 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.421433070866142 + 30 +0.0 + 10 +-0.8043307086614173 + 20 +3.421433070866142 + 30 +0.0 + 0 +SPLINE + 5 +9E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7109685039370078 + 20 +3.45309842519685 + 30 +0.0 + 10 +-0.7109685039370078 + 20 +3.45309842519685 + 30 +0.0 + 10 +-0.6965826771653544 + 20 +3.451208661417323 + 30 +0.0 + 10 +-0.6965826771653544 + 20 +3.451208661417323 + 30 +0.0 + 10 +-0.6965826771653544 + 20 +3.451208661417323 + 30 +0.0 + 10 +-0.6981377952755905 + 20 +3.441295275590551 + 30 +0.0 + 10 +-0.7021653543307087 + 20 +3.433515748031496 + 30 +0.0 + 10 +-0.7086653543307087 + 20 +3.427905511811024 + 30 +0.0 + 10 +-0.7086653543307087 + 20 +3.427905511811024 + 30 +0.0 + 10 +-0.7151377952755905 + 20 +3.422295275590551 + 30 +0.0 + 10 +-0.7231102362204724 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.7325511811023622 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.7325511811023622 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.7443582677165355 + 20 +3.419488188976378 + 30 +0.0 + 10 +-0.7538858267716535 + 20 +3.423350393700787 + 30 +0.0 + 10 +-0.7610511811023623 + 20 +3.431070866141732 + 30 +0.0 + 10 +-0.7610511811023623 + 20 +3.431070866141732 + 30 +0.0 + 10 +-0.768248031496063 + 20 +3.438795275590551 + 30 +0.0 + 10 +-0.7718582677165354 + 20 +3.449877952755906 + 30 +0.0 + 10 +-0.7718582677165354 + 20 +3.464322834645669 + 30 +0.0 + 10 +-0.7718582677165354 + 20 +3.464322834645669 + 30 +0.0 + 10 +-0.7718582677165354 + 20 +3.473653543307087 + 30 +0.0 + 10 +-0.7703031496062992 + 20 +3.481822834645669 + 30 +0.0 + 10 +-0.7672204724409449 + 20 +3.488822834645669 + 30 +0.0 + 10 +-0.7672204724409449 + 20 +3.488822834645669 + 30 +0.0 + 10 +-0.7641102362204725 + 20 +3.495822834645669 + 30 +0.0 + 10 +-0.7594133858267716 + 20 +3.501070866141732 + 30 +0.0 + 10 +-0.7530787401574803 + 20 +3.504570866141732 + 30 +0.0 + 10 +-0.7530787401574803 + 20 +3.504570866141732 + 30 +0.0 + 10 +-0.7467755905511811 + 20 +3.508070866141732 + 30 +0.0 + 10 +-0.7398858267716536 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.7324685039370079 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.7324685039370079 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.7230826771653543 + 20 +3.509822834645669 + 30 +0.0 + 10 +-0.7153858267716535 + 20 +3.507433070866142 + 30 +0.0 + 10 +-0.7094409448818898 + 20 +3.502681102362205 + 30 +0.0 + 10 +-0.7094409448818898 + 20 +3.502681102362205 + 30 +0.0 + 10 +-0.7034685039370079 + 20 +3.497933070866142 + 30 +0.0 + 10 +-0.6996377952755906 + 20 +3.491208661417323 + 30 +0.0 + 10 +-0.6979409448818897 + 20 +3.48246062992126 + 30 +0.0 + 10 +-0.6979409448818897 + 20 +3.48246062992126 + 30 +0.0 + 10 +-0.6979409448818897 + 20 +3.48246062992126 + 30 +0.0 + 10 +-0.7121929133858268 + 20 +3.480267716535433 + 30 +0.0 + 10 +-0.7121929133858268 + 20 +3.480267716535433 + 30 +0.0 + 10 +-0.7121929133858268 + 20 +3.480267716535433 + 30 +0.0 + 10 +-0.7135551181102362 + 20 +3.486070866141732 + 30 +0.0 + 10 +-0.7159409448818898 + 20 +3.490433070866142 + 30 +0.0 + 10 +-0.7193858267716535 + 20 +3.493377952755905 + 30 +0.0 + 10 +-0.7193858267716535 + 20 +3.493377952755905 + 30 +0.0 + 10 +-0.7228307086614173 + 20 +3.496295275590551 + 30 +0.0 + 10 +-0.7269960629921259 + 20 +3.497767716535433 + 30 +0.0 + 10 +-0.7318858267716536 + 20 +3.497767716535433 + 30 +0.0 + 10 +-0.7318858267716536 + 20 +3.497767716535433 + 30 +0.0 + 10 +-0.7392755905511811 + 20 +3.497767716535433 + 30 +0.0 + 10 +-0.7452755905511811 + 20 +3.495125984251969 + 30 +0.0 + 10 +-0.7498858267716535 + 20 +3.489822834645669 + 30 +0.0 + 10 +-0.7498858267716535 + 20 +3.489822834645669 + 30 +0.0 + 10 +-0.754496062992126 + 20 +3.484543307086614 + 30 +0.0 + 10 +-0.7568031496062992 + 20 +3.476181102362205 + 30 +0.0 + 10 +-0.7568031496062992 + 20 +3.464740157480315 + 30 +0.0 + 10 +-0.7568031496062992 + 20 +3.464740157480315 + 30 +0.0 + 10 +-0.7568031496062992 + 20 +3.453125984251968 + 30 +0.0 + 10 +-0.7545787401574803 + 20 +3.444681102362205 + 30 +0.0 + 10 +-0.7501102362204725 + 20 +3.439405511811024 + 30 +0.0 + 10 +-0.7501102362204725 + 20 +3.439405511811024 + 30 +0.0 + 10 +-0.7456653543307087 + 20 +3.434153543307087 + 30 +0.0 + 10 +-0.7398582677165354 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.7326929133858268 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.7326929133858268 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.7269409448818898 + 20 +3.431515748031496 + 30 +0.0 + 10 +-0.7221653543307086 + 20 +3.433295275590551 + 30 +0.0 + 10 +-0.7183031496062993 + 20 +3.436822834645669 + 30 +0.0 + 10 +-0.7183031496062993 + 20 +3.436822834645669 + 30 +0.0 + 10 +-0.7144409448818898 + 20 +3.440350393700788 + 30 +0.0 + 10 +-0.711996062992126 + 20 +3.445767716535433 + 30 +0.0 + 10 +-0.7109685039370078 + 20 +3.45309842519685 + 30 +0.0 + 0 +SPLINE + 5 +9F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.460157480314961 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.373905511811024 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.303933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.378377952755905 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.289933070866142 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.444377952755906 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.371129921259842 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.460157480314961 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.349992125984252 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.295377952755906 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.295377952755906 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.295377952755906 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.295377952755906 + 30 +0.0 + 10 +-1.274937007874016 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.274937007874016 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.274937007874016 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.274937007874016 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.253547244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.253547244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.253547244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.253547244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.303602362204724 + 20 +3.306212598425197 + 30 +0.0 + 10 +-1.303602362204724 + 20 +3.306212598425197 + 30 +0.0 + 10 +-1.303602362204724 + 20 +3.306212598425197 + 30 +0.0 + 10 +-1.303602362204724 + 20 +3.306212598425197 + 30 +0.0 + 10 +-1.251354330708661 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.251354330708661 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.251354330708661 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.251354330708661 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.272185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.272185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.272185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.272185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.314657480314961 + 20 +3.295629921259843 + 30 +0.0 + 10 +-1.314657480314961 + 20 +3.295629921259843 + 30 +0.0 + 10 +-1.314657480314961 + 20 +3.295629921259843 + 30 +0.0 + 10 +-1.314657480314961 + 20 +3.295629921259843 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.276574803149606 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.276574803149606 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.276574803149606 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.276574803149606 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.334185039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.349992125984252 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.238657480314961 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.214881889763779 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.214881889763779 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.214881889763779 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.214881889763779 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.186657480314961 + 20 +3.270074803149606 + 30 +0.0 + 10 +-1.186657480314961 + 20 +3.270074803149606 + 30 +0.0 + 10 +-1.186657480314961 + 20 +3.270074803149606 + 30 +0.0 + 10 +-1.184047244094488 + 20 +3.262212598425197 + 30 +0.0 + 10 +-1.182129921259843 + 20 +3.256322834645669 + 30 +0.0 + 10 +-1.180964566929134 + 20 +3.252405511811024 + 30 +0.0 + 10 +-1.180964566929134 + 20 +3.252405511811024 + 30 +0.0 + 10 +-1.179602362204724 + 20 +3.256740157480315 + 30 +0.0 + 10 +-1.177492125984252 + 20 +3.263129921259842 + 30 +0.0 + 10 +-1.174602362204724 + 20 +3.271547244094488 + 30 +0.0 + 10 +-1.174602362204724 + 20 +3.271547244094488 + 30 +0.0 + 10 +-1.174602362204724 + 20 +3.271547244094488 + 30 +0.0 + 10 +-1.146047244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.146047244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.146047244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.146047244094488 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.124799212598425 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.335102362204724 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.335102362204724 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.335102362204724 + 30 +0.0 + 10 +-1.14001968503937 + 20 +3.335102362204724 + 30 +0.0 + 10 +-1.174685039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.174685039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.174685039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.174685039370079 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.188937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.188937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.188937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.188937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.336795275590551 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.336795275590551 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.336795275590551 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.336795275590551 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.223437007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.238657480314961 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.099996062992126 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.055216535433071 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.055216535433071 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.055216535433071 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.046106299212598 + 20 +3.354543307086614 + 30 +0.0 + 10 +-1.038799212598425 + 20 +3.353322834645669 + 30 +0.0 + 10 +-1.033299212598425 + 20 +3.350933070866142 + 30 +0.0 + 10 +-1.033299212598425 + 20 +3.350933070866142 + 30 +0.0 + 10 +-1.027771653543307 + 20 +3.348515748031496 + 30 +0.0 + 10 +-1.023468503937008 + 20 +3.344795275590551 + 30 +0.0 + 10 +-1.020358267716535 + 20 +3.339767716535433 + 30 +0.0 + 10 +-1.020358267716535 + 20 +3.339767716535433 + 30 +0.0 + 10 +-1.017244094488189 + 20 +3.334767716535433 + 30 +0.0 + 10 +-1.015661417322835 + 20 +3.329515748031496 + 30 +0.0 + 10 +-1.015661417322835 + 20 +3.324015748031496 + 30 +0.0 + 10 +-1.015661417322835 + 20 +3.324015748031496 + 30 +0.0 + 10 +-1.015661417322835 + 20 +3.318933070866142 + 30 +0.0 + 10 +-1.017051181102362 + 20 +3.314129921259843 + 30 +0.0 + 10 +-1.019826771653543 + 20 +3.309629921259842 + 30 +0.0 + 10 +-1.019826771653543 + 20 +3.309629921259842 + 30 +0.0 + 10 +-1.02257874015748 + 20 +3.305129921259843 + 30 +0.0 + 10 +-1.026771653543307 + 20 +3.301488188976378 + 30 +0.0 + 10 +-1.032354330708661 + 20 +3.298712598425197 + 30 +0.0 + 10 +-1.032354330708661 + 20 +3.298712598425197 + 30 +0.0 + 10 +-1.025133858267717 + 20 +3.296602362204724 + 30 +0.0 + 10 +-1.019606299212598 + 20 +3.292988188976378 + 30 +0.0 + 10 +-1.015716535433071 + 20 +3.287905511811024 + 30 +0.0 + 10 +-1.015716535433071 + 20 +3.287905511811024 + 30 +0.0 + 10 +-1.011826771653543 + 20 +3.282795275590551 + 30 +0.0 + 10 +-1.009885826771654 + 20 +3.276767716535433 + 30 +0.0 + 10 +-1.009885826771654 + 20 +3.269822834645669 + 30 +0.0 + 10 +-1.009885826771654 + 20 +3.269822834645669 + 30 +0.0 + 10 +-1.009885826771654 + 20 +3.264240157480315 + 30 +0.0 + 10 +-1.01107874015748 + 20 +3.259047244094488 + 30 +0.0 + 10 +-1.01344094488189 + 20 +3.254240157480315 + 30 +0.0 + 10 +-1.01344094488189 + 20 +3.254240157480315 + 30 +0.0 + 10 +-1.015799212598425 + 20 +3.249433070866142 + 30 +0.0 + 10 +-1.018716535433071 + 20 +3.245740157480315 + 30 +0.0 + 10 +-1.022188976377953 + 20 +3.243129921259842 + 30 +0.0 + 10 +-1.022188976377953 + 20 +3.243129921259842 + 30 +0.0 + 10 +-1.025661417322835 + 20 +3.24051968503937 + 30 +0.0 + 10 +-1.030023622047244 + 20 +3.238574803149606 + 30 +0.0 + 10 +-1.035244094488189 + 20 +3.237240157480315 + 30 +0.0 + 10 +-1.035244094488189 + 20 +3.237240157480315 + 30 +0.0 + 10 +-1.040468503937008 + 20 +3.235905511811024 + 30 +0.0 + 10 +-1.046885826771654 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.054496062992126 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.054496062992126 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.054496062992126 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.235240157480315 + 30 +0.0 + 10 +-1.099996062992126 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.084188976377953 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.05838188976378 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.05838188976378 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.05838188976378 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.051413385826772 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.046385826771653 + 20 +3.304877952755906 + 30 +0.0 + 10 +-1.043326771653543 + 20 +3.305795275590551 + 30 +0.0 + 10 +-1.043326771653543 + 20 +3.305795275590551 + 30 +0.0 + 10 +-1.039326771653543 + 20 +3.306988188976378 + 30 +0.0 + 10 +-1.036299212598425 + 20 +3.30896062992126 + 30 +0.0 + 10 +-1.034271653543307 + 20 +3.311740157480315 + 30 +0.0 + 10 +-1.034271653543307 + 20 +3.311740157480315 + 30 +0.0 + 10 +-1.032244094488189 + 20 +3.314515748031496 + 30 +0.0 + 10 +-1.031216535433071 + 20 +3.317988188976378 + 30 +0.0 + 10 +-1.031216535433071 + 20 +3.32215748031496 + 30 +0.0 + 10 +-1.031216535433071 + 20 +3.32215748031496 + 30 +0.0 + 10 +-1.031216535433071 + 20 +3.326102362204725 + 30 +0.0 + 10 +-1.032161417322835 + 20 +3.329602362204724 + 30 +0.0 + 10 +-1.034051181102362 + 20 +3.332602362204724 + 30 +0.0 + 10 +-1.034051181102362 + 20 +3.332602362204724 + 30 +0.0 + 10 +-1.035968503937008 + 20 +3.335629921259843 + 30 +0.0 + 10 +-1.038688976377953 + 20 +3.337685039370079 + 30 +0.0 + 10 +-1.042188976377953 + 20 +3.338795275590551 + 30 +0.0 + 10 +-1.042188976377953 + 20 +3.338795275590551 + 30 +0.0 + 10 +-1.045716535433071 + 20 +3.339905511811024 + 30 +0.0 + 10 +-1.051771653543307 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.060354330708661 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.060354330708661 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.060354330708661 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.34046062992126 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.304405511811024 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.304405511811024 + 30 +0.0 + 0 +SPLINE + 5 +A4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.084188976377953 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.054496062992126 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.054496062992126 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.054496062992126 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.049385826771654 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.045799212598425 + 20 +3.24951968503937 + 30 +0.0 + 10 +-1.043744094488189 + 20 +3.249877952755905 + 30 +0.0 + 10 +-1.043744094488189 + 20 +3.249877952755905 + 30 +0.0 + 10 +-1.040106299212598 + 20 +3.250547244094488 + 30 +0.0 + 10 +-1.03707874015748 + 20 +3.251629921259843 + 30 +0.0 + 10 +-1.034633858267717 + 20 +3.253157480314961 + 30 +0.0 + 10 +-1.034633858267717 + 20 +3.253157480314961 + 30 +0.0 + 10 +-1.032188976377953 + 20 +3.254657480314961 + 30 +0.0 + 10 +-1.030188976377953 + 20 +3.256877952755906 + 30 +0.0 + 10 +-1.028606299212598 + 20 +3.259767716535433 + 30 +0.0 + 10 +-1.028606299212598 + 20 +3.259767716535433 + 30 +0.0 + 10 +-1.027051181102362 + 20 +3.262685039370079 + 30 +0.0 + 10 +-1.026244094488189 + 20 +3.266015748031496 + 30 +0.0 + 10 +-1.026244094488189 + 20 +3.269822834645669 + 30 +0.0 + 10 +-1.026244094488189 + 20 +3.269822834645669 + 30 +0.0 + 10 +-1.026244094488189 + 20 +3.274267716535433 + 30 +0.0 + 10 +-1.027385826771654 + 20 +3.278129921259842 + 30 +0.0 + 10 +-1.029661417322835 + 20 +3.281433070866142 + 30 +0.0 + 10 +-1.029661417322835 + 20 +3.281433070866142 + 30 +0.0 + 10 +-1.03194094488189 + 20 +3.284712598425197 + 30 +0.0 + 10 +-1.035106299212598 + 20 +3.287015748031496 + 30 +0.0 + 10 +-1.039161417322835 + 20 +3.288350393700787 + 30 +0.0 + 10 +-1.039161417322835 + 20 +3.288350393700787 + 30 +0.0 + 10 +-1.043188976377953 + 20 +3.289657480314961 + 30 +0.0 + 10 +-1.049023622047244 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.056606299212598 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.056606299212598 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.056606299212598 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.290322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.249322834645669 + 30 +0.0 + 10 +-1.084188976377953 + 20 +3.249322834645669 + 30 +0.0 + 0 +SPLINE + 5 +A5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.9389409448818897 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.328570866141732 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.328570866141732 + 30 +0.0 + 10 +-0.9535787401574803 + 20 +3.328570866141732 + 30 +0.0 + 10 +-0.9571062992125984 + 20 +3.325212598425197 + 30 +0.0 + 10 +-0.9617165354330709 + 20 +3.321850393700787 + 30 +0.0 + 10 +-0.9674409448818898 + 20 +3.318488188976378 + 30 +0.0 + 10 +-0.9674409448818898 + 20 +3.318488188976378 + 30 +0.0 + 10 +-0.9731889763779528 + 20 +3.315129921259842 + 30 +0.0 + 10 +-0.9783307086614174 + 20 +3.312602362204724 + 30 +0.0 + 10 +-0.9828858267716536 + 20 +3.310933070866142 + 30 +0.0 + 10 +-0.9828858267716536 + 20 +3.310933070866142 + 30 +0.0 + 10 +-0.9828858267716536 + 20 +3.310933070866142 + 30 +0.0 + 10 +-0.9828858267716536 + 20 +3.325070866141732 + 30 +0.0 + 10 +-0.9828858267716536 + 20 +3.325070866141732 + 30 +0.0 + 10 +-0.9828858267716536 + 20 +3.325070866141732 + 30 +0.0 + 10 +-0.9746889763779527 + 20 +3.328933070866142 + 30 +0.0 + 10 +-0.9675236220472441 + 20 +3.333602362204724 + 30 +0.0 + 10 +-0.9613858267716535 + 20 +3.339070866141732 + 30 +0.0 + 10 +-0.9613858267716535 + 20 +3.339070866141732 + 30 +0.0 + 10 +-0.955275590551181 + 20 +3.344570866141732 + 30 +0.0 + 10 +-0.9509133858267717 + 20 +3.349877952755905 + 30 +0.0 + 10 +-0.9483582677165354 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9483582677165354 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9483582677165354 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9389409448818897 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.9076102362204724 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9076102362204724 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.8614409448818897 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.8614409448818897 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.8614409448818897 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.8614409448818897 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.9021377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.9021377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.9021377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.9021377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8833582677165355 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8833582677165355 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8833582677165355 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8833582677165355 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8616929133858268 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.8616929133858268 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.8616929133858268 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.8571929133858268 + 20 +3.317602362204724 + 30 +0.0 + 10 +-0.8539960629921259 + 20 +3.312712598425197 + 30 +0.0 + 10 +-0.8521102362204724 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.8521102362204724 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.8494409448818898 + 20 +3.313629921259842 + 30 +0.0 + 10 +-0.8463031496062993 + 20 +3.31815748031496 + 30 +0.0 + 10 +-0.8426653543307087 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.8426653543307087 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.8426653543307087 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.8186377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8186377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8186377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8186377952755906 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8014685039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8014685039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8014685039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8014685039370079 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.8433858267716535 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.8433858267716535 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.8433858267716535 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.8433858267716535 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.7982204724409449 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7982204724409449 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7982204724409449 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7982204724409449 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.817748031496063 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.817748031496063 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.817748031496063 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.817748031496063 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.8477755905511811 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.8477755905511811 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.8477755905511811 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.8494685039370079 + 20 +3.280240157480315 + 30 +0.0 + 10 +-0.8511929133858268 + 20 +3.282905511811024 + 30 +0.0 + 10 +-0.8529960629921259 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.8529960629921259 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.8556653543307087 + 20 +3.281433070866142 + 30 +0.0 + 10 +-0.8575551181102362 + 20 +3.27846062992126 + 30 +0.0 + 10 +-0.8586929133858268 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.8586929133858268 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.8586929133858268 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.8886377952755905 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.8886377952755905 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.8886377952755905 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.8886377952755905 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9076102362204724 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.9076102362204724 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7964448818897638 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7964448818897638 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7502755905511811 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.7502755905511811 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.7502755905511811 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.7502755905511811 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.7909724409448818 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7909724409448818 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7909724409448818 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7909724409448818 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7721929133858267 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7721929133858267 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7721929133858267 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7721929133858267 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7505275590551181 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.7505275590551181 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.7505275590551181 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.7460275590551181 + 20 +3.317602362204724 + 30 +0.0 + 10 +-0.7428307086614173 + 20 +3.312712598425197 + 30 +0.0 + 10 +-0.7409448818897638 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.7409448818897638 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.7382755905511811 + 20 +3.313629921259842 + 30 +0.0 + 10 +-0.7351377952755905 + 20 +3.31815748031496 + 30 +0.0 + 10 +-0.7315 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.7315 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.7315 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.7074724409448819 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7074724409448819 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7074724409448819 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7074724409448819 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.6903031496062992 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.6903031496062992 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.6903031496062992 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.6903031496062992 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.7322204724409449 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.7322204724409449 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.7322204724409449 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.7322204724409449 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.6870551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6870551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6870551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6870551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7065826771653543 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7065826771653543 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7065826771653543 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7065826771653543 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7366102362204724 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.7366102362204724 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.7366102362204724 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.7383031496062992 + 20 +3.280240157480315 + 30 +0.0 + 10 +-0.7400275590551181 + 20 +3.282905511811024 + 30 +0.0 + 10 +-0.7418307086614173 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.7418307086614173 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.7445 + 20 +3.281433070866142 + 30 +0.0 + 10 +-0.7463897637795276 + 20 +3.27846062992126 + 30 +0.0 + 10 +-0.7475275590551181 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.7475275590551181 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.7475275590551181 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.7774724409448819 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7774724409448819 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7774724409448819 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7774724409448819 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7964448818897638 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.7964448818897638 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6239173228346456 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.328570866141732 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.328570866141732 + 30 +0.0 + 10 +-0.6385551181102362 + 20 +3.328570866141732 + 30 +0.0 + 10 +-0.6420826771653543 + 20 +3.325212598425197 + 30 +0.0 + 10 +-0.6466929133858268 + 20 +3.321850393700787 + 30 +0.0 + 10 +-0.6524173228346457 + 20 +3.318488188976378 + 30 +0.0 + 10 +-0.6524173228346457 + 20 +3.318488188976378 + 30 +0.0 + 10 +-0.6581653543307087 + 20 +3.315129921259842 + 30 +0.0 + 10 +-0.6633070866141733 + 20 +3.312602362204724 + 30 +0.0 + 10 +-0.6678622047244095 + 20 +3.310933070866142 + 30 +0.0 + 10 +-0.6678622047244095 + 20 +3.310933070866142 + 30 +0.0 + 10 +-0.6678622047244095 + 20 +3.310933070866142 + 30 +0.0 + 10 +-0.6678622047244095 + 20 +3.325070866141732 + 30 +0.0 + 10 +-0.6678622047244095 + 20 +3.325070866141732 + 30 +0.0 + 10 +-0.6678622047244095 + 20 +3.325070866141732 + 30 +0.0 + 10 +-0.6596653543307086 + 20 +3.328933070866142 + 30 +0.0 + 10 +-0.6525 + 20 +3.333602362204724 + 30 +0.0 + 10 +-0.6463622047244094 + 20 +3.339070866141732 + 30 +0.0 + 10 +-0.6463622047244094 + 20 +3.339070866141732 + 30 +0.0 + 10 +-0.6402519685039371 + 20 +3.344570866141732 + 30 +0.0 + 10 +-0.6358897637795276 + 20 +3.349877952755905 + 30 +0.0 + 10 +-0.6333346456692913 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6333346456692913 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6333346456692913 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.355043307086614 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.6239173228346456 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +A9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5925866141732283 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5925866141732283 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5464173228346457 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.5464173228346457 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.5464173228346457 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.5464173228346457 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.5871141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5871141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5871141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5871141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5683346456692914 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5683346456692914 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5683346456692914 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5683346456692914 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5466692913385827 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.5466692913385827 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.5466692913385827 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.5421692913385827 + 20 +3.317602362204724 + 30 +0.0 + 10 +-0.5389724409448818 + 20 +3.312712598425197 + 30 +0.0 + 10 +-0.5370866141732283 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.5370866141732283 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.5344173228346457 + 20 +3.313629921259842 + 30 +0.0 + 10 +-0.5312795275590552 + 20 +3.31815748031496 + 30 +0.0 + 10 +-0.5276417322834646 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.5276417322834646 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.5276417322834646 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.5036141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5036141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5036141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5036141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4864448818897638 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4864448818897638 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4864448818897638 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4864448818897638 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.5283622047244094 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.5283622047244094 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.5283622047244094 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.5283622047244094 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.4831968503937008 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4831968503937008 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4831968503937008 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4831968503937008 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5027244094488189 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5027244094488189 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5027244094488189 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5027244094488189 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.532751968503937 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.532751968503937 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.532751968503937 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.5344448818897638 + 20 +3.280240157480315 + 30 +0.0 + 10 +-0.5361692913385827 + 20 +3.282905511811024 + 30 +0.0 + 10 +-0.5379724409448818 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.5379724409448818 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.5406417322834646 + 20 +3.281433070866142 + 30 +0.0 + 10 +-0.5425314960629921 + 20 +3.27846062992126 + 30 +0.0 + 10 +-0.5436692913385827 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.5436692913385827 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.5436692913385827 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.5736141732283464 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5736141732283464 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5736141732283464 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5736141732283464 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5925866141732283 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.5925866141732283 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +AA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4814212598425197 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4814212598425197 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.435251968503937 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.435251968503937 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.435251968503937 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.435251968503937 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.4759488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4759488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4759488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4759488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4571692913385827 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4571692913385827 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4571692913385827 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4571692913385827 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.435503937007874 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.435503937007874 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.435503937007874 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.431003937007874 + 20 +3.317602362204724 + 30 +0.0 + 10 +-0.4278070866141732 + 20 +3.312712598425197 + 30 +0.0 + 10 +-0.4259212598425197 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.4259212598425197 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.423251968503937 + 20 +3.313629921259842 + 30 +0.0 + 10 +-0.4201141732283464 + 20 +3.31815748031496 + 30 +0.0 + 10 +-0.4164763779527559 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.4164763779527559 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.4164763779527559 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.3924488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3924488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3924488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3924488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3752795275590551 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3752795275590551 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3752795275590551 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3752795275590551 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.4171968503937008 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.4171968503937008 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.4171968503937008 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.4171968503937008 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.3720314960629921 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3720314960629921 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3720314960629921 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3720314960629921 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3915590551181102 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3915590551181102 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3915590551181102 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3915590551181102 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4215866141732283 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.4215866141732283 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.4215866141732283 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.4232795275590551 + 20 +3.280240157480315 + 30 +0.0 + 10 +-0.425003937007874 + 20 +3.282905511811024 + 30 +0.0 + 10 +-0.4268070866141732 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.4268070866141732 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.4294763779527559 + 20 +3.281433070866142 + 30 +0.0 + 10 +-0.4313661417322834 + 20 +3.27846062992126 + 30 +0.0 + 10 +-0.432503937007874 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.432503937007874 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.432503937007874 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.4624488188976378 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4624488188976378 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4624488188976378 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4624488188976378 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4814212598425197 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.4814212598425197 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +AB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.370255905511811 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.370255905511811 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3240866141732284 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.3240866141732284 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.3240866141732284 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.3240866141732284 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.3647834645669291 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3647834645669291 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3647834645669291 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3647834645669291 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.346003937007874 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.346003937007874 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.346003937007874 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.346003937007874 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3243385826771654 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.3243385826771654 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.3243385826771654 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.3198385826771654 + 20 +3.317602362204724 + 30 +0.0 + 10 +-0.3166417322834646 + 20 +3.312712598425197 + 30 +0.0 + 10 +-0.314755905511811 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.314755905511811 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.3120866141732284 + 20 +3.313629921259842 + 30 +0.0 + 10 +-0.3089488188976378 + 20 +3.31815748031496 + 30 +0.0 + 10 +-0.3053110236220473 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.3053110236220473 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.3053110236220473 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.2812834645669292 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2812834645669292 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2812834645669292 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2812834645669292 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2641141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2641141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2641141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2641141732283465 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.3060314960629921 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.3060314960629921 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.3060314960629921 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.3060314960629921 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.2608661417322835 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2608661417322835 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2608661417322835 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2608661417322835 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2803937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2803937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2803937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2803937007874016 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3104212598425197 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.3104212598425197 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.3104212598425197 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.3121141732283464 + 20 +3.280240157480315 + 30 +0.0 + 10 +-0.3138385826771654 + 20 +3.282905511811024 + 30 +0.0 + 10 +-0.3156417322834646 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.3156417322834646 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.3183110236220472 + 20 +3.281433070866142 + 30 +0.0 + 10 +-0.3202007874015748 + 20 +3.27846062992126 + 30 +0.0 + 10 +-0.3213385826771654 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.3213385826771654 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.3213385826771654 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.3512834645669292 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3512834645669292 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3512834645669292 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.3512834645669292 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.370255905511811 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.370255905511811 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +AC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2590905511811024 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2590905511811024 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2129212598425197 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.2129212598425197 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.2129212598425197 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.2129212598425197 + 20 +3.297405511811024 + 30 +0.0 + 10 +-0.2536181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2536181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2536181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2536181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2348385826771653 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2348385826771653 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2348385826771653 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2348385826771653 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.2131732283464567 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.2131732283464567 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.2131732283464567 + 20 +3.323933070866142 + 30 +0.0 + 10 +-0.2086732283464567 + 20 +3.317602362204724 + 30 +0.0 + 10 +-0.2054763779527559 + 20 +3.312712598425197 + 30 +0.0 + 10 +-0.2035905511811024 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.2035905511811024 + 20 +3.309295275590551 + 30 +0.0 + 10 +-0.2009212598425197 + 20 +3.313629921259842 + 30 +0.0 + 10 +-0.1977834645669291 + 20 +3.31815748031496 + 30 +0.0 + 10 +-0.1941456692913386 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.1941456692913386 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.1941456692913386 + 20 +3.322877952755905 + 30 +0.0 + 10 +-0.1701181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1701181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1701181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1701181102362205 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1529488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1529488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1529488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1529488188976378 + 20 +3.354543307086614 + 30 +0.0 + 10 +-0.1948661417322835 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.1948661417322835 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.1948661417322835 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.1948661417322835 + 20 +3.298322834645669 + 30 +0.0 + 10 +-0.1497007874015748 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1497007874015748 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1497007874015748 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1497007874015748 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1692283464566929 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1692283464566929 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1692283464566929 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.1692283464566929 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.199255905511811 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.199255905511811 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.199255905511811 + 20 +3.277795275590551 + 30 +0.0 + 10 +-0.2009488188976378 + 20 +3.280240157480315 + 30 +0.0 + 10 +-0.2026732283464567 + 20 +3.282905511811024 + 30 +0.0 + 10 +-0.2044763779527559 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.2044763779527559 + 20 +3.285767716535433 + 30 +0.0 + 10 +-0.2071456692913386 + 20 +3.281433070866142 + 30 +0.0 + 10 +-0.2090354330708661 + 20 +3.27846062992126 + 30 +0.0 + 10 +-0.2101732283464567 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.2101732283464567 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.2101732283464567 + 20 +3.276822834645669 + 30 +0.0 + 10 +-0.2401181102362205 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2401181102362205 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2401181102362205 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2401181102362205 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2590905511811024 + 20 +3.235240157480315 + 30 +0.0 + 10 +-0.2590905511811024 + 20 +3.235240157480315 + 30 +0.0 + 0 +SPLINE + 5 +AD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.968551181102362 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.888051181102362 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.896771653543307 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.545811023622047 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.952744094488189 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.968551181102362 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +AE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.874885826771653 + 20 +4.534838582677166 + 30 +0.0 + 10 +-1.874885826771653 + 20 +4.550838582677166 + 30 +0.0 + 10 +-1.87044094488189 + 20 +4.562700787401575 + 30 +0.0 + 10 +-1.861523622047244 + 20 +4.570393700787402 + 30 +0.0 + 10 +-1.861523622047244 + 20 +4.570393700787402 + 30 +0.0 + 10 +-1.854106299212599 + 20 +4.576783464566929 + 30 +0.0 + 10 +-1.845051181102362 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.822468503937008 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.812748031496063 + 20 +4.57611811023622 + 30 +0.0 + 10 +-1.805220472440945 + 20 +4.568311023622047 + 30 +0.0 + 10 +-1.805220472440945 + 20 +4.568311023622047 + 30 +0.0 + 10 +-1.797665354330709 + 20 +4.560535433070866 + 30 +0.0 + 10 +-1.793913385826772 + 20 +4.54978346456693 + 30 +0.0 + 10 +-1.793913385826772 + 20 +4.536062992125984 + 30 +0.0 + 10 +-1.793913385826772 + 20 +4.536062992125984 + 30 +0.0 + 10 +-1.793913385826772 + 20 +4.524925196850393 + 30 +0.0 + 10 +-1.795582677165354 + 20 +4.516173228346457 + 30 +0.0 + 10 +-1.798913385826772 + 20 +4.509811023622047 + 30 +0.0 + 10 +-1.798913385826772 + 20 +4.509811023622047 + 30 +0.0 + 10 +-1.802248031496063 + 20 +4.503425196850394 + 30 +0.0 + 10 +-1.807110236220473 + 20 +4.49848031496063 + 30 +0.0 + 10 +-1.813468503937008 + 20 +4.494952755905512 + 30 +0.0 + 10 +-1.813468503937008 + 20 +4.494952755905512 + 30 +0.0 + 10 +-1.819858267716535 + 20 +4.491425196850393 + 30 +0.0 + 10 +-1.826803149606299 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.84644094488189 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.856220472440945 + 20 +4.493535433070866 + 30 +0.0 + 10 +-1.863692913385827 + 20 +4.501311023622047 + 30 +0.0 + 10 +-1.863692913385827 + 20 +4.501311023622047 + 30 +0.0 + 10 +-1.871165354330709 + 20 +4.509062992125984 + 30 +0.0 + 10 +-1.874885826771653 + 20 +4.520228346456693 + 30 +0.0 + 10 +-1.874885826771653 + 20 +4.534838582677166 + 30 +0.0 + 0 +SPLINE + 5 +AF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.859830708661417 + 20 +4.534838582677166 + 30 +0.0 + 10 +-1.859830708661417 + 20 +4.523755905511811 + 30 +0.0 + 10 +-1.857413385826772 + 20 +4.51548031496063 + 30 +0.0 + 10 +-1.85257874015748 + 20 +4.50998031496063 + 30 +0.0 + 10 +-1.85257874015748 + 20 +4.50998031496063 + 30 +0.0 + 10 +-1.847748031496063 + 20 +4.504452755905512 + 30 +0.0 + 10 +-1.841665354330709 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.82707874015748 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.821023622047244 + 20 +4.50448031496063 + 30 +0.0 + 10 +-1.816192913385827 + 20 +4.510007874015748 + 30 +0.0 + 10 +-1.816192913385827 + 20 +4.510007874015748 + 30 +0.0 + 10 +-1.811385826771654 + 20 +4.515535433070866 + 30 +0.0 + 10 +-1.808968503937008 + 20 +4.52398031496063 + 30 +0.0 + 10 +-1.808968503937008 + 20 +4.535311023622048 + 30 +0.0 + 10 +-1.808968503937008 + 20 +4.535311023622048 + 30 +0.0 + 10 +-1.808968503937008 + 20 +4.546007874015748 + 30 +0.0 + 10 +-1.811385826771654 + 20 +4.55411811023622 + 30 +0.0 + 10 +-1.816248031496063 + 20 +4.559618110236221 + 30 +0.0 + 10 +-1.816248031496063 + 20 +4.559618110236221 + 30 +0.0 + 10 +-1.821110236220473 + 20 +4.56511811023622 + 30 +0.0 + 10 +-1.827137795275591 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.834358267716536 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.841665354330709 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.847748031496063 + 20 +4.56511811023622 + 30 +0.0 + 10 +-1.85257874015748 + 20 +4.559645669291339 + 30 +0.0 + 10 +-1.85257874015748 + 20 +4.559645669291339 + 30 +0.0 + 10 +-1.857413385826772 + 20 +4.554173228346457 + 30 +0.0 + 10 +-1.859830708661417 + 20 +4.545893700787402 + 30 +0.0 + 10 +-1.859830708661417 + 20 +4.534838582677166 + 30 +0.0 + 0 +SPLINE + 5 +B0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.776885826771654 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.564952755905511 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.564952755905511 + 30 +0.0 + 10 +-1.763720472440945 + 20 +4.564952755905511 + 30 +0.0 + 10 +-1.760358267716535 + 20 +4.571062992125984 + 30 +0.0 + 10 +-1.757248031496063 + 20 +4.575118110236221 + 30 +0.0 + 10 +-1.754385826771653 + 20 +4.577062992125985 + 30 +0.0 + 10 +-1.754385826771653 + 20 +4.577062992125985 + 30 +0.0 + 10 +-1.751555118110236 + 20 +4.579007874015748 + 30 +0.0 + 10 +-1.748413385826772 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.745 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.745 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.740055118110236 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.735055118110236 + 20 +4.57842125984252 + 30 +0.0 + 10 +-1.729944881889764 + 20 +4.575283464566929 + 30 +0.0 + 10 +-1.729944881889764 + 20 +4.575283464566929 + 30 +0.0 + 10 +-1.729944881889764 + 20 +4.575283464566929 + 30 +0.0 + 10 +-1.735 + 20 +4.561673228346456 + 30 +0.0 + 10 +-1.735 + 20 +4.561673228346456 + 30 +0.0 + 10 +-1.735 + 20 +4.561673228346456 + 30 +0.0 + 10 +-1.738555118110236 + 20 +4.563811023622047 + 30 +0.0 + 10 +-1.742137795275591 + 20 +4.564866141732283 + 30 +0.0 + 10 +-1.745720472440945 + 20 +4.564866141732283 + 30 +0.0 + 10 +-1.745720472440945 + 20 +4.564866141732283 + 30 +0.0 + 10 +-1.748944881889764 + 20 +4.564866141732283 + 30 +0.0 + 10 +-1.751803149606299 + 20 +4.563893700787402 + 30 +0.0 + 10 +-1.754358267716535 + 20 +4.56198031496063 + 30 +0.0 + 10 +-1.754358267716535 + 20 +4.56198031496063 + 30 +0.0 + 10 +-1.756913385826772 + 20 +4.560035433070866 + 30 +0.0 + 10 +-1.758720472440945 + 20 +4.557366141732284 + 30 +0.0 + 10 +-1.759803149606299 + 20 +4.553952755905512 + 30 +0.0 + 10 +-1.759803149606299 + 20 +4.553952755905512 + 30 +0.0 + 10 +-1.76144094488189 + 20 +4.548755905511811 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.543062992125984 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.536866141732284 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.536866141732284 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.536866141732284 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.762248031496063 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.776885826771654 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +B1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.673051181102362 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.628051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.628051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.628051181102362 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.620137795275591 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.61407874015748 + 20 +4.610535433070866 + 30 +0.0 + 10 +-1.609913385826772 + 20 +4.609783464566929 + 30 +0.0 + 10 +-1.609913385826772 + 20 +4.609783464566929 + 30 +0.0 + 10 +-1.604051181102362 + 20 +4.608811023622048 + 30 +0.0 + 10 +-1.599137795275591 + 20 +4.606948818897638 + 30 +0.0 + 10 +-1.595165354330709 + 20 +4.604200787401575 + 30 +0.0 + 10 +-1.595165354330709 + 20 +4.604200787401575 + 30 +0.0 + 10 +-1.591220472440945 + 20 +4.60148031496063 + 30 +0.0 + 10 +-1.588023622047244 + 20 +4.597618110236221 + 30 +0.0 + 10 +-1.585610236220472 + 20 +4.592700787401575 + 30 +0.0 + 10 +-1.585610236220472 + 20 +4.592700787401575 + 30 +0.0 + 10 +-1.583192913385827 + 20 +4.587755905511811 + 30 +0.0 + 10 +-1.581996062992126 + 20 +4.582338582677165 + 30 +0.0 + 10 +-1.581996062992126 + 20 +4.57642125984252 + 30 +0.0 + 10 +-1.581996062992126 + 20 +4.57642125984252 + 30 +0.0 + 10 +-1.581996062992126 + 20 +4.566283464566929 + 30 +0.0 + 10 +-1.585220472440945 + 20 +4.557673228346457 + 30 +0.0 + 10 +-1.591665354330709 + 20 +4.550645669291338 + 30 +0.0 + 10 +-1.591665354330709 + 20 +4.550645669291338 + 30 +0.0 + 10 +-1.598137795275591 + 20 +4.543645669291339 + 30 +0.0 + 10 +-1.609803149606299 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.626665354330709 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.626665354330709 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.626665354330709 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.540118110236221 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.673051181102362 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +B2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.657275590551181 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.626413385826772 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.626413385826772 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.626413385826772 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.616220472440945 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.608968503937008 + 20 +4.556090551181103 + 30 +0.0 + 10 +-1.604692913385827 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.604692913385827 + 20 +4.559893700787401 + 30 +0.0 + 10 +-1.600413385826772 + 20 +4.563700787401575 + 30 +0.0 + 10 +-1.598275590551181 + 20 +4.569035433070866 + 30 +0.0 + 10 +-1.598275590551181 + 20 +4.57592125984252 + 30 +0.0 + 10 +-1.598275590551181 + 20 +4.57592125984252 + 30 +0.0 + 10 +-1.598275590551181 + 20 +4.58092125984252 + 30 +0.0 + 10 +-1.599523622047244 + 20 +4.585200787401575 + 30 +0.0 + 10 +-1.602051181102362 + 20 +4.588755905511811 + 30 +0.0 + 10 +-1.602051181102362 + 20 +4.588755905511811 + 30 +0.0 + 10 +-1.60457874015748 + 20 +4.592311023622047 + 30 +0.0 + 10 +-1.607885826771654 + 20 +4.594645669291339 + 30 +0.0 + 10 +-1.612023622047244 + 20 +4.595783464566929 + 30 +0.0 + 10 +-1.612023622047244 + 20 +4.595783464566929 + 30 +0.0 + 10 +-1.614692913385827 + 20 +4.59648031496063 + 30 +0.0 + 10 +-1.61957874015748 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.626748031496063 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.626748031496063 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.626748031496063 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.596838582677165 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.554200787401575 + 30 +0.0 + 10 +-1.657275590551181 + 20 +4.554200787401575 + 30 +0.0 + 0 +SPLINE + 5 +B3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.507358267716535 + 20 +4.502283464566929 + 30 +0.0 + 10 +-1.512803149606299 + 20 +4.497673228346457 + 30 +0.0 + 10 +-1.518027559055118 + 20 +4.494425196850393 + 30 +0.0 + 10 +-1.523027559055118 + 20 +4.492507874015748 + 30 +0.0 + 10 +-1.523027559055118 + 20 +4.492507874015748 + 30 +0.0 + 10 +-1.528055118110236 + 20 +4.490618110236221 + 30 +0.0 + 10 +-1.53344094488189 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.539192913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.539192913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.548692913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.555968503937008 + 20 +4.49198031496063 + 30 +0.0 + 10 +-1.561082677165354 + 20 +4.496618110236221 + 30 +0.0 + 10 +-1.561082677165354 + 20 +4.496618110236221 + 30 +0.0 + 10 +-1.566165354330709 + 20 +4.501255905511811 + 30 +0.0 + 10 +-1.568720472440945 + 20 +4.507200787401575 + 30 +0.0 + 10 +-1.568720472440945 + 20 +4.514397637795276 + 30 +0.0 + 10 +-1.568720472440945 + 20 +4.514397637795276 + 30 +0.0 + 10 +-1.568720472440945 + 20 +4.518645669291338 + 30 +0.0 + 10 +-1.567775590551181 + 20 +4.522507874015748 + 30 +0.0 + 10 +-1.565830708661417 + 20 +4.526007874015748 + 30 +0.0 + 10 +-1.565830708661417 + 20 +4.526007874015748 + 30 +0.0 + 10 +-1.563913385826772 + 20 +4.529507874015748 + 30 +0.0 + 10 +-1.561385826771654 + 20 +4.532311023622047 + 30 +0.0 + 10 +-1.558275590551181 + 20 +4.534425196850393 + 30 +0.0 + 10 +-1.558275590551181 + 20 +4.534425196850393 + 30 +0.0 + 10 +-1.55513779527559 + 20 +4.536535433070866 + 30 +0.0 + 10 +-1.551637795275591 + 20 +4.538145669291339 + 30 +0.0 + 10 +-1.547720472440945 + 20 +4.539228346456693 + 30 +0.0 + 10 +-1.547720472440945 + 20 +4.539228346456693 + 30 +0.0 + 10 +-1.544858267716535 + 20 +4.53998031496063 + 30 +0.0 + 10 +-1.540527559055118 + 20 +4.540728346456693 + 30 +0.0 + 10 +-1.534720472440945 + 20 +4.541425196850394 + 30 +0.0 + 10 +-1.534720472440945 + 20 +4.541425196850394 + 30 +0.0 + 10 +-1.522885826771654 + 20 +4.542838582677166 + 30 +0.0 + 10 +-1.514165354330709 + 20 +4.544507874015748 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.54648031496063 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.54648031496063 + 30 +0.0 + 10 +-1.508527559055118 + 20 +4.54848031496063 + 30 +0.0 + 10 +-1.5085 + 20 +4.549755905511811 + 30 +0.0 + 10 +-1.5085 + 20 +4.550283464566929 + 30 +0.0 + 10 +-1.5085 + 20 +4.550283464566929 + 30 +0.0 + 10 +-1.5085 + 20 +4.556255905511811 + 30 +0.0 + 10 +-1.509885826771654 + 20 +4.56048031496063 + 30 +0.0 + 10 +-1.512665354330709 + 20 +4.562893700787401 + 30 +0.0 + 10 +-1.512665354330709 + 20 +4.562893700787401 + 30 +0.0 + 10 +-1.516385826771653 + 20 +4.566228346456693 + 30 +0.0 + 10 +-1.521972440944882 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.529330708661417 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.529330708661417 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.536220472440945 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.541303149606299 + 20 +4.566673228346457 + 30 +0.0 + 10 +-1.544610236220472 + 20 +4.564255905511811 + 30 +0.0 + 10 +-1.544610236220472 + 20 +4.564255905511811 + 30 +0.0 + 10 +-1.547885826771654 + 20 +4.561838582677165 + 30 +0.0 + 10 +-1.550303149606299 + 20 +4.557562992125984 + 30 +0.0 + 10 +-1.551885826771654 + 20 +4.551421259842519 + 30 +0.0 + 10 +-1.551885826771654 + 20 +4.551421259842519 + 30 +0.0 + 10 +-1.551885826771654 + 20 +4.551421259842519 + 30 +0.0 + 10 +-1.566192913385827 + 20 +4.553393700787401 + 30 +0.0 + 10 +-1.566192913385827 + 20 +4.553393700787401 + 30 +0.0 + 10 +-1.566192913385827 + 20 +4.553393700787401 + 30 +0.0 + 10 +-1.564885826771653 + 20 +4.559507874015748 + 30 +0.0 + 10 +-1.562748031496063 + 20 +4.56448031496063 + 30 +0.0 + 10 +-1.559775590551181 + 20 +4.568228346456693 + 30 +0.0 + 10 +-1.559775590551181 + 20 +4.568228346456693 + 30 +0.0 + 10 +-1.556803149606299 + 20 +4.572007874015748 + 30 +0.0 + 10 +-1.552468503937008 + 20 +4.57492125984252 + 30 +0.0 + 10 +-1.546830708661417 + 20 +4.576948818897637 + 30 +0.0 + 10 +-1.546830708661417 + 20 +4.576948818897637 + 30 +0.0 + 10 +-1.541192913385827 + 20 +4.57898031496063 + 30 +0.0 + 10 +-1.534665354330709 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.527220472440945 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.527220472440945 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.519830708661417 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.513858267716536 + 20 +4.57911811023622 + 30 +0.0 + 10 +-1.509248031496063 + 20 +4.577393700787401 + 30 +0.0 + 10 +-1.509248031496063 + 20 +4.577393700787401 + 30 +0.0 + 10 +-1.50463779527559 + 20 +4.575645669291339 + 30 +0.0 + 10 +-1.501248031496063 + 20 +4.57348031496063 + 30 +0.0 + 10 +-1.499055118110236 + 20 +4.570838582677165 + 30 +0.0 + 10 +-1.499055118110236 + 20 +4.570838582677165 + 30 +0.0 + 10 +-1.496885826771654 + 20 +4.568200787401575 + 30 +0.0 + 10 +-1.495385826771654 + 20 +4.564893700787402 + 30 +0.0 + 10 +-1.4945 + 20 +4.560866141732284 + 30 +0.0 + 10 +-1.4945 + 20 +4.560866141732284 + 30 +0.0 + 10 +-1.494027559055118 + 20 +4.558366141732283 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.553866141732284 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.547366141732283 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.547366141732283 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.547366141732283 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.527838582677165 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.527838582677165 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.527838582677165 + 30 +0.0 + 10 +-1.493775590551181 + 20 +4.514200787401575 + 30 +0.0 + 10 +-1.493472440944882 + 20 +4.505590551181102 + 30 +0.0 + 10 +-1.492830708661417 + 20 +4.502007874015748 + 30 +0.0 + 10 +-1.492830708661417 + 20 +4.502007874015748 + 30 +0.0 + 10 +-1.492220472440945 + 20 +4.498397637795276 + 30 +0.0 + 10 +-1.490972440944882 + 20 +4.494925196850394 + 30 +0.0 + 10 +-1.489137795275591 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.489137795275591 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.489137795275591 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.504444881889764 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.504444881889764 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.504444881889764 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.505944881889764 + 20 +4.494645669291339 + 30 +0.0 + 10 +-1.506944881889764 + 20 +4.498200787401575 + 30 +0.0 + 10 +-1.507358267716535 + 20 +4.502283464566929 + 30 +0.0 + 0 +SPLINE + 5 +B4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.508582677165354 + 20 +4.535007874015748 + 30 +0.0 + 10 +-1.513913385826772 + 20 +4.532811023622047 + 30 +0.0 + 10 +-1.521885826771654 + 20 +4.53098031496063 + 30 +0.0 + 10 +-1.5325 + 20 +4.529452755905512 + 30 +0.0 + 10 +-1.5325 + 20 +4.529452755905512 + 30 +0.0 + 10 +-1.538527559055118 + 20 +4.528590551181102 + 30 +0.0 + 10 +-1.542803149606299 + 20 +4.527618110236221 + 30 +0.0 + 10 +-1.545275590551181 + 20 +4.526535433070866 + 30 +0.0 + 10 +-1.545275590551181 + 20 +4.526535433070866 + 30 +0.0 + 10 +-1.547775590551181 + 20 +4.525452755905512 + 30 +0.0 + 10 +-1.549720472440945 + 20 +4.523866141732284 + 30 +0.0 + 10 +-1.551055118110236 + 20 +4.521755905511811 + 30 +0.0 + 10 +-1.551055118110236 + 20 +4.521755905511811 + 30 +0.0 + 10 +-1.552413385826772 + 20 +4.519673228346456 + 30 +0.0 + 10 +-1.553110236220473 + 20 +4.517366141732284 + 30 +0.0 + 10 +-1.553110236220473 + 20 +4.514811023622047 + 30 +0.0 + 10 +-1.553110236220473 + 20 +4.514811023622047 + 30 +0.0 + 10 +-1.553110236220473 + 20 +4.510897637795275 + 30 +0.0 + 10 +-1.551610236220472 + 20 +4.507645669291339 + 30 +0.0 + 10 +-1.548665354330709 + 20 +4.505035433070866 + 30 +0.0 + 10 +-1.548665354330709 + 20 +4.505035433070866 + 30 +0.0 + 10 +-1.545720472440945 + 20 +4.502452755905511 + 30 +0.0 + 10 +-1.541385826771654 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.535692913385827 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.535692913385827 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.530055118110236 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.525027559055118 + 20 +4.502366141732283 + 30 +0.0 + 10 +-1.520637795275591 + 20 +4.504838582677166 + 30 +0.0 + 10 +-1.520637795275591 + 20 +4.504838582677166 + 30 +0.0 + 10 +-1.516248031496063 + 20 +4.507311023622047 + 30 +0.0 + 10 +-1.513 + 20 +4.510700787401575 + 30 +0.0 + 10 +-1.510944881889764 + 20 +4.51498031496063 + 30 +0.0 + 10 +-1.510944881889764 + 20 +4.51498031496063 + 30 +0.0 + 10 +-1.509358267716535 + 20 +4.518283464566929 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.523173228346456 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.52961811023622 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.52961811023622 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.52961811023622 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.535007874015748 + 30 +0.0 + 10 +-1.508582677165354 + 20 +4.535007874015748 + 30 +0.0 + 0 +SPLINE + 5 +B5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.471055118110236 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.565755905511811 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.565755905511811 + 30 +0.0 + 10 +-1.457889763779528 + 20 +4.565755905511811 + 30 +0.0 + 10 +-1.451527559055118 + 20 +4.575255905511811 + 30 +0.0 + 10 +-1.442362204724409 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.430389763779528 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.430389763779528 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.425165354330709 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.420389763779528 + 20 +4.579062992125984 + 30 +0.0 + 10 +-1.416027559055118 + 20 +4.577200787401575 + 30 +0.0 + 10 +-1.416027559055118 + 20 +4.577200787401575 + 30 +0.0 + 10 +-1.411637795275591 + 20 +4.575311023622048 + 30 +0.0 + 10 +-1.408389763779528 + 20 +4.572866141732283 + 30 +0.0 + 10 +-1.406220472440945 + 20 +4.569811023622047 + 30 +0.0 + 10 +-1.406220472440945 + 20 +4.569811023622047 + 30 +0.0 + 10 +-1.404027559055118 + 20 +4.566783464566929 + 30 +0.0 + 10 +-1.402527559055118 + 20 +4.563173228346456 + 30 +0.0 + 10 +-1.401637795275591 + 20 +4.559007874015748 + 30 +0.0 + 10 +-1.401637795275591 + 20 +4.559007874015748 + 30 +0.0 + 10 +-1.401110236220472 + 20 +4.556283464566929 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.551535433070866 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.544755905511811 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.544755905511811 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.544755905511811 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.400834645669291 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.4155 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.4155 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.4155 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.4155 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.4155 + 20 +4.544200787401575 + 30 +0.0 + 10 +-1.4155 + 20 +4.544200787401575 + 30 +0.0 + 10 +-1.4155 + 20 +4.544200787401575 + 30 +0.0 + 10 +-1.4155 + 20 +4.550145669291338 + 30 +0.0 + 10 +-1.416055118110236 + 20 +4.554618110236221 + 30 +0.0 + 10 +-1.417192913385827 + 20 +4.557590551181103 + 30 +0.0 + 10 +-1.417192913385827 + 20 +4.557590551181103 + 30 +0.0 + 10 +-1.418334645669291 + 20 +4.560535433070866 + 30 +0.0 + 10 +-1.42036220472441 + 20 +4.562893700787401 + 30 +0.0 + 10 +-1.423251968503937 + 20 +4.564645669291338 + 30 +0.0 + 10 +-1.423251968503937 + 20 +4.564645669291338 + 30 +0.0 + 10 +-1.426165354330709 + 20 +4.56642125984252 + 30 +0.0 + 10 +-1.429555118110236 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.433472440944882 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.433472440944882 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.439720472440945 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.445082677165354 + 20 +4.565311023622047 + 30 +0.0 + 10 +-1.449637795275591 + 20 +4.561366141732283 + 30 +0.0 + 10 +-1.449637795275591 + 20 +4.561366141732283 + 30 +0.0 + 10 +-1.454165354330709 + 20 +4.557393700787402 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.549893700787401 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.538811023622047 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.538811023622047 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.538811023622047 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.456417322834646 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.471055118110236 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +B6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.321972440944882 + 20 +4.502283464566929 + 30 +0.0 + 10 +-1.327417322834646 + 20 +4.497673228346457 + 30 +0.0 + 10 +-1.332641732283464 + 20 +4.494425196850393 + 30 +0.0 + 10 +-1.337641732283465 + 20 +4.492507874015748 + 30 +0.0 + 10 +-1.337641732283465 + 20 +4.492507874015748 + 30 +0.0 + 10 +-1.342669291338583 + 20 +4.490618110236221 + 30 +0.0 + 10 +-1.348055118110236 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.353807086614173 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.353807086614173 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.363307086614173 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.370582677165354 + 20 +4.49198031496063 + 30 +0.0 + 10 +-1.375696850393701 + 20 +4.496618110236221 + 30 +0.0 + 10 +-1.375696850393701 + 20 +4.496618110236221 + 30 +0.0 + 10 +-1.380779527559055 + 20 +4.501255905511811 + 30 +0.0 + 10 +-1.383334645669291 + 20 +4.507200787401575 + 30 +0.0 + 10 +-1.383334645669291 + 20 +4.514397637795276 + 30 +0.0 + 10 +-1.383334645669291 + 20 +4.514397637795276 + 30 +0.0 + 10 +-1.383334645669291 + 20 +4.518645669291338 + 30 +0.0 + 10 +-1.382389763779527 + 20 +4.522507874015748 + 30 +0.0 + 10 +-1.380444881889764 + 20 +4.526007874015748 + 30 +0.0 + 10 +-1.380444881889764 + 20 +4.526007874015748 + 30 +0.0 + 10 +-1.378527559055118 + 20 +4.529507874015748 + 30 +0.0 + 10 +-1.376 + 20 +4.532311023622047 + 30 +0.0 + 10 +-1.372889763779528 + 20 +4.534425196850393 + 30 +0.0 + 10 +-1.372889763779528 + 20 +4.534425196850393 + 30 +0.0 + 10 +-1.369751968503937 + 20 +4.536535433070866 + 30 +0.0 + 10 +-1.366251968503937 + 20 +4.538145669291339 + 30 +0.0 + 10 +-1.362334645669291 + 20 +4.539228346456693 + 30 +0.0 + 10 +-1.362334645669291 + 20 +4.539228346456693 + 30 +0.0 + 10 +-1.359472440944882 + 20 +4.53998031496063 + 30 +0.0 + 10 +-1.355141732283464 + 20 +4.540728346456693 + 30 +0.0 + 10 +-1.349334645669291 + 20 +4.541425196850394 + 30 +0.0 + 10 +-1.349334645669291 + 20 +4.541425196850394 + 30 +0.0 + 10 +-1.3375 + 20 +4.542838582677166 + 30 +0.0 + 10 +-1.328779527559055 + 20 +4.544507874015748 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.54648031496063 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.54648031496063 + 30 +0.0 + 10 +-1.323141732283465 + 20 +4.54848031496063 + 30 +0.0 + 10 +-1.323114173228346 + 20 +4.549755905511811 + 30 +0.0 + 10 +-1.323114173228346 + 20 +4.550283464566929 + 30 +0.0 + 10 +-1.323114173228346 + 20 +4.550283464566929 + 30 +0.0 + 10 +-1.323114173228346 + 20 +4.556255905511811 + 30 +0.0 + 10 +-1.3245 + 20 +4.56048031496063 + 30 +0.0 + 10 +-1.327279527559055 + 20 +4.562893700787401 + 30 +0.0 + 10 +-1.327279527559055 + 20 +4.562893700787401 + 30 +0.0 + 10 +-1.331 + 20 +4.566228346456693 + 30 +0.0 + 10 +-1.336586614173228 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.343944881889764 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.343944881889764 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.350834645669291 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.355917322834646 + 20 +4.566673228346457 + 30 +0.0 + 10 +-1.359224409448819 + 20 +4.564255905511811 + 30 +0.0 + 10 +-1.359224409448819 + 20 +4.564255905511811 + 30 +0.0 + 10 +-1.3625 + 20 +4.561838582677165 + 30 +0.0 + 10 +-1.364917322834646 + 20 +4.557562992125984 + 30 +0.0 + 10 +-1.3665 + 20 +4.551421259842519 + 30 +0.0 + 10 +-1.3665 + 20 +4.551421259842519 + 30 +0.0 + 10 +-1.3665 + 20 +4.551421259842519 + 30 +0.0 + 10 +-1.380807086614173 + 20 +4.553393700787401 + 30 +0.0 + 10 +-1.380807086614173 + 20 +4.553393700787401 + 30 +0.0 + 10 +-1.380807086614173 + 20 +4.553393700787401 + 30 +0.0 + 10 +-1.3795 + 20 +4.559507874015748 + 30 +0.0 + 10 +-1.377362204724409 + 20 +4.56448031496063 + 30 +0.0 + 10 +-1.374389763779527 + 20 +4.568228346456693 + 30 +0.0 + 10 +-1.374389763779527 + 20 +4.568228346456693 + 30 +0.0 + 10 +-1.371417322834646 + 20 +4.572007874015748 + 30 +0.0 + 10 +-1.367082677165354 + 20 +4.57492125984252 + 30 +0.0 + 10 +-1.361444881889764 + 20 +4.576948818897637 + 30 +0.0 + 10 +-1.361444881889764 + 20 +4.576948818897637 + 30 +0.0 + 10 +-1.355807086614173 + 20 +4.57898031496063 + 30 +0.0 + 10 +-1.349279527559055 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.341834645669291 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.341834645669291 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.334444881889764 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.328472440944882 + 20 +4.57911811023622 + 30 +0.0 + 10 +-1.32386220472441 + 20 +4.577393700787401 + 30 +0.0 + 10 +-1.32386220472441 + 20 +4.577393700787401 + 30 +0.0 + 10 +-1.319251968503937 + 20 +4.575645669291339 + 30 +0.0 + 10 +-1.31586220472441 + 20 +4.57348031496063 + 30 +0.0 + 10 +-1.313669291338583 + 20 +4.570838582677165 + 30 +0.0 + 10 +-1.313669291338583 + 20 +4.570838582677165 + 30 +0.0 + 10 +-1.3115 + 20 +4.568200787401575 + 30 +0.0 + 10 +-1.31 + 20 +4.564893700787402 + 30 +0.0 + 10 +-1.309114173228346 + 20 +4.560866141732284 + 30 +0.0 + 10 +-1.309114173228346 + 20 +4.560866141732284 + 30 +0.0 + 10 +-1.308641732283464 + 20 +4.558366141732283 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.553866141732284 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.547366141732283 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.547366141732283 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.547366141732283 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.527838582677165 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.527838582677165 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.527838582677165 + 30 +0.0 + 10 +-1.308389763779528 + 20 +4.514200787401575 + 30 +0.0 + 10 +-1.308086614173228 + 20 +4.505590551181102 + 30 +0.0 + 10 +-1.307444881889764 + 20 +4.502007874015748 + 30 +0.0 + 10 +-1.307444881889764 + 20 +4.502007874015748 + 30 +0.0 + 10 +-1.306834645669291 + 20 +4.498397637795276 + 30 +0.0 + 10 +-1.305586614173228 + 20 +4.494925196850394 + 30 +0.0 + 10 +-1.303751968503937 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.303751968503937 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.303751968503937 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.31905905511811 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.31905905511811 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.31905905511811 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.32055905511811 + 20 +4.494645669291339 + 30 +0.0 + 10 +-1.32155905511811 + 20 +4.498200787401575 + 30 +0.0 + 10 +-1.321972440944882 + 20 +4.502283464566929 + 30 +0.0 + 0 +SPLINE + 5 +B7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.323196850393701 + 20 +4.535007874015748 + 30 +0.0 + 10 +-1.328527559055118 + 20 +4.532811023622047 + 30 +0.0 + 10 +-1.3365 + 20 +4.53098031496063 + 30 +0.0 + 10 +-1.347114173228346 + 20 +4.529452755905512 + 30 +0.0 + 10 +-1.347114173228346 + 20 +4.529452755905512 + 30 +0.0 + 10 +-1.353141732283464 + 20 +4.528590551181102 + 30 +0.0 + 10 +-1.357417322834646 + 20 +4.527618110236221 + 30 +0.0 + 10 +-1.359889763779528 + 20 +4.526535433070866 + 30 +0.0 + 10 +-1.359889763779528 + 20 +4.526535433070866 + 30 +0.0 + 10 +-1.362389763779527 + 20 +4.525452755905512 + 30 +0.0 + 10 +-1.364334645669291 + 20 +4.523866141732284 + 30 +0.0 + 10 +-1.365669291338583 + 20 +4.521755905511811 + 30 +0.0 + 10 +-1.365669291338583 + 20 +4.521755905511811 + 30 +0.0 + 10 +-1.367027559055118 + 20 +4.519673228346456 + 30 +0.0 + 10 +-1.367724409448819 + 20 +4.517366141732284 + 30 +0.0 + 10 +-1.367724409448819 + 20 +4.514811023622047 + 30 +0.0 + 10 +-1.367724409448819 + 20 +4.514811023622047 + 30 +0.0 + 10 +-1.367724409448819 + 20 +4.510897637795275 + 30 +0.0 + 10 +-1.366224409448819 + 20 +4.507645669291339 + 30 +0.0 + 10 +-1.363279527559055 + 20 +4.505035433070866 + 30 +0.0 + 10 +-1.363279527559055 + 20 +4.505035433070866 + 30 +0.0 + 10 +-1.360334645669291 + 20 +4.502452755905511 + 30 +0.0 + 10 +-1.356 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.350307086614173 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.350307086614173 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.344669291338583 + 20 +4.501145669291339 + 30 +0.0 + 10 +-1.339641732283465 + 20 +4.502366141732283 + 30 +0.0 + 10 +-1.335251968503937 + 20 +4.504838582677166 + 30 +0.0 + 10 +-1.335251968503937 + 20 +4.504838582677166 + 30 +0.0 + 10 +-1.330862204724409 + 20 +4.507311023622047 + 30 +0.0 + 10 +-1.327614173228346 + 20 +4.510700787401575 + 30 +0.0 + 10 +-1.32555905511811 + 20 +4.51498031496063 + 30 +0.0 + 10 +-1.32555905511811 + 20 +4.51498031496063 + 30 +0.0 + 10 +-1.323972440944882 + 20 +4.518283464566929 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.523173228346456 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.52961811023622 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.52961811023622 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.52961811023622 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.535007874015748 + 30 +0.0 + 10 +-1.323196850393701 + 20 +4.535007874015748 + 30 +0.0 + 0 +SPLINE + 5 +B8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.291531496062992 + 20 +4.517425196850394 + 30 +0.0 + 10 +-1.291531496062992 + 20 +4.517425196850394 + 30 +0.0 + 10 +-1.27705905511811 + 20 +4.519700787401574 + 30 +0.0 + 10 +-1.27705905511811 + 20 +4.519700787401574 + 30 +0.0 + 10 +-1.27705905511811 + 20 +4.519700787401574 + 30 +0.0 + 10 +-1.276251968503937 + 20 +4.513897637795275 + 30 +0.0 + 10 +-1.273976377952756 + 20 +4.509452755905512 + 30 +0.0 + 10 +-1.270251968503937 + 20 +4.506338582677166 + 30 +0.0 + 10 +-1.270251968503937 + 20 +4.506338582677166 + 30 +0.0 + 10 +-1.26655905511811 + 20 +4.503255905511811 + 30 +0.0 + 10 +-1.26136220472441 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.254669291338583 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.254669291338583 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.247948818897638 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.242948818897638 + 20 +4.503090551181103 + 30 +0.0 + 10 +-1.239696850393701 + 20 +4.505811023622047 + 30 +0.0 + 10 +-1.239696850393701 + 20 +4.505811023622047 + 30 +0.0 + 10 +-1.236448818897638 + 20 +4.508562992125984 + 30 +0.0 + 10 +-1.234807086614173 + 20 +4.511783464566929 + 30 +0.0 + 10 +-1.234807086614173 + 20 +4.515452755905512 + 30 +0.0 + 10 +-1.234807086614173 + 20 +4.515452755905512 + 30 +0.0 + 10 +-1.234807086614173 + 20 +4.518783464566929 + 30 +0.0 + 10 +-1.236251968503937 + 20 +4.521366141732283 + 30 +0.0 + 10 +-1.239141732283465 + 20 +4.523283464566929 + 30 +0.0 + 10 +-1.239141732283465 + 20 +4.523283464566929 + 30 +0.0 + 10 +-1.241141732283465 + 20 +4.524590551181102 + 30 +0.0 + 10 +-1.246141732283464 + 20 +4.526228346456693 + 30 +0.0 + 10 +-1.254114173228347 + 20 +4.528228346456693 + 30 +0.0 + 10 +-1.254114173228347 + 20 +4.528228346456693 + 30 +0.0 + 10 +-1.264834645669291 + 20 +4.530952755905512 + 30 +0.0 + 10 +-1.272307086614173 + 20 +4.533283464566929 + 30 +0.0 + 10 +-1.276448818897638 + 20 +4.53528346456693 + 30 +0.0 + 10 +-1.276448818897638 + 20 +4.53528346456693 + 30 +0.0 + 10 +-1.280586614173228 + 20 +4.537255905511811 + 30 +0.0 + 10 +-1.283751968503937 + 20 +4.540007874015748 + 30 +0.0 + 10 +-1.285889763779527 + 20 +4.543507874015748 + 30 +0.0 + 10 +-1.285889763779527 + 20 +4.543507874015748 + 30 +0.0 + 10 +-1.288031496062992 + 20 +4.547007874015748 + 30 +0.0 + 10 +-1.289114173228346 + 20 +4.550866141732284 + 30 +0.0 + 10 +-1.289114173228346 + 20 +4.555090551181102 + 30 +0.0 + 10 +-1.289114173228346 + 20 +4.555090551181102 + 30 +0.0 + 10 +-1.289114173228346 + 20 +4.558952755905512 + 30 +0.0 + 10 +-1.288224409448819 + 20 +4.562507874015748 + 30 +0.0 + 10 +-1.286448818897638 + 20 +4.56578346456693 + 30 +0.0 + 10 +-1.286448818897638 + 20 +4.56578346456693 + 30 +0.0 + 10 +-1.284696850393701 + 20 +4.569090551181103 + 30 +0.0 + 10 +-1.282279527559055 + 20 +4.571811023622047 + 30 +0.0 + 10 +-1.279251968503937 + 20 +4.57398031496063 + 30 +0.0 + 10 +-1.279251968503937 + 20 +4.57398031496063 + 30 +0.0 + 10 +-1.276976377952756 + 20 +4.575645669291339 + 30 +0.0 + 10 +-1.273862204724409 + 20 +4.577090551181103 + 30 +0.0 + 10 +-1.269948818897638 + 20 +4.578255905511811 + 30 +0.0 + 10 +-1.269948818897638 + 20 +4.578255905511811 + 30 +0.0 + 10 +-1.266003937007874 + 20 +4.57942125984252 + 30 +0.0 + 10 +-1.261779527559055 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.257279527559055 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.257279527559055 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.250503937007874 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.24455905511811 + 20 +4.579007874015748 + 30 +0.0 + 10 +-1.23942125984252 + 20 +4.577062992125985 + 30 +0.0 + 10 +-1.23942125984252 + 20 +4.577062992125985 + 30 +0.0 + 10 +-1.234279527559055 + 20 +4.575118110236221 + 30 +0.0 + 10 +-1.230503937007874 + 20 +4.57248031496063 + 30 +0.0 + 10 +-1.22805905511811 + 20 +4.569145669291339 + 30 +0.0 + 10 +-1.22805905511811 + 20 +4.569145669291339 + 30 +0.0 + 10 +-1.225614173228347 + 20 +4.56578346456693 + 30 +0.0 + 10 +-1.223948818897638 + 20 +4.561338582677165 + 30 +0.0 + 10 +-1.223031496062992 + 20 +4.555755905511811 + 30 +0.0 + 10 +-1.223031496062992 + 20 +4.555755905511811 + 30 +0.0 + 10 +-1.223031496062992 + 20 +4.555755905511811 + 30 +0.0 + 10 +-1.237334645669291 + 20 +4.553783464566929 + 30 +0.0 + 10 +-1.237334645669291 + 20 +4.553783464566929 + 30 +0.0 + 10 +-1.237334645669291 + 20 +4.553783464566929 + 30 +0.0 + 10 +-1.238003937007874 + 20 +4.558228346456693 + 30 +0.0 + 10 +-1.239893700787402 + 20 +4.561700787401575 + 30 +0.0 + 10 +-1.243003937007874 + 20 +4.564200787401575 + 30 +0.0 + 10 +-1.243003937007874 + 20 +4.564200787401575 + 30 +0.0 + 10 +-1.246114173228347 + 20 +4.566700787401575 + 30 +0.0 + 10 +-1.250531496062992 + 20 +4.567952755905512 + 30 +0.0 + 10 +-1.256224409448819 + 20 +4.567952755905512 + 30 +0.0 + 10 +-1.256224409448819 + 20 +4.567952755905512 + 30 +0.0 + 10 +-1.262948818897638 + 20 +4.567952755905512 + 30 +0.0 + 10 +-1.267751968503937 + 20 +4.566838582677165 + 30 +0.0 + 10 +-1.270614173228346 + 20 +4.56461811023622 + 30 +0.0 + 10 +-1.270614173228346 + 20 +4.56461811023622 + 30 +0.0 + 10 +-1.273503937007874 + 20 +4.562393700787402 + 30 +0.0 + 10 +-1.274948818897638 + 20 +4.559783464566929 + 30 +0.0 + 10 +-1.274948818897638 + 20 +4.556811023622047 + 30 +0.0 + 10 +-1.274948818897638 + 20 +4.556811023622047 + 30 +0.0 + 10 +-1.274948818897638 + 20 +4.554893700787401 + 30 +0.0 + 10 +-1.274334645669291 + 20 +4.553200787401575 + 30 +0.0 + 10 +-1.273141732283465 + 20 +4.551673228346456 + 30 +0.0 + 10 +-1.273141732283465 + 20 +4.551673228346456 + 30 +0.0 + 10 +-1.271948818897638 + 20 +4.550090551181103 + 30 +0.0 + 10 +-1.270086614173228 + 20 +4.548811023622047 + 30 +0.0 + 10 +-1.267531496062992 + 20 +4.547755905511811 + 30 +0.0 + 10 +-1.267531496062992 + 20 +4.547755905511811 + 30 +0.0 + 10 +-1.26605905511811 + 20 +4.547228346456693 + 30 +0.0 + 10 +-1.261751968503937 + 20 +4.54598031496063 + 30 +0.0 + 10 +-1.254586614173228 + 20 +4.544035433070866 + 30 +0.0 + 10 +-1.254586614173228 + 20 +4.544035433070866 + 30 +0.0 + 10 +-1.244224409448819 + 20 +4.541255905511811 + 30 +0.0 + 10 +-1.237003937007874 + 20 +4.539007874015748 + 30 +0.0 + 10 +-1.23292125984252 + 20 +4.537228346456692 + 30 +0.0 + 10 +-1.23292125984252 + 20 +4.537228346456692 + 30 +0.0 + 10 +-1.228807086614173 + 20 +4.53548031496063 + 30 +0.0 + 10 +-1.225586614173228 + 20 +4.532893700787402 + 30 +0.0 + 10 +-1.223251968503937 + 20 +4.529535433070866 + 30 +0.0 + 10 +-1.223251968503937 + 20 +4.529535433070866 + 30 +0.0 + 10 +-1.22092125984252 + 20 +4.526173228346456 + 30 +0.0 + 10 +-1.219751968503937 + 20 +4.522007874015748 + 30 +0.0 + 10 +-1.219751968503937 + 20 +4.517007874015748 + 30 +0.0 + 10 +-1.219751968503937 + 20 +4.517007874015748 + 30 +0.0 + 10 +-1.219751968503937 + 20 +4.51211811023622 + 30 +0.0 + 10 +-1.221196850393701 + 20 +4.507535433070866 + 30 +0.0 + 10 +-1.224031496062992 + 20 +4.503200787401575 + 30 +0.0 + 10 +-1.224031496062992 + 20 +4.503200787401575 + 30 +0.0 + 10 +-1.226893700787402 + 20 +4.498897637795276 + 30 +0.0 + 10 +-1.231003937007874 + 20 +4.495562992125985 + 30 +0.0 + 10 +-1.236366141732284 + 20 +4.493200787401575 + 30 +0.0 + 10 +-1.236366141732284 + 20 +4.493200787401575 + 30 +0.0 + 10 +-1.241724409448819 + 20 +4.490838582677165 + 30 +0.0 + 10 +-1.247807086614173 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.254586614173228 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.254586614173228 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.265834645669291 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.274389763779528 + 20 +4.492007874015748 + 30 +0.0 + 10 +-1.280279527559055 + 20 +4.496673228346457 + 30 +0.0 + 10 +-1.280279527559055 + 20 +4.496673228346457 + 30 +0.0 + 10 +-1.286169291338583 + 20 +4.501338582677166 + 30 +0.0 + 10 +-1.28992125984252 + 20 +4.508255905511811 + 30 +0.0 + 10 +-1.291531496062992 + 20 +4.517425196850394 + 30 +0.0 + 0 +SPLINE + 5 +B9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.207807086614173 + 20 +4.534838582677166 + 30 +0.0 + 10 +-1.207807086614173 + 20 +4.550838582677166 + 30 +0.0 + 10 +-1.203362204724409 + 20 +4.562700787401575 + 30 +0.0 + 10 +-1.194444881889764 + 20 +4.570393700787402 + 30 +0.0 + 10 +-1.194444881889764 + 20 +4.570393700787402 + 30 +0.0 + 10 +-1.187027559055118 + 20 +4.576783464566929 + 30 +0.0 + 10 +-1.177972440944882 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.155389763779528 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.145669291338583 + 20 +4.57611811023622 + 30 +0.0 + 10 +-1.138141732283465 + 20 +4.568311023622047 + 30 +0.0 + 10 +-1.138141732283465 + 20 +4.568311023622047 + 30 +0.0 + 10 +-1.130586614173228 + 20 +4.560535433070866 + 30 +0.0 + 10 +-1.126834645669291 + 20 +4.54978346456693 + 30 +0.0 + 10 +-1.126834645669291 + 20 +4.536062992125984 + 30 +0.0 + 10 +-1.126834645669291 + 20 +4.536062992125984 + 30 +0.0 + 10 +-1.126834645669291 + 20 +4.524925196850393 + 30 +0.0 + 10 +-1.128503937007874 + 20 +4.516173228346457 + 30 +0.0 + 10 +-1.131834645669291 + 20 +4.509811023622047 + 30 +0.0 + 10 +-1.131834645669291 + 20 +4.509811023622047 + 30 +0.0 + 10 +-1.135169291338583 + 20 +4.503425196850394 + 30 +0.0 + 10 +-1.140031496062992 + 20 +4.49848031496063 + 30 +0.0 + 10 +-1.146389763779528 + 20 +4.494952755905512 + 30 +0.0 + 10 +-1.146389763779528 + 20 +4.494952755905512 + 30 +0.0 + 10 +-1.152779527559055 + 20 +4.491425196850393 + 30 +0.0 + 10 +-1.159724409448819 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.179362204724409 + 20 +4.489673228346457 + 30 +0.0 + 10 +-1.189141732283465 + 20 +4.493535433070866 + 30 +0.0 + 10 +-1.196614173228346 + 20 +4.501311023622047 + 30 +0.0 + 10 +-1.196614173228346 + 20 +4.501311023622047 + 30 +0.0 + 10 +-1.204086614173228 + 20 +4.509062992125984 + 30 +0.0 + 10 +-1.207807086614173 + 20 +4.520228346456693 + 30 +0.0 + 10 +-1.207807086614173 + 20 +4.534838582677166 + 30 +0.0 + 0 +SPLINE + 5 +BA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.192751968503937 + 20 +4.534838582677166 + 30 +0.0 + 10 +-1.192751968503937 + 20 +4.523755905511811 + 30 +0.0 + 10 +-1.190334645669291 + 20 +4.51548031496063 + 30 +0.0 + 10 +-1.1855 + 20 +4.50998031496063 + 30 +0.0 + 10 +-1.1855 + 20 +4.50998031496063 + 30 +0.0 + 10 +-1.180669291338583 + 20 +4.504452755905512 + 30 +0.0 + 10 +-1.174586614173228 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.16 + 20 +4.501700787401575 + 30 +0.0 + 10 +-1.153944881889764 + 20 +4.50448031496063 + 30 +0.0 + 10 +-1.149114173228347 + 20 +4.510007874015748 + 30 +0.0 + 10 +-1.149114173228347 + 20 +4.510007874015748 + 30 +0.0 + 10 +-1.144307086614173 + 20 +4.515535433070866 + 30 +0.0 + 10 +-1.141889763779528 + 20 +4.52398031496063 + 30 +0.0 + 10 +-1.141889763779528 + 20 +4.535311023622048 + 30 +0.0 + 10 +-1.141889763779528 + 20 +4.535311023622048 + 30 +0.0 + 10 +-1.141889763779528 + 20 +4.546007874015748 + 30 +0.0 + 10 +-1.144307086614173 + 20 +4.55411811023622 + 30 +0.0 + 10 +-1.149169291338583 + 20 +4.559618110236221 + 30 +0.0 + 10 +-1.149169291338583 + 20 +4.559618110236221 + 30 +0.0 + 10 +-1.154031496062992 + 20 +4.56511811023622 + 30 +0.0 + 10 +-1.16005905511811 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.167279527559055 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.174586614173228 + 20 +4.567866141732283 + 30 +0.0 + 10 +-1.180669291338583 + 20 +4.56511811023622 + 30 +0.0 + 10 +-1.1855 + 20 +4.559645669291339 + 30 +0.0 + 10 +-1.1855 + 20 +4.559645669291339 + 30 +0.0 + 10 +-1.190334645669291 + 20 +4.554173228346457 + 30 +0.0 + 10 +-1.192751968503937 + 20 +4.545893700787402 + 30 +0.0 + 10 +-1.192751968503937 + 20 +4.534838582677166 + 30 +0.0 + 0 +SPLINE + 5 +BB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.109641732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.565755905511811 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.565755905511811 + 30 +0.0 + 10 +-1.096476377952756 + 20 +4.565755905511811 + 30 +0.0 + 10 +-1.090114173228346 + 20 +4.575255905511811 + 30 +0.0 + 10 +-1.080948818897638 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.068976377952756 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.068976377952756 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.063751968503937 + 20 +4.580007874015748 + 30 +0.0 + 10 +-1.058976377952756 + 20 +4.579062992125984 + 30 +0.0 + 10 +-1.054614173228346 + 20 +4.577200787401575 + 30 +0.0 + 10 +-1.054614173228346 + 20 +4.577200787401575 + 30 +0.0 + 10 +-1.050224409448819 + 20 +4.575311023622048 + 30 +0.0 + 10 +-1.046976377952756 + 20 +4.572866141732283 + 30 +0.0 + 10 +-1.044807086614173 + 20 +4.569811023622047 + 30 +0.0 + 10 +-1.044807086614173 + 20 +4.569811023622047 + 30 +0.0 + 10 +-1.042614173228346 + 20 +4.566783464566929 + 30 +0.0 + 10 +-1.041114173228346 + 20 +4.563173228346456 + 30 +0.0 + 10 +-1.040224409448819 + 20 +4.559007874015748 + 30 +0.0 + 10 +-1.040224409448819 + 20 +4.559007874015748 + 30 +0.0 + 10 +-1.039696850393701 + 20 +4.556283464566929 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.551535433070866 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.544755905511811 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.544755905511811 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.544755905511811 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.03942125984252 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.544200787401575 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.544200787401575 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.544200787401575 + 30 +0.0 + 10 +-1.054086614173228 + 20 +4.550145669291338 + 30 +0.0 + 10 +-1.054641732283464 + 20 +4.554618110236221 + 30 +0.0 + 10 +-1.055779527559055 + 20 +4.557590551181103 + 30 +0.0 + 10 +-1.055779527559055 + 20 +4.557590551181103 + 30 +0.0 + 10 +-1.05692125984252 + 20 +4.560535433070866 + 30 +0.0 + 10 +-1.058948818897638 + 20 +4.562893700787401 + 30 +0.0 + 10 +-1.061838582677165 + 20 +4.564645669291338 + 30 +0.0 + 10 +-1.061838582677165 + 20 +4.564645669291338 + 30 +0.0 + 10 +-1.064751968503937 + 20 +4.56642125984252 + 30 +0.0 + 10 +-1.068141732283465 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.07205905511811 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.07205905511811 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.078307086614173 + 20 +4.567311023622048 + 30 +0.0 + 10 +-1.083669291338583 + 20 +4.565311023622047 + 30 +0.0 + 10 +-1.088224409448819 + 20 +4.561366141732283 + 30 +0.0 + 10 +-1.088224409448819 + 20 +4.561366141732283 + 30 +0.0 + 10 +-1.092751968503937 + 20 +4.557393700787402 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.549893700787401 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.538811023622047 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.538811023622047 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.538811023622047 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.095003937007874 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.109641732283465 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +BC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.016893700787401 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.610921259842519 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.594062992125984 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.594062992125984 + 30 +0.0 + 0 +SPLINE + 5 +BD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.016893700787401 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.578035433070866 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.002228346456693 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.49161811023622 + 30 +0.0 + 10 +-1.016893700787401 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +BE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.9235314960629921 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.9235314960629921 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.9091456692913386 + 20 +4.521393700787401 + 30 +0.0 + 10 +-0.9091456692913386 + 20 +4.521393700787401 + 30 +0.0 + 10 +-0.9091456692913386 + 20 +4.521393700787401 + 30 +0.0 + 10 +-0.9107007874015748 + 20 +4.51148031496063 + 30 +0.0 + 10 +-0.9147283464566929 + 20 +4.503700787401574 + 30 +0.0 + 10 +-0.9212283464566929 + 20 +4.498090551181102 + 30 +0.0 + 10 +-0.9212283464566929 + 20 +4.498090551181102 + 30 +0.0 + 10 +-0.9277007874015748 + 20 +4.49248031496063 + 30 +0.0 + 10 +-0.9356732283464567 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.9451141732283465 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.9451141732283465 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.9569212598425196 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.9664488188976378 + 20 +4.493535433070866 + 30 +0.0 + 10 +-0.9736141732283464 + 20 +4.501255905511811 + 30 +0.0 + 10 +-0.9736141732283464 + 20 +4.501255905511811 + 30 +0.0 + 10 +-0.9808110236220472 + 20 +4.50898031496063 + 30 +0.0 + 10 +-0.9844212598425197 + 20 +4.520062992125984 + 30 +0.0 + 10 +-0.9844212598425197 + 20 +4.534507874015748 + 30 +0.0 + 10 +-0.9844212598425197 + 20 +4.534507874015748 + 30 +0.0 + 10 +-0.9844212598425197 + 20 +4.543838582677165 + 30 +0.0 + 10 +-0.9828661417322835 + 20 +4.552007874015748 + 30 +0.0 + 10 +-0.9797834645669291 + 20 +4.559007874015748 + 30 +0.0 + 10 +-0.9797834645669291 + 20 +4.559007874015748 + 30 +0.0 + 10 +-0.9766732283464566 + 20 +4.566007874015748 + 30 +0.0 + 10 +-0.9719763779527559 + 20 +4.571255905511811 + 30 +0.0 + 10 +-0.9656417322834646 + 20 +4.574755905511811 + 30 +0.0 + 10 +-0.9656417322834646 + 20 +4.574755905511811 + 30 +0.0 + 10 +-0.9593385826771653 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.9524488188976378 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.9450314960629921 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.9450314960629921 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.9356456692913386 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.9279488188976378 + 20 +4.57761811023622 + 30 +0.0 + 10 +-0.922003937007874 + 20 +4.572866141732283 + 30 +0.0 + 10 +-0.922003937007874 + 20 +4.572866141732283 + 30 +0.0 + 10 +-0.9160314960629922 + 20 +4.56811811023622 + 30 +0.0 + 10 +-0.9122007874015748 + 20 +4.561393700787401 + 30 +0.0 + 10 +-0.910503937007874 + 20 +4.552645669291339 + 30 +0.0 + 10 +-0.910503937007874 + 20 +4.552645669291339 + 30 +0.0 + 10 +-0.910503937007874 + 20 +4.552645669291339 + 30 +0.0 + 10 +-0.924755905511811 + 20 +4.550452755905511 + 30 +0.0 + 10 +-0.924755905511811 + 20 +4.550452755905511 + 30 +0.0 + 10 +-0.924755905511811 + 20 +4.550452755905511 + 30 +0.0 + 10 +-0.9261181102362205 + 20 +4.556255905511811 + 30 +0.0 + 10 +-0.928503937007874 + 20 +4.560618110236221 + 30 +0.0 + 10 +-0.9319488188976378 + 20 +4.563562992125984 + 30 +0.0 + 10 +-0.9319488188976378 + 20 +4.563562992125984 + 30 +0.0 + 10 +-0.9353937007874016 + 20 +4.56648031496063 + 30 +0.0 + 10 +-0.9395590551181102 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.9444488188976378 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.9444488188976378 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.9518385826771654 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.9578385826771654 + 20 +4.565311023622047 + 30 +0.0 + 10 +-0.9624488188976378 + 20 +4.560007874015748 + 30 +0.0 + 10 +-0.9624488188976378 + 20 +4.560007874015748 + 30 +0.0 + 10 +-0.9670590551181102 + 20 +4.554728346456693 + 30 +0.0 + 10 +-0.9693661417322834 + 20 +4.546366141732284 + 30 +0.0 + 10 +-0.9693661417322834 + 20 +4.534925196850394 + 30 +0.0 + 10 +-0.9693661417322834 + 20 +4.534925196850394 + 30 +0.0 + 10 +-0.9693661417322834 + 20 +4.523311023622047 + 30 +0.0 + 10 +-0.9671417322834646 + 20 +4.514866141732283 + 30 +0.0 + 10 +-0.9626732283464567 + 20 +4.509590551181103 + 30 +0.0 + 10 +-0.9626732283464567 + 20 +4.509590551181103 + 30 +0.0 + 10 +-0.9582283464566929 + 20 +4.504338582677165 + 30 +0.0 + 10 +-0.9524212598425197 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.945255905511811 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.945255905511811 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.939503937007874 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.9347283464566929 + 20 +4.50348031496063 + 30 +0.0 + 10 +-0.9308661417322834 + 20 +4.507007874015748 + 30 +0.0 + 10 +-0.9308661417322834 + 20 +4.507007874015748 + 30 +0.0 + 10 +-0.927003937007874 + 20 +4.510535433070866 + 30 +0.0 + 10 +-0.9245590551181102 + 20 +4.515952755905512 + 30 +0.0 + 10 +-0.9235314960629921 + 20 +4.523283464566929 + 30 +0.0 + 0 +SPLINE + 5 +BF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8561417322834646 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.8561417322834646 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.8416692913385827 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.8416692913385827 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.8416692913385827 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.8408622047244094 + 20 +4.513897637795275 + 30 +0.0 + 10 +-0.8385866141732283 + 20 +4.509452755905512 + 30 +0.0 + 10 +-0.8348622047244094 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.8348622047244094 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.8311692913385826 + 20 +4.503255905511811 + 30 +0.0 + 10 +-0.8259724409448819 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.8192795275590551 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.8192795275590551 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.8125590551181102 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.8075590551181102 + 20 +4.503090551181103 + 30 +0.0 + 10 +-0.8043070866141733 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.8043070866141733 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.8010590551181103 + 20 +4.508562992125984 + 30 +0.0 + 10 +-0.7994173228346456 + 20 +4.511783464566929 + 30 +0.0 + 10 +-0.7994173228346456 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.7994173228346456 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.7994173228346456 + 20 +4.518783464566929 + 30 +0.0 + 10 +-0.8008622047244095 + 20 +4.521366141732283 + 30 +0.0 + 10 +-0.803751968503937 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.803751968503937 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.805751968503937 + 20 +4.524590551181102 + 30 +0.0 + 10 +-0.810751968503937 + 20 +4.526228346456693 + 30 +0.0 + 10 +-0.8187244094488189 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.8187244094488189 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.8294448818897637 + 20 +4.530952755905512 + 30 +0.0 + 10 +-0.8369173228346457 + 20 +4.533283464566929 + 30 +0.0 + 10 +-0.8410590551181102 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.8410590551181102 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.8451968503937007 + 20 +4.537255905511811 + 30 +0.0 + 10 +-0.8483622047244095 + 20 +4.540007874015748 + 30 +0.0 + 10 +-0.8505 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.8505 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.8526417322834645 + 20 +4.547007874015748 + 30 +0.0 + 10 +-0.8537244094488189 + 20 +4.550866141732284 + 30 +0.0 + 10 +-0.8537244094488189 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.8537244094488189 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.8537244094488189 + 20 +4.558952755905512 + 30 +0.0 + 10 +-0.8528346456692913 + 20 +4.562507874015748 + 30 +0.0 + 10 +-0.8510590551181102 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.8510590551181102 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.8493070866141732 + 20 +4.569090551181103 + 30 +0.0 + 10 +-0.8468897637795275 + 20 +4.571811023622047 + 30 +0.0 + 10 +-0.8438622047244094 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.8438622047244094 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.8415866141732283 + 20 +4.575645669291339 + 30 +0.0 + 10 +-0.8384724409448819 + 20 +4.577090551181103 + 30 +0.0 + 10 +-0.8345590551181102 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.8345590551181102 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.8306141732283464 + 20 +4.57942125984252 + 30 +0.0 + 10 +-0.8263897637795276 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.8218897637795276 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.8218897637795276 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.8151141732283465 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.8091692913385827 + 20 +4.579007874015748 + 30 +0.0 + 10 +-0.8040314960629922 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.8040314960629922 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.7988897637795276 + 20 +4.575118110236221 + 30 +0.0 + 10 +-0.7951141732283464 + 20 +4.57248031496063 + 30 +0.0 + 10 +-0.7926692913385827 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.7926692913385827 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.7902244094488189 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.7885590551181102 + 20 +4.561338582677165 + 30 +0.0 + 10 +-0.7876417322834646 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.7876417322834646 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.7876417322834646 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.8019448818897638 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.8019448818897638 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.8019448818897638 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.8026141732283465 + 20 +4.558228346456693 + 30 +0.0 + 10 +-0.804503937007874 + 20 +4.561700787401575 + 30 +0.0 + 10 +-0.8076141732283465 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.8076141732283465 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.8107244094488189 + 20 +4.566700787401575 + 30 +0.0 + 10 +-0.8151417322834645 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.8208346456692913 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.8208346456692913 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.8275590551181102 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.8323622047244095 + 20 +4.566838582677165 + 30 +0.0 + 10 +-0.8352244094488189 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.8352244094488189 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.8381141732283465 + 20 +4.562393700787402 + 30 +0.0 + 10 +-0.8395590551181102 + 20 +4.559783464566929 + 30 +0.0 + 10 +-0.8395590551181102 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.8395590551181102 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.8395590551181102 + 20 +4.554893700787401 + 30 +0.0 + 10 +-0.8389448818897638 + 20 +4.553200787401575 + 30 +0.0 + 10 +-0.837751968503937 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.837751968503937 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.8365590551181102 + 20 +4.550090551181103 + 30 +0.0 + 10 +-0.8346968503937008 + 20 +4.548811023622047 + 30 +0.0 + 10 +-0.8321417322834646 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.8321417322834646 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.8306692913385827 + 20 +4.547228346456693 + 30 +0.0 + 10 +-0.8263622047244095 + 20 +4.54598031496063 + 30 +0.0 + 10 +-0.8191968503937008 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.8191968503937008 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.8088346456692913 + 20 +4.541255905511811 + 30 +0.0 + 10 +-0.8016141732283465 + 20 +4.539007874015748 + 30 +0.0 + 10 +-0.7975314960629921 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.7975314960629921 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.7934173228346457 + 20 +4.53548031496063 + 30 +0.0 + 10 +-0.7901968503937008 + 20 +4.532893700787402 + 30 +0.0 + 10 +-0.7878622047244095 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.7878622047244095 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.7855314960629921 + 20 +4.526173228346456 + 30 +0.0 + 10 +-0.7843622047244094 + 20 +4.522007874015748 + 30 +0.0 + 10 +-0.7843622047244094 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.7843622047244094 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.7843622047244094 + 20 +4.51211811023622 + 30 +0.0 + 10 +-0.7858070866141732 + 20 +4.507535433070866 + 30 +0.0 + 10 +-0.7886417322834646 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.7886417322834646 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.791503937007874 + 20 +4.498897637795276 + 30 +0.0 + 10 +-0.7956141732283465 + 20 +4.495562992125985 + 30 +0.0 + 10 +-0.8009763779527559 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.8009763779527559 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.8063346456692914 + 20 +4.490838582677165 + 30 +0.0 + 10 +-0.8124173228346456 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.8191968503937008 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.8191968503937008 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.8304448818897637 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.839 + 20 +4.492007874015748 + 30 +0.0 + 10 +-0.8448897637795275 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.8448897637795275 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.8507795275590552 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.8545314960629922 + 20 +4.508255905511811 + 30 +0.0 + 10 +-0.8561417322834646 + 20 +4.517425196850394 + 30 +0.0 + 0 +SPLINE + 5 +C0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7078070866141732 + 20 +4.519452755905512 + 30 +0.0 + 10 +-0.7078070866141732 + 20 +4.519452755905512 + 30 +0.0 + 10 +-0.6926692913385827 + 20 +4.517590551181103 + 30 +0.0 + 10 +-0.6926692913385827 + 20 +4.517590551181103 + 30 +0.0 + 10 +-0.6926692913385827 + 20 +4.517590551181103 + 30 +0.0 + 10 +-0.6950551181102362 + 20 +4.508728346456693 + 30 +0.0 + 10 +-0.6994724409448819 + 20 +4.501866141732283 + 30 +0.0 + 10 +-0.7059173228346457 + 20 +4.49698031496063 + 30 +0.0 + 10 +-0.7059173228346457 + 20 +4.49698031496063 + 30 +0.0 + 10 +-0.7123897637795276 + 20 +4.492118110236221 + 30 +0.0 + 10 +-0.7206417322834646 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.7306692913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.7306692913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.7433070866141732 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.7533346456692913 + 20 +4.493562992125984 + 30 +0.0 + 10 +-0.7607244094488189 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.7607244094488189 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.7681377952755906 + 20 +4.50911811023622 + 30 +0.0 + 10 +-0.7718346456692914 + 20 +4.520035433070866 + 30 +0.0 + 10 +-0.7718346456692914 + 20 +4.534090551181102 + 30 +0.0 + 10 +-0.7718346456692914 + 20 +4.534090551181102 + 30 +0.0 + 10 +-0.7718346456692914 + 20 +4.548645669291338 + 30 +0.0 + 10 +-0.7680826771653543 + 20 +4.55992125984252 + 30 +0.0 + 10 +-0.7606102362204724 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.7606102362204724 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.7531102362204725 + 20 +4.57598031496063 + 30 +0.0 + 10 +-0.7434173228346457 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.7314724409448818 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.7314724409448818 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.7199173228346457 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.7104724409448819 + 20 +4.576062992125984 + 30 +0.0 + 10 +-0.7031692913385826 + 20 +4.568200787401575 + 30 +0.0 + 10 +-0.7031692913385826 + 20 +4.568200787401575 + 30 +0.0 + 10 +-0.6958346456692913 + 20 +4.560338582677165 + 30 +0.0 + 10 +-0.6921692913385826 + 20 +4.549255905511811 + 30 +0.0 + 10 +-0.6921692913385826 + 20 +4.535007874015748 + 30 +0.0 + 10 +-0.6921692913385826 + 20 +4.535007874015748 + 30 +0.0 + 10 +-0.6921692913385826 + 20 +4.53411811023622 + 30 +0.0 + 10 +-0.6921968503937008 + 20 +4.532811023622047 + 30 +0.0 + 10 +-0.692251968503937 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.692251968503937 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.692251968503937 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.7566968503937008 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.7566968503937008 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.7566968503937008 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.7561653543307086 + 20 +4.521590551181102 + 30 +0.0 + 10 +-0.7534724409448819 + 20 +4.514311023622048 + 30 +0.0 + 10 +-0.7486377952755906 + 20 +4.509283464566929 + 30 +0.0 + 10 +-0.7486377952755906 + 20 +4.509283464566929 + 30 +0.0 + 10 +-0.7438070866141733 + 20 +4.504228346456693 + 30 +0.0 + 10 +-0.7378070866141733 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.7305826771653543 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.7305826771653543 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.7252244094488189 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.7206417322834646 + 20 +4.503118110236221 + 30 +0.0 + 10 +-0.7168346456692913 + 20 +4.505952755905512 + 30 +0.0 + 10 +-0.7168346456692913 + 20 +4.505952755905512 + 30 +0.0 + 10 +-0.7130275590551182 + 20 +4.508755905511811 + 30 +0.0 + 10 +-0.7100275590551182 + 20 +4.513255905511811 + 30 +0.0 + 10 +-0.7078070866141732 + 20 +4.519452755905512 + 30 +0.0 + 0 +SPLINE + 5 +C1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7558897637795275 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.7558897637795275 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.7076417322834646 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.7076417322834646 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.7076417322834646 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.7082795275590551 + 20 +4.550393700787402 + 30 +0.0 + 10 +-0.7101417322834646 + 20 +4.555866141732284 + 30 +0.0 + 10 +-0.7131692913385826 + 20 +4.55948031496063 + 30 +0.0 + 10 +-0.7131692913385826 + 20 +4.55948031496063 + 30 +0.0 + 10 +-0.7178346456692913 + 20 +4.56511811023622 + 30 +0.0 + 10 +-0.7238897637795275 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.7313070866141732 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.7313070866141732 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.7380275590551181 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.7436968503937008 + 20 +4.565700787401575 + 30 +0.0 + 10 +-0.7482795275590551 + 20 +4.561200787401575 + 30 +0.0 + 10 +-0.7482795275590551 + 20 +4.561200787401575 + 30 +0.0 + 10 +-0.7528622047244095 + 20 +4.556700787401574 + 30 +0.0 + 10 +-0.7553897637795276 + 20 +4.550673228346457 + 30 +0.0 + 10 +-0.7558897637795275 + 20 +4.543145669291339 + 30 +0.0 + 0 +SPLINE + 5 +C2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.674251968503937 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.565755905511811 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.565755905511811 + 30 +0.0 + 10 +-0.6610866141732283 + 20 +4.565755905511811 + 30 +0.0 + 10 +-0.6547244094488189 + 20 +4.575255905511811 + 30 +0.0 + 10 +-0.6455590551181102 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.6335866141732284 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.6335866141732284 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.6283622047244094 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.6235866141732284 + 20 +4.579062992125984 + 30 +0.0 + 10 +-0.6192244094488188 + 20 +4.577200787401575 + 30 +0.0 + 10 +-0.6192244094488188 + 20 +4.577200787401575 + 30 +0.0 + 10 +-0.6148346456692914 + 20 +4.575311023622048 + 30 +0.0 + 10 +-0.6115866141732283 + 20 +4.572866141732283 + 30 +0.0 + 10 +-0.6094173228346457 + 20 +4.569811023622047 + 30 +0.0 + 10 +-0.6094173228346457 + 20 +4.569811023622047 + 30 +0.0 + 10 +-0.607224409448819 + 20 +4.566783464566929 + 30 +0.0 + 10 +-0.6057244094488189 + 20 +4.563173228346456 + 30 +0.0 + 10 +-0.6048346456692913 + 20 +4.559007874015748 + 30 +0.0 + 10 +-0.6048346456692913 + 20 +4.559007874015748 + 30 +0.0 + 10 +-0.6043070866141732 + 20 +4.556283464566929 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.551535433070866 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.544755905511811 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.544755905511811 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.544755905511811 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6040314960629921 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.544200787401575 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.544200787401575 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.544200787401575 + 30 +0.0 + 10 +-0.6186968503937008 + 20 +4.550145669291338 + 30 +0.0 + 10 +-0.619251968503937 + 20 +4.554618110236221 + 30 +0.0 + 10 +-0.6203897637795276 + 20 +4.557590551181103 + 30 +0.0 + 10 +-0.6203897637795276 + 20 +4.557590551181103 + 30 +0.0 + 10 +-0.6215314960629921 + 20 +4.560535433070866 + 30 +0.0 + 10 +-0.6235590551181103 + 20 +4.562893700787401 + 30 +0.0 + 10 +-0.6264488188976378 + 20 +4.564645669291338 + 30 +0.0 + 10 +-0.6264488188976378 + 20 +4.564645669291338 + 30 +0.0 + 10 +-0.6293622047244094 + 20 +4.56642125984252 + 30 +0.0 + 10 +-0.632751968503937 + 20 +4.567311023622048 + 30 +0.0 + 10 +-0.6366692913385826 + 20 +4.567311023622048 + 30 +0.0 + 10 +-0.6366692913385826 + 20 +4.567311023622048 + 30 +0.0 + 10 +-0.6429173228346456 + 20 +4.567311023622048 + 30 +0.0 + 10 +-0.6482795275590552 + 20 +4.565311023622047 + 30 +0.0 + 10 +-0.6528346456692914 + 20 +4.561366141732283 + 30 +0.0 + 10 +-0.6528346456692914 + 20 +4.561366141732283 + 30 +0.0 + 10 +-0.6573622047244094 + 20 +4.557393700787402 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.549893700787401 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.538811023622047 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.538811023622047 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.538811023622047 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.6596141732283465 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.674251968503937 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +C3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5874212598425197 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.5874212598425197 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.5729488188976378 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.5729488188976378 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.5729488188976378 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.5721417322834645 + 20 +4.513897637795275 + 30 +0.0 + 10 +-0.5698661417322834 + 20 +4.509452755905512 + 30 +0.0 + 10 +-0.5661417322834645 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.5661417322834645 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.5624488188976378 + 20 +4.503255905511811 + 30 +0.0 + 10 +-0.557251968503937 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.5505590551181102 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.5505590551181102 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.5438385826771653 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.5388385826771653 + 20 +4.503090551181103 + 30 +0.0 + 10 +-0.5355866141732284 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.5355866141732284 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.5323385826771654 + 20 +4.508562992125984 + 30 +0.0 + 10 +-0.5306968503937007 + 20 +4.511783464566929 + 30 +0.0 + 10 +-0.5306968503937007 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.5306968503937007 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.5306968503937007 + 20 +4.518783464566929 + 30 +0.0 + 10 +-0.5321417322834646 + 20 +4.521366141732283 + 30 +0.0 + 10 +-0.5350314960629922 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.5350314960629922 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.5370314960629922 + 20 +4.524590551181102 + 30 +0.0 + 10 +-0.5420314960629922 + 20 +4.526228346456693 + 30 +0.0 + 10 +-0.550003937007874 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.550003937007874 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.5607244094488189 + 20 +4.530952755905512 + 30 +0.0 + 10 +-0.5681968503937008 + 20 +4.533283464566929 + 30 +0.0 + 10 +-0.5723385826771653 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.5723385826771653 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.5764763779527559 + 20 +4.537255905511811 + 30 +0.0 + 10 +-0.5796417322834646 + 20 +4.540007874015748 + 30 +0.0 + 10 +-0.5817795275590552 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.5817795275590552 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.5839212598425196 + 20 +4.547007874015748 + 30 +0.0 + 10 +-0.585003937007874 + 20 +4.550866141732284 + 30 +0.0 + 10 +-0.585003937007874 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.585003937007874 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.585003937007874 + 20 +4.558952755905512 + 30 +0.0 + 10 +-0.5841141732283465 + 20 +4.562507874015748 + 30 +0.0 + 10 +-0.5823385826771653 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.5823385826771653 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.5805866141732283 + 20 +4.569090551181103 + 30 +0.0 + 10 +-0.5781692913385826 + 20 +4.571811023622047 + 30 +0.0 + 10 +-0.5751417322834645 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.5751417322834645 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.5728661417322835 + 20 +4.575645669291339 + 30 +0.0 + 10 +-0.5697519685039371 + 20 +4.577090551181103 + 30 +0.0 + 10 +-0.5658385826771654 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.5658385826771654 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.5618937007874015 + 20 +4.57942125984252 + 30 +0.0 + 10 +-0.5576692913385827 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.5531692913385827 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.5531692913385827 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.5463937007874016 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.5404488188976379 + 20 +4.579007874015748 + 30 +0.0 + 10 +-0.5353110236220473 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.5353110236220473 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.5301692913385827 + 20 +4.575118110236221 + 30 +0.0 + 10 +-0.5263937007874016 + 20 +4.57248031496063 + 30 +0.0 + 10 +-0.5239488188976378 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.5239488188976378 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.521503937007874 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.5198385826771653 + 20 +4.561338582677165 + 30 +0.0 + 10 +-0.5189212598425197 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.5189212598425197 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.5189212598425197 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.5332244094488189 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.5332244094488189 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.5332244094488189 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.5338937007874016 + 20 +4.558228346456693 + 30 +0.0 + 10 +-0.5357834645669292 + 20 +4.561700787401575 + 30 +0.0 + 10 +-0.5388937007874016 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.5388937007874016 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.542003937007874 + 20 +4.566700787401575 + 30 +0.0 + 10 +-0.5464212598425197 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.5521141732283464 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.5521141732283464 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.5588385826771654 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.5636417322834646 + 20 +4.566838582677165 + 30 +0.0 + 10 +-0.566503937007874 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.566503937007874 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.5693937007874016 + 20 +4.562393700787402 + 30 +0.0 + 10 +-0.5708385826771654 + 20 +4.559783464566929 + 30 +0.0 + 10 +-0.5708385826771654 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.5708385826771654 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.5708385826771654 + 20 +4.554893700787401 + 30 +0.0 + 10 +-0.5702244094488189 + 20 +4.553200787401575 + 30 +0.0 + 10 +-0.5690314960629921 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.5690314960629921 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.5678385826771654 + 20 +4.550090551181103 + 30 +0.0 + 10 +-0.5659763779527559 + 20 +4.548811023622047 + 30 +0.0 + 10 +-0.5634212598425197 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.5634212598425197 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.5619488188976378 + 20 +4.547228346456693 + 30 +0.0 + 10 +-0.5576417322834646 + 20 +4.54598031496063 + 30 +0.0 + 10 +-0.550476377952756 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.550476377952756 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.5401141732283464 + 20 +4.541255905511811 + 30 +0.0 + 10 +-0.5328937007874016 + 20 +4.539007874015748 + 30 +0.0 + 10 +-0.5288110236220472 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.5288110236220472 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.5246968503937008 + 20 +4.53548031496063 + 30 +0.0 + 10 +-0.5214763779527559 + 20 +4.532893700787402 + 30 +0.0 + 10 +-0.5191417322834646 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.5191417322834646 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.5168110236220472 + 20 +4.526173228346456 + 30 +0.0 + 10 +-0.5156417322834645 + 20 +4.522007874015748 + 30 +0.0 + 10 +-0.5156417322834645 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.5156417322834645 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.5156417322834645 + 20 +4.51211811023622 + 30 +0.0 + 10 +-0.5170866141732283 + 20 +4.507535433070866 + 30 +0.0 + 10 +-0.5199212598425197 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.5199212598425197 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.5227834645669291 + 20 +4.498897637795276 + 30 +0.0 + 10 +-0.5268937007874016 + 20 +4.495562992125985 + 30 +0.0 + 10 +-0.532255905511811 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.532255905511811 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.5376141732283465 + 20 +4.490838582677165 + 30 +0.0 + 10 +-0.5436968503937007 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.550476377952756 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.550476377952756 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.5617244094488189 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.5702795275590551 + 20 +4.492007874015748 + 30 +0.0 + 10 +-0.5761692913385826 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.5761692913385826 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.5820590551181103 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.5858110236220473 + 20 +4.508255905511811 + 30 +0.0 + 10 +-0.5874212598425197 + 20 +4.517425196850394 + 30 +0.0 + 0 +SPLINE + 5 +C4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5036968503937008 + 20 +4.534838582677166 + 30 +0.0 + 10 +-0.5036968503937008 + 20 +4.550838582677166 + 30 +0.0 + 10 +-0.499251968503937 + 20 +4.562700787401575 + 30 +0.0 + 10 +-0.4903346456692914 + 20 +4.570393700787402 + 30 +0.0 + 10 +-0.4903346456692914 + 20 +4.570393700787402 + 30 +0.0 + 10 +-0.4829173228346457 + 20 +4.576783464566929 + 30 +0.0 + 10 +-0.4738622047244094 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.4512795275590551 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.4415590551181102 + 20 +4.57611811023622 + 30 +0.0 + 10 +-0.4340314960629921 + 20 +4.568311023622047 + 30 +0.0 + 10 +-0.4340314960629921 + 20 +4.568311023622047 + 30 +0.0 + 10 +-0.4264763779527559 + 20 +4.560535433070866 + 30 +0.0 + 10 +-0.4227244094488189 + 20 +4.54978346456693 + 30 +0.0 + 10 +-0.4227244094488189 + 20 +4.536062992125984 + 30 +0.0 + 10 +-0.4227244094488189 + 20 +4.536062992125984 + 30 +0.0 + 10 +-0.4227244094488189 + 20 +4.524925196850393 + 30 +0.0 + 10 +-0.4243937007874016 + 20 +4.516173228346457 + 30 +0.0 + 10 +-0.4277244094488189 + 20 +4.509811023622047 + 30 +0.0 + 10 +-0.4277244094488189 + 20 +4.509811023622047 + 30 +0.0 + 10 +-0.4310590551181102 + 20 +4.503425196850394 + 30 +0.0 + 10 +-0.4359212598425197 + 20 +4.49848031496063 + 30 +0.0 + 10 +-0.4422795275590551 + 20 +4.494952755905512 + 30 +0.0 + 10 +-0.4422795275590551 + 20 +4.494952755905512 + 30 +0.0 + 10 +-0.4486692913385827 + 20 +4.491425196850393 + 30 +0.0 + 10 +-0.4556141732283465 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.475251968503937 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.4850314960629921 + 20 +4.493535433070866 + 30 +0.0 + 10 +-0.492503937007874 + 20 +4.501311023622047 + 30 +0.0 + 10 +-0.492503937007874 + 20 +4.501311023622047 + 30 +0.0 + 10 +-0.4999763779527559 + 20 +4.509062992125984 + 30 +0.0 + 10 +-0.5036968503937008 + 20 +4.520228346456693 + 30 +0.0 + 10 +-0.5036968503937008 + 20 +4.534838582677166 + 30 +0.0 + 0 +SPLINE + 5 +C5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4886417322834646 + 20 +4.534838582677166 + 30 +0.0 + 10 +-0.4886417322834646 + 20 +4.523755905511811 + 30 +0.0 + 10 +-0.4862244094488189 + 20 +4.51548031496063 + 30 +0.0 + 10 +-0.4813897637795276 + 20 +4.50998031496063 + 30 +0.0 + 10 +-0.4813897637795276 + 20 +4.50998031496063 + 30 +0.0 + 10 +-0.4765590551181103 + 20 +4.504452755905512 + 30 +0.0 + 10 +-0.4704763779527559 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.4558897637795276 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.4498346456692913 + 20 +4.50448031496063 + 30 +0.0 + 10 +-0.445003937007874 + 20 +4.510007874015748 + 30 +0.0 + 10 +-0.445003937007874 + 20 +4.510007874015748 + 30 +0.0 + 10 +-0.4401968503937008 + 20 +4.515535433070866 + 30 +0.0 + 10 +-0.4377795275590551 + 20 +4.52398031496063 + 30 +0.0 + 10 +-0.4377795275590551 + 20 +4.535311023622048 + 30 +0.0 + 10 +-0.4377795275590551 + 20 +4.535311023622048 + 30 +0.0 + 10 +-0.4377795275590551 + 20 +4.546007874015748 + 30 +0.0 + 10 +-0.4401968503937008 + 20 +4.55411811023622 + 30 +0.0 + 10 +-0.4450590551181102 + 20 +4.559618110236221 + 30 +0.0 + 10 +-0.4450590551181102 + 20 +4.559618110236221 + 30 +0.0 + 10 +-0.4499212598425197 + 20 +4.56511811023622 + 30 +0.0 + 10 +-0.4559488188976378 + 20 +4.567866141732283 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.567866141732283 + 30 +0.0 + 10 +-0.4631692913385827 + 20 +4.567866141732283 + 30 +0.0 + 10 +-0.4704763779527559 + 20 +4.567866141732283 + 30 +0.0 + 10 +-0.4765590551181103 + 20 +4.56511811023622 + 30 +0.0 + 10 +-0.4813897637795276 + 20 +4.559645669291339 + 30 +0.0 + 10 +-0.4813897637795276 + 20 +4.559645669291339 + 30 +0.0 + 10 +-0.4862244094488189 + 20 +4.554173228346457 + 30 +0.0 + 10 +-0.4886417322834646 + 20 +4.545893700787402 + 30 +0.0 + 10 +-0.4886417322834646 + 20 +4.534838582677166 + 30 +0.0 + 0 +SPLINE + 5 +C6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4056968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.578035433070866 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.564952755905511 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.564952755905511 + 30 +0.0 + 10 +-0.3925314960629921 + 20 +4.564952755905511 + 30 +0.0 + 10 +-0.3891692913385827 + 20 +4.571062992125984 + 30 +0.0 + 10 +-0.3860590551181102 + 20 +4.575118110236221 + 30 +0.0 + 10 +-0.3831968503937008 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.3831968503937008 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.3803661417322834 + 20 +4.579007874015748 + 30 +0.0 + 10 +-0.3772244094488189 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3738110236220473 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3738110236220473 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3688661417322834 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3638661417322835 + 20 +4.57842125984252 + 30 +0.0 + 10 +-0.358755905511811 + 20 +4.575283464566929 + 30 +0.0 + 10 +-0.358755905511811 + 20 +4.575283464566929 + 30 +0.0 + 10 +-0.358755905511811 + 20 +4.575283464566929 + 30 +0.0 + 10 +-0.3638110236220473 + 20 +4.561673228346456 + 30 +0.0 + 10 +-0.3638110236220473 + 20 +4.561673228346456 + 30 +0.0 + 10 +-0.3638110236220473 + 20 +4.561673228346456 + 30 +0.0 + 10 +-0.3673661417322835 + 20 +4.563811023622047 + 30 +0.0 + 10 +-0.3709488188976378 + 20 +4.564866141732283 + 30 +0.0 + 10 +-0.3745314960629921 + 20 +4.564866141732283 + 30 +0.0 + 10 +-0.3745314960629921 + 20 +4.564866141732283 + 30 +0.0 + 10 +-0.377755905511811 + 20 +4.564866141732283 + 30 +0.0 + 10 +-0.3806141732283465 + 20 +4.563893700787402 + 30 +0.0 + 10 +-0.3831692913385827 + 20 +4.56198031496063 + 30 +0.0 + 10 +-0.3831692913385827 + 20 +4.56198031496063 + 30 +0.0 + 10 +-0.3857244094488189 + 20 +4.560035433070866 + 30 +0.0 + 10 +-0.3875314960629921 + 20 +4.557366141732284 + 30 +0.0 + 10 +-0.3886141732283465 + 20 +4.553952755905512 + 30 +0.0 + 10 +-0.3886141732283465 + 20 +4.553952755905512 + 30 +0.0 + 10 +-0.390251968503937 + 20 +4.548755905511811 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.543062992125984 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.536866141732284 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.536866141732284 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.536866141732284 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.3910590551181102 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.49161811023622 + 30 +0.0 + 10 +-0.4056968503937008 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +C7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3558937007874016 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.3558937007874016 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.3414212598425197 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.3414212598425197 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.3414212598425197 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.3406141732283465 + 20 +4.513897637795275 + 30 +0.0 + 10 +-0.3383385826771654 + 20 +4.509452755905512 + 30 +0.0 + 10 +-0.3346141732283465 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.3346141732283465 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.3309212598425197 + 20 +4.503255905511811 + 30 +0.0 + 10 +-0.3257244094488189 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.3190314960629921 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.3190314960629921 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.3123110236220473 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.3073110236220473 + 20 +4.503090551181103 + 30 +0.0 + 10 +-0.3040590551181102 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.3040590551181102 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.3008110236220473 + 20 +4.508562992125984 + 30 +0.0 + 10 +-0.2991692913385827 + 20 +4.511783464566929 + 30 +0.0 + 10 +-0.2991692913385827 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.2991692913385827 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.2991692913385827 + 20 +4.518783464566929 + 30 +0.0 + 10 +-0.3006141732283464 + 20 +4.521366141732283 + 30 +0.0 + 10 +-0.303503937007874 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.303503937007874 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.305503937007874 + 20 +4.524590551181102 + 30 +0.0 + 10 +-0.310503937007874 + 20 +4.526228346456693 + 30 +0.0 + 10 +-0.3184763779527559 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.3184763779527559 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.3291968503937008 + 20 +4.530952755905512 + 30 +0.0 + 10 +-0.3366692913385827 + 20 +4.533283464566929 + 30 +0.0 + 10 +-0.3408110236220472 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.3408110236220472 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.3449488188976378 + 20 +4.537255905511811 + 30 +0.0 + 10 +-0.3481141732283465 + 20 +4.540007874015748 + 30 +0.0 + 10 +-0.350251968503937 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.350251968503937 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.3523937007874016 + 20 +4.547007874015748 + 30 +0.0 + 10 +-0.3534763779527559 + 20 +4.550866141732284 + 30 +0.0 + 10 +-0.3534763779527559 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.3534763779527559 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.3534763779527559 + 20 +4.558952755905512 + 30 +0.0 + 10 +-0.3525866141732283 + 20 +4.562507874015748 + 30 +0.0 + 10 +-0.3508110236220472 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.3508110236220472 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.3490590551181103 + 20 +4.569090551181103 + 30 +0.0 + 10 +-0.3466417322834646 + 20 +4.571811023622047 + 30 +0.0 + 10 +-0.3436141732283465 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.3436141732283465 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.3413385826771654 + 20 +4.575645669291339 + 30 +0.0 + 10 +-0.3382244094488189 + 20 +4.577090551181103 + 30 +0.0 + 10 +-0.3343110236220472 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.3343110236220472 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.3303661417322835 + 20 +4.57942125984252 + 30 +0.0 + 10 +-0.3261417322834645 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3216417322834645 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3216417322834645 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3148661417322834 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.3089212598425197 + 20 +4.579007874015748 + 30 +0.0 + 10 +-0.3037834645669291 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.3037834645669291 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.2986417322834646 + 20 +4.575118110236221 + 30 +0.0 + 10 +-0.2948661417322835 + 20 +4.57248031496063 + 30 +0.0 + 10 +-0.2924212598425197 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.2924212598425197 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.2899763779527559 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.2883110236220472 + 20 +4.561338582677165 + 30 +0.0 + 10 +-0.2873937007874016 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.2873937007874016 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.2873937007874016 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.3016968503937008 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.3016968503937008 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.3016968503937008 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.3023661417322835 + 20 +4.558228346456693 + 30 +0.0 + 10 +-0.304255905511811 + 20 +4.561700787401575 + 30 +0.0 + 10 +-0.3073661417322834 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.3073661417322834 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.3104763779527559 + 20 +4.566700787401575 + 30 +0.0 + 10 +-0.3148937007874016 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.3205866141732284 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.3205866141732284 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.3273110236220472 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.3321141732283465 + 20 +4.566838582677165 + 30 +0.0 + 10 +-0.3349763779527559 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.3349763779527559 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.3378661417322835 + 20 +4.562393700787402 + 30 +0.0 + 10 +-0.3393110236220472 + 20 +4.559783464566929 + 30 +0.0 + 10 +-0.3393110236220472 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.3393110236220472 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.3393110236220472 + 20 +4.554893700787401 + 30 +0.0 + 10 +-0.3386968503937008 + 20 +4.553200787401575 + 30 +0.0 + 10 +-0.337503937007874 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.337503937007874 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.3363110236220472 + 20 +4.550090551181103 + 30 +0.0 + 10 +-0.3344488188976378 + 20 +4.548811023622047 + 30 +0.0 + 10 +-0.3318937007874016 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.3318937007874016 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.3304212598425197 + 20 +4.547228346456693 + 30 +0.0 + 10 +-0.3261141732283465 + 20 +4.54598031496063 + 30 +0.0 + 10 +-0.3189488188976378 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.3189488188976378 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.3085866141732284 + 20 +4.541255905511811 + 30 +0.0 + 10 +-0.3013661417322835 + 20 +4.539007874015748 + 30 +0.0 + 10 +-0.2972834645669291 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.2972834645669291 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.2931692913385827 + 20 +4.53548031496063 + 30 +0.0 + 10 +-0.2899488188976378 + 20 +4.532893700787402 + 30 +0.0 + 10 +-0.2876141732283465 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.2876141732283465 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.2852834645669292 + 20 +4.526173228346456 + 30 +0.0 + 10 +-0.2841141732283465 + 20 +4.522007874015748 + 30 +0.0 + 10 +-0.2841141732283465 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.2841141732283465 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.2841141732283465 + 20 +4.51211811023622 + 30 +0.0 + 10 +-0.2855590551181102 + 20 +4.507535433070866 + 30 +0.0 + 10 +-0.2883937007874016 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.2883937007874016 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.291255905511811 + 20 +4.498897637795276 + 30 +0.0 + 10 +-0.2953661417322835 + 20 +4.495562992125985 + 30 +0.0 + 10 +-0.3007283464566929 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.3007283464566929 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.3060866141732284 + 20 +4.490838582677165 + 30 +0.0 + 10 +-0.3121692913385827 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.3189488188976378 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.3189488188976378 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.3301968503937008 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.338751968503937 + 20 +4.492007874015748 + 30 +0.0 + 10 +-0.3446417322834646 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.3446417322834646 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.3505314960629921 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.3542834645669291 + 20 +4.508255905511811 + 30 +0.0 + 10 +-0.3558937007874016 + 20 +4.517425196850394 + 30 +0.0 + 0 +SPLINE + 5 +C8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.226251968503937 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.226251968503937 + 20 +4.517425196850394 + 30 +0.0 + 10 +-0.2117795275590551 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.2117795275590551 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.2117795275590551 + 20 +4.519700787401574 + 30 +0.0 + 10 +-0.2109724409448819 + 20 +4.513897637795275 + 30 +0.0 + 10 +-0.2086968503937008 + 20 +4.509452755905512 + 30 +0.0 + 10 +-0.2049724409448819 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.2049724409448819 + 20 +4.506338582677166 + 30 +0.0 + 10 +-0.2012795275590551 + 20 +4.503255905511811 + 30 +0.0 + 10 +-0.1960826771653543 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.1893897637795276 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.1893897637795276 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.1826692913385827 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.1776692913385827 + 20 +4.503090551181103 + 30 +0.0 + 10 +-0.1744173228346457 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.1744173228346457 + 20 +4.505811023622047 + 30 +0.0 + 10 +-0.1711692913385827 + 20 +4.508562992125984 + 30 +0.0 + 10 +-0.1695275590551181 + 20 +4.511783464566929 + 30 +0.0 + 10 +-0.1695275590551181 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.1695275590551181 + 20 +4.515452755905512 + 30 +0.0 + 10 +-0.1695275590551181 + 20 +4.518783464566929 + 30 +0.0 + 10 +-0.1709724409448819 + 20 +4.521366141732283 + 30 +0.0 + 10 +-0.1738622047244094 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.1738622047244094 + 20 +4.523283464566929 + 30 +0.0 + 10 +-0.1758622047244094 + 20 +4.524590551181102 + 30 +0.0 + 10 +-0.1808622047244094 + 20 +4.526228346456693 + 30 +0.0 + 10 +-0.1888346456692913 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.1888346456692913 + 20 +4.528228346456693 + 30 +0.0 + 10 +-0.1995551181102362 + 20 +4.530952755905512 + 30 +0.0 + 10 +-0.2070275590551181 + 20 +4.533283464566929 + 30 +0.0 + 10 +-0.2111692913385827 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.2111692913385827 + 20 +4.53528346456693 + 30 +0.0 + 10 +-0.2153070866141732 + 20 +4.537255905511811 + 30 +0.0 + 10 +-0.2184724409448819 + 20 +4.540007874015748 + 30 +0.0 + 10 +-0.2206102362204724 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.2206102362204724 + 20 +4.543507874015748 + 30 +0.0 + 10 +-0.222751968503937 + 20 +4.547007874015748 + 30 +0.0 + 10 +-0.2238346456692913 + 20 +4.550866141732284 + 30 +0.0 + 10 +-0.2238346456692913 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.2238346456692913 + 20 +4.555090551181102 + 30 +0.0 + 10 +-0.2238346456692913 + 20 +4.558952755905512 + 30 +0.0 + 10 +-0.2229448818897638 + 20 +4.562507874015748 + 30 +0.0 + 10 +-0.2211692913385827 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.2211692913385827 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.2194173228346457 + 20 +4.569090551181103 + 30 +0.0 + 10 +-0.217 + 20 +4.571811023622047 + 30 +0.0 + 10 +-0.2139724409448819 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.2139724409448819 + 20 +4.57398031496063 + 30 +0.0 + 10 +-0.2116968503937008 + 20 +4.575645669291339 + 30 +0.0 + 10 +-0.2085826771653543 + 20 +4.577090551181103 + 30 +0.0 + 10 +-0.2046692913385827 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.2046692913385827 + 20 +4.578255905511811 + 30 +0.0 + 10 +-0.2007244094488189 + 20 +4.57942125984252 + 30 +0.0 + 10 +-0.1965 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.192 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.192 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.1852244094488189 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.1792795275590551 + 20 +4.579007874015748 + 30 +0.0 + 10 +-0.1741417322834646 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.1741417322834646 + 20 +4.577062992125985 + 30 +0.0 + 10 +-0.169 + 20 +4.575118110236221 + 30 +0.0 + 10 +-0.1652244094488189 + 20 +4.57248031496063 + 30 +0.0 + 10 +-0.1627795275590551 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.1627795275590551 + 20 +4.569145669291339 + 30 +0.0 + 10 +-0.1603346456692913 + 20 +4.56578346456693 + 30 +0.0 + 10 +-0.1586692913385827 + 20 +4.561338582677165 + 30 +0.0 + 10 +-0.157751968503937 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.157751968503937 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.157751968503937 + 20 +4.555755905511811 + 30 +0.0 + 10 +-0.1720551181102362 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.1720551181102362 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.1720551181102362 + 20 +4.553783464566929 + 30 +0.0 + 10 +-0.1727244094488189 + 20 +4.558228346456693 + 30 +0.0 + 10 +-0.1746141732283465 + 20 +4.561700787401575 + 30 +0.0 + 10 +-0.1777244094488189 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.1777244094488189 + 20 +4.564200787401575 + 30 +0.0 + 10 +-0.1808346456692913 + 20 +4.566700787401575 + 30 +0.0 + 10 +-0.185251968503937 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1909448818897638 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1909448818897638 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1976692913385827 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.2024724409448819 + 20 +4.566838582677165 + 30 +0.0 + 10 +-0.2053346456692913 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.2053346456692913 + 20 +4.56461811023622 + 30 +0.0 + 10 +-0.2082244094488189 + 20 +4.562393700787402 + 30 +0.0 + 10 +-0.2096692913385827 + 20 +4.559783464566929 + 30 +0.0 + 10 +-0.2096692913385827 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.2096692913385827 + 20 +4.556811023622047 + 30 +0.0 + 10 +-0.2096692913385827 + 20 +4.554893700787401 + 30 +0.0 + 10 +-0.2090551181102362 + 20 +4.553200787401575 + 30 +0.0 + 10 +-0.2078622047244094 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.2078622047244094 + 20 +4.551673228346456 + 30 +0.0 + 10 +-0.2066692913385827 + 20 +4.550090551181103 + 30 +0.0 + 10 +-0.2048070866141732 + 20 +4.548811023622047 + 30 +0.0 + 10 +-0.202251968503937 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.202251968503937 + 20 +4.547755905511811 + 30 +0.0 + 10 +-0.2007795275590551 + 20 +4.547228346456693 + 30 +0.0 + 10 +-0.1964724409448819 + 20 +4.54598031496063 + 30 +0.0 + 10 +-0.1893070866141732 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.1893070866141732 + 20 +4.544035433070866 + 30 +0.0 + 10 +-0.1789448818897638 + 20 +4.541255905511811 + 30 +0.0 + 10 +-0.1717244094488189 + 20 +4.539007874015748 + 30 +0.0 + 10 +-0.1676417322834646 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.1676417322834646 + 20 +4.537228346456692 + 30 +0.0 + 10 +-0.1635275590551181 + 20 +4.53548031496063 + 30 +0.0 + 10 +-0.1603070866141732 + 20 +4.532893700787402 + 30 +0.0 + 10 +-0.1579724409448819 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.1579724409448819 + 20 +4.529535433070866 + 30 +0.0 + 10 +-0.1556417322834646 + 20 +4.526173228346456 + 30 +0.0 + 10 +-0.1544724409448819 + 20 +4.522007874015748 + 30 +0.0 + 10 +-0.1544724409448819 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.1544724409448819 + 20 +4.517007874015748 + 30 +0.0 + 10 +-0.1544724409448819 + 20 +4.51211811023622 + 30 +0.0 + 10 +-0.1559173228346457 + 20 +4.507535433070866 + 30 +0.0 + 10 +-0.158751968503937 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.158751968503937 + 20 +4.503200787401575 + 30 +0.0 + 10 +-0.1616141732283465 + 20 +4.498897637795276 + 30 +0.0 + 10 +-0.1657244094488189 + 20 +4.495562992125985 + 30 +0.0 + 10 +-0.1710866141732283 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.1710866141732283 + 20 +4.493200787401575 + 30 +0.0 + 10 +-0.1764448818897638 + 20 +4.490838582677165 + 30 +0.0 + 10 +-0.1825275590551181 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.1893070866141732 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.1893070866141732 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.2005551181102362 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.2091102362204725 + 20 +4.492007874015748 + 30 +0.0 + 10 +-0.215 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.215 + 20 +4.496673228346457 + 30 +0.0 + 10 +-0.2208897637795276 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.2246417322834646 + 20 +4.508255905511811 + 30 +0.0 + 10 +-0.226251968503937 + 20 +4.517425196850394 + 30 +0.0 + 0 +SPLINE + 5 +C9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.0779173228346457 + 20 +4.519452755905512 + 30 +0.0 + 10 +-0.0779173228346457 + 20 +4.519452755905512 + 30 +0.0 + 10 +-0.0627795275590551 + 20 +4.517590551181103 + 30 +0.0 + 10 +-0.0627795275590551 + 20 +4.517590551181103 + 30 +0.0 + 10 +-0.0627795275590551 + 20 +4.517590551181103 + 30 +0.0 + 10 +-0.0651653543307087 + 20 +4.508728346456693 + 30 +0.0 + 10 +-0.0695826771653543 + 20 +4.501866141732283 + 30 +0.0 + 10 +-0.0760275590551181 + 20 +4.49698031496063 + 30 +0.0 + 10 +-0.0760275590551181 + 20 +4.49698031496063 + 30 +0.0 + 10 +-0.0825 + 20 +4.492118110236221 + 30 +0.0 + 10 +-0.090751968503937 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.1007795275590551 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.1007795275590551 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.1134173228346457 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.1234448818897638 + 20 +4.493562992125984 + 30 +0.0 + 10 +-0.1308346456692913 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.1308346456692913 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.138248031496063 + 20 +4.50911811023622 + 30 +0.0 + 10 +-0.1419448818897638 + 20 +4.520035433070866 + 30 +0.0 + 10 +-0.1419448818897638 + 20 +4.534090551181102 + 30 +0.0 + 10 +-0.1419448818897638 + 20 +4.534090551181102 + 30 +0.0 + 10 +-0.1419448818897638 + 20 +4.548645669291338 + 30 +0.0 + 10 +-0.1381929133858268 + 20 +4.55992125984252 + 30 +0.0 + 10 +-0.1307204724409449 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1307204724409449 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1232204724409449 + 20 +4.57598031496063 + 30 +0.0 + 10 +-0.1135275590551181 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.1015826771653543 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.1015826771653543 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.0900275590551181 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.0805826771653543 + 20 +4.576062992125984 + 30 +0.0 + 10 +-0.0732795275590551 + 20 +4.568200787401575 + 30 +0.0 + 10 +-0.0732795275590551 + 20 +4.568200787401575 + 30 +0.0 + 10 +-0.0659448818897638 + 20 +4.560338582677165 + 30 +0.0 + 10 +-0.0622795275590551 + 20 +4.549255905511811 + 30 +0.0 + 10 +-0.0622795275590551 + 20 +4.535007874015748 + 30 +0.0 + 10 +-0.0622795275590551 + 20 +4.535007874015748 + 30 +0.0 + 10 +-0.0622795275590551 + 20 +4.53411811023622 + 30 +0.0 + 10 +-0.0623070866141732 + 20 +4.532811023622047 + 30 +0.0 + 10 +-0.0623622047244094 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.0623622047244094 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.0623622047244094 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.1268070866141732 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.1268070866141732 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.1268070866141732 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.1262755905511811 + 20 +4.521590551181102 + 30 +0.0 + 10 +-0.1235826771653543 + 20 +4.514311023622048 + 30 +0.0 + 10 +-0.118748031496063 + 20 +4.509283464566929 + 30 +0.0 + 10 +-0.118748031496063 + 20 +4.509283464566929 + 30 +0.0 + 10 +-0.1139173228346457 + 20 +4.504228346456693 + 30 +0.0 + 10 +-0.1079173228346457 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.1006929133858268 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.1006929133858268 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.0953346456692913 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.090751968503937 + 20 +4.503118110236221 + 30 +0.0 + 10 +-0.0869448818897638 + 20 +4.505952755905512 + 30 +0.0 + 10 +-0.0869448818897638 + 20 +4.505952755905512 + 30 +0.0 + 10 +-0.0831377952755906 + 20 +4.508755905511811 + 30 +0.0 + 10 +-0.0801377952755905 + 20 +4.513255905511811 + 30 +0.0 + 10 +-0.0779173228346457 + 20 +4.519452755905512 + 30 +0.0 + 0 +SPLINE + 5 +CA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.126 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.126 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.077751968503937 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.077751968503937 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.077751968503937 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.0783897637795276 + 20 +4.550393700787402 + 30 +0.0 + 10 +-0.080251968503937 + 20 +4.555866141732284 + 30 +0.0 + 10 +-0.0832795275590551 + 20 +4.55948031496063 + 30 +0.0 + 10 +-0.0832795275590551 + 20 +4.55948031496063 + 30 +0.0 + 10 +-0.0879448818897638 + 20 +4.56511811023622 + 30 +0.0 + 10 +-0.094 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1014173228346457 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1014173228346457 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1081377952755905 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.1138070866141732 + 20 +4.565700787401575 + 30 +0.0 + 10 +-0.1183897637795276 + 20 +4.561200787401575 + 30 +0.0 + 10 +-0.1183897637795276 + 20 +4.561200787401575 + 30 +0.0 + 10 +-0.1229724409448819 + 20 +4.556700787401574 + 30 +0.0 + 10 +-0.1255 + 20 +4.550673228346457 + 30 +0.0 + 10 +-0.126 + 20 +4.543145669291339 + 30 +0.0 + 0 +SPLINE + 5 +CB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0147755905511811 + 20 +4.519452755905512 + 30 +0.0 + 10 +0.0147755905511811 + 20 +4.519452755905512 + 30 +0.0 + 10 +0.0299133858267717 + 20 +4.517590551181103 + 30 +0.0 + 10 +0.0299133858267717 + 20 +4.517590551181103 + 30 +0.0 + 10 +0.0299133858267717 + 20 +4.517590551181103 + 30 +0.0 + 10 +0.0275275590551181 + 20 +4.508728346456693 + 30 +0.0 + 10 +0.0231102362204724 + 20 +4.501866141732283 + 30 +0.0 + 10 +0.0166653543307087 + 20 +4.49698031496063 + 30 +0.0 + 10 +0.0166653543307087 + 20 +4.49698031496063 + 30 +0.0 + 10 +0.0101929133858268 + 20 +4.492118110236221 + 30 +0.0 + 10 +0.0019409448818898 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.0080866141732283 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.0080866141732283 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.0207244094488189 + 20 +4.489673228346457 + 30 +0.0 + 10 +-0.030751968503937 + 20 +4.493562992125984 + 30 +0.0 + 10 +-0.0381417322834646 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.0381417322834646 + 20 +4.501338582677166 + 30 +0.0 + 10 +-0.0455551181102362 + 20 +4.50911811023622 + 30 +0.0 + 10 +-0.049251968503937 + 20 +4.520035433070866 + 30 +0.0 + 10 +-0.049251968503937 + 20 +4.534090551181102 + 30 +0.0 + 10 +-0.049251968503937 + 20 +4.534090551181102 + 30 +0.0 + 10 +-0.049251968503937 + 20 +4.548645669291338 + 30 +0.0 + 10 +-0.0455 + 20 +4.55992125984252 + 30 +0.0 + 10 +-0.0380275590551181 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.0380275590551181 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.0305275590551181 + 20 +4.57598031496063 + 30 +0.0 + 10 +-0.0208346456692913 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.0088897637795276 + 20 +4.580007874015748 + 30 +0.0 + 10 +-0.0088897637795276 + 20 +4.580007874015748 + 30 +0.0 + 10 +0.0026653543307087 + 20 +4.580007874015748 + 30 +0.0 + 10 +0.0121102362204724 + 20 +4.576062992125984 + 30 +0.0 + 10 +0.0194133858267717 + 20 +4.568200787401575 + 30 +0.0 + 10 +0.0194133858267717 + 20 +4.568200787401575 + 30 +0.0 + 10 +0.026748031496063 + 20 +4.560338582677165 + 30 +0.0 + 10 +0.0304133858267717 + 20 +4.549255905511811 + 30 +0.0 + 10 +0.0304133858267717 + 20 +4.535007874015748 + 30 +0.0 + 10 +0.0304133858267717 + 20 +4.535007874015748 + 30 +0.0 + 10 +0.0304133858267717 + 20 +4.53411811023622 + 30 +0.0 + 10 +0.0303858267716535 + 20 +4.532811023622047 + 30 +0.0 + 10 +0.0303307086614173 + 20 +4.531090551181102 + 30 +0.0 + 10 +0.0303307086614173 + 20 +4.531090551181102 + 30 +0.0 + 10 +0.0303307086614173 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.0341141732283465 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.0341141732283465 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.0341141732283465 + 20 +4.531090551181102 + 30 +0.0 + 10 +-0.0335826771653543 + 20 +4.521590551181102 + 30 +0.0 + 10 +-0.0308897637795276 + 20 +4.514311023622048 + 30 +0.0 + 10 +-0.0260551181102362 + 20 +4.509283464566929 + 30 +0.0 + 10 +-0.0260551181102362 + 20 +4.509283464566929 + 30 +0.0 + 10 +-0.0212244094488189 + 20 +4.504228346456693 + 30 +0.0 + 10 +-0.0152244094488189 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.008 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.008 + 20 +4.501700787401575 + 30 +0.0 + 10 +-0.0026417322834646 + 20 +4.501700787401575 + 30 +0.0 + 10 +0.0019409448818898 + 20 +4.503118110236221 + 30 +0.0 + 10 +0.005748031496063 + 20 +4.505952755905512 + 30 +0.0 + 10 +0.005748031496063 + 20 +4.505952755905512 + 30 +0.0 + 10 +0.0095551181102362 + 20 +4.508755905511811 + 30 +0.0 + 10 +0.0125551181102362 + 20 +4.513255905511811 + 30 +0.0 + 10 +0.0147755905511811 + 20 +4.519452755905512 + 30 +0.0 + 0 +SPLINE + 5 +CC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.0333070866141732 + 20 +4.543145669291339 + 30 +0.0 + 10 +-0.0333070866141732 + 20 +4.543145669291339 + 30 +0.0 + 10 +0.0149409448818898 + 20 +4.543145669291339 + 30 +0.0 + 10 +0.0149409448818898 + 20 +4.543145669291339 + 30 +0.0 + 10 +0.0149409448818898 + 20 +4.543145669291339 + 30 +0.0 + 10 +0.0143031496062992 + 20 +4.550393700787402 + 30 +0.0 + 10 +0.0124409448818898 + 20 +4.555866141732284 + 30 +0.0 + 10 +0.0094133858267717 + 20 +4.55948031496063 + 30 +0.0 + 10 +0.0094133858267717 + 20 +4.55948031496063 + 30 +0.0 + 10 +0.004748031496063 + 20 +4.56511811023622 + 30 +0.0 + 10 +-0.0013070866141732 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.0087244094488189 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.0087244094488189 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.0154448818897638 + 20 +4.567952755905512 + 30 +0.0 + 10 +-0.0211141732283465 + 20 +4.565700787401575 + 30 +0.0 + 10 +-0.0256968503937008 + 20 +4.561200787401575 + 30 +0.0 + 10 +-0.0256968503937008 + 20 +4.561200787401575 + 30 +0.0 + 10 +-0.0302795275590551 + 20 +4.556700787401574 + 30 +0.0 + 10 +-0.0328070866141732 + 20 +4.550673228346457 + 30 +0.0 + 10 +-0.0333070866141732 + 20 +4.543145669291339 + 30 +0.0 + 0 +SPLINE + 5 +CD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0523858267716535 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.578035433070866 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.561366141732283 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.561366141732283 + 30 +0.0 + 0 +SPLINE + 5 +CE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0523858267716535 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.508311023622047 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0690787401574803 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.49161811023622 + 30 +0.0 + 10 +0.0523858267716535 + 20 +4.49161811023622 + 30 +0.0 + 0 +SPLINE + 5 +CF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 72 + 73 + 68 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.971216535433071 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.424728346456693 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.381925196850394 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.381925196850394 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.381925196850394 + 30 +0.0 + 10 +-1.949744094488189 + 20 +4.38984251968504 + 30 +0.0 + 10 +-1.941106299212598 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.930688976377953 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.930688976377953 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.924299212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.918744094488189 + 20 +4.392535433070866 + 30 +0.0 + 10 +-1.914023622047244 + 20 +4.390007874015748 + 30 +0.0 + 10 +-1.914023622047244 + 20 +4.390007874015748 + 30 +0.0 + 10 +-1.909299212598425 + 20 +4.387507874015748 + 30 +0.0 + 10 +-1.905913385826772 + 20 +4.384007874015748 + 30 +0.0 + 10 +-1.903881889763779 + 20 +4.379562992125984 + 30 +0.0 + 10 +-1.903881889763779 + 20 +4.379562992125984 + 30 +0.0 + 10 +-1.901854330708662 + 20 +4.375118110236221 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.368645669291339 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.360200787401575 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.360200787401575 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.360200787401575 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.900826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.360200787401575 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.360200787401575 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.360200787401575 + 30 +0.0 + 10 +-1.915496062992126 + 20 +4.367507874015748 + 30 +0.0 + 10 +-1.91707874015748 + 20 +4.372842519685039 + 30 +0.0 + 10 +-1.920244094488189 + 20 +4.376173228346457 + 30 +0.0 + 10 +-1.920244094488189 + 20 +4.376173228346457 + 30 +0.0 + 10 +-1.923413385826772 + 20 +4.379507874015748 + 30 +0.0 + 10 +-1.927909448818898 + 20 +4.381200787401575 + 30 +0.0 + 10 +-1.933716535433071 + 20 +4.381200787401575 + 30 +0.0 + 10 +-1.933716535433071 + 20 +4.381200787401575 + 30 +0.0 + 10 +-1.938051181102362 + 20 +4.381200787401575 + 30 +0.0 + 10 +-1.942133858267717 + 20 +4.380062992125985 + 30 +0.0 + 10 +-1.945968503937008 + 20 +4.377814960629921 + 30 +0.0 + 10 +-1.945968503937008 + 20 +4.377814960629921 + 30 +0.0 + 10 +-1.949799212598425 + 20 +4.375562992125984 + 30 +0.0 + 10 +-1.952523622047244 + 20 +4.372507874015748 + 30 +0.0 + 10 +-1.954133858267717 + 20 +4.368645669291339 + 30 +0.0 + 10 +-1.954133858267717 + 20 +4.368645669291339 + 30 +0.0 + 10 +-1.955771653543307 + 20 +4.364814960629921 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.35948031496063 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.352700787401575 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.352700787401575 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.352700787401575 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.95657874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.971216535433071 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +D0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.846551181102362 + 20 +4.318535433070866 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.318535433070866 + 30 +0.0 + 10 +-1.84444094488189 + 20 +4.305590551181102 + 30 +0.0 + 10 +-1.84444094488189 + 20 +4.305590551181102 + 30 +0.0 + 10 +-1.84444094488189 + 20 +4.305590551181102 + 30 +0.0 + 10 +-1.848551181102362 + 20 +4.304732283464567 + 30 +0.0 + 10 +-1.852248031496063 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.855496062992126 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.855496062992126 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.860830708661417 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.86494094488189 + 20 +4.30511811023622 + 30 +0.0 + 10 +-1.867885826771654 + 20 +4.306814960629922 + 30 +0.0 + 10 +-1.867885826771654 + 20 +4.306814960629922 + 30 +0.0 + 10 +-1.870803149606299 + 20 +4.30848031496063 + 30 +0.0 + 10 +-1.872858267716536 + 20 +4.310704724409449 + 30 +0.0 + 10 +-1.874051181102362 + 20 +4.313452755905512 + 30 +0.0 + 10 +-1.874051181102362 + 20 +4.313452755905512 + 30 +0.0 + 10 +-1.875244094488189 + 20 +4.316173228346456 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.321952755905512 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.330732283464567 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.330732283464567 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.330732283464567 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.886606299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.875858267716535 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.329925196850394 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.329925196850394 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.329925196850394 + 30 +0.0 + 10 +-1.861275590551181 + 20 +4.325732283464567 + 30 +0.0 + 10 +-1.861023622047244 + 20 +4.323062992125984 + 30 +0.0 + 10 +-1.860523622047244 + 20 +4.321870078740157 + 30 +0.0 + 10 +-1.860523622047244 + 20 +4.321870078740157 + 30 +0.0 + 10 +-1.859996062992126 + 20 +4.320673228346457 + 30 +0.0 + 10 +-1.859161417322835 + 20 +4.319732283464567 + 30 +0.0 + 10 +-1.857996062992126 + 20 +4.319007874015748 + 30 +0.0 + 10 +-1.857996062992126 + 20 +4.319007874015748 + 30 +0.0 + 10 +-1.856830708661417 + 20 +4.318314960629921 + 30 +0.0 + 10 +-1.855161417322835 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.852996062992126 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.852996062992126 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.851358267716535 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.849216535433071 + 20 +4.318145669291338 + 30 +0.0 + 10 +-1.846551181102362 + 20 +4.318535433070866 + 30 +0.0 + 0 +SPLINE + 5 +D1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.800244094488189 + 20 +4.318535433070866 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.318535433070866 + 30 +0.0 + 10 +-1.798133858267716 + 20 +4.305590551181102 + 30 +0.0 + 10 +-1.798133858267716 + 20 +4.305590551181102 + 30 +0.0 + 10 +-1.798133858267716 + 20 +4.305590551181102 + 30 +0.0 + 10 +-1.802244094488189 + 20 +4.304732283464567 + 30 +0.0 + 10 +-1.80594094488189 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.809188976377953 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.809188976377953 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.814523622047244 + 20 +4.304287401574803 + 30 +0.0 + 10 +-1.818633858267717 + 20 +4.30511811023622 + 30 +0.0 + 10 +-1.82157874015748 + 20 +4.306814960629922 + 30 +0.0 + 10 +-1.82157874015748 + 20 +4.306814960629922 + 30 +0.0 + 10 +-1.824496062992126 + 20 +4.30848031496063 + 30 +0.0 + 10 +-1.826551181102362 + 20 +4.310704724409449 + 30 +0.0 + 10 +-1.827744094488189 + 20 +4.313452755905512 + 30 +0.0 + 10 +-1.827744094488189 + 20 +4.313452755905512 + 30 +0.0 + 10 +-1.828937007874016 + 20 +4.316173228346456 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.321952755905512 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.330732283464567 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.330732283464567 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.330732283464567 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.840299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.829551181102362 + 20 +4.413255905511811 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.422035433070866 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.380452755905512 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.329925196850394 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.329925196850394 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.329925196850394 + 30 +0.0 + 10 +-1.814968503937008 + 20 +4.325732283464567 + 30 +0.0 + 10 +-1.814716535433071 + 20 +4.323062992125984 + 30 +0.0 + 10 +-1.814216535433071 + 20 +4.321870078740157 + 30 +0.0 + 10 +-1.814216535433071 + 20 +4.321870078740157 + 30 +0.0 + 10 +-1.813688976377953 + 20 +4.320673228346457 + 30 +0.0 + 10 +-1.812854330708661 + 20 +4.319732283464567 + 30 +0.0 + 10 +-1.811688976377953 + 20 +4.319007874015748 + 30 +0.0 + 10 +-1.811688976377953 + 20 +4.319007874015748 + 30 +0.0 + 10 +-1.810523622047244 + 20 +4.318314960629921 + 30 +0.0 + 10 +-1.808854330708661 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.806688976377953 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.806688976377953 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.805051181102362 + 20 +4.317952755905512 + 30 +0.0 + 10 +-1.802909448818898 + 20 +4.318145669291338 + 30 +0.0 + 10 +-1.800244094488189 + 20 +4.318535433070866 + 30 +0.0 + 0 +SPLINE + 5 +D2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.785909448818898 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.38061811023622 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.38061811023622 + 30 +0.0 + 10 +-1.772574803149606 + 20 +4.38061811023622 + 30 +0.0 + 10 +-1.769437007874016 + 20 +4.385007874015748 + 30 +0.0 + 10 +-1.76588188976378 + 20 +4.388314960629922 + 30 +0.0 + 10 +-1.761909448818898 + 20 +4.390507874015748 + 30 +0.0 + 10 +-1.761909448818898 + 20 +4.390507874015748 + 30 +0.0 + 10 +-1.757964566929134 + 20 +4.392700787401575 + 30 +0.0 + 10 +-1.753161417322835 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.74751968503937 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.74751968503937 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.740133858267717 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.733633858267716 + 20 +4.391897637795275 + 30 +0.0 + 10 +-1.727992125984252 + 20 +4.388118110236221 + 30 +0.0 + 10 +-1.727992125984252 + 20 +4.388118110236221 + 30 +0.0 + 10 +-1.722326771653543 + 20 +4.384314960629921 + 30 +0.0 + 10 +-1.718074803149606 + 20 +4.378952755905511 + 30 +0.0 + 10 +-1.715216535433071 + 20 +4.372035433070866 + 30 +0.0 + 10 +-1.715216535433071 + 20 +4.372035433070866 + 30 +0.0 + 10 +-1.712326771653543 + 20 +4.365118110236221 + 30 +0.0 + 10 +-1.710881889763779 + 20 +4.357535433070866 + 30 +0.0 + 10 +-1.710881889763779 + 20 +4.349287401574803 + 30 +0.0 + 10 +-1.710881889763779 + 20 +4.349287401574803 + 30 +0.0 + 10 +-1.710881889763779 + 20 +4.340452755905511 + 30 +0.0 + 10 +-1.712464566929134 + 20 +4.33248031496063 + 30 +0.0 + 10 +-1.715661417322835 + 20 +4.325397637795276 + 30 +0.0 + 10 +-1.715661417322835 + 20 +4.325397637795276 + 30 +0.0 + 10 +-1.718826771653543 + 20 +4.318314960629921 + 30 +0.0 + 10 +-1.723437007874016 + 20 +4.312897637795276 + 30 +0.0 + 10 +-1.729492125984252 + 20 +4.309118110236221 + 30 +0.0 + 10 +-1.729492125984252 + 20 +4.309118110236221 + 30 +0.0 + 10 +-1.735547244094488 + 20 +4.305370078740157 + 30 +0.0 + 10 +-1.741909448818898 + 20 +4.30348031496063 + 30 +0.0 + 10 +-1.748574803149606 + 20 +4.30348031496063 + 30 +0.0 + 10 +-1.748574803149606 + 20 +4.30348031496063 + 30 +0.0 + 10 +-1.753464566929134 + 20 +4.30348031496063 + 30 +0.0 + 10 +-1.757826771653543 + 20 +4.304507874015748 + 30 +0.0 + 10 +-1.761716535433071 + 20 +4.306562992125984 + 30 +0.0 + 10 +-1.761716535433071 + 20 +4.306562992125984 + 30 +0.0 + 10 +-1.765602362204724 + 20 +4.30861811023622 + 30 +0.0 + 10 +-1.768771653543307 + 20 +4.311232283464567 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.314370078740158 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.314370078740158 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.314370078740158 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.771271653543307 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.272314960629921 + 30 +0.0 + 10 +-1.785909448818898 + 20 +4.272314960629921 + 30 +0.0 + 0 +SPLINE + 5 +D3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.772661417322835 + 20 +4.348145669291338 + 30 +0.0 + 10 +-1.772661417322835 + 20 +4.337035433070866 + 30 +0.0 + 10 +-1.770409448818898 + 20 +4.328814960629921 + 30 +0.0 + 10 +-1.765909448818898 + 20 +4.32348031496063 + 30 +0.0 + 10 +-1.765909448818898 + 20 +4.32348031496063 + 30 +0.0 + 10 +-1.761409448818898 + 20 +4.318173228346457 + 30 +0.0 + 10 +-1.755937007874016 + 20 +4.315507874015748 + 30 +0.0 + 10 +-1.749547244094488 + 20 +4.315507874015748 + 30 +0.0 + 10 +-1.749547244094488 + 20 +4.315507874015748 + 30 +0.0 + 10 +-1.743047244094488 + 20 +4.315507874015748 + 30 +0.0 + 10 +-1.737464566929134 + 20 +4.318259842519685 + 30 +0.0 + 10 +-1.732826771653543 + 20 +4.323787401574803 + 30 +0.0 + 10 +-1.732826771653543 + 20 +4.323787401574803 + 30 +0.0 + 10 +-1.728188976377953 + 20 +4.329287401574804 + 30 +0.0 + 10 +-1.725854330708661 + 20 +4.337814960629921 + 30 +0.0 + 10 +-1.725854330708661 + 20 +4.349370078740158 + 30 +0.0 + 10 +-1.725854330708661 + 20 +4.349370078740158 + 30 +0.0 + 10 +-1.725854330708661 + 20 +4.360397637795276 + 30 +0.0 + 10 +-1.728133858267717 + 20 +4.368618110236221 + 30 +0.0 + 10 +-1.732661417322835 + 20 +4.37411811023622 + 30 +0.0 + 10 +-1.732661417322835 + 20 +4.37411811023622 + 30 +0.0 + 10 +-1.737188976377953 + 20 +4.379590551181102 + 30 +0.0 + 10 +-1.742602362204724 + 20 +4.382342519685039 + 30 +0.0 + 10 +-1.748881889763779 + 20 +4.382342519685039 + 30 +0.0 + 10 +-1.748881889763779 + 20 +4.382342519685039 + 30 +0.0 + 10 +-1.755133858267717 + 20 +4.382342519685039 + 30 +0.0 + 10 +-1.760661417322835 + 20 +4.379425196850394 + 30 +0.0 + 10 +-1.765464566929134 + 20 +4.373590551181103 + 30 +0.0 + 10 +-1.765464566929134 + 20 +4.373590551181103 + 30 +0.0 + 10 +-1.770271653543307 + 20 +4.367759842519685 + 30 +0.0 + 10 +-1.772661417322835 + 20 +4.359259842519685 + 30 +0.0 + 10 +-1.772661417322835 + 20 +4.348145669291338 + 30 +0.0 + 0 +SPLINE + 5 +D4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.689161417322835 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.375173228346457 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.375173228346457 + 30 +0.0 + 0 +SPLINE + 5 +D5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.689161417322835 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.672468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.689161417322835 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +D6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.657909448818898 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.657909448818898 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.623326771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.623326771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.623326771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.623326771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.646102362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.646102362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.646102362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.646102362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.657909448818898 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.657909448818898 + 20 +4.303397637795276 + 30 +0.0 + 0 +SPLINE + 5 +D7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.611602362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.57701968503937 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.57701968503937 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.57701968503937 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.57701968503937 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.565295275590551 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.565295275590551 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.565295275590551 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.565295275590551 + 20 +4.426755905511811 + 30 +0.0 + 10 +-1.599795275590551 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.599795275590551 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.599795275590551 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.599795275590551 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.303397637795276 + 30 +0.0 + 10 +-1.611602362204724 + 20 +4.303397637795276 + 30 +0.0 + 0 +SPLINE + 5 +D8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.538350393700787 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.538350393700787 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.564795275590551 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.564795275590551 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.564795275590551 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.564795275590551 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.549657480314961 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.549657480314961 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.549657480314961 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.549657480314961 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.535905511811024 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.535905511811024 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.535905511811024 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.535905511811024 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.530795275590551 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.530795275590551 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.530795275590551 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.530574803149606 + 20 +4.32434251968504 + 30 +0.0 + 10 +-1.529074803149606 + 20 +4.330287401574803 + 30 +0.0 + 10 +-1.526322834645669 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.526322834645669 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.526322834645669 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.512574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.512574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.512574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.512574803149606 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.49751968503937 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.49751968503937 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.49751968503937 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.49751968503937 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.484574803149606 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.484574803149606 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.484574803149606 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.484574803149606 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.480240157480315 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.480240157480315 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.480240157480315 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.480240157480315 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.475295275590551 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.475295275590551 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.475295275590551 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.475295275590551 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.460492125984252 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.460492125984252 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.460492125984252 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.460492125984252 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.446240157480315 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.446240157480315 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.446240157480315 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.446240157480315 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.473267716535433 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.473267716535433 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.473267716535433 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.473267716535433 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.48846062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.48846062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.48846062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.48846062992126 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.502212598425197 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.502212598425197 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.502212598425197 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.502212598425197 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.505574803149606 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.505574803149606 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.505574803149606 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.505574803149606 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.523047244094488 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.523047244094488 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.523047244094488 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.523047244094488 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.538350393700787 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.538350393700787 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +D9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.417992125984252 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.417992125984252 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.444437007874016 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.444437007874016 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.444437007874016 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.444437007874016 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.429299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.429299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.429299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.429299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.415547244094488 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.415547244094488 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.415547244094488 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.415547244094488 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.410437007874016 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.410437007874016 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.410437007874016 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.410216535433071 + 20 +4.32434251968504 + 30 +0.0 + 10 +-1.408716535433071 + 20 +4.330287401574803 + 30 +0.0 + 10 +-1.405964566929134 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.405964566929134 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.405964566929134 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.392216535433071 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.392216535433071 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.392216535433071 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.392216535433071 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.377161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.377161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.377161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.377161417322835 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.364216535433071 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.364216535433071 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.364216535433071 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.364216535433071 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.359881889763779 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.359881889763779 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.359881889763779 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.359881889763779 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.354937007874016 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.354937007874016 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.354937007874016 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.354937007874016 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.340133858267716 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.340133858267716 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.340133858267716 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.340133858267716 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32588188976378 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32588188976378 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32588188976378 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32588188976378 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.352909448818898 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.352909448818898 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.352909448818898 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.352909448818898 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.368102362204724 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.368102362204724 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.368102362204724 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.368102362204724 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.381854330708661 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.381854330708661 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.381854330708661 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.381854330708661 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.385216535433071 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.385216535433071 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.385216535433071 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.385216535433071 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.402688976377953 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.402688976377953 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.402688976377953 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.402688976377953 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.417992125984252 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.417992125984252 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +DA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.297633858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.297633858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.32407874015748 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32407874015748 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32407874015748 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.32407874015748 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.30894094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.30894094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.30894094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.30894094488189 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.295188976377953 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.295188976377953 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.295188976377953 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.295188976377953 + 20 +4.341952755905512 + 30 +0.0 + 10 +-1.29007874015748 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.29007874015748 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.29007874015748 + 20 +4.323397637795275 + 30 +0.0 + 10 +-1.289858267716535 + 20 +4.32434251968504 + 30 +0.0 + 10 +-1.288358267716535 + 20 +4.330287401574803 + 30 +0.0 + 10 +-1.285606299212599 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.285606299212599 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.285606299212599 + 20 +4.341232283464567 + 30 +0.0 + 10 +-1.271858267716536 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.271858267716536 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.271858267716536 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.271858267716536 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.256803149606299 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.256803149606299 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.256803149606299 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.256803149606299 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.243858267716536 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.243858267716536 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.243858267716536 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.243858267716536 + 20 +4.341732283464567 + 30 +0.0 + 10 +-1.239523622047244 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.239523622047244 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.239523622047244 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.239523622047244 + 20 +4.325204724409449 + 30 +0.0 + 10 +-1.23457874015748 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.23457874015748 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.23457874015748 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.23457874015748 + 20 +4.341897637795276 + 30 +0.0 + 10 +-1.219775590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.219775590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.219775590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.219775590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.205523622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.205523622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.205523622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.205523622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.232551181102362 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.232551181102362 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.232551181102362 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.232551181102362 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.247744094488189 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.247744094488189 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.247744094488189 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.247744094488189 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.261496062992126 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.261496062992126 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.261496062992126 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.261496062992126 + 20 +4.357173228346457 + 30 +0.0 + 10 +-1.264858267716535 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.264858267716535 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.264858267716535 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.264858267716535 + 20 +4.371925196850394 + 30 +0.0 + 10 +-1.282330708661417 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.282330708661417 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.282330708661417 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.282330708661417 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.297633858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.297633858267716 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +DB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.198275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.322118110236221 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.18157874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.198275590551181 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +DC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.156106299212598 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.391842519685039 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.379728346456693 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.379728346456693 + 30 +0.0 + 10 +-1.143023622047244 + 20 +4.379728346456693 + 30 +0.0 + 10 +-1.140299212598425 + 20 +4.383952755905511 + 30 +0.0 + 10 +-1.136688976377953 + 20 +4.387370078740157 + 30 +0.0 + 10 +-1.132188976377953 + 20 +4.389925196850394 + 30 +0.0 + 10 +-1.132188976377953 + 20 +4.389925196850394 + 30 +0.0 + 10 +-1.127688976377953 + 20 +4.392507874015748 + 30 +0.0 + 10 +-1.122551181102362 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.116799212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.116799212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.110413385826772 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.105161417322835 + 20 +4.39248031496063 + 30 +0.0 + 10 +-1.10107874015748 + 20 +4.389814960629921 + 30 +0.0 + 10 +-1.10107874015748 + 20 +4.389814960629921 + 30 +0.0 + 10 +-1.096968503937008 + 20 +4.387145669291338 + 30 +0.0 + 10 +-1.09407874015748 + 20 +4.383452755905512 + 30 +0.0 + 10 +-1.092413385826772 + 20 +4.378673228346456 + 30 +0.0 + 10 +-1.092413385826772 + 20 +4.378673228346456 + 30 +0.0 + 10 +-1.085551181102362 + 20 +4.388759842519685 + 30 +0.0 + 10 +-1.076661417322835 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.065716535433071 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.065716535433071 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.057133858267717 + 20 +4.393814960629921 + 30 +0.0 + 10 +-1.050551181102362 + 20 +4.391425196850394 + 30 +0.0 + 10 +-1.04594094488189 + 20 +4.386673228346456 + 30 +0.0 + 10 +-1.04594094488189 + 20 +4.386673228346456 + 30 +0.0 + 10 +-1.041330708661417 + 20 +4.381925196850394 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.37461811023622 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.364759842519685 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.364759842519685 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.364759842519685 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.039023622047244 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.359870078740157 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.359870078740157 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.359870078740157 + 30 +0.0 + 10 +-1.05357874015748 + 20 +4.365728346456692 + 30 +0.0 + 10 +-1.054051181102362 + 20 +4.369952755905512 + 30 +0.0 + 10 +-1.054996062992126 + 20 +4.372535433070866 + 30 +0.0 + 10 +-1.054996062992126 + 20 +4.372535433070866 + 30 +0.0 + 10 +-1.055968503937008 + 20 +4.375090551181103 + 30 +0.0 + 10 +-1.057688976377953 + 20 +4.377173228346456 + 30 +0.0 + 10 +-1.060161417322835 + 20 +4.378759842519685 + 30 +0.0 + 10 +-1.060161417322835 + 20 +4.378759842519685 + 30 +0.0 + 10 +-1.062661417322835 + 20 +4.380314960629922 + 30 +0.0 + 10 +-1.065606299212599 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.068968503937008 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.068968503937008 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.075051181102362 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.08007874015748 + 20 +4.379090551181102 + 30 +0.0 + 10 +-1.084106299212598 + 20 +4.375035433070866 + 30 +0.0 + 10 +-1.084106299212598 + 20 +4.375035433070866 + 30 +0.0 + 10 +-1.088106299212598 + 20 +4.371007874015748 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.364535433070866 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.355645669291339 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.355645669291339 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.355645669291339 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.090133858267716 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.361562992125984 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.361562992125984 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.361562992125984 + 30 +0.0 + 10 +-1.104771653543307 + 20 +4.368090551181102 + 30 +0.0 + 10 +-1.105968503937008 + 20 +4.37298031496063 + 30 +0.0 + 10 +-1.108358267716535 + 20 +4.376228346456693 + 30 +0.0 + 10 +-1.108358267716535 + 20 +4.376228346456693 + 30 +0.0 + 10 +-1.110744094488189 + 20 +4.37948031496063 + 30 +0.0 + 10 +-1.114633858267716 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.12007874015748 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.12007874015748 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.124188976377953 + 20 +4.381118110236221 + 30 +0.0 + 10 +-1.127996062992126 + 20 +4.380035433070866 + 30 +0.0 + 10 +-1.131496062992126 + 20 +4.377842519685039 + 30 +0.0 + 10 +-1.131496062992126 + 20 +4.377842519685039 + 30 +0.0 + 10 +-1.134996062992126 + 20 +4.375673228346456 + 30 +0.0 + 10 +-1.137551181102362 + 20 +4.372507874015748 + 30 +0.0 + 10 +-1.139106299212598 + 20 +4.368342519685039 + 30 +0.0 + 10 +-1.139106299212598 + 20 +4.368342519685039 + 30 +0.0 + 10 +-1.140688976377953 + 20 +4.364145669291339 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.35811811023622 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.350259842519685 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.350259842519685 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.350259842519685 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.141468503937008 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.305425196850393 + 30 +0.0 + 10 +-1.156106299212598 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +DD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.022748031496063 + 20 +4.348645669291338 + 30 +0.0 + 10 +-1.022748031496063 + 20 +4.364645669291338 + 30 +0.0 + 10 +-1.018303149606299 + 20 +4.376507874015748 + 30 +0.0 + 10 +-1.009385826771654 + 20 +4.384200787401575 + 30 +0.0 + 10 +-1.009385826771654 + 20 +4.384200787401575 + 30 +0.0 + 10 +-1.001968503937008 + 20 +4.390590551181102 + 30 +0.0 + 10 +-0.9929133858267717 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.9703307086614174 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.9606102362204725 + 20 +4.389925196850394 + 30 +0.0 + 10 +-0.9530826771653543 + 20 +4.38211811023622 + 30 +0.0 + 10 +-0.9530826771653543 + 20 +4.38211811023622 + 30 +0.0 + 10 +-0.9455275590551181 + 20 +4.374342519685039 + 30 +0.0 + 10 +-0.9417755905511811 + 20 +4.363590551181102 + 30 +0.0 + 10 +-0.9417755905511811 + 20 +4.349870078740158 + 30 +0.0 + 10 +-0.9417755905511811 + 20 +4.349870078740158 + 30 +0.0 + 10 +-0.9417755905511811 + 20 +4.338732283464567 + 30 +0.0 + 10 +-0.9434448818897638 + 20 +4.32998031496063 + 30 +0.0 + 10 +-0.9467755905511811 + 20 +4.323618110236221 + 30 +0.0 + 10 +-0.9467755905511811 + 20 +4.323618110236221 + 30 +0.0 + 10 +-0.9501102362204724 + 20 +4.317232283464567 + 30 +0.0 + 10 +-0.9549724409448819 + 20 +4.312287401574803 + 30 +0.0 + 10 +-0.9613307086614173 + 20 +4.308759842519685 + 30 +0.0 + 10 +-0.9613307086614173 + 20 +4.308759842519685 + 30 +0.0 + 10 +-0.9677204724409448 + 20 +4.305232283464567 + 30 +0.0 + 10 +-0.9746653543307087 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.9943031496062992 + 20 +4.30348031496063 + 30 +0.0 + 10 +-1.004082677165354 + 20 +4.307342519685039 + 30 +0.0 + 10 +-1.011555118110236 + 20 +4.31511811023622 + 30 +0.0 + 10 +-1.011555118110236 + 20 +4.31511811023622 + 30 +0.0 + 10 +-1.019027559055118 + 20 +4.322870078740157 + 30 +0.0 + 10 +-1.022748031496063 + 20 +4.334035433070866 + 30 +0.0 + 10 +-1.022748031496063 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +DE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.007692913385827 + 20 +4.348645669291338 + 30 +0.0 + 10 +-1.007692913385827 + 20 +4.337562992125984 + 30 +0.0 + 10 +-1.005275590551181 + 20 +4.329287401574804 + 30 +0.0 + 10 +-1.00044094488189 + 20 +4.323787401574803 + 30 +0.0 + 10 +-1.00044094488189 + 20 +4.323787401574803 + 30 +0.0 + 10 +-0.9956102362204724 + 20 +4.318259842519685 + 30 +0.0 + 10 +-0.9895275590551181 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.9749409448818898 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.9688858267716536 + 20 +4.318287401574803 + 30 +0.0 + 10 +-0.9640551181102363 + 20 +4.323814960629921 + 30 +0.0 + 10 +-0.9640551181102363 + 20 +4.323814960629921 + 30 +0.0 + 10 +-0.959248031496063 + 20 +4.329342519685039 + 30 +0.0 + 10 +-0.9568307086614173 + 20 +4.337787401574803 + 30 +0.0 + 10 +-0.9568307086614173 + 20 +4.349118110236221 + 30 +0.0 + 10 +-0.9568307086614173 + 20 +4.349118110236221 + 30 +0.0 + 10 +-0.9568307086614173 + 20 +4.359814960629921 + 30 +0.0 + 10 +-0.959248031496063 + 20 +4.367925196850393 + 30 +0.0 + 10 +-0.9641102362204724 + 20 +4.373425196850394 + 30 +0.0 + 10 +-0.9641102362204724 + 20 +4.373425196850394 + 30 +0.0 + 10 +-0.9689724409448819 + 20 +4.378925196850393 + 30 +0.0 + 10 +-0.975 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.9822204724409449 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.9895275590551181 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.9956102362204724 + 20 +4.378925196850393 + 30 +0.0 + 10 +-1.00044094488189 + 20 +4.373452755905512 + 30 +0.0 + 10 +-1.00044094488189 + 20 +4.373452755905512 + 30 +0.0 + 10 +-1.005275590551181 + 20 +4.36798031496063 + 30 +0.0 + 10 +-1.007692913385827 + 20 +4.359700787401575 + 30 +0.0 + 10 +-1.007692913385827 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +DF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8679448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8679448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8679448818897638 + 20 +4.31811811023622 + 30 +0.0 + 10 +-0.8679448818897638 + 20 +4.31811811023622 + 30 +0.0 + 10 +-0.8679448818897638 + 20 +4.31811811023622 + 30 +0.0 + 10 +-0.8746929133858268 + 20 +4.30834251968504 + 30 +0.0 + 10 +-0.8838346456692914 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.8953897637795276 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.8953897637795276 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.9004724409448819 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.905248031496063 + 20 +4.304452755905512 + 30 +0.0 + 10 +-0.9096653543307086 + 20 +4.306397637795276 + 30 +0.0 + 10 +-0.9096653543307086 + 20 +4.306397637795276 + 30 +0.0 + 10 +-0.9140826771653543 + 20 +4.30834251968504 + 30 +0.0 + 10 +-0.9173622047244094 + 20 +4.310814960629921 + 30 +0.0 + 10 +-0.9195 + 20 +4.313759842519685 + 30 +0.0 + 10 +-0.9195 + 20 +4.313759842519685 + 30 +0.0 + 10 +-0.9216653543307086 + 20 +4.316732283464566 + 30 +0.0 + 10 +-0.9231653543307087 + 20 +4.320342519685039 + 30 +0.0 + 10 +-0.9240275590551181 + 20 +4.32461811023622 + 30 +0.0 + 10 +-0.9240275590551181 + 20 +4.32461811023622 + 30 +0.0 + 10 +-0.9246102362204724 + 20 +4.327507874015748 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.332062992125985 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.338314960629921 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.338314960629921 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.338314960629921 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9249173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.343925196850393 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.343925196850393 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.343925196850393 + 30 +0.0 + 10 +-0.9102755905511811 + 20 +4.336259842519685 + 30 +0.0 + 10 +-0.9099724409448819 + 20 +4.33111811023622 + 30 +0.0 + 10 +-0.9093897637795275 + 20 +4.328452755905512 + 30 +0.0 + 10 +-0.9093897637795275 + 20 +4.328452755905512 + 30 +0.0 + 10 +-0.9084448818897638 + 20 +4.324590551181102 + 30 +0.0 + 10 +-0.9065 + 20 +4.321590551181102 + 30 +0.0 + 10 +-0.9035275590551181 + 20 +4.319370078740158 + 30 +0.0 + 10 +-0.9035275590551181 + 20 +4.319370078740158 + 30 +0.0 + 10 +-0.9005275590551182 + 20 +4.317173228346457 + 30 +0.0 + 10 +-0.8968346456692914 + 20 +4.316090551181103 + 30 +0.0 + 10 +-0.8924448818897638 + 20 +4.316090551181103 + 30 +0.0 + 10 +-0.8924448818897638 + 20 +4.316090551181103 + 30 +0.0 + 10 +-0.8880551181102362 + 20 +4.316090551181103 + 30 +0.0 + 10 +-0.8839448818897638 + 20 +4.317204724409449 + 30 +0.0 + 10 +-0.8800826771653544 + 20 +4.319452755905512 + 30 +0.0 + 10 +-0.8800826771653544 + 20 +4.319452755905512 + 30 +0.0 + 10 +-0.8762204724409449 + 20 +4.321704724409448 + 30 +0.0 + 10 +-0.8735 + 20 +4.324787401574803 + 30 +0.0 + 10 +-0.8719173228346456 + 20 +4.328645669291339 + 30 +0.0 + 10 +-0.8719173228346456 + 20 +4.328645669291339 + 30 +0.0 + 10 +-0.8703070866141732 + 20 +4.332535433070866 + 30 +0.0 + 10 +-0.8695 + 20 +4.338173228346457 + 30 +0.0 + 10 +-0.8695 + 20 +4.345535433070866 + 30 +0.0 + 10 +-0.8695 + 20 +4.345535433070866 + 30 +0.0 + 10 +-0.8695 + 20 +4.345535433070866 + 30 +0.0 + 10 +-0.8695 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8695 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8695 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8695 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8548622047244094 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8679448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.8679448818897638 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +E0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.837751968503937 + 20 +4.331232283464567 + 30 +0.0 + 10 +-0.837751968503937 + 20 +4.331232283464567 + 30 +0.0 + 10 +-0.8232795275590551 + 20 +4.333507874015748 + 30 +0.0 + 10 +-0.8232795275590551 + 20 +4.333507874015748 + 30 +0.0 + 10 +-0.8232795275590551 + 20 +4.333507874015748 + 30 +0.0 + 10 +-0.8224724409448819 + 20 +4.327704724409449 + 30 +0.0 + 10 +-0.8201968503937008 + 20 +4.323259842519685 + 30 +0.0 + 10 +-0.8164724409448819 + 20 +4.320145669291339 + 30 +0.0 + 10 +-0.8164724409448819 + 20 +4.320145669291339 + 30 +0.0 + 10 +-0.8127795275590551 + 20 +4.317062992125984 + 30 +0.0 + 10 +-0.8075826771653544 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.8008897637795276 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.8008897637795276 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.7941692913385827 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.7891692913385827 + 20 +4.316897637795275 + 30 +0.0 + 10 +-0.7859173228346457 + 20 +4.31961811023622 + 30 +0.0 + 10 +-0.7859173228346457 + 20 +4.31961811023622 + 30 +0.0 + 10 +-0.7826692913385827 + 20 +4.322370078740158 + 30 +0.0 + 10 +-0.7810275590551181 + 20 +4.325590551181103 + 30 +0.0 + 10 +-0.7810275590551181 + 20 +4.329259842519685 + 30 +0.0 + 10 +-0.7810275590551181 + 20 +4.329259842519685 + 30 +0.0 + 10 +-0.7810275590551181 + 20 +4.332590551181102 + 30 +0.0 + 10 +-0.7824724409448819 + 20 +4.335173228346457 + 30 +0.0 + 10 +-0.7853622047244094 + 20 +4.337090551181102 + 30 +0.0 + 10 +-0.7853622047244094 + 20 +4.337090551181102 + 30 +0.0 + 10 +-0.7873622047244094 + 20 +4.338397637795276 + 30 +0.0 + 10 +-0.7923622047244094 + 20 +4.340035433070866 + 30 +0.0 + 10 +-0.8003346456692914 + 20 +4.342035433070866 + 30 +0.0 + 10 +-0.8003346456692914 + 20 +4.342035433070866 + 30 +0.0 + 10 +-0.8110551181102362 + 20 +4.344759842519685 + 30 +0.0 + 10 +-0.8185275590551181 + 20 +4.347090551181102 + 30 +0.0 + 10 +-0.8226692913385827 + 20 +4.349090551181102 + 30 +0.0 + 10 +-0.8226692913385827 + 20 +4.349090551181102 + 30 +0.0 + 10 +-0.8268070866141732 + 20 +4.351062992125985 + 30 +0.0 + 10 +-0.8299724409448819 + 20 +4.353814960629921 + 30 +0.0 + 10 +-0.8321102362204724 + 20 +4.357314960629921 + 30 +0.0 + 10 +-0.8321102362204724 + 20 +4.357314960629921 + 30 +0.0 + 10 +-0.834251968503937 + 20 +4.360814960629921 + 30 +0.0 + 10 +-0.8353346456692914 + 20 +4.364673228346457 + 30 +0.0 + 10 +-0.8353346456692914 + 20 +4.368897637795276 + 30 +0.0 + 10 +-0.8353346456692914 + 20 +4.368897637795276 + 30 +0.0 + 10 +-0.8353346456692914 + 20 +4.372759842519685 + 30 +0.0 + 10 +-0.8344448818897637 + 20 +4.376314960629921 + 30 +0.0 + 10 +-0.8326692913385827 + 20 +4.379590551181102 + 30 +0.0 + 10 +-0.8326692913385827 + 20 +4.379590551181102 + 30 +0.0 + 10 +-0.8309173228346457 + 20 +4.382897637795276 + 30 +0.0 + 10 +-0.8285 + 20 +4.38561811023622 + 30 +0.0 + 10 +-0.8254724409448819 + 20 +4.387787401574803 + 30 +0.0 + 10 +-0.8254724409448819 + 20 +4.387787401574803 + 30 +0.0 + 10 +-0.8231968503937008 + 20 +4.389452755905512 + 30 +0.0 + 10 +-0.8200826771653543 + 20 +4.390897637795276 + 30 +0.0 + 10 +-0.8161692913385826 + 20 +4.392062992125984 + 30 +0.0 + 10 +-0.8161692913385826 + 20 +4.392062992125984 + 30 +0.0 + 10 +-0.8122244094488189 + 20 +4.393228346456693 + 30 +0.0 + 10 +-0.808 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.8035 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.8035 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.796724409448819 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.7907795275590551 + 20 +4.392814960629921 + 30 +0.0 + 10 +-0.7856417322834646 + 20 +4.390870078740157 + 30 +0.0 + 10 +-0.7856417322834646 + 20 +4.390870078740157 + 30 +0.0 + 10 +-0.7805 + 20 +4.388925196850393 + 30 +0.0 + 10 +-0.7767244094488189 + 20 +4.386287401574803 + 30 +0.0 + 10 +-0.7742795275590552 + 20 +4.382952755905512 + 30 +0.0 + 10 +-0.7742795275590552 + 20 +4.382952755905512 + 30 +0.0 + 10 +-0.7718346456692914 + 20 +4.379590551181102 + 30 +0.0 + 10 +-0.7701692913385827 + 20 +4.375145669291339 + 30 +0.0 + 10 +-0.769251968503937 + 20 +4.369562992125984 + 30 +0.0 + 10 +-0.769251968503937 + 20 +4.369562992125984 + 30 +0.0 + 10 +-0.769251968503937 + 20 +4.369562992125984 + 30 +0.0 + 10 +-0.7835551181102363 + 20 +4.367590551181102 + 30 +0.0 + 10 +-0.7835551181102363 + 20 +4.367590551181102 + 30 +0.0 + 10 +-0.7835551181102363 + 20 +4.367590551181102 + 30 +0.0 + 10 +-0.7842244094488189 + 20 +4.372035433070866 + 30 +0.0 + 10 +-0.7861141732283464 + 20 +4.375507874015748 + 30 +0.0 + 10 +-0.7892244094488189 + 20 +4.378007874015748 + 30 +0.0 + 10 +-0.7892244094488189 + 20 +4.378007874015748 + 30 +0.0 + 10 +-0.7923346456692913 + 20 +4.380507874015748 + 30 +0.0 + 10 +-0.796751968503937 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.8024448818897638 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.8024448818897638 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.8091692913385827 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.8139724409448819 + 20 +4.380645669291338 + 30 +0.0 + 10 +-0.8168346456692913 + 20 +4.378425196850394 + 30 +0.0 + 10 +-0.8168346456692913 + 20 +4.378425196850394 + 30 +0.0 + 10 +-0.8197244094488189 + 20 +4.376200787401575 + 30 +0.0 + 10 +-0.8211692913385826 + 20 +4.373590551181103 + 30 +0.0 + 10 +-0.8211692913385826 + 20 +4.37061811023622 + 30 +0.0 + 10 +-0.8211692913385826 + 20 +4.37061811023622 + 30 +0.0 + 10 +-0.8211692913385826 + 20 +4.368700787401575 + 30 +0.0 + 10 +-0.8205551181102362 + 20 +4.367007874015748 + 30 +0.0 + 10 +-0.8193622047244095 + 20 +4.36548031496063 + 30 +0.0 + 10 +-0.8193622047244095 + 20 +4.36548031496063 + 30 +0.0 + 10 +-0.8181692913385826 + 20 +4.363897637795276 + 30 +0.0 + 10 +-0.8163070866141733 + 20 +4.36261811023622 + 30 +0.0 + 10 +-0.813751968503937 + 20 +4.361562992125984 + 30 +0.0 + 10 +-0.813751968503937 + 20 +4.361562992125984 + 30 +0.0 + 10 +-0.8122795275590551 + 20 +4.361035433070866 + 30 +0.0 + 10 +-0.8079724409448819 + 20 +4.359787401574803 + 30 +0.0 + 10 +-0.8008070866141732 + 20 +4.35784251968504 + 30 +0.0 + 10 +-0.8008070866141732 + 20 +4.35784251968504 + 30 +0.0 + 10 +-0.7904448818897638 + 20 +4.355062992125984 + 30 +0.0 + 10 +-0.7832244094488189 + 20 +4.352814960629921 + 30 +0.0 + 10 +-0.7791417322834646 + 20 +4.351035433070866 + 30 +0.0 + 10 +-0.7791417322834646 + 20 +4.351035433070866 + 30 +0.0 + 10 +-0.7750275590551181 + 20 +4.349287401574803 + 30 +0.0 + 10 +-0.7718070866141732 + 20 +4.346700787401574 + 30 +0.0 + 10 +-0.7694724409448819 + 20 +4.34334251968504 + 30 +0.0 + 10 +-0.7694724409448819 + 20 +4.34334251968504 + 30 +0.0 + 10 +-0.7671417322834646 + 20 +4.33998031496063 + 30 +0.0 + 10 +-0.7659724409448819 + 20 +4.335814960629921 + 30 +0.0 + 10 +-0.7659724409448819 + 20 +4.330814960629922 + 30 +0.0 + 10 +-0.7659724409448819 + 20 +4.330814960629922 + 30 +0.0 + 10 +-0.7659724409448819 + 20 +4.325925196850394 + 30 +0.0 + 10 +-0.7674173228346457 + 20 +4.321342519685039 + 30 +0.0 + 10 +-0.770251968503937 + 20 +4.317007874015748 + 30 +0.0 + 10 +-0.770251968503937 + 20 +4.317007874015748 + 30 +0.0 + 10 +-0.7731141732283464 + 20 +4.312704724409449 + 30 +0.0 + 10 +-0.7772244094488189 + 20 +4.309370078740158 + 30 +0.0 + 10 +-0.7825866141732284 + 20 +4.307007874015748 + 30 +0.0 + 10 +-0.7825866141732284 + 20 +4.307007874015748 + 30 +0.0 + 10 +-0.7879448818897637 + 20 +4.304645669291339 + 30 +0.0 + 10 +-0.7940275590551181 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.8008070866141732 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.8008070866141732 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.8120551181102362 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.8206102362204725 + 20 +4.305814960629921 + 30 +0.0 + 10 +-0.8265 + 20 +4.31048031496063 + 30 +0.0 + 10 +-0.8265 + 20 +4.31048031496063 + 30 +0.0 + 10 +-0.8323897637795276 + 20 +4.315145669291339 + 30 +0.0 + 10 +-0.8361417322834646 + 20 +4.322062992125984 + 30 +0.0 + 10 +-0.837751968503937 + 20 +4.331232283464567 + 30 +0.0 + 0 +SPLINE + 5 +E1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6894173228346456 + 20 +4.333259842519685 + 30 +0.0 + 10 +-0.6894173228346456 + 20 +4.333259842519685 + 30 +0.0 + 10 +-0.6742795275590551 + 20 +4.331397637795275 + 30 +0.0 + 10 +-0.6742795275590551 + 20 +4.331397637795275 + 30 +0.0 + 10 +-0.6742795275590551 + 20 +4.331397637795275 + 30 +0.0 + 10 +-0.6766653543307086 + 20 +4.322535433070867 + 30 +0.0 + 10 +-0.6810826771653543 + 20 +4.315673228346457 + 30 +0.0 + 10 +-0.6875275590551181 + 20 +4.310787401574803 + 30 +0.0 + 10 +-0.6875275590551181 + 20 +4.310787401574803 + 30 +0.0 + 10 +-0.694 + 20 +4.305925196850394 + 30 +0.0 + 10 +-0.702251968503937 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.7122795275590551 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.7122795275590551 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.7249173228346457 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.7349448818897638 + 20 +4.307370078740157 + 30 +0.0 + 10 +-0.7423346456692913 + 20 +4.315145669291339 + 30 +0.0 + 10 +-0.7423346456692913 + 20 +4.315145669291339 + 30 +0.0 + 10 +-0.749748031496063 + 20 +4.322925196850393 + 30 +0.0 + 10 +-0.7534448818897638 + 20 +4.33384251968504 + 30 +0.0 + 10 +-0.7534448818897638 + 20 +4.347897637795276 + 30 +0.0 + 10 +-0.7534448818897638 + 20 +4.347897637795276 + 30 +0.0 + 10 +-0.7534448818897638 + 20 +4.362452755905512 + 30 +0.0 + 10 +-0.7496929133858268 + 20 +4.373728346456693 + 30 +0.0 + 10 +-0.7422204724409449 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.7422204724409449 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.7347204724409448 + 20 +4.389787401574803 + 30 +0.0 + 10 +-0.7250275590551181 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.7130826771653543 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.7130826771653543 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.7015275590551181 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.6920826771653543 + 20 +4.389870078740158 + 30 +0.0 + 10 +-0.6847795275590551 + 20 +4.382007874015748 + 30 +0.0 + 10 +-0.6847795275590551 + 20 +4.382007874015748 + 30 +0.0 + 10 +-0.6774448818897638 + 20 +4.374145669291338 + 30 +0.0 + 10 +-0.6737795275590551 + 20 +4.363062992125984 + 30 +0.0 + 10 +-0.6737795275590551 + 20 +4.348814960629921 + 30 +0.0 + 10 +-0.6737795275590551 + 20 +4.348814960629921 + 30 +0.0 + 10 +-0.6737795275590551 + 20 +4.347925196850394 + 30 +0.0 + 10 +-0.6738070866141732 + 20 +4.34661811023622 + 30 +0.0 + 10 +-0.6738622047244095 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.6738622047244095 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.6738622047244095 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.7383070866141732 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.7383070866141732 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.7383070866141732 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.7377755905511811 + 20 +4.335397637795276 + 30 +0.0 + 10 +-0.7350826771653544 + 20 +4.32811811023622 + 30 +0.0 + 10 +-0.730248031496063 + 20 +4.323090551181102 + 30 +0.0 + 10 +-0.730248031496063 + 20 +4.323090551181102 + 30 +0.0 + 10 +-0.7254173228346457 + 20 +4.318035433070866 + 30 +0.0 + 10 +-0.7194173228346457 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.7121929133858268 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.7121929133858268 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.7068346456692913 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.702251968503937 + 20 +4.316925196850394 + 30 +0.0 + 10 +-0.6984448818897637 + 20 +4.319759842519685 + 30 +0.0 + 10 +-0.6984448818897637 + 20 +4.319759842519685 + 30 +0.0 + 10 +-0.6946377952755906 + 20 +4.322562992125984 + 30 +0.0 + 10 +-0.6916377952755906 + 20 +4.327062992125985 + 30 +0.0 + 10 +-0.6894173228346456 + 20 +4.333259842519685 + 30 +0.0 + 0 +SPLINE + 5 +E2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7375 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.7375 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.689251968503937 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.689251968503937 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.689251968503937 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.6898897637795276 + 20 +4.364200787401574 + 30 +0.0 + 10 +-0.691751968503937 + 20 +4.369673228346457 + 30 +0.0 + 10 +-0.6947795275590551 + 20 +4.373287401574803 + 30 +0.0 + 10 +-0.6947795275590551 + 20 +4.373287401574803 + 30 +0.0 + 10 +-0.6994448818897637 + 20 +4.378925196850393 + 30 +0.0 + 10 +-0.7055 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.7129173228346457 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.7129173228346457 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.7196377952755906 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.7253070866141732 + 20 +4.379507874015748 + 30 +0.0 + 10 +-0.7298897637795275 + 20 +4.375007874015748 + 30 +0.0 + 10 +-0.7298897637795275 + 20 +4.375007874015748 + 30 +0.0 + 10 +-0.7344724409448818 + 20 +4.370507874015748 + 30 +0.0 + 10 +-0.737 + 20 +4.364480314960629 + 30 +0.0 + 10 +-0.7375 + 20 +4.356952755905512 + 30 +0.0 + 0 +SPLINE + 5 +E3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6560275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.378759842519685 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.378759842519685 + 30 +0.0 + 10 +-0.6428622047244095 + 20 +4.378759842519685 + 30 +0.0 + 10 +-0.6395 + 20 +4.384870078740158 + 30 +0.0 + 10 +-0.6363897637795276 + 20 +4.388925196850393 + 30 +0.0 + 10 +-0.6335275590551182 + 20 +4.390870078740157 + 30 +0.0 + 10 +-0.6335275590551182 + 20 +4.390870078740157 + 30 +0.0 + 10 +-0.6306968503937008 + 20 +4.392814960629921 + 30 +0.0 + 10 +-0.6275551181102362 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.6241417322834646 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.6241417322834646 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.6191968503937008 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.6141968503937008 + 20 +4.392228346456693 + 30 +0.0 + 10 +-0.6090866141732283 + 20 +4.389090551181102 + 30 +0.0 + 10 +-0.6090866141732283 + 20 +4.389090551181102 + 30 +0.0 + 10 +-0.6090866141732283 + 20 +4.389090551181102 + 30 +0.0 + 10 +-0.6141417322834646 + 20 +4.37548031496063 + 30 +0.0 + 10 +-0.6141417322834646 + 20 +4.37548031496063 + 30 +0.0 + 10 +-0.6141417322834646 + 20 +4.37548031496063 + 30 +0.0 + 10 +-0.6176968503937008 + 20 +4.37761811023622 + 30 +0.0 + 10 +-0.6212795275590551 + 20 +4.378673228346456 + 30 +0.0 + 10 +-0.6248622047244095 + 20 +4.378673228346456 + 30 +0.0 + 10 +-0.6248622047244095 + 20 +4.378673228346456 + 30 +0.0 + 10 +-0.6280866141732283 + 20 +4.378673228346456 + 30 +0.0 + 10 +-0.6309448818897638 + 20 +4.377700787401575 + 30 +0.0 + 10 +-0.6335 + 20 +4.375787401574804 + 30 +0.0 + 10 +-0.6335 + 20 +4.375787401574804 + 30 +0.0 + 10 +-0.6360551181102362 + 20 +4.37384251968504 + 30 +0.0 + 10 +-0.6378622047244095 + 20 +4.371173228346457 + 30 +0.0 + 10 +-0.6389448818897637 + 20 +4.367759842519685 + 30 +0.0 + 10 +-0.6389448818897637 + 20 +4.367759842519685 + 30 +0.0 + 10 +-0.6405826771653543 + 20 +4.362562992125985 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.356870078740157 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.350673228346457 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.350673228346457 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.350673228346457 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6413897637795276 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6560275590551181 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +E4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6054173228346457 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.322118110236221 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.5887204724409448 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.6054173228346457 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +E5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5068582677165354 + 20 +4.337090551181102 + 30 +0.0 + 10 +-0.5068582677165354 + 20 +4.337090551181102 + 30 +0.0 + 10 +-0.4924724409448819 + 20 +4.335200787401575 + 30 +0.0 + 10 +-0.4924724409448819 + 20 +4.335200787401575 + 30 +0.0 + 10 +-0.4924724409448819 + 20 +4.335200787401575 + 30 +0.0 + 10 +-0.4940275590551181 + 20 +4.325287401574803 + 30 +0.0 + 10 +-0.4980551181102362 + 20 +4.317507874015748 + 30 +0.0 + 10 +-0.5045551181102362 + 20 +4.311897637795275 + 30 +0.0 + 10 +-0.5045551181102362 + 20 +4.311897637795275 + 30 +0.0 + 10 +-0.5110275590551181 + 20 +4.306287401574803 + 30 +0.0 + 10 +-0.519 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.5284409448818898 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.5284409448818898 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.540248031496063 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.5497755905511811 + 20 +4.307342519685039 + 30 +0.0 + 10 +-0.5569409448818897 + 20 +4.315062992125984 + 30 +0.0 + 10 +-0.5569409448818897 + 20 +4.315062992125984 + 30 +0.0 + 10 +-0.5641377952755906 + 20 +4.322787401574804 + 30 +0.0 + 10 +-0.567748031496063 + 20 +4.333870078740158 + 30 +0.0 + 10 +-0.567748031496063 + 20 +4.348314960629922 + 30 +0.0 + 10 +-0.567748031496063 + 20 +4.348314960629922 + 30 +0.0 + 10 +-0.567748031496063 + 20 +4.357645669291339 + 30 +0.0 + 10 +-0.5661929133858268 + 20 +4.365814960629922 + 30 +0.0 + 10 +-0.5631102362204724 + 20 +4.372814960629921 + 30 +0.0 + 10 +-0.5631102362204724 + 20 +4.372814960629921 + 30 +0.0 + 10 +-0.56 + 20 +4.379814960629921 + 30 +0.0 + 10 +-0.5553031496062992 + 20 +4.385062992125984 + 30 +0.0 + 10 +-0.5489685039370079 + 20 +4.388562992125984 + 30 +0.0 + 10 +-0.5489685039370079 + 20 +4.388562992125984 + 30 +0.0 + 10 +-0.5426653543307086 + 20 +4.392062992125984 + 30 +0.0 + 10 +-0.5357755905511811 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.5283582677165354 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.5283582677165354 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.5112755905511811 + 20 +4.391425196850394 + 30 +0.0 + 10 +-0.5053307086614173 + 20 +4.386673228346456 + 30 +0.0 + 10 +-0.5053307086614173 + 20 +4.386673228346456 + 30 +0.0 + 10 +-0.4993582677165354 + 20 +4.381925196850394 + 30 +0.0 + 10 +-0.4955275590551181 + 20 +4.375200787401575 + 30 +0.0 + 10 +-0.4938307086614173 + 20 +4.366452755905512 + 30 +0.0 + 10 +-0.4938307086614173 + 20 +4.366452755905512 + 30 +0.0 + 10 +-0.4938307086614173 + 20 +4.366452755905512 + 30 +0.0 + 10 +-0.5080826771653544 + 20 +4.364259842519685 + 30 +0.0 + 10 +-0.5080826771653544 + 20 +4.364259842519685 + 30 +0.0 + 10 +-0.5080826771653544 + 20 +4.364259842519685 + 30 +0.0 + 10 +-0.5094448818897638 + 20 +4.370062992125984 + 30 +0.0 + 10 +-0.5118307086614173 + 20 +4.374425196850393 + 30 +0.0 + 10 +-0.5152755905511811 + 20 +4.377370078740157 + 30 +0.0 + 10 +-0.5152755905511811 + 20 +4.377370078740157 + 30 +0.0 + 10 +-0.5187204724409449 + 20 +4.380287401574803 + 30 +0.0 + 10 +-0.5228858267716535 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.5277755905511811 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.5277755905511811 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.5351653543307087 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.5411653543307087 + 20 +4.37911811023622 + 30 +0.0 + 10 +-0.5457755905511811 + 20 +4.373814960629922 + 30 +0.0 + 10 +-0.5457755905511811 + 20 +4.373814960629922 + 30 +0.0 + 10 +-0.5503858267716536 + 20 +4.368535433070866 + 30 +0.0 + 10 +-0.5526929133858268 + 20 +4.360173228346457 + 30 +0.0 + 10 +-0.5526929133858268 + 20 +4.348732283464567 + 30 +0.0 + 10 +-0.5526929133858268 + 20 +4.348732283464567 + 30 +0.0 + 10 +-0.5526929133858268 + 20 +4.33711811023622 + 30 +0.0 + 10 +-0.5504685039370079 + 20 +4.328673228346457 + 30 +0.0 + 10 +-0.546 + 20 +4.323397637795275 + 30 +0.0 + 10 +-0.546 + 20 +4.323397637795275 + 30 +0.0 + 10 +-0.5415551181102363 + 20 +4.318145669291338 + 30 +0.0 + 10 +-0.535748031496063 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.5285826771653543 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.5285826771653543 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.5228307086614173 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.5180551181102362 + 20 +4.317287401574803 + 30 +0.0 + 10 +-0.5141929133858267 + 20 +4.320814960629921 + 30 +0.0 + 10 +-0.5141929133858267 + 20 +4.320814960629921 + 30 +0.0 + 10 +-0.5103307086614173 + 20 +4.32434251968504 + 30 +0.0 + 10 +-0.5078858267716535 + 20 +4.329759842519685 + 30 +0.0 + 10 +-0.5068582677165354 + 20 +4.337090551181102 + 30 +0.0 + 0 +SPLINE + 5 +E6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4853858267716535 + 20 +4.348645669291338 + 30 +0.0 + 10 +-0.4853858267716535 + 20 +4.364645669291338 + 30 +0.0 + 10 +-0.4809409448818898 + 20 +4.376507874015748 + 30 +0.0 + 10 +-0.4720236220472441 + 20 +4.384200787401575 + 30 +0.0 + 10 +-0.4720236220472441 + 20 +4.384200787401575 + 30 +0.0 + 10 +-0.4646062992125984 + 20 +4.390590551181102 + 30 +0.0 + 10 +-0.4555511811023622 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.4329685039370079 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.423248031496063 + 20 +4.389925196850394 + 30 +0.0 + 10 +-0.4157204724409449 + 20 +4.38211811023622 + 30 +0.0 + 10 +-0.4157204724409449 + 20 +4.38211811023622 + 30 +0.0 + 10 +-0.4081653543307087 + 20 +4.374342519685039 + 30 +0.0 + 10 +-0.4044133858267717 + 20 +4.363590551181102 + 30 +0.0 + 10 +-0.4044133858267717 + 20 +4.349870078740158 + 30 +0.0 + 10 +-0.4044133858267717 + 20 +4.349870078740158 + 30 +0.0 + 10 +-0.4044133858267717 + 20 +4.338732283464567 + 30 +0.0 + 10 +-0.4060826771653543 + 20 +4.32998031496063 + 30 +0.0 + 10 +-0.4094133858267717 + 20 +4.323618110236221 + 30 +0.0 + 10 +-0.4094133858267717 + 20 +4.323618110236221 + 30 +0.0 + 10 +-0.412748031496063 + 20 +4.317232283464567 + 30 +0.0 + 10 +-0.4176102362204724 + 20 +4.312287401574803 + 30 +0.0 + 10 +-0.4239685039370079 + 20 +4.308759842519685 + 30 +0.0 + 10 +-0.4239685039370079 + 20 +4.308759842519685 + 30 +0.0 + 10 +-0.4303582677165355 + 20 +4.305232283464567 + 30 +0.0 + 10 +-0.4373031496062992 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.4569409448818897 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.4667204724409449 + 20 +4.307342519685039 + 30 +0.0 + 10 +-0.4741929133858268 + 20 +4.31511811023622 + 30 +0.0 + 10 +-0.4741929133858268 + 20 +4.31511811023622 + 30 +0.0 + 10 +-0.4816653543307087 + 20 +4.322870078740157 + 30 +0.0 + 10 +-0.4853858267716535 + 20 +4.334035433070866 + 30 +0.0 + 10 +-0.4853858267716535 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +E7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4703307086614173 + 20 +4.348645669291338 + 30 +0.0 + 10 +-0.4703307086614173 + 20 +4.337562992125984 + 30 +0.0 + 10 +-0.4679133858267717 + 20 +4.329287401574804 + 30 +0.0 + 10 +-0.4630787401574803 + 20 +4.323787401574803 + 30 +0.0 + 10 +-0.4630787401574803 + 20 +4.323787401574803 + 30 +0.0 + 10 +-0.458248031496063 + 20 +4.318259842519685 + 30 +0.0 + 10 +-0.4521653543307086 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.4375787401574803 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.4315236220472441 + 20 +4.318287401574803 + 30 +0.0 + 10 +-0.4266929133858268 + 20 +4.323814960629921 + 30 +0.0 + 10 +-0.4266929133858268 + 20 +4.323814960629921 + 30 +0.0 + 10 +-0.4218858267716535 + 20 +4.329342519685039 + 30 +0.0 + 10 +-0.4194685039370079 + 20 +4.337787401574803 + 30 +0.0 + 10 +-0.4194685039370079 + 20 +4.349118110236221 + 30 +0.0 + 10 +-0.4194685039370079 + 20 +4.349118110236221 + 30 +0.0 + 10 +-0.4194685039370079 + 20 +4.359814960629921 + 30 +0.0 + 10 +-0.4218858267716535 + 20 +4.367925196850393 + 30 +0.0 + 10 +-0.426748031496063 + 20 +4.373425196850394 + 30 +0.0 + 10 +-0.426748031496063 + 20 +4.373425196850394 + 30 +0.0 + 10 +-0.4316102362204725 + 20 +4.378925196850393 + 30 +0.0 + 10 +-0.4376377952755905 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.4448582677165354 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.4521653543307086 + 20 +4.381673228346457 + 30 +0.0 + 10 +-0.458248031496063 + 20 +4.378925196850393 + 30 +0.0 + 10 +-0.4630787401574803 + 20 +4.373452755905512 + 30 +0.0 + 10 +-0.4630787401574803 + 20 +4.373452755905512 + 30 +0.0 + 10 +-0.4679133858267717 + 20 +4.36798031496063 + 30 +0.0 + 10 +-0.4703307086614173 + 20 +4.359700787401575 + 30 +0.0 + 10 +-0.4703307086614173 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +E8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3872204724409449 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.379728346456693 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.379728346456693 + 30 +0.0 + 10 +-0.3741377952755905 + 20 +4.379728346456693 + 30 +0.0 + 10 +-0.3714133858267716 + 20 +4.383952755905511 + 30 +0.0 + 10 +-0.3678031496062992 + 20 +4.387370078740157 + 30 +0.0 + 10 +-0.3633031496062992 + 20 +4.389925196850394 + 30 +0.0 + 10 +-0.3633031496062992 + 20 +4.389925196850394 + 30 +0.0 + 10 +-0.3588031496062992 + 20 +4.392507874015748 + 30 +0.0 + 10 +-0.3536653543307087 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.3479133858267717 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.3479133858267717 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.3415275590551181 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.3362755905511811 + 20 +4.39248031496063 + 30 +0.0 + 10 +-0.3321929133858268 + 20 +4.389814960629921 + 30 +0.0 + 10 +-0.3321929133858268 + 20 +4.389814960629921 + 30 +0.0 + 10 +-0.3280826771653543 + 20 +4.387145669291338 + 30 +0.0 + 10 +-0.3251929133858268 + 20 +4.383452755905512 + 30 +0.0 + 10 +-0.3235275590551181 + 20 +4.378673228346456 + 30 +0.0 + 10 +-0.3235275590551181 + 20 +4.378673228346456 + 30 +0.0 + 10 +-0.3166653543307086 + 20 +4.388759842519685 + 30 +0.0 + 10 +-0.3077755905511811 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.2968307086614173 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.2968307086614173 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.288248031496063 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.2816653543307087 + 20 +4.391425196850394 + 30 +0.0 + 10 +-0.2770551181102362 + 20 +4.386673228346456 + 30 +0.0 + 10 +-0.2770551181102362 + 20 +4.386673228346456 + 30 +0.0 + 10 +-0.2724448818897638 + 20 +4.381925196850394 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.37461811023622 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.364759842519685 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.364759842519685 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.364759842519685 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2701377952755906 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.359870078740157 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.359870078740157 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.359870078740157 + 30 +0.0 + 10 +-0.2846929133858268 + 20 +4.365728346456692 + 30 +0.0 + 10 +-0.2851653543307087 + 20 +4.369952755905512 + 30 +0.0 + 10 +-0.2861102362204724 + 20 +4.372535433070866 + 30 +0.0 + 10 +-0.2861102362204724 + 20 +4.372535433070866 + 30 +0.0 + 10 +-0.2870826771653543 + 20 +4.375090551181103 + 30 +0.0 + 10 +-0.2888031496062992 + 20 +4.377173228346456 + 30 +0.0 + 10 +-0.2912755905511811 + 20 +4.378759842519685 + 30 +0.0 + 10 +-0.2912755905511811 + 20 +4.378759842519685 + 30 +0.0 + 10 +-0.2937755905511811 + 20 +4.380314960629922 + 30 +0.0 + 10 +-0.2967204724409449 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3000826771653543 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3000826771653543 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3061653543307087 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3111929133858268 + 20 +4.379090551181102 + 30 +0.0 + 10 +-0.3152204724409449 + 20 +4.375035433070866 + 30 +0.0 + 10 +-0.3152204724409449 + 20 +4.375035433070866 + 30 +0.0 + 10 +-0.3192204724409449 + 20 +4.371007874015748 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.364535433070866 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.355645669291339 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.355645669291339 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.355645669291339 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.321248031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.361562992125984 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.361562992125984 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.361562992125984 + 30 +0.0 + 10 +-0.3358858267716535 + 20 +4.368090551181102 + 30 +0.0 + 10 +-0.3370826771653543 + 20 +4.37298031496063 + 30 +0.0 + 10 +-0.3394724409448819 + 20 +4.376228346456693 + 30 +0.0 + 10 +-0.3394724409448819 + 20 +4.376228346456693 + 30 +0.0 + 10 +-0.3418582677165354 + 20 +4.37948031496063 + 30 +0.0 + 10 +-0.345748031496063 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3511929133858268 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3511929133858268 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3553031496062992 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.3591102362204724 + 20 +4.380035433070866 + 30 +0.0 + 10 +-0.3626102362204724 + 20 +4.377842519685039 + 30 +0.0 + 10 +-0.3626102362204724 + 20 +4.377842519685039 + 30 +0.0 + 10 +-0.3661102362204725 + 20 +4.375673228346456 + 30 +0.0 + 10 +-0.3686653543307087 + 20 +4.372507874015748 + 30 +0.0 + 10 +-0.3702204724409449 + 20 +4.368342519685039 + 30 +0.0 + 10 +-0.3702204724409449 + 20 +4.368342519685039 + 30 +0.0 + 10 +-0.3718031496062992 + 20 +4.364145669291339 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.35811811023622 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.350259842519685 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.350259842519685 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.350259842519685 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3725826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.3872204724409449 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +E9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2593897637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2593897637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2248070866141732 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2248070866141732 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2248070866141732 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2248070866141732 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2130826771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2130826771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2130826771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2130826771653543 + 20 +4.426755905511811 + 30 +0.0 + 10 +-0.2475826771653543 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2475826771653543 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2475826771653543 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2475826771653543 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2593897637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +-0.2593897637795275 + 20 +4.303397637795276 + 30 +0.0 + 0 +SPLINE + 5 +EA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2020826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.379562992125984 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.379562992125984 + 30 +0.0 + 10 +-0.1889173228346457 + 20 +4.379562992125984 + 30 +0.0 + 10 +-0.1825551181102362 + 20 +4.389062992125984 + 30 +0.0 + 10 +-0.1733897637795276 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.1614173228346457 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.1614173228346457 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.1561929133858268 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.1514173228346457 + 20 +4.392870078740158 + 30 +0.0 + 10 +-0.1470551181102362 + 20 +4.391007874015748 + 30 +0.0 + 10 +-0.1470551181102362 + 20 +4.391007874015748 + 30 +0.0 + 10 +-0.1426653543307086 + 20 +4.389118110236221 + 30 +0.0 + 10 +-0.1394173228346457 + 20 +4.386673228346456 + 30 +0.0 + 10 +-0.137248031496063 + 20 +4.38361811023622 + 30 +0.0 + 10 +-0.137248031496063 + 20 +4.38361811023622 + 30 +0.0 + 10 +-0.1350551181102362 + 20 +4.380590551181102 + 30 +0.0 + 10 +-0.1335551181102362 + 20 +4.37698031496063 + 30 +0.0 + 10 +-0.1326653543307087 + 20 +4.372814960629921 + 30 +0.0 + 10 +-0.1326653543307087 + 20 +4.372814960629921 + 30 +0.0 + 10 +-0.1321377952755906 + 20 +4.370090551181103 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.365342519685039 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.358562992125984 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.358562992125984 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.358562992125984 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1318622047244095 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.358007874015748 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.358007874015748 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.358007874015748 + 30 +0.0 + 10 +-0.1465275590551181 + 20 +4.363952755905512 + 30 +0.0 + 10 +-0.1470826771653543 + 20 +4.368425196850394 + 30 +0.0 + 10 +-0.1482204724409449 + 20 +4.371397637795275 + 30 +0.0 + 10 +-0.1482204724409449 + 20 +4.371397637795275 + 30 +0.0 + 10 +-0.1493622047244094 + 20 +4.374342519685039 + 30 +0.0 + 10 +-0.1513897637795276 + 20 +4.376700787401575 + 30 +0.0 + 10 +-0.1542795275590551 + 20 +4.378452755905512 + 30 +0.0 + 10 +-0.1542795275590551 + 20 +4.378452755905512 + 30 +0.0 + 10 +-0.1571929133858268 + 20 +4.380228346456693 + 30 +0.0 + 10 +-0.1605826771653543 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.1645 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.1645 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.170748031496063 + 20 +4.381118110236221 + 30 +0.0 + 10 +-0.1761102362204724 + 20 +4.37911811023622 + 30 +0.0 + 10 +-0.1806653543307087 + 20 +4.375173228346457 + 30 +0.0 + 10 +-0.1806653543307087 + 20 +4.375173228346457 + 30 +0.0 + 10 +-0.1851929133858268 + 20 +4.371200787401575 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.363700787401575 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.352618110236221 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.352618110236221 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.352618110236221 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.1874448818897638 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.2020826771653543 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +EB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.050251968503937 + 20 +4.333259842519685 + 30 +0.0 + 10 +-0.050251968503937 + 20 +4.333259842519685 + 30 +0.0 + 10 +-0.0351141732283465 + 20 +4.331397637795275 + 30 +0.0 + 10 +-0.0351141732283465 + 20 +4.331397637795275 + 30 +0.0 + 10 +-0.0351141732283465 + 20 +4.331397637795275 + 30 +0.0 + 10 +-0.0375 + 20 +4.322535433070867 + 30 +0.0 + 10 +-0.0419173228346457 + 20 +4.315673228346457 + 30 +0.0 + 10 +-0.0483622047244094 + 20 +4.310787401574803 + 30 +0.0 + 10 +-0.0483622047244094 + 20 +4.310787401574803 + 30 +0.0 + 10 +-0.0548346456692913 + 20 +4.305925196850394 + 30 +0.0 + 10 +-0.0630866141732283 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.0731141732283465 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.0731141732283465 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.085751968503937 + 20 +4.30348031496063 + 30 +0.0 + 10 +-0.0957795275590551 + 20 +4.307370078740157 + 30 +0.0 + 10 +-0.1031692913385827 + 20 +4.315145669291339 + 30 +0.0 + 10 +-0.1031692913385827 + 20 +4.315145669291339 + 30 +0.0 + 10 +-0.1105826771653543 + 20 +4.322925196850393 + 30 +0.0 + 10 +-0.1142795275590551 + 20 +4.33384251968504 + 30 +0.0 + 10 +-0.1142795275590551 + 20 +4.347897637795276 + 30 +0.0 + 10 +-0.1142795275590551 + 20 +4.347897637795276 + 30 +0.0 + 10 +-0.1142795275590551 + 20 +4.362452755905512 + 30 +0.0 + 10 +-0.1105275590551181 + 20 +4.373728346456693 + 30 +0.0 + 10 +-0.1030551181102362 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.1030551181102362 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.0955551181102362 + 20 +4.389787401574803 + 30 +0.0 + 10 +-0.0858622047244094 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.0739173228346457 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.0739173228346457 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.0623622047244094 + 20 +4.393814960629921 + 30 +0.0 + 10 +-0.0529173228346457 + 20 +4.389870078740158 + 30 +0.0 + 10 +-0.0456141732283465 + 20 +4.382007874015748 + 30 +0.0 + 10 +-0.0456141732283465 + 20 +4.382007874015748 + 30 +0.0 + 10 +-0.0382795275590551 + 20 +4.374145669291338 + 30 +0.0 + 10 +-0.0346141732283465 + 20 +4.363062992125984 + 30 +0.0 + 10 +-0.0346141732283465 + 20 +4.348814960629921 + 30 +0.0 + 10 +-0.0346141732283465 + 20 +4.348814960629921 + 30 +0.0 + 10 +-0.0346141732283465 + 20 +4.347925196850394 + 30 +0.0 + 10 +-0.0346417322834646 + 20 +4.34661811023622 + 30 +0.0 + 10 +-0.0346968503937008 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.0346968503937008 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.0346968503937008 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.0991417322834646 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.0991417322834646 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.0991417322834646 + 20 +4.344897637795276 + 30 +0.0 + 10 +-0.0986102362204724 + 20 +4.335397637795276 + 30 +0.0 + 10 +-0.0959173228346457 + 20 +4.32811811023622 + 30 +0.0 + 10 +-0.0910826771653543 + 20 +4.323090551181102 + 30 +0.0 + 10 +-0.0910826771653543 + 20 +4.323090551181102 + 30 +0.0 + 10 +-0.086251968503937 + 20 +4.318035433070866 + 30 +0.0 + 10 +-0.080251968503937 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.0730275590551181 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.0730275590551181 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.0676692913385827 + 20 +4.315507874015748 + 30 +0.0 + 10 +-0.0630866141732283 + 20 +4.316925196850394 + 30 +0.0 + 10 +-0.0592795275590551 + 20 +4.319759842519685 + 30 +0.0 + 10 +-0.0592795275590551 + 20 +4.319759842519685 + 30 +0.0 + 10 +-0.0554724409448819 + 20 +4.322562992125984 + 30 +0.0 + 10 +-0.0524724409448819 + 20 +4.327062992125985 + 30 +0.0 + 10 +-0.050251968503937 + 20 +4.333259842519685 + 30 +0.0 + 0 +SPLINE + 5 +EC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.0983346456692913 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.0983346456692913 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.0500866141732283 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.0500866141732283 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.0500866141732283 + 20 +4.356952755905512 + 30 +0.0 + 10 +-0.0507244094488189 + 20 +4.364200787401574 + 30 +0.0 + 10 +-0.0525866141732283 + 20 +4.369673228346457 + 30 +0.0 + 10 +-0.0556141732283465 + 20 +4.373287401574803 + 30 +0.0 + 10 +-0.0556141732283465 + 20 +4.373287401574803 + 30 +0.0 + 10 +-0.0602795275590551 + 20 +4.378925196850393 + 30 +0.0 + 10 +-0.0663346456692913 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.073751968503937 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.073751968503937 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.0804724409448819 + 20 +4.381759842519685 + 30 +0.0 + 10 +-0.0861417322834646 + 20 +4.379507874015748 + 30 +0.0 + 10 +-0.0907244094488189 + 20 +4.375007874015748 + 30 +0.0 + 10 +-0.0907244094488189 + 20 +4.375007874015748 + 30 +0.0 + 10 +-0.0953070866141732 + 20 +4.370507874015748 + 30 +0.0 + 10 +-0.0978346456692913 + 20 +4.364480314960629 + 30 +0.0 + 10 +-0.0983346456692913 + 20 +4.356952755905512 + 30 +0.0 + 0 +SPLINE + 5 +ED +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.000751968503937 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.000751968503937 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.0271968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0271968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0271968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0271968503937008 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0120590551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0120590551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0120590551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +-0.0120590551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0016929133858268 + 20 +4.341952755905512 + 30 +0.0 + 10 +0.0016929133858268 + 20 +4.341952755905512 + 30 +0.0 + 10 +0.0016929133858268 + 20 +4.341952755905512 + 30 +0.0 + 10 +0.0016929133858268 + 20 +4.341952755905512 + 30 +0.0 + 10 +0.0068031496062992 + 20 +4.323397637795275 + 30 +0.0 + 10 +0.0068031496062992 + 20 +4.323397637795275 + 30 +0.0 + 10 +0.0068031496062992 + 20 +4.323397637795275 + 30 +0.0 + 10 +0.0070236220472441 + 20 +4.32434251968504 + 30 +0.0 + 10 +0.0085236220472441 + 20 +4.330287401574803 + 30 +0.0 + 10 +0.0112755905511811 + 20 +4.341232283464567 + 30 +0.0 + 10 +0.0112755905511811 + 20 +4.341232283464567 + 30 +0.0 + 10 +0.0112755905511811 + 20 +4.341232283464567 + 30 +0.0 + 10 +0.0250236220472441 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0250236220472441 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0250236220472441 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0250236220472441 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0400787401574803 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0400787401574803 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0400787401574803 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0400787401574803 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0530236220472441 + 20 +4.341732283464567 + 30 +0.0 + 10 +0.0530236220472441 + 20 +4.341732283464567 + 30 +0.0 + 10 +0.0530236220472441 + 20 +4.341732283464567 + 30 +0.0 + 10 +0.0530236220472441 + 20 +4.341732283464567 + 30 +0.0 + 10 +0.0573582677165354 + 20 +4.325204724409449 + 30 +0.0 + 10 +0.0573582677165354 + 20 +4.325204724409449 + 30 +0.0 + 10 +0.0573582677165354 + 20 +4.325204724409449 + 30 +0.0 + 10 +0.0573582677165354 + 20 +4.325204724409449 + 30 +0.0 + 10 +0.0623031496062992 + 20 +4.341897637795276 + 30 +0.0 + 10 +0.0623031496062992 + 20 +4.341897637795276 + 30 +0.0 + 10 +0.0623031496062992 + 20 +4.341897637795276 + 30 +0.0 + 10 +0.0623031496062992 + 20 +4.341897637795276 + 30 +0.0 + 10 +0.0771062992125984 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0771062992125984 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0771062992125984 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0771062992125984 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0913582677165354 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0913582677165354 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0913582677165354 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0913582677165354 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.0643307086614173 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0643307086614173 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0643307086614173 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0643307086614173 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0491377952755905 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0491377952755905 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0491377952755905 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0491377952755905 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0353858267716535 + 20 +4.357173228346457 + 30 +0.0 + 10 +0.0353858267716535 + 20 +4.357173228346457 + 30 +0.0 + 10 +0.0353858267716535 + 20 +4.357173228346457 + 30 +0.0 + 10 +0.0353858267716535 + 20 +4.357173228346457 + 30 +0.0 + 10 +0.0320236220472441 + 20 +4.371925196850394 + 30 +0.0 + 10 +0.0320236220472441 + 20 +4.371925196850394 + 30 +0.0 + 10 +0.0320236220472441 + 20 +4.371925196850394 + 30 +0.0 + 10 +0.0320236220472441 + 20 +4.371925196850394 + 30 +0.0 + 10 +0.0145511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0145511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0145511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.0145511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.000751968503937 + 20 +4.305425196850393 + 30 +0.0 + 10 +-0.000751968503937 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +EE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0926614173228346 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.0926614173228346 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.127244094488189 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.127244094488189 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.127244094488189 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.127244094488189 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.1389685039370079 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.1389685039370079 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.1389685039370079 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.1389685039370079 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.1044685039370079 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.1044685039370079 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.1044685039370079 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.1044685039370079 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.0926614173228346 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.0926614173228346 + 20 +4.303397637795276 + 30 +0.0 + 0 +SPLINE + 5 +EF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.1499685039370079 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.38061811023622 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.38061811023622 + 30 +0.0 + 10 +0.1633031496062992 + 20 +4.38061811023622 + 30 +0.0 + 10 +0.1664409448818898 + 20 +4.385007874015748 + 30 +0.0 + 10 +0.169996062992126 + 20 +4.388314960629922 + 30 +0.0 + 10 +0.1739685039370079 + 20 +4.390507874015748 + 30 +0.0 + 10 +0.1739685039370079 + 20 +4.390507874015748 + 30 +0.0 + 10 +0.1779133858267717 + 20 +4.392700787401575 + 30 +0.0 + 10 +0.1827165354330709 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.1883582677165354 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.1883582677165354 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.195744094488189 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.202244094488189 + 20 +4.391897637795275 + 30 +0.0 + 10 +0.2078858267716535 + 20 +4.388118110236221 + 30 +0.0 + 10 +0.2078858267716535 + 20 +4.388118110236221 + 30 +0.0 + 10 +0.2135511811023622 + 20 +4.384314960629921 + 30 +0.0 + 10 +0.2178031496062992 + 20 +4.378952755905511 + 30 +0.0 + 10 +0.2206614173228346 + 20 +4.372035433070866 + 30 +0.0 + 10 +0.2206614173228346 + 20 +4.372035433070866 + 30 +0.0 + 10 +0.2235511811023622 + 20 +4.365118110236221 + 30 +0.0 + 10 +0.224996062992126 + 20 +4.357535433070866 + 30 +0.0 + 10 +0.224996062992126 + 20 +4.349287401574803 + 30 +0.0 + 10 +0.224996062992126 + 20 +4.349287401574803 + 30 +0.0 + 10 +0.224996062992126 + 20 +4.340452755905511 + 30 +0.0 + 10 +0.2234133858267716 + 20 +4.33248031496063 + 30 +0.0 + 10 +0.2202165354330709 + 20 +4.325397637795276 + 30 +0.0 + 10 +0.2202165354330709 + 20 +4.325397637795276 + 30 +0.0 + 10 +0.2170511811023622 + 20 +4.318314960629921 + 30 +0.0 + 10 +0.2124409448818898 + 20 +4.312897637795276 + 30 +0.0 + 10 +0.2063858267716535 + 20 +4.309118110236221 + 30 +0.0 + 10 +0.2063858267716535 + 20 +4.309118110236221 + 30 +0.0 + 10 +0.2003307086614173 + 20 +4.305370078740157 + 30 +0.0 + 10 +0.1939685039370079 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.1873031496062992 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.1873031496062992 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.1824133858267717 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.1780511811023622 + 20 +4.304507874015748 + 30 +0.0 + 10 +0.1741614173228346 + 20 +4.306562992125984 + 30 +0.0 + 10 +0.1741614173228346 + 20 +4.306562992125984 + 30 +0.0 + 10 +0.1702755905511811 + 20 +4.30861811023622 + 30 +0.0 + 10 +0.1671062992125984 + 20 +4.311232283464567 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.314370078740158 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.314370078740158 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.314370078740158 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1646062992125984 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.1499685039370079 + 20 +4.272314960629921 + 30 +0.0 + 0 +SPLINE + 5 +F0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.1632165354330709 + 20 +4.348145669291338 + 30 +0.0 + 10 +0.1632165354330709 + 20 +4.337035433070866 + 30 +0.0 + 10 +0.1654685039370079 + 20 +4.328814960629921 + 30 +0.0 + 10 +0.1699685039370079 + 20 +4.32348031496063 + 30 +0.0 + 10 +0.1699685039370079 + 20 +4.32348031496063 + 30 +0.0 + 10 +0.1744685039370079 + 20 +4.318173228346457 + 30 +0.0 + 10 +0.1799409448818898 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.1863307086614173 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.1863307086614173 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.1928307086614173 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.1984133858267716 + 20 +4.318259842519685 + 30 +0.0 + 10 +0.2030511811023622 + 20 +4.323787401574803 + 30 +0.0 + 10 +0.2030511811023622 + 20 +4.323787401574803 + 30 +0.0 + 10 +0.2076889763779527 + 20 +4.329287401574804 + 30 +0.0 + 10 +0.2100236220472441 + 20 +4.337814960629921 + 30 +0.0 + 10 +0.2100236220472441 + 20 +4.349370078740158 + 30 +0.0 + 10 +0.2100236220472441 + 20 +4.349370078740158 + 30 +0.0 + 10 +0.2100236220472441 + 20 +4.360397637795276 + 30 +0.0 + 10 +0.207744094488189 + 20 +4.368618110236221 + 30 +0.0 + 10 +0.2032165354330709 + 20 +4.37411811023622 + 30 +0.0 + 10 +0.2032165354330709 + 20 +4.37411811023622 + 30 +0.0 + 10 +0.1986889763779528 + 20 +4.379590551181102 + 30 +0.0 + 10 +0.1932755905511811 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.186996062992126 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.186996062992126 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.180744094488189 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.1752165354330709 + 20 +4.379425196850394 + 30 +0.0 + 10 +0.1704133858267717 + 20 +4.373590551181103 + 30 +0.0 + 10 +0.1704133858267717 + 20 +4.373590551181103 + 30 +0.0 + 10 +0.1656062992125984 + 20 +4.367759842519685 + 30 +0.0 + 10 +0.1632165354330709 + 20 +4.359259842519685 + 30 +0.0 + 10 +0.1632165354330709 + 20 +4.348145669291338 + 30 +0.0 + 0 +SPLINE + 5 +F1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.2990511811023622 + 20 +4.316090551181103 + 30 +0.0 + 10 +0.2936062992125984 + 20 +4.31148031496063 + 30 +0.0 + 10 +0.2883818897637795 + 20 +4.308232283464567 + 30 +0.0 + 10 +0.2833818897637795 + 20 +4.306314960629921 + 30 +0.0 + 10 +0.2833818897637795 + 20 +4.306314960629921 + 30 +0.0 + 10 +0.2783543307086614 + 20 +4.304425196850394 + 30 +0.0 + 10 +0.2729685039370079 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.2672165354330709 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.2672165354330709 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.2577165354330709 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.2504409448818898 + 20 +4.305787401574803 + 30 +0.0 + 10 +0.2453267716535433 + 20 +4.310425196850393 + 30 +0.0 + 10 +0.2453267716535433 + 20 +4.310425196850393 + 30 +0.0 + 10 +0.240244094488189 + 20 +4.315062992125984 + 30 +0.0 + 10 +0.2376889763779527 + 20 +4.321007874015748 + 30 +0.0 + 10 +0.2376889763779527 + 20 +4.328204724409449 + 30 +0.0 + 10 +0.2376889763779527 + 20 +4.328204724409449 + 30 +0.0 + 10 +0.2376889763779527 + 20 +4.332452755905511 + 30 +0.0 + 10 +0.2386338582677165 + 20 +4.336314960629921 + 30 +0.0 + 10 +0.2405787401574803 + 20 +4.339814960629921 + 30 +0.0 + 10 +0.2405787401574803 + 20 +4.339814960629921 + 30 +0.0 + 10 +0.242496062992126 + 20 +4.343314960629921 + 30 +0.0 + 10 +0.2450236220472441 + 20 +4.346118110236221 + 30 +0.0 + 10 +0.2481338582677165 + 20 +4.348232283464567 + 30 +0.0 + 10 +0.2481338582677165 + 20 +4.348232283464567 + 30 +0.0 + 10 +0.2512716535433071 + 20 +4.350342519685039 + 30 +0.0 + 10 +0.2547716535433071 + 20 +4.351952755905512 + 30 +0.0 + 10 +0.2586889763779527 + 20 +4.353035433070866 + 30 +0.0 + 10 +0.2586889763779527 + 20 +4.353035433070866 + 30 +0.0 + 10 +0.2615511811023622 + 20 +4.353787401574803 + 30 +0.0 + 10 +0.2658818897637795 + 20 +4.354535433070867 + 30 +0.0 + 10 +0.2716889763779528 + 20 +4.355232283464567 + 30 +0.0 + 10 +0.2716889763779528 + 20 +4.355232283464567 + 30 +0.0 + 10 +0.2835236220472441 + 20 +4.356645669291338 + 30 +0.0 + 10 +0.292244094488189 + 20 +4.358314960629921 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.360287401574803 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.360287401574803 + 30 +0.0 + 10 +0.2978818897637796 + 20 +4.362287401574803 + 30 +0.0 + 10 +0.2979094488188976 + 20 +4.363562992125984 + 30 +0.0 + 10 +0.2979094488188976 + 20 +4.364090551181103 + 30 +0.0 + 10 +0.2979094488188976 + 20 +4.364090551181103 + 30 +0.0 + 10 +0.2979094488188976 + 20 +4.370062992125984 + 30 +0.0 + 10 +0.2965236220472441 + 20 +4.374287401574803 + 30 +0.0 + 10 +0.293744094488189 + 20 +4.376700787401575 + 30 +0.0 + 10 +0.293744094488189 + 20 +4.376700787401575 + 30 +0.0 + 10 +0.2900236220472441 + 20 +4.380035433070866 + 30 +0.0 + 10 +0.2844370078740158 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.2770787401574803 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.2770787401574803 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.2701889763779527 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.2651062992125984 + 20 +4.38048031496063 + 30 +0.0 + 10 +0.2617992125984252 + 20 +4.378062992125984 + 30 +0.0 + 10 +0.2617992125984252 + 20 +4.378062992125984 + 30 +0.0 + 10 +0.2585236220472441 + 20 +4.375645669291338 + 30 +0.0 + 10 +0.2561062992125984 + 20 +4.371370078740157 + 30 +0.0 + 10 +0.2545236220472441 + 20 +4.365228346456693 + 30 +0.0 + 10 +0.2545236220472441 + 20 +4.365228346456693 + 30 +0.0 + 10 +0.2545236220472441 + 20 +4.365228346456693 + 30 +0.0 + 10 +0.2402165354330709 + 20 +4.367200787401575 + 30 +0.0 + 10 +0.2402165354330709 + 20 +4.367200787401575 + 30 +0.0 + 10 +0.2402165354330709 + 20 +4.367200787401575 + 30 +0.0 + 10 +0.2415236220472441 + 20 +4.373314960629921 + 30 +0.0 + 10 +0.2436614173228346 + 20 +4.378287401574803 + 30 +0.0 + 10 +0.2466338582677165 + 20 +4.382035433070866 + 30 +0.0 + 10 +0.2466338582677165 + 20 +4.382035433070866 + 30 +0.0 + 10 +0.2496062992125984 + 20 +4.385814960629921 + 30 +0.0 + 10 +0.2539409448818898 + 20 +4.388728346456693 + 30 +0.0 + 10 +0.2595787401574803 + 20 +4.390755905511811 + 30 +0.0 + 10 +0.2595787401574803 + 20 +4.390755905511811 + 30 +0.0 + 10 +0.2652165354330709 + 20 +4.392787401574803 + 30 +0.0 + 10 +0.271744094488189 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.2791889763779528 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.2791889763779528 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.2865787401574803 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.2925511811023622 + 20 +4.392925196850394 + 30 +0.0 + 10 +0.2971614173228346 + 20 +4.391200787401575 + 30 +0.0 + 10 +0.2971614173228346 + 20 +4.391200787401575 + 30 +0.0 + 10 +0.3017716535433071 + 20 +4.389452755905512 + 30 +0.0 + 10 +0.3051614173228346 + 20 +4.387287401574803 + 30 +0.0 + 10 +0.3073543307086614 + 20 +4.384645669291339 + 30 +0.0 + 10 +0.3073543307086614 + 20 +4.384645669291339 + 30 +0.0 + 10 +0.3095236220472441 + 20 +4.382007874015748 + 30 +0.0 + 10 +0.3110236220472441 + 20 +4.378700787401574 + 30 +0.0 + 10 +0.3119094488188976 + 20 +4.374673228346457 + 30 +0.0 + 10 +0.3119094488188976 + 20 +4.374673228346457 + 30 +0.0 + 10 +0.3123818897637795 + 20 +4.372173228346456 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.367673228346456 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.361173228346456 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.361173228346456 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.361173228346456 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.341645669291339 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.341645669291339 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.341645669291339 + 30 +0.0 + 10 +0.3126338582677166 + 20 +4.328007874015748 + 30 +0.0 + 10 +0.3129370078740157 + 20 +4.319397637795276 + 30 +0.0 + 10 +0.3135787401574803 + 20 +4.315814960629921 + 30 +0.0 + 10 +0.3135787401574803 + 20 +4.315814960629921 + 30 +0.0 + 10 +0.3141889763779527 + 20 +4.312204724409449 + 30 +0.0 + 10 +0.3154370078740157 + 20 +4.308732283464566 + 30 +0.0 + 10 +0.3172716535433071 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3172716535433071 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3172716535433071 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3019645669291339 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3019645669291339 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3019645669291339 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3004645669291339 + 20 +4.308452755905511 + 30 +0.0 + 10 +0.2994645669291339 + 20 +4.312007874015748 + 30 +0.0 + 10 +0.2990511811023622 + 20 +4.316090551181103 + 30 +0.0 + 0 +SPLINE + 5 +F2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.2978267716535433 + 20 +4.348814960629921 + 30 +0.0 + 10 +0.292496062992126 + 20 +4.34661811023622 + 30 +0.0 + 10 +0.2845236220472441 + 20 +4.344787401574803 + 30 +0.0 + 10 +0.2739094488188976 + 20 +4.343259842519685 + 30 +0.0 + 10 +0.2739094488188976 + 20 +4.343259842519685 + 30 +0.0 + 10 +0.2678818897637795 + 20 +4.342397637795275 + 30 +0.0 + 10 +0.2636062992125984 + 20 +4.341425196850394 + 30 +0.0 + 10 +0.2611338582677165 + 20 +4.34034251968504 + 30 +0.0 + 10 +0.2611338582677165 + 20 +4.34034251968504 + 30 +0.0 + 10 +0.2586338582677165 + 20 +4.339259842519685 + 30 +0.0 + 10 +0.2566889763779527 + 20 +4.337673228346457 + 30 +0.0 + 10 +0.2553543307086614 + 20 +4.335562992125984 + 30 +0.0 + 10 +0.2553543307086614 + 20 +4.335562992125984 + 30 +0.0 + 10 +0.253996062992126 + 20 +4.33348031496063 + 30 +0.0 + 10 +0.2532992125984252 + 20 +4.331173228346457 + 30 +0.0 + 10 +0.2532992125984252 + 20 +4.328618110236221 + 30 +0.0 + 10 +0.2532992125984252 + 20 +4.328618110236221 + 30 +0.0 + 10 +0.2532992125984252 + 20 +4.324704724409449 + 30 +0.0 + 10 +0.2547992125984252 + 20 +4.321452755905511 + 30 +0.0 + 10 +0.257744094488189 + 20 +4.318842519685039 + 30 +0.0 + 10 +0.257744094488189 + 20 +4.318842519685039 + 30 +0.0 + 10 +0.2606889763779527 + 20 +4.316259842519685 + 30 +0.0 + 10 +0.2650236220472441 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.2707165354330709 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.2707165354330709 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.2763543307086614 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.2813818897637795 + 20 +4.316173228346456 + 30 +0.0 + 10 +0.2857716535433071 + 20 +4.318645669291339 + 30 +0.0 + 10 +0.2857716535433071 + 20 +4.318645669291339 + 30 +0.0 + 10 +0.2901614173228346 + 20 +4.32111811023622 + 30 +0.0 + 10 +0.2934094488188976 + 20 +4.324507874015748 + 30 +0.0 + 10 +0.2954645669291339 + 20 +4.328787401574803 + 30 +0.0 + 10 +0.2954645669291339 + 20 +4.328787401574803 + 30 +0.0 + 10 +0.2970511811023622 + 20 +4.332090551181103 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.33698031496063 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.343425196850394 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.343425196850394 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.343425196850394 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.348814960629921 + 30 +0.0 + 10 +0.2978267716535433 + 20 +4.348814960629921 + 30 +0.0 + 0 +SPLINE + 5 +F3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3353543307086614 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.379562992125984 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.379562992125984 + 30 +0.0 + 10 +0.3485196850393701 + 20 +4.379562992125984 + 30 +0.0 + 10 +0.3548818897637795 + 20 +4.389062992125984 + 30 +0.0 + 10 +0.3640472440944882 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.3760196850393701 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.3760196850393701 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.381244094488189 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.3860196850393701 + 20 +4.392870078740158 + 30 +0.0 + 10 +0.3903818897637795 + 20 +4.391007874015748 + 30 +0.0 + 10 +0.3903818897637795 + 20 +4.391007874015748 + 30 +0.0 + 10 +0.3947716535433071 + 20 +4.389118110236221 + 30 +0.0 + 10 +0.3980196850393701 + 20 +4.386673228346456 + 30 +0.0 + 10 +0.4001889763779528 + 20 +4.38361811023622 + 30 +0.0 + 10 +0.4001889763779528 + 20 +4.38361811023622 + 30 +0.0 + 10 +0.4023818897637795 + 20 +4.380590551181102 + 30 +0.0 + 10 +0.4038818897637795 + 20 +4.37698031496063 + 30 +0.0 + 10 +0.4047716535433071 + 20 +4.372814960629921 + 30 +0.0 + 10 +0.4047716535433071 + 20 +4.372814960629921 + 30 +0.0 + 10 +0.4052992125984252 + 20 +4.370090551181103 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.365342519685039 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.358562992125984 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.358562992125984 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.358562992125984 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4055748031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.358007874015748 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.358007874015748 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.358007874015748 + 30 +0.0 + 10 +0.3909094488188977 + 20 +4.363952755905512 + 30 +0.0 + 10 +0.3903543307086614 + 20 +4.368425196850394 + 30 +0.0 + 10 +0.3892165354330709 + 20 +4.371397637795275 + 30 +0.0 + 10 +0.3892165354330709 + 20 +4.371397637795275 + 30 +0.0 + 10 +0.3880748031496063 + 20 +4.374342519685039 + 30 +0.0 + 10 +0.3860472440944882 + 20 +4.376700787401575 + 30 +0.0 + 10 +0.3831574803149606 + 20 +4.378452755905512 + 30 +0.0 + 10 +0.3831574803149606 + 20 +4.378452755905512 + 30 +0.0 + 10 +0.380244094488189 + 20 +4.380228346456693 + 30 +0.0 + 10 +0.3768543307086614 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.3729370078740157 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.3729370078740157 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.3666889763779528 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.3613267716535433 + 20 +4.37911811023622 + 30 +0.0 + 10 +0.3567716535433071 + 20 +4.375173228346457 + 30 +0.0 + 10 +0.3567716535433071 + 20 +4.375173228346457 + 30 +0.0 + 10 +0.352244094488189 + 20 +4.371200787401575 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.363700787401575 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.352618110236221 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.352618110236221 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.352618110236221 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3499921259842519 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.3353543307086614 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +F4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4844370078740157 + 20 +4.316090551181103 + 30 +0.0 + 10 +0.4789921259842519 + 20 +4.31148031496063 + 30 +0.0 + 10 +0.4737677165354331 + 20 +4.308232283464567 + 30 +0.0 + 10 +0.4687677165354331 + 20 +4.306314960629921 + 30 +0.0 + 10 +0.4687677165354331 + 20 +4.306314960629921 + 30 +0.0 + 10 +0.4637401574803149 + 20 +4.304425196850394 + 30 +0.0 + 10 +0.4583543307086614 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.4526023622047244 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.4526023622047244 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.4431023622047244 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.4358267716535433 + 20 +4.305787401574803 + 30 +0.0 + 10 +0.4307125984251968 + 20 +4.310425196850393 + 30 +0.0 + 10 +0.4307125984251968 + 20 +4.310425196850393 + 30 +0.0 + 10 +0.4256299212598425 + 20 +4.315062992125984 + 30 +0.0 + 10 +0.4230748031496063 + 20 +4.321007874015748 + 30 +0.0 + 10 +0.4230748031496063 + 20 +4.328204724409449 + 30 +0.0 + 10 +0.4230748031496063 + 20 +4.328204724409449 + 30 +0.0 + 10 +0.4230748031496063 + 20 +4.332452755905511 + 30 +0.0 + 10 +0.4240196850393701 + 20 +4.336314960629921 + 30 +0.0 + 10 +0.4259645669291339 + 20 +4.339814960629921 + 30 +0.0 + 10 +0.4259645669291339 + 20 +4.339814960629921 + 30 +0.0 + 10 +0.4278818897637796 + 20 +4.343314960629921 + 30 +0.0 + 10 +0.4304094488188976 + 20 +4.346118110236221 + 30 +0.0 + 10 +0.4335196850393701 + 20 +4.348232283464567 + 30 +0.0 + 10 +0.4335196850393701 + 20 +4.348232283464567 + 30 +0.0 + 10 +0.4366574803149607 + 20 +4.350342519685039 + 30 +0.0 + 10 +0.4401574803149606 + 20 +4.351952755905512 + 30 +0.0 + 10 +0.4440748031496063 + 20 +4.353035433070866 + 30 +0.0 + 10 +0.4440748031496063 + 20 +4.353035433070866 + 30 +0.0 + 10 +0.4469370078740157 + 20 +4.353787401574803 + 30 +0.0 + 10 +0.4512677165354331 + 20 +4.354535433070867 + 30 +0.0 + 10 +0.4570748031496063 + 20 +4.355232283464567 + 30 +0.0 + 10 +0.4570748031496063 + 20 +4.355232283464567 + 30 +0.0 + 10 +0.4689094488188976 + 20 +4.356645669291338 + 30 +0.0 + 10 +0.4776299212598425 + 20 +4.358314960629921 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.360287401574803 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.360287401574803 + 30 +0.0 + 10 +0.483267716535433 + 20 +4.362287401574803 + 30 +0.0 + 10 +0.4832952755905512 + 20 +4.363562992125984 + 30 +0.0 + 10 +0.4832952755905512 + 20 +4.364090551181103 + 30 +0.0 + 10 +0.4832952755905512 + 20 +4.364090551181103 + 30 +0.0 + 10 +0.4832952755905512 + 20 +4.370062992125984 + 30 +0.0 + 10 +0.4819094488188976 + 20 +4.374287401574803 + 30 +0.0 + 10 +0.4791299212598425 + 20 +4.376700787401575 + 30 +0.0 + 10 +0.4791299212598425 + 20 +4.376700787401575 + 30 +0.0 + 10 +0.4754094488188976 + 20 +4.380035433070866 + 30 +0.0 + 10 +0.4698228346456693 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.4624645669291338 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.4624645669291338 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.4555748031496063 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.450492125984252 + 20 +4.38048031496063 + 30 +0.0 + 10 +0.4471850393700788 + 20 +4.378062992125984 + 30 +0.0 + 10 +0.4471850393700788 + 20 +4.378062992125984 + 30 +0.0 + 10 +0.4439094488188977 + 20 +4.375645669291338 + 30 +0.0 + 10 +0.441492125984252 + 20 +4.371370078740157 + 30 +0.0 + 10 +0.4399094488188977 + 20 +4.365228346456693 + 30 +0.0 + 10 +0.4399094488188977 + 20 +4.365228346456693 + 30 +0.0 + 10 +0.4399094488188977 + 20 +4.365228346456693 + 30 +0.0 + 10 +0.4256023622047244 + 20 +4.367200787401575 + 30 +0.0 + 10 +0.4256023622047244 + 20 +4.367200787401575 + 30 +0.0 + 10 +0.4256023622047244 + 20 +4.367200787401575 + 30 +0.0 + 10 +0.4269094488188976 + 20 +4.373314960629921 + 30 +0.0 + 10 +0.4290472440944882 + 20 +4.378287401574803 + 30 +0.0 + 10 +0.4320196850393701 + 20 +4.382035433070866 + 30 +0.0 + 10 +0.4320196850393701 + 20 +4.382035433070866 + 30 +0.0 + 10 +0.434992125984252 + 20 +4.385814960629921 + 30 +0.0 + 10 +0.4393267716535433 + 20 +4.388728346456693 + 30 +0.0 + 10 +0.4449645669291338 + 20 +4.390755905511811 + 30 +0.0 + 10 +0.4449645669291338 + 20 +4.390755905511811 + 30 +0.0 + 10 +0.4506023622047244 + 20 +4.392787401574803 + 30 +0.0 + 10 +0.4571299212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.4645748031496063 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.4645748031496063 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.4719645669291339 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.4779370078740158 + 20 +4.392925196850394 + 30 +0.0 + 10 +0.4825472440944882 + 20 +4.391200787401575 + 30 +0.0 + 10 +0.4825472440944882 + 20 +4.391200787401575 + 30 +0.0 + 10 +0.4871574803149606 + 20 +4.389452755905512 + 30 +0.0 + 10 +0.4905472440944882 + 20 +4.387287401574803 + 30 +0.0 + 10 +0.492740157480315 + 20 +4.384645669291339 + 30 +0.0 + 10 +0.492740157480315 + 20 +4.384645669291339 + 30 +0.0 + 10 +0.4949094488188976 + 20 +4.382007874015748 + 30 +0.0 + 10 +0.4964094488188976 + 20 +4.378700787401574 + 30 +0.0 + 10 +0.4972952755905512 + 20 +4.374673228346457 + 30 +0.0 + 10 +0.4972952755905512 + 20 +4.374673228346457 + 30 +0.0 + 10 +0.4977677165354331 + 20 +4.372173228346456 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.367673228346456 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.361173228346456 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.361173228346456 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.361173228346456 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.341645669291339 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.341645669291339 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.341645669291339 + 30 +0.0 + 10 +0.4980196850393701 + 20 +4.328007874015748 + 30 +0.0 + 10 +0.4983228346456693 + 20 +4.319397637795276 + 30 +0.0 + 10 +0.4989645669291339 + 20 +4.315814960629921 + 30 +0.0 + 10 +0.4989645669291339 + 20 +4.315814960629921 + 30 +0.0 + 10 +0.4995748031496063 + 20 +4.312204724409449 + 30 +0.0 + 10 +0.5008228346456693 + 20 +4.308732283464566 + 30 +0.0 + 10 +0.5026574803149606 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.5026574803149606 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.5026574803149606 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4873503937007874 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4873503937007874 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4873503937007874 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.4858503937007874 + 20 +4.308452755905511 + 30 +0.0 + 10 +0.4848503937007874 + 20 +4.312007874015748 + 30 +0.0 + 10 +0.4844370078740157 + 20 +4.316090551181103 + 30 +0.0 + 0 +SPLINE + 5 +F5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4832125984251969 + 20 +4.348814960629921 + 30 +0.0 + 10 +0.4778818897637795 + 20 +4.34661811023622 + 30 +0.0 + 10 +0.4699094488188976 + 20 +4.344787401574803 + 30 +0.0 + 10 +0.4592952755905512 + 20 +4.343259842519685 + 30 +0.0 + 10 +0.4592952755905512 + 20 +4.343259842519685 + 30 +0.0 + 10 +0.4532677165354331 + 20 +4.342397637795275 + 30 +0.0 + 10 +0.448992125984252 + 20 +4.341425196850394 + 30 +0.0 + 10 +0.4465196850393701 + 20 +4.34034251968504 + 30 +0.0 + 10 +0.4465196850393701 + 20 +4.34034251968504 + 30 +0.0 + 10 +0.4440196850393701 + 20 +4.339259842519685 + 30 +0.0 + 10 +0.4420748031496063 + 20 +4.337673228346457 + 30 +0.0 + 10 +0.440740157480315 + 20 +4.335562992125984 + 30 +0.0 + 10 +0.440740157480315 + 20 +4.335562992125984 + 30 +0.0 + 10 +0.4393818897637795 + 20 +4.33348031496063 + 30 +0.0 + 10 +0.4386850393700787 + 20 +4.331173228346457 + 30 +0.0 + 10 +0.4386850393700787 + 20 +4.328618110236221 + 30 +0.0 + 10 +0.4386850393700787 + 20 +4.328618110236221 + 30 +0.0 + 10 +0.4386850393700787 + 20 +4.324704724409449 + 30 +0.0 + 10 +0.4401850393700787 + 20 +4.321452755905511 + 30 +0.0 + 10 +0.4431299212598425 + 20 +4.318842519685039 + 30 +0.0 + 10 +0.4431299212598425 + 20 +4.318842519685039 + 30 +0.0 + 10 +0.4460748031496063 + 20 +4.316259842519685 + 30 +0.0 + 10 +0.4504094488188977 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.4561023622047244 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.4561023622047244 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.4617401574803149 + 20 +4.314952755905511 + 30 +0.0 + 10 +0.4667677165354331 + 20 +4.316173228346456 + 30 +0.0 + 10 +0.4711574803149606 + 20 +4.318645669291339 + 30 +0.0 + 10 +0.4711574803149606 + 20 +4.318645669291339 + 30 +0.0 + 10 +0.4755472440944882 + 20 +4.32111811023622 + 30 +0.0 + 10 +0.4787952755905512 + 20 +4.324507874015748 + 30 +0.0 + 10 +0.4808503937007874 + 20 +4.328787401574803 + 30 +0.0 + 10 +0.4808503937007874 + 20 +4.328787401574803 + 30 +0.0 + 10 +0.4824370078740157 + 20 +4.332090551181103 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.33698031496063 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.343425196850394 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.343425196850394 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.343425196850394 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.348814960629921 + 30 +0.0 + 10 +0.4832125984251969 + 20 +4.348814960629921 + 30 +0.0 + 0 +SPLINE + 5 +F6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5148779527559055 + 20 +4.331232283464567 + 30 +0.0 + 10 +0.5148779527559055 + 20 +4.331232283464567 + 30 +0.0 + 10 +0.5293503937007874 + 20 +4.333507874015748 + 30 +0.0 + 10 +0.5293503937007874 + 20 +4.333507874015748 + 30 +0.0 + 10 +0.5293503937007874 + 20 +4.333507874015748 + 30 +0.0 + 10 +0.5301574803149607 + 20 +4.327704724409449 + 30 +0.0 + 10 +0.5324330708661418 + 20 +4.323259842519685 + 30 +0.0 + 10 +0.5361574803149606 + 20 +4.320145669291339 + 30 +0.0 + 10 +0.5361574803149606 + 20 +4.320145669291339 + 30 +0.0 + 10 +0.5398503937007874 + 20 +4.317062992125984 + 30 +0.0 + 10 +0.5450472440944882 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.5517401574803149 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.5517401574803149 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.5584606299212599 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.5634606299212599 + 20 +4.316897637795275 + 30 +0.0 + 10 +0.5667125984251968 + 20 +4.31961811023622 + 30 +0.0 + 10 +0.5667125984251968 + 20 +4.31961811023622 + 30 +0.0 + 10 +0.5699606299212598 + 20 +4.322370078740158 + 30 +0.0 + 10 +0.5716023622047244 + 20 +4.325590551181103 + 30 +0.0 + 10 +0.5716023622047244 + 20 +4.329259842519685 + 30 +0.0 + 10 +0.5716023622047244 + 20 +4.329259842519685 + 30 +0.0 + 10 +0.5716023622047244 + 20 +4.332590551181102 + 30 +0.0 + 10 +0.5701574803149606 + 20 +4.335173228346457 + 30 +0.0 + 10 +0.5672677165354331 + 20 +4.337090551181102 + 30 +0.0 + 10 +0.5672677165354331 + 20 +4.337090551181102 + 30 +0.0 + 10 +0.5652677165354331 + 20 +4.338397637795276 + 30 +0.0 + 10 +0.5602677165354331 + 20 +4.340035433070866 + 30 +0.0 + 10 +0.5522952755905511 + 20 +4.342035433070866 + 30 +0.0 + 10 +0.5522952755905511 + 20 +4.342035433070866 + 30 +0.0 + 10 +0.5415748031496063 + 20 +4.344759842519685 + 30 +0.0 + 10 +0.5341023622047244 + 20 +4.347090551181102 + 30 +0.0 + 10 +0.5299606299212598 + 20 +4.349090551181102 + 30 +0.0 + 10 +0.5299606299212598 + 20 +4.349090551181102 + 30 +0.0 + 10 +0.5258228346456693 + 20 +4.351062992125985 + 30 +0.0 + 10 +0.5226574803149606 + 20 +4.353814960629921 + 30 +0.0 + 10 +0.5205196850393701 + 20 +4.357314960629921 + 30 +0.0 + 10 +0.5205196850393701 + 20 +4.357314960629921 + 30 +0.0 + 10 +0.5183779527559055 + 20 +4.360814960629921 + 30 +0.0 + 10 +0.5172952755905512 + 20 +4.364673228346457 + 30 +0.0 + 10 +0.5172952755905512 + 20 +4.368897637795276 + 30 +0.0 + 10 +0.5172952755905512 + 20 +4.368897637795276 + 30 +0.0 + 10 +0.5172952755905512 + 20 +4.372759842519685 + 30 +0.0 + 10 +0.5181850393700788 + 20 +4.376314960629921 + 30 +0.0 + 10 +0.5199606299212598 + 20 +4.379590551181102 + 30 +0.0 + 10 +0.5199606299212598 + 20 +4.379590551181102 + 30 +0.0 + 10 +0.5217125984251969 + 20 +4.382897637795276 + 30 +0.0 + 10 +0.5241299212598425 + 20 +4.38561811023622 + 30 +0.0 + 10 +0.5271574803149607 + 20 +4.387787401574803 + 30 +0.0 + 10 +0.5271574803149607 + 20 +4.387787401574803 + 30 +0.0 + 10 +0.5294330708661418 + 20 +4.389452755905512 + 30 +0.0 + 10 +0.5325472440944882 + 20 +4.390897637795276 + 30 +0.0 + 10 +0.5364606299212599 + 20 +4.392062992125984 + 30 +0.0 + 10 +0.5364606299212599 + 20 +4.392062992125984 + 30 +0.0 + 10 +0.5404055118110236 + 20 +4.393228346456693 + 30 +0.0 + 10 +0.5446299212598426 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.5491299212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.5491299212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.5559055118110237 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.5618503937007874 + 20 +4.392814960629921 + 30 +0.0 + 10 +0.5669881889763779 + 20 +4.390870078740157 + 30 +0.0 + 10 +0.5669881889763779 + 20 +4.390870078740157 + 30 +0.0 + 10 +0.5721299212598425 + 20 +4.388925196850393 + 30 +0.0 + 10 +0.5759055118110237 + 20 +4.386287401574803 + 30 +0.0 + 10 +0.5783503937007874 + 20 +4.382952755905512 + 30 +0.0 + 10 +0.5783503937007874 + 20 +4.382952755905512 + 30 +0.0 + 10 +0.5807952755905512 + 20 +4.379590551181102 + 30 +0.0 + 10 +0.5824606299212598 + 20 +4.375145669291339 + 30 +0.0 + 10 +0.5833779527559055 + 20 +4.369562992125984 + 30 +0.0 + 10 +0.5833779527559055 + 20 +4.369562992125984 + 30 +0.0 + 10 +0.5833779527559055 + 20 +4.369562992125984 + 30 +0.0 + 10 +0.5690748031496063 + 20 +4.367590551181102 + 30 +0.0 + 10 +0.5690748031496063 + 20 +4.367590551181102 + 30 +0.0 + 10 +0.5690748031496063 + 20 +4.367590551181102 + 30 +0.0 + 10 +0.5684055118110236 + 20 +4.372035433070866 + 30 +0.0 + 10 +0.5665157480314961 + 20 +4.375507874015748 + 30 +0.0 + 10 +0.5634055118110236 + 20 +4.378007874015748 + 30 +0.0 + 10 +0.5634055118110236 + 20 +4.378007874015748 + 30 +0.0 + 10 +0.5602952755905511 + 20 +4.380507874015748 + 30 +0.0 + 10 +0.5558779527559055 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.5501850393700788 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.5501850393700788 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.5434606299212599 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.5386574803149606 + 20 +4.380645669291338 + 30 +0.0 + 10 +0.5357952755905512 + 20 +4.378425196850394 + 30 +0.0 + 10 +0.5357952755905512 + 20 +4.378425196850394 + 30 +0.0 + 10 +0.5329055118110236 + 20 +4.376200787401575 + 30 +0.0 + 10 +0.5314606299212599 + 20 +4.373590551181103 + 30 +0.0 + 10 +0.5314606299212599 + 20 +4.37061811023622 + 30 +0.0 + 10 +0.5314606299212599 + 20 +4.37061811023622 + 30 +0.0 + 10 +0.5314606299212599 + 20 +4.368700787401575 + 30 +0.0 + 10 +0.5320748031496063 + 20 +4.367007874015748 + 30 +0.0 + 10 +0.533267716535433 + 20 +4.36548031496063 + 30 +0.0 + 10 +0.533267716535433 + 20 +4.36548031496063 + 30 +0.0 + 10 +0.5344606299212599 + 20 +4.363897637795276 + 30 +0.0 + 10 +0.5363228346456693 + 20 +4.36261811023622 + 30 +0.0 + 10 +0.5388779527559056 + 20 +4.361562992125984 + 30 +0.0 + 10 +0.5388779527559056 + 20 +4.361562992125984 + 30 +0.0 + 10 +0.5403503937007874 + 20 +4.361035433070866 + 30 +0.0 + 10 +0.5446574803149606 + 20 +4.359787401574803 + 30 +0.0 + 10 +0.5518228346456693 + 20 +4.35784251968504 + 30 +0.0 + 10 +0.5518228346456693 + 20 +4.35784251968504 + 30 +0.0 + 10 +0.5621850393700787 + 20 +4.355062992125984 + 30 +0.0 + 10 +0.5694055118110236 + 20 +4.352814960629921 + 30 +0.0 + 10 +0.573488188976378 + 20 +4.351035433070866 + 30 +0.0 + 10 +0.573488188976378 + 20 +4.351035433070866 + 30 +0.0 + 10 +0.5776023622047244 + 20 +4.349287401574803 + 30 +0.0 + 10 +0.5808228346456693 + 20 +4.346700787401574 + 30 +0.0 + 10 +0.5831574803149606 + 20 +4.34334251968504 + 30 +0.0 + 10 +0.5831574803149606 + 20 +4.34334251968504 + 30 +0.0 + 10 +0.585488188976378 + 20 +4.33998031496063 + 30 +0.0 + 10 +0.5866574803149607 + 20 +4.335814960629921 + 30 +0.0 + 10 +0.5866574803149607 + 20 +4.330814960629922 + 30 +0.0 + 10 +0.5866574803149607 + 20 +4.330814960629922 + 30 +0.0 + 10 +0.5866574803149607 + 20 +4.325925196850394 + 30 +0.0 + 10 +0.5852125984251968 + 20 +4.321342519685039 + 30 +0.0 + 10 +0.5823779527559055 + 20 +4.317007874015748 + 30 +0.0 + 10 +0.5823779527559055 + 20 +4.317007874015748 + 30 +0.0 + 10 +0.5795157480314961 + 20 +4.312704724409449 + 30 +0.0 + 10 +0.5754055118110236 + 20 +4.309370078740158 + 30 +0.0 + 10 +0.5700433070866142 + 20 +4.307007874015748 + 30 +0.0 + 10 +0.5700433070866142 + 20 +4.307007874015748 + 30 +0.0 + 10 +0.5646850393700787 + 20 +4.304645669291339 + 30 +0.0 + 10 +0.5586023622047244 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.5518228346456693 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.5518228346456693 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.5405748031496063 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.53201968503937 + 20 +4.305814960629921 + 30 +0.0 + 10 +0.5261299212598425 + 20 +4.31048031496063 + 30 +0.0 + 10 +0.5261299212598425 + 20 +4.31048031496063 + 30 +0.0 + 10 +0.5202401574803149 + 20 +4.315145669291339 + 30 +0.0 + 10 +0.5164881889763779 + 20 +4.322062992125984 + 30 +0.0 + 10 +0.5148779527559055 + 20 +4.331232283464567 + 30 +0.0 + 0 +SPLINE + 5 +F7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5986023622047244 + 20 +4.348645669291338 + 30 +0.0 + 10 +0.5986023622047244 + 20 +4.364645669291338 + 30 +0.0 + 10 +0.6030472440944882 + 20 +4.376507874015748 + 30 +0.0 + 10 +0.6119645669291338 + 20 +4.384200787401575 + 30 +0.0 + 10 +0.6119645669291338 + 20 +4.384200787401575 + 30 +0.0 + 10 +0.6193818897637795 + 20 +4.390590551181102 + 30 +0.0 + 10 +0.6284370078740158 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.6510196850393701 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.660740157480315 + 20 +4.389925196850394 + 30 +0.0 + 10 +0.668267716535433 + 20 +4.38211811023622 + 30 +0.0 + 10 +0.668267716535433 + 20 +4.38211811023622 + 30 +0.0 + 10 +0.6758228346456693 + 20 +4.374342519685039 + 30 +0.0 + 10 +0.6795748031496063 + 20 +4.363590551181102 + 30 +0.0 + 10 +0.6795748031496063 + 20 +4.349870078740158 + 30 +0.0 + 10 +0.6795748031496063 + 20 +4.349870078740158 + 30 +0.0 + 10 +0.6795748031496063 + 20 +4.338732283464567 + 30 +0.0 + 10 +0.6779055118110237 + 20 +4.32998031496063 + 30 +0.0 + 10 +0.6745748031496063 + 20 +4.323618110236221 + 30 +0.0 + 10 +0.6745748031496063 + 20 +4.323618110236221 + 30 +0.0 + 10 +0.671240157480315 + 20 +4.317232283464567 + 30 +0.0 + 10 +0.6663779527559055 + 20 +4.312287401574803 + 30 +0.0 + 10 +0.66001968503937 + 20 +4.308759842519685 + 30 +0.0 + 10 +0.66001968503937 + 20 +4.308759842519685 + 30 +0.0 + 10 +0.6536299212598425 + 20 +4.305232283464567 + 30 +0.0 + 10 +0.6466850393700787 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.6270472440944882 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.6172677165354331 + 20 +4.307342519685039 + 30 +0.0 + 10 +0.6097952755905511 + 20 +4.31511811023622 + 30 +0.0 + 10 +0.6097952755905511 + 20 +4.31511811023622 + 30 +0.0 + 10 +0.6023228346456693 + 20 +4.322870078740157 + 30 +0.0 + 10 +0.5986023622047244 + 20 +4.334035433070866 + 30 +0.0 + 10 +0.5986023622047244 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +F8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.6136574803149606 + 20 +4.348645669291338 + 30 +0.0 + 10 +0.6136574803149606 + 20 +4.337562992125984 + 30 +0.0 + 10 +0.6160748031496063 + 20 +4.329287401574804 + 30 +0.0 + 10 +0.6209094488188976 + 20 +4.323787401574803 + 30 +0.0 + 10 +0.6209094488188976 + 20 +4.323787401574803 + 30 +0.0 + 10 +0.625740157480315 + 20 +4.318259842519685 + 30 +0.0 + 10 +0.6318228346456692 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.6464094488188976 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.6524645669291339 + 20 +4.318287401574803 + 30 +0.0 + 10 +0.6572952755905512 + 20 +4.323814960629921 + 30 +0.0 + 10 +0.6572952755905512 + 20 +4.323814960629921 + 30 +0.0 + 10 +0.6621023622047244 + 20 +4.329342519685039 + 30 +0.0 + 10 +0.6645196850393701 + 20 +4.337787401574803 + 30 +0.0 + 10 +0.6645196850393701 + 20 +4.349118110236221 + 30 +0.0 + 10 +0.6645196850393701 + 20 +4.349118110236221 + 30 +0.0 + 10 +0.6645196850393701 + 20 +4.359814960629921 + 30 +0.0 + 10 +0.6621023622047244 + 20 +4.367925196850393 + 30 +0.0 + 10 +0.657240157480315 + 20 +4.373425196850394 + 30 +0.0 + 10 +0.657240157480315 + 20 +4.373425196850394 + 30 +0.0 + 10 +0.6523779527559055 + 20 +4.378925196850393 + 30 +0.0 + 10 +0.6463503937007874 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.6391299212598425 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.6318228346456692 + 20 +4.381673228346457 + 30 +0.0 + 10 +0.625740157480315 + 20 +4.378925196850393 + 30 +0.0 + 10 +0.6209094488188976 + 20 +4.373452755905512 + 30 +0.0 + 10 +0.6209094488188976 + 20 +4.373452755905512 + 30 +0.0 + 10 +0.6160748031496063 + 20 +4.36798031496063 + 30 +0.0 + 10 +0.6136574803149606 + 20 +4.359700787401575 + 30 +0.0 + 10 +0.6136574803149606 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +F9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.6967677165354331 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.379562992125984 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.379562992125984 + 30 +0.0 + 10 +0.7099330708661418 + 20 +4.379562992125984 + 30 +0.0 + 10 +0.7162952755905512 + 20 +4.389062992125984 + 30 +0.0 + 10 +0.7254606299212598 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.7374330708661417 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.7374330708661417 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.7426574803149606 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.7474330708661417 + 20 +4.392870078740158 + 30 +0.0 + 10 +0.7517952755905511 + 20 +4.391007874015748 + 30 +0.0 + 10 +0.7517952755905511 + 20 +4.391007874015748 + 30 +0.0 + 10 +0.7561850393700787 + 20 +4.389118110236221 + 30 +0.0 + 10 +0.7594330708661418 + 20 +4.386673228346456 + 30 +0.0 + 10 +0.7616023622047244 + 20 +4.38361811023622 + 30 +0.0 + 10 +0.7616023622047244 + 20 +4.38361811023622 + 30 +0.0 + 10 +0.7637952755905512 + 20 +4.380590551181102 + 30 +0.0 + 10 +0.7652952755905512 + 20 +4.37698031496063 + 30 +0.0 + 10 +0.7661850393700788 + 20 +4.372814960629921 + 30 +0.0 + 10 +0.7661850393700788 + 20 +4.372814960629921 + 30 +0.0 + 10 +0.7667125984251969 + 20 +4.370090551181103 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.365342519685039 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.358562992125984 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.358562992125984 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.358562992125984 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.766988188976378 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.358007874015748 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.358007874015748 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.358007874015748 + 30 +0.0 + 10 +0.7523228346456693 + 20 +4.363952755905512 + 30 +0.0 + 10 +0.7517677165354331 + 20 +4.368425196850394 + 30 +0.0 + 10 +0.7506299212598425 + 20 +4.371397637795275 + 30 +0.0 + 10 +0.7506299212598425 + 20 +4.371397637795275 + 30 +0.0 + 10 +0.7494881889763779 + 20 +4.374342519685039 + 30 +0.0 + 10 +0.7474606299212598 + 20 +4.376700787401575 + 30 +0.0 + 10 +0.7445708661417323 + 20 +4.378452755905512 + 30 +0.0 + 10 +0.7445708661417323 + 20 +4.378452755905512 + 30 +0.0 + 10 +0.7416574803149606 + 20 +4.380228346456693 + 30 +0.0 + 10 +0.7382677165354331 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.7343503937007874 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.7343503937007874 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.7281023622047245 + 20 +4.381118110236221 + 30 +0.0 + 10 +0.722740157480315 + 20 +4.37911811023622 + 30 +0.0 + 10 +0.7181850393700787 + 20 +4.375173228346457 + 30 +0.0 + 10 +0.7181850393700787 + 20 +4.375173228346457 + 30 +0.0 + 10 +0.7136574803149607 + 20 +4.371200787401575 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.363700787401575 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.352618110236221 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.352618110236221 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.352618110236221 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.7114055118110236 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.6967677165354331 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +FA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.789515748031496 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.424728346456693 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.407870078740157 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.407870078740157 + 30 +0.0 + 0 +SPLINE + 5 +FB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.789515748031496 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.8041811023622047 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.305425196850393 + 30 +0.0 + 10 +0.789515748031496 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +FC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8828779527559055 + 20 +4.337090551181102 + 30 +0.0 + 10 +0.8828779527559055 + 20 +4.337090551181102 + 30 +0.0 + 10 +0.8972637795275591 + 20 +4.335200787401575 + 30 +0.0 + 10 +0.8972637795275591 + 20 +4.335200787401575 + 30 +0.0 + 10 +0.8972637795275591 + 20 +4.335200787401575 + 30 +0.0 + 10 +0.8957086614173229 + 20 +4.325287401574803 + 30 +0.0 + 10 +0.8916811023622048 + 20 +4.317507874015748 + 30 +0.0 + 10 +0.8851811023622047 + 20 +4.311897637795275 + 30 +0.0 + 10 +0.8851811023622047 + 20 +4.311897637795275 + 30 +0.0 + 10 +0.8787086614173228 + 20 +4.306287401574803 + 30 +0.0 + 10 +0.8707362204724409 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.8612952755905512 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.8612952755905512 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.8494881889763779 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.8399606299212599 + 20 +4.307342519685039 + 30 +0.0 + 10 +0.8327952755905512 + 20 +4.315062992125984 + 30 +0.0 + 10 +0.8327952755905512 + 20 +4.315062992125984 + 30 +0.0 + 10 +0.8255984251968503 + 20 +4.322787401574804 + 30 +0.0 + 10 +0.8219881889763779 + 20 +4.333870078740158 + 30 +0.0 + 10 +0.8219881889763779 + 20 +4.348314960629922 + 30 +0.0 + 10 +0.8219881889763779 + 20 +4.348314960629922 + 30 +0.0 + 10 +0.8219881889763779 + 20 +4.357645669291339 + 30 +0.0 + 10 +0.8235433070866142 + 20 +4.365814960629922 + 30 +0.0 + 10 +0.8266259842519685 + 20 +4.372814960629921 + 30 +0.0 + 10 +0.8266259842519685 + 20 +4.372814960629921 + 30 +0.0 + 10 +0.829736220472441 + 20 +4.379814960629921 + 30 +0.0 + 10 +0.8344330708661417 + 20 +4.385062992125984 + 30 +0.0 + 10 +0.840767716535433 + 20 +4.388562992125984 + 30 +0.0 + 10 +0.840767716535433 + 20 +4.388562992125984 + 30 +0.0 + 10 +0.8470708661417323 + 20 +4.392062992125984 + 30 +0.0 + 10 +0.8539606299212599 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.8613779527559056 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.8613779527559056 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.870763779527559 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.8784606299212598 + 20 +4.391425196850394 + 30 +0.0 + 10 +0.8844055118110237 + 20 +4.386673228346456 + 30 +0.0 + 10 +0.8844055118110237 + 20 +4.386673228346456 + 30 +0.0 + 10 +0.8903779527559055 + 20 +4.381925196850394 + 30 +0.0 + 10 +0.8942086614173228 + 20 +4.375200787401575 + 30 +0.0 + 10 +0.8959055118110236 + 20 +4.366452755905512 + 30 +0.0 + 10 +0.8959055118110236 + 20 +4.366452755905512 + 30 +0.0 + 10 +0.8959055118110236 + 20 +4.366452755905512 + 30 +0.0 + 10 +0.8816535433070866 + 20 +4.364259842519685 + 30 +0.0 + 10 +0.8816535433070866 + 20 +4.364259842519685 + 30 +0.0 + 10 +0.8816535433070866 + 20 +4.364259842519685 + 30 +0.0 + 10 +0.8802913385826772 + 20 +4.370062992125984 + 30 +0.0 + 10 +0.8779055118110236 + 20 +4.374425196850393 + 30 +0.0 + 10 +0.8744606299212598 + 20 +4.377370078740157 + 30 +0.0 + 10 +0.8744606299212598 + 20 +4.377370078740157 + 30 +0.0 + 10 +0.8710157480314961 + 20 +4.380287401574803 + 30 +0.0 + 10 +0.8668503937007874 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.8619606299212599 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.8619606299212599 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.8545708661417323 + 20 +4.381759842519685 + 30 +0.0 + 10 +0.8485708661417323 + 20 +4.37911811023622 + 30 +0.0 + 10 +0.8439606299212599 + 20 +4.373814960629922 + 30 +0.0 + 10 +0.8439606299212599 + 20 +4.373814960629922 + 30 +0.0 + 10 +0.8393503937007875 + 20 +4.368535433070866 + 30 +0.0 + 10 +0.8370433070866141 + 20 +4.360173228346457 + 30 +0.0 + 10 +0.8370433070866141 + 20 +4.348732283464567 + 30 +0.0 + 10 +0.8370433070866141 + 20 +4.348732283464567 + 30 +0.0 + 10 +0.8370433070866141 + 20 +4.33711811023622 + 30 +0.0 + 10 +0.8392677165354331 + 20 +4.328673228346457 + 30 +0.0 + 10 +0.8437362204724409 + 20 +4.323397637795275 + 30 +0.0 + 10 +0.8437362204724409 + 20 +4.323397637795275 + 30 +0.0 + 10 +0.8481811023622047 + 20 +4.318145669291338 + 30 +0.0 + 10 +0.853988188976378 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.8611535433070866 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.8611535433070866 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.8669055118110236 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.8716811023622048 + 20 +4.317287401574803 + 30 +0.0 + 10 +0.8755433070866142 + 20 +4.320814960629921 + 30 +0.0 + 10 +0.8755433070866142 + 20 +4.320814960629921 + 30 +0.0 + 10 +0.8794055118110237 + 20 +4.32434251968504 + 30 +0.0 + 10 +0.8818503937007874 + 20 +4.329759842519685 + 30 +0.0 + 10 +0.8828779527559055 + 20 +4.337090551181102 + 30 +0.0 + 0 +SPLINE + 5 +FD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8988228346456693 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.8988228346456693 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.9334055118110236 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9334055118110236 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9334055118110236 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9334055118110236 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9451299212598425 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9451299212598425 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9451299212598425 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9451299212598425 + 20 +4.426755905511811 + 30 +0.0 + 10 +0.9106299212598425 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.9106299212598425 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.9106299212598425 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.9106299212598425 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.8988228346456693 + 20 +4.303397637795276 + 30 +0.0 + 10 +0.8988228346456693 + 20 +4.303397637795276 + 30 +0.0 + 0 +SPLINE + 5 +FE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9561299212598425 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.391842519685039 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.38061811023622 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.38061811023622 + 30 +0.0 + 10 +0.9694645669291339 + 20 +4.38061811023622 + 30 +0.0 + 10 +0.9726023622047244 + 20 +4.385007874015748 + 30 +0.0 + 10 +0.9761574803149606 + 20 +4.388314960629922 + 30 +0.0 + 10 +0.9801299212598426 + 20 +4.390507874015748 + 30 +0.0 + 10 +0.9801299212598426 + 20 +4.390507874015748 + 30 +0.0 + 10 +0.9840748031496063 + 20 +4.392700787401575 + 30 +0.0 + 10 +0.9888779527559055 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.99451968503937 + 20 +4.393814960629921 + 30 +0.0 + 10 +0.99451968503937 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.001905511811024 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.008405511811024 + 20 +4.391897637795275 + 30 +0.0 + 10 +1.014047244094488 + 20 +4.388118110236221 + 30 +0.0 + 10 +1.014047244094488 + 20 +4.388118110236221 + 30 +0.0 + 10 +1.019712598425197 + 20 +4.384314960629921 + 30 +0.0 + 10 +1.023964566929134 + 20 +4.378952755905511 + 30 +0.0 + 10 +1.026822834645669 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.026822834645669 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.029712598425197 + 20 +4.365118110236221 + 30 +0.0 + 10 +1.031157480314961 + 20 +4.357535433070866 + 30 +0.0 + 10 +1.031157480314961 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.031157480314961 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.031157480314961 + 20 +4.340452755905511 + 30 +0.0 + 10 +1.029574803149606 + 20 +4.33248031496063 + 30 +0.0 + 10 +1.026377952755906 + 20 +4.325397637795276 + 30 +0.0 + 10 +1.026377952755906 + 20 +4.325397637795276 + 30 +0.0 + 10 +1.023212598425197 + 20 +4.318314960629921 + 30 +0.0 + 10 +1.018602362204724 + 20 +4.312897637795276 + 30 +0.0 + 10 +1.012547244094488 + 20 +4.309118110236221 + 30 +0.0 + 10 +1.012547244094488 + 20 +4.309118110236221 + 30 +0.0 + 10 +1.006492125984252 + 20 +4.305370078740157 + 30 +0.0 + 10 +1.000129921259842 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.9934645669291339 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.9934645669291339 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.9885748031496063 + 20 +4.30348031496063 + 30 +0.0 + 10 +0.9842125984251968 + 20 +4.304507874015748 + 30 +0.0 + 10 +0.9803228346456693 + 20 +4.306562992125984 + 30 +0.0 + 10 +0.9803228346456693 + 20 +4.306562992125984 + 30 +0.0 + 10 +0.9764370078740158 + 20 +4.30861811023622 + 30 +0.0 + 10 +0.9732677165354331 + 20 +4.311232283464567 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.314370078740158 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.314370078740158 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.314370078740158 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.970767716535433 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.272314960629921 + 30 +0.0 + 10 +0.9561299212598425 + 20 +4.272314960629921 + 30 +0.0 + 0 +SPLINE + 5 +FF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9693779527559055 + 20 +4.348145669291338 + 30 +0.0 + 10 +0.9693779527559055 + 20 +4.337035433070866 + 30 +0.0 + 10 +0.9716299212598425 + 20 +4.328814960629921 + 30 +0.0 + 10 +0.9761299212598425 + 20 +4.32348031496063 + 30 +0.0 + 10 +0.9761299212598425 + 20 +4.32348031496063 + 30 +0.0 + 10 +0.9806299212598425 + 20 +4.318173228346457 + 30 +0.0 + 10 +0.9861023622047244 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.992492125984252 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.992492125984252 + 20 +4.315507874015748 + 30 +0.0 + 10 +0.998992125984252 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.004574803149606 + 20 +4.318259842519685 + 30 +0.0 + 10 +1.009212598425197 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.009212598425197 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.013850393700787 + 20 +4.329287401574804 + 30 +0.0 + 10 +1.016185039370079 + 20 +4.337814960629921 + 30 +0.0 + 10 +1.016185039370079 + 20 +4.349370078740158 + 30 +0.0 + 10 +1.016185039370079 + 20 +4.349370078740158 + 30 +0.0 + 10 +1.016185039370079 + 20 +4.360397637795276 + 30 +0.0 + 10 +1.013905511811024 + 20 +4.368618110236221 + 30 +0.0 + 10 +1.009377952755905 + 20 +4.37411811023622 + 30 +0.0 + 10 +1.009377952755905 + 20 +4.37411811023622 + 30 +0.0 + 10 +1.004850393700787 + 20 +4.379590551181102 + 30 +0.0 + 10 +0.9994370078740158 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.9931574803149607 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.9931574803149607 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.9869055118110236 + 20 +4.382342519685039 + 30 +0.0 + 10 +0.9813779527559056 + 20 +4.379425196850394 + 30 +0.0 + 10 +0.9765748031496063 + 20 +4.373590551181103 + 30 +0.0 + 10 +0.9765748031496063 + 20 +4.373590551181103 + 30 +0.0 + 10 +0.971767716535433 + 20 +4.367759842519685 + 30 +0.0 + 10 +0.9693779527559055 + 20 +4.359259842519685 + 30 +0.0 + 10 +0.9693779527559055 + 20 +4.348145669291338 + 30 +0.0 + 0 +SPLINE + 5 +100 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.105212598425197 + 20 +4.316090551181103 + 30 +0.0 + 10 +1.099767716535433 + 20 +4.31148031496063 + 30 +0.0 + 10 +1.094543307086614 + 20 +4.308232283464567 + 30 +0.0 + 10 +1.089543307086614 + 20 +4.306314960629921 + 30 +0.0 + 10 +1.089543307086614 + 20 +4.306314960629921 + 30 +0.0 + 10 +1.084515748031496 + 20 +4.304425196850394 + 30 +0.0 + 10 +1.079129921259842 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.073377952755906 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.073377952755906 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.063877952755905 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.056602362204724 + 20 +4.305787401574803 + 30 +0.0 + 10 +1.051488188976378 + 20 +4.310425196850393 + 30 +0.0 + 10 +1.051488188976378 + 20 +4.310425196850393 + 30 +0.0 + 10 +1.046405511811024 + 20 +4.315062992125984 + 30 +0.0 + 10 +1.043850393700787 + 20 +4.321007874015748 + 30 +0.0 + 10 +1.043850393700787 + 20 +4.328204724409449 + 30 +0.0 + 10 +1.043850393700787 + 20 +4.328204724409449 + 30 +0.0 + 10 +1.043850393700787 + 20 +4.332452755905511 + 30 +0.0 + 10 +1.044795275590551 + 20 +4.336314960629921 + 30 +0.0 + 10 +1.046740157480315 + 20 +4.339814960629921 + 30 +0.0 + 10 +1.046740157480315 + 20 +4.339814960629921 + 30 +0.0 + 10 +1.048657480314961 + 20 +4.343314960629921 + 30 +0.0 + 10 +1.051185039370079 + 20 +4.346118110236221 + 30 +0.0 + 10 +1.054295275590551 + 20 +4.348232283464567 + 30 +0.0 + 10 +1.054295275590551 + 20 +4.348232283464567 + 30 +0.0 + 10 +1.057433070866142 + 20 +4.350342519685039 + 30 +0.0 + 10 +1.060933070866142 + 20 +4.351952755905512 + 30 +0.0 + 10 +1.064850393700787 + 20 +4.353035433070866 + 30 +0.0 + 10 +1.064850393700787 + 20 +4.353035433070866 + 30 +0.0 + 10 +1.067712598425197 + 20 +4.353787401574803 + 30 +0.0 + 10 +1.072043307086614 + 20 +4.354535433070867 + 30 +0.0 + 10 +1.077850393700788 + 20 +4.355232283464567 + 30 +0.0 + 10 +1.077850393700788 + 20 +4.355232283464567 + 30 +0.0 + 10 +1.089685039370079 + 20 +4.356645669291338 + 30 +0.0 + 10 +1.098405511811024 + 20 +4.358314960629921 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.360287401574803 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.360287401574803 + 30 +0.0 + 10 +1.104043307086614 + 20 +4.362287401574803 + 30 +0.0 + 10 +1.104070866141732 + 20 +4.363562992125984 + 30 +0.0 + 10 +1.104070866141732 + 20 +4.364090551181103 + 30 +0.0 + 10 +1.104070866141732 + 20 +4.364090551181103 + 30 +0.0 + 10 +1.104070866141732 + 20 +4.370062992125984 + 30 +0.0 + 10 +1.102685039370079 + 20 +4.374287401574803 + 30 +0.0 + 10 +1.099905511811024 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.099905511811024 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.096185039370079 + 20 +4.380035433070866 + 30 +0.0 + 10 +1.09059842519685 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.083240157480315 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.083240157480315 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.076350393700787 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.071267716535433 + 20 +4.38048031496063 + 30 +0.0 + 10 +1.06796062992126 + 20 +4.378062992125984 + 30 +0.0 + 10 +1.06796062992126 + 20 +4.378062992125984 + 30 +0.0 + 10 +1.064685039370079 + 20 +4.375645669291338 + 30 +0.0 + 10 +1.062267716535433 + 20 +4.371370078740157 + 30 +0.0 + 10 +1.060685039370079 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.060685039370079 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.060685039370079 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.046377952755906 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.046377952755906 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.046377952755906 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.047685039370079 + 20 +4.373314960629921 + 30 +0.0 + 10 +1.049822834645669 + 20 +4.378287401574803 + 30 +0.0 + 10 +1.052795275590551 + 20 +4.382035433070866 + 30 +0.0 + 10 +1.052795275590551 + 20 +4.382035433070866 + 30 +0.0 + 10 +1.055767716535433 + 20 +4.385814960629921 + 30 +0.0 + 10 +1.060102362204724 + 20 +4.388728346456693 + 30 +0.0 + 10 +1.065740157480315 + 20 +4.390755905511811 + 30 +0.0 + 10 +1.065740157480315 + 20 +4.390755905511811 + 30 +0.0 + 10 +1.071377952755906 + 20 +4.392787401574803 + 30 +0.0 + 10 +1.077905511811024 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.085350393700787 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.085350393700787 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.092740157480315 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.098712598425197 + 20 +4.392925196850394 + 30 +0.0 + 10 +1.103322834645669 + 20 +4.391200787401575 + 30 +0.0 + 10 +1.103322834645669 + 20 +4.391200787401575 + 30 +0.0 + 10 +1.107933070866142 + 20 +4.389452755905512 + 30 +0.0 + 10 +1.111322834645669 + 20 +4.387287401574803 + 30 +0.0 + 10 +1.113515748031496 + 20 +4.384645669291339 + 30 +0.0 + 10 +1.113515748031496 + 20 +4.384645669291339 + 30 +0.0 + 10 +1.115685039370079 + 20 +4.382007874015748 + 30 +0.0 + 10 +1.117185039370079 + 20 +4.378700787401574 + 30 +0.0 + 10 +1.118070866141732 + 20 +4.374673228346457 + 30 +0.0 + 10 +1.118070866141732 + 20 +4.374673228346457 + 30 +0.0 + 10 +1.118543307086614 + 20 +4.372173228346456 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.367673228346456 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.118795275590551 + 20 +4.328007874015748 + 30 +0.0 + 10 +1.11909842519685 + 20 +4.319397637795276 + 30 +0.0 + 10 +1.119740157480315 + 20 +4.315814960629921 + 30 +0.0 + 10 +1.119740157480315 + 20 +4.315814960629921 + 30 +0.0 + 10 +1.120350393700787 + 20 +4.312204724409449 + 30 +0.0 + 10 +1.12159842519685 + 20 +4.308732283464566 + 30 +0.0 + 10 +1.123433070866142 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.123433070866142 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.123433070866142 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.108125984251968 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.108125984251968 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.108125984251968 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.106625984251969 + 20 +4.308452755905511 + 30 +0.0 + 10 +1.105625984251968 + 20 +4.312007874015748 + 30 +0.0 + 10 +1.105212598425197 + 20 +4.316090551181103 + 30 +0.0 + 0 +SPLINE + 5 +101 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.103988188976378 + 20 +4.348814960629921 + 30 +0.0 + 10 +1.098657480314961 + 20 +4.34661811023622 + 30 +0.0 + 10 +1.090685039370079 + 20 +4.344787401574803 + 30 +0.0 + 10 +1.080070866141732 + 20 +4.343259842519685 + 30 +0.0 + 10 +1.080070866141732 + 20 +4.343259842519685 + 30 +0.0 + 10 +1.074043307086614 + 20 +4.342397637795275 + 30 +0.0 + 10 +1.069767716535433 + 20 +4.341425196850394 + 30 +0.0 + 10 +1.067295275590551 + 20 +4.34034251968504 + 30 +0.0 + 10 +1.067295275590551 + 20 +4.34034251968504 + 30 +0.0 + 10 +1.064795275590551 + 20 +4.339259842519685 + 30 +0.0 + 10 +1.062850393700787 + 20 +4.337673228346457 + 30 +0.0 + 10 +1.061515748031496 + 20 +4.335562992125984 + 30 +0.0 + 10 +1.061515748031496 + 20 +4.335562992125984 + 30 +0.0 + 10 +1.060157480314961 + 20 +4.33348031496063 + 30 +0.0 + 10 +1.05946062992126 + 20 +4.331173228346457 + 30 +0.0 + 10 +1.05946062992126 + 20 +4.328618110236221 + 30 +0.0 + 10 +1.05946062992126 + 20 +4.328618110236221 + 30 +0.0 + 10 +1.05946062992126 + 20 +4.324704724409449 + 30 +0.0 + 10 +1.06096062992126 + 20 +4.321452755905511 + 30 +0.0 + 10 +1.063905511811024 + 20 +4.318842519685039 + 30 +0.0 + 10 +1.063905511811024 + 20 +4.318842519685039 + 30 +0.0 + 10 +1.066850393700787 + 20 +4.316259842519685 + 30 +0.0 + 10 +1.071185039370079 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.076877952755906 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.076877952755906 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.082515748031496 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.087543307086614 + 20 +4.316173228346456 + 30 +0.0 + 10 +1.091933070866142 + 20 +4.318645669291339 + 30 +0.0 + 10 +1.091933070866142 + 20 +4.318645669291339 + 30 +0.0 + 10 +1.096322834645669 + 20 +4.32111811023622 + 30 +0.0 + 10 +1.099570866141732 + 20 +4.324507874015748 + 30 +0.0 + 10 +1.101625984251968 + 20 +4.328787401574803 + 30 +0.0 + 10 +1.101625984251968 + 20 +4.328787401574803 + 30 +0.0 + 10 +1.103212598425197 + 20 +4.332090551181103 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.33698031496063 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.348814960629921 + 30 +0.0 + 10 +1.103988188976378 + 20 +4.348814960629921 + 30 +0.0 + 0 +SPLINE + 5 +102 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.141515748031496 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.379562992125984 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.379562992125984 + 30 +0.0 + 10 +1.154681102362205 + 20 +4.379562992125984 + 30 +0.0 + 10 +1.161043307086614 + 20 +4.389062992125984 + 30 +0.0 + 10 +1.170208661417323 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.182181102362205 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.182181102362205 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.187405511811024 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.192181102362205 + 20 +4.392870078740158 + 30 +0.0 + 10 +1.196543307086614 + 20 +4.391007874015748 + 30 +0.0 + 10 +1.196543307086614 + 20 +4.391007874015748 + 30 +0.0 + 10 +1.200933070866142 + 20 +4.389118110236221 + 30 +0.0 + 10 +1.204181102362205 + 20 +4.386673228346456 + 30 +0.0 + 10 +1.206350393700787 + 20 +4.38361811023622 + 30 +0.0 + 10 +1.206350393700787 + 20 +4.38361811023622 + 30 +0.0 + 10 +1.208543307086614 + 20 +4.380590551181102 + 30 +0.0 + 10 +1.210043307086614 + 20 +4.37698031496063 + 30 +0.0 + 10 +1.210933070866142 + 20 +4.372814960629921 + 30 +0.0 + 10 +1.210933070866142 + 20 +4.372814960629921 + 30 +0.0 + 10 +1.21146062992126 + 20 +4.370090551181103 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.365342519685039 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.358562992125984 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.358562992125984 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.358562992125984 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.211736220472441 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.358007874015748 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.358007874015748 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.358007874015748 + 30 +0.0 + 10 +1.197070866141732 + 20 +4.363952755905512 + 30 +0.0 + 10 +1.196515748031496 + 20 +4.368425196850394 + 30 +0.0 + 10 +1.195377952755905 + 20 +4.371397637795275 + 30 +0.0 + 10 +1.195377952755905 + 20 +4.371397637795275 + 30 +0.0 + 10 +1.194236220472441 + 20 +4.374342519685039 + 30 +0.0 + 10 +1.192208661417323 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.189318897637795 + 20 +4.378452755905512 + 30 +0.0 + 10 +1.189318897637795 + 20 +4.378452755905512 + 30 +0.0 + 10 +1.186405511811024 + 20 +4.380228346456693 + 30 +0.0 + 10 +1.183015748031496 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.17909842519685 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.17909842519685 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.172850393700787 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.167488188976378 + 20 +4.37911811023622 + 30 +0.0 + 10 +1.162933070866142 + 20 +4.375173228346457 + 30 +0.0 + 10 +1.162933070866142 + 20 +4.375173228346457 + 30 +0.0 + 10 +1.158405511811024 + 20 +4.371200787401575 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.363700787401575 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.352618110236221 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.352618110236221 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.352618110236221 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.156153543307087 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.141515748031496 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +103 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.29059842519685 + 20 +4.316090551181103 + 30 +0.0 + 10 +1.285153543307087 + 20 +4.31148031496063 + 30 +0.0 + 10 +1.279929133858268 + 20 +4.308232283464567 + 30 +0.0 + 10 +1.274929133858268 + 20 +4.306314960629921 + 30 +0.0 + 10 +1.274929133858268 + 20 +4.306314960629921 + 30 +0.0 + 10 +1.26990157480315 + 20 +4.304425196850394 + 30 +0.0 + 10 +1.264515748031496 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.258763779527559 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.258763779527559 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.249263779527559 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.241988188976378 + 20 +4.305787401574803 + 30 +0.0 + 10 +1.236874015748032 + 20 +4.310425196850393 + 30 +0.0 + 10 +1.236874015748032 + 20 +4.310425196850393 + 30 +0.0 + 10 +1.231791338582677 + 20 +4.315062992125984 + 30 +0.0 + 10 +1.229236220472441 + 20 +4.321007874015748 + 30 +0.0 + 10 +1.229236220472441 + 20 +4.328204724409449 + 30 +0.0 + 10 +1.229236220472441 + 20 +4.328204724409449 + 30 +0.0 + 10 +1.229236220472441 + 20 +4.332452755905511 + 30 +0.0 + 10 +1.230181102362205 + 20 +4.336314960629921 + 30 +0.0 + 10 +1.232125984251969 + 20 +4.339814960629921 + 30 +0.0 + 10 +1.232125984251969 + 20 +4.339814960629921 + 30 +0.0 + 10 +1.234043307086614 + 20 +4.343314960629921 + 30 +0.0 + 10 +1.236570866141732 + 20 +4.346118110236221 + 30 +0.0 + 10 +1.239681102362205 + 20 +4.348232283464567 + 30 +0.0 + 10 +1.239681102362205 + 20 +4.348232283464567 + 30 +0.0 + 10 +1.242818897637795 + 20 +4.350342519685039 + 30 +0.0 + 10 +1.246318897637795 + 20 +4.351952755905512 + 30 +0.0 + 10 +1.250236220472441 + 20 +4.353035433070866 + 30 +0.0 + 10 +1.250236220472441 + 20 +4.353035433070866 + 30 +0.0 + 10 +1.25309842519685 + 20 +4.353787401574803 + 30 +0.0 + 10 +1.257429133858268 + 20 +4.354535433070867 + 30 +0.0 + 10 +1.263236220472441 + 20 +4.355232283464567 + 30 +0.0 + 10 +1.263236220472441 + 20 +4.355232283464567 + 30 +0.0 + 10 +1.275070866141732 + 20 +4.356645669291338 + 30 +0.0 + 10 +1.283791338582677 + 20 +4.358314960629921 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.360287401574803 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.360287401574803 + 30 +0.0 + 10 +1.289429133858268 + 20 +4.362287401574803 + 30 +0.0 + 10 +1.289456692913386 + 20 +4.363562992125984 + 30 +0.0 + 10 +1.289456692913386 + 20 +4.364090551181103 + 30 +0.0 + 10 +1.289456692913386 + 20 +4.364090551181103 + 30 +0.0 + 10 +1.289456692913386 + 20 +4.370062992125984 + 30 +0.0 + 10 +1.288070866141732 + 20 +4.374287401574803 + 30 +0.0 + 10 +1.285291338582677 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.285291338582677 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.281570866141732 + 20 +4.380035433070866 + 30 +0.0 + 10 +1.275984251968504 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.268625984251968 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.268625984251968 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.261736220472441 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.256653543307087 + 20 +4.38048031496063 + 30 +0.0 + 10 +1.253346456692913 + 20 +4.378062992125984 + 30 +0.0 + 10 +1.253346456692913 + 20 +4.378062992125984 + 30 +0.0 + 10 +1.250070866141732 + 20 +4.375645669291338 + 30 +0.0 + 10 +1.247653543307087 + 20 +4.371370078740157 + 30 +0.0 + 10 +1.246070866141732 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.246070866141732 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.246070866141732 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.231763779527559 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.231763779527559 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.231763779527559 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.233070866141732 + 20 +4.373314960629921 + 30 +0.0 + 10 +1.235208661417323 + 20 +4.378287401574803 + 30 +0.0 + 10 +1.238181102362205 + 20 +4.382035433070866 + 30 +0.0 + 10 +1.238181102362205 + 20 +4.382035433070866 + 30 +0.0 + 10 +1.241153543307087 + 20 +4.385814960629921 + 30 +0.0 + 10 +1.245488188976378 + 20 +4.388728346456693 + 30 +0.0 + 10 +1.251125984251968 + 20 +4.390755905511811 + 30 +0.0 + 10 +1.251125984251968 + 20 +4.390755905511811 + 30 +0.0 + 10 +1.256763779527559 + 20 +4.392787401574803 + 30 +0.0 + 10 +1.263291338582677 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.270736220472441 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.270736220472441 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.278125984251969 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.28409842519685 + 20 +4.392925196850394 + 30 +0.0 + 10 +1.288708661417323 + 20 +4.391200787401575 + 30 +0.0 + 10 +1.288708661417323 + 20 +4.391200787401575 + 30 +0.0 + 10 +1.293318897637795 + 20 +4.389452755905512 + 30 +0.0 + 10 +1.296708661417323 + 20 +4.387287401574803 + 30 +0.0 + 10 +1.29890157480315 + 20 +4.384645669291339 + 30 +0.0 + 10 +1.29890157480315 + 20 +4.384645669291339 + 30 +0.0 + 10 +1.301070866141732 + 20 +4.382007874015748 + 30 +0.0 + 10 +1.302570866141732 + 20 +4.378700787401574 + 30 +0.0 + 10 +1.303456692913386 + 20 +4.374673228346457 + 30 +0.0 + 10 +1.303456692913386 + 20 +4.374673228346457 + 30 +0.0 + 10 +1.303929133858268 + 20 +4.372173228346456 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.367673228346456 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.304181102362205 + 20 +4.328007874015748 + 30 +0.0 + 10 +1.304484251968504 + 20 +4.319397637795276 + 30 +0.0 + 10 +1.305125984251968 + 20 +4.315814960629921 + 30 +0.0 + 10 +1.305125984251968 + 20 +4.315814960629921 + 30 +0.0 + 10 +1.305736220472441 + 20 +4.312204724409449 + 30 +0.0 + 10 +1.306984251968504 + 20 +4.308732283464566 + 30 +0.0 + 10 +1.308818897637795 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.308818897637795 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.308818897637795 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.293511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.293511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.293511811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.292011811023622 + 20 +4.308452755905511 + 30 +0.0 + 10 +1.291011811023622 + 20 +4.312007874015748 + 30 +0.0 + 10 +1.29059842519685 + 20 +4.316090551181103 + 30 +0.0 + 0 +SPLINE + 5 +104 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.289374015748032 + 20 +4.348814960629921 + 30 +0.0 + 10 +1.284043307086614 + 20 +4.34661811023622 + 30 +0.0 + 10 +1.276070866141732 + 20 +4.344787401574803 + 30 +0.0 + 10 +1.265456692913386 + 20 +4.343259842519685 + 30 +0.0 + 10 +1.265456692913386 + 20 +4.343259842519685 + 30 +0.0 + 10 +1.259429133858268 + 20 +4.342397637795275 + 30 +0.0 + 10 +1.255153543307087 + 20 +4.341425196850394 + 30 +0.0 + 10 +1.252681102362205 + 20 +4.34034251968504 + 30 +0.0 + 10 +1.252681102362205 + 20 +4.34034251968504 + 30 +0.0 + 10 +1.250181102362205 + 20 +4.339259842519685 + 30 +0.0 + 10 +1.248236220472441 + 20 +4.337673228346457 + 30 +0.0 + 10 +1.24690157480315 + 20 +4.335562992125984 + 30 +0.0 + 10 +1.24690157480315 + 20 +4.335562992125984 + 30 +0.0 + 10 +1.245543307086614 + 20 +4.33348031496063 + 30 +0.0 + 10 +1.244846456692913 + 20 +4.331173228346457 + 30 +0.0 + 10 +1.244846456692913 + 20 +4.328618110236221 + 30 +0.0 + 10 +1.244846456692913 + 20 +4.328618110236221 + 30 +0.0 + 10 +1.244846456692913 + 20 +4.324704724409449 + 30 +0.0 + 10 +1.246346456692913 + 20 +4.321452755905511 + 30 +0.0 + 10 +1.249291338582677 + 20 +4.318842519685039 + 30 +0.0 + 10 +1.249291338582677 + 20 +4.318842519685039 + 30 +0.0 + 10 +1.252236220472441 + 20 +4.316259842519685 + 30 +0.0 + 10 +1.256570866141732 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.262263779527559 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.262263779527559 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.26790157480315 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.272929133858268 + 20 +4.316173228346456 + 30 +0.0 + 10 +1.277318897637795 + 20 +4.318645669291339 + 30 +0.0 + 10 +1.277318897637795 + 20 +4.318645669291339 + 30 +0.0 + 10 +1.281708661417323 + 20 +4.32111811023622 + 30 +0.0 + 10 +1.284956692913386 + 20 +4.324507874015748 + 30 +0.0 + 10 +1.287011811023622 + 20 +4.328787401574803 + 30 +0.0 + 10 +1.287011811023622 + 20 +4.328787401574803 + 30 +0.0 + 10 +1.28859842519685 + 20 +4.332090551181103 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.33698031496063 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.348814960629921 + 30 +0.0 + 10 +1.289374015748032 + 20 +4.348814960629921 + 30 +0.0 + 0 +SPLINE + 5 +105 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.32103937007874 + 20 +4.331232283464567 + 30 +0.0 + 10 +1.32103937007874 + 20 +4.331232283464567 + 30 +0.0 + 10 +1.335511811023622 + 20 +4.333507874015748 + 30 +0.0 + 10 +1.335511811023622 + 20 +4.333507874015748 + 30 +0.0 + 10 +1.335511811023622 + 20 +4.333507874015748 + 30 +0.0 + 10 +1.336318897637795 + 20 +4.327704724409449 + 30 +0.0 + 10 +1.338594488188976 + 20 +4.323259842519685 + 30 +0.0 + 10 +1.342318897637795 + 20 +4.320145669291339 + 30 +0.0 + 10 +1.342318897637795 + 20 +4.320145669291339 + 30 +0.0 + 10 +1.346011811023622 + 20 +4.317062992125984 + 30 +0.0 + 10 +1.351208661417323 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.35790157480315 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.35790157480315 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.364622047244094 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.369622047244095 + 20 +4.316897637795275 + 30 +0.0 + 10 +1.372874015748031 + 20 +4.31961811023622 + 30 +0.0 + 10 +1.372874015748031 + 20 +4.31961811023622 + 30 +0.0 + 10 +1.376122047244094 + 20 +4.322370078740158 + 30 +0.0 + 10 +1.377763779527559 + 20 +4.325590551181103 + 30 +0.0 + 10 +1.377763779527559 + 20 +4.329259842519685 + 30 +0.0 + 10 +1.377763779527559 + 20 +4.329259842519685 + 30 +0.0 + 10 +1.377763779527559 + 20 +4.332590551181102 + 30 +0.0 + 10 +1.376318897637795 + 20 +4.335173228346457 + 30 +0.0 + 10 +1.373429133858268 + 20 +4.337090551181102 + 30 +0.0 + 10 +1.373429133858268 + 20 +4.337090551181102 + 30 +0.0 + 10 +1.371429133858268 + 20 +4.338397637795276 + 30 +0.0 + 10 +1.366429133858268 + 20 +4.340035433070866 + 30 +0.0 + 10 +1.358456692913386 + 20 +4.342035433070866 + 30 +0.0 + 10 +1.358456692913386 + 20 +4.342035433070866 + 30 +0.0 + 10 +1.347736220472441 + 20 +4.344759842519685 + 30 +0.0 + 10 +1.340263779527559 + 20 +4.347090551181102 + 30 +0.0 + 10 +1.336122047244094 + 20 +4.349090551181102 + 30 +0.0 + 10 +1.336122047244094 + 20 +4.349090551181102 + 30 +0.0 + 10 +1.331984251968504 + 20 +4.351062992125985 + 30 +0.0 + 10 +1.328818897637795 + 20 +4.353814960629921 + 30 +0.0 + 10 +1.326681102362205 + 20 +4.357314960629921 + 30 +0.0 + 10 +1.326681102362205 + 20 +4.357314960629921 + 30 +0.0 + 10 +1.32453937007874 + 20 +4.360814960629921 + 30 +0.0 + 10 +1.323456692913386 + 20 +4.364673228346457 + 30 +0.0 + 10 +1.323456692913386 + 20 +4.368897637795276 + 30 +0.0 + 10 +1.323456692913386 + 20 +4.368897637795276 + 30 +0.0 + 10 +1.323456692913386 + 20 +4.372759842519685 + 30 +0.0 + 10 +1.324346456692913 + 20 +4.376314960629921 + 30 +0.0 + 10 +1.326122047244094 + 20 +4.379590551181102 + 30 +0.0 + 10 +1.326122047244094 + 20 +4.379590551181102 + 30 +0.0 + 10 +1.327874015748032 + 20 +4.382897637795276 + 30 +0.0 + 10 +1.330291338582677 + 20 +4.38561811023622 + 30 +0.0 + 10 +1.333318897637795 + 20 +4.387787401574803 + 30 +0.0 + 10 +1.333318897637795 + 20 +4.387787401574803 + 30 +0.0 + 10 +1.335594488188976 + 20 +4.389452755905512 + 30 +0.0 + 10 +1.338708661417323 + 20 +4.390897637795276 + 30 +0.0 + 10 +1.342622047244094 + 20 +4.392062992125984 + 30 +0.0 + 10 +1.342622047244094 + 20 +4.392062992125984 + 30 +0.0 + 10 +1.346566929133858 + 20 +4.393228346456693 + 30 +0.0 + 10 +1.350791338582677 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.355291338582677 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.355291338582677 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.362066929133858 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.368011811023622 + 20 +4.392814960629921 + 30 +0.0 + 10 +1.373149606299213 + 20 +4.390870078740157 + 30 +0.0 + 10 +1.373149606299213 + 20 +4.390870078740157 + 30 +0.0 + 10 +1.378291338582677 + 20 +4.388925196850393 + 30 +0.0 + 10 +1.382066929133858 + 20 +4.386287401574803 + 30 +0.0 + 10 +1.384511811023622 + 20 +4.382952755905512 + 30 +0.0 + 10 +1.384511811023622 + 20 +4.382952755905512 + 30 +0.0 + 10 +1.386956692913386 + 20 +4.379590551181102 + 30 +0.0 + 10 +1.388622047244094 + 20 +4.375145669291339 + 30 +0.0 + 10 +1.38953937007874 + 20 +4.369562992125984 + 30 +0.0 + 10 +1.38953937007874 + 20 +4.369562992125984 + 30 +0.0 + 10 +1.38953937007874 + 20 +4.369562992125984 + 30 +0.0 + 10 +1.375236220472441 + 20 +4.367590551181102 + 30 +0.0 + 10 +1.375236220472441 + 20 +4.367590551181102 + 30 +0.0 + 10 +1.375236220472441 + 20 +4.367590551181102 + 30 +0.0 + 10 +1.374566929133858 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.372677165354331 + 20 +4.375507874015748 + 30 +0.0 + 10 +1.369566929133858 + 20 +4.378007874015748 + 30 +0.0 + 10 +1.369566929133858 + 20 +4.378007874015748 + 30 +0.0 + 10 +1.366456692913386 + 20 +4.380507874015748 + 30 +0.0 + 10 +1.36203937007874 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.356346456692913 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.356346456692913 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.349622047244095 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.344818897637795 + 20 +4.380645669291338 + 30 +0.0 + 10 +1.341956692913386 + 20 +4.378425196850394 + 30 +0.0 + 10 +1.341956692913386 + 20 +4.378425196850394 + 30 +0.0 + 10 +1.339066929133858 + 20 +4.376200787401575 + 30 +0.0 + 10 +1.337622047244095 + 20 +4.373590551181103 + 30 +0.0 + 10 +1.337622047244095 + 20 +4.37061811023622 + 30 +0.0 + 10 +1.337622047244095 + 20 +4.37061811023622 + 30 +0.0 + 10 +1.337622047244095 + 20 +4.368700787401575 + 30 +0.0 + 10 +1.338236220472441 + 20 +4.367007874015748 + 30 +0.0 + 10 +1.339429133858268 + 20 +4.36548031496063 + 30 +0.0 + 10 +1.339429133858268 + 20 +4.36548031496063 + 30 +0.0 + 10 +1.340622047244094 + 20 +4.363897637795276 + 30 +0.0 + 10 +1.342484251968504 + 20 +4.36261811023622 + 30 +0.0 + 10 +1.34503937007874 + 20 +4.361562992125984 + 30 +0.0 + 10 +1.34503937007874 + 20 +4.361562992125984 + 30 +0.0 + 10 +1.346511811023622 + 20 +4.361035433070866 + 30 +0.0 + 10 +1.350818897637795 + 20 +4.359787401574803 + 30 +0.0 + 10 +1.357984251968504 + 20 +4.35784251968504 + 30 +0.0 + 10 +1.357984251968504 + 20 +4.35784251968504 + 30 +0.0 + 10 +1.368346456692913 + 20 +4.355062992125984 + 30 +0.0 + 10 +1.375566929133858 + 20 +4.352814960629921 + 30 +0.0 + 10 +1.379649606299213 + 20 +4.351035433070866 + 30 +0.0 + 10 +1.379649606299213 + 20 +4.351035433070866 + 30 +0.0 + 10 +1.383763779527559 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.386984251968504 + 20 +4.346700787401574 + 30 +0.0 + 10 +1.389318897637795 + 20 +4.34334251968504 + 30 +0.0 + 10 +1.389318897637795 + 20 +4.34334251968504 + 30 +0.0 + 10 +1.391649606299213 + 20 +4.33998031496063 + 30 +0.0 + 10 +1.392818897637795 + 20 +4.335814960629921 + 30 +0.0 + 10 +1.392818897637795 + 20 +4.330814960629922 + 30 +0.0 + 10 +1.392818897637795 + 20 +4.330814960629922 + 30 +0.0 + 10 +1.392818897637795 + 20 +4.325925196850394 + 30 +0.0 + 10 +1.391374015748031 + 20 +4.321342519685039 + 30 +0.0 + 10 +1.38853937007874 + 20 +4.317007874015748 + 30 +0.0 + 10 +1.38853937007874 + 20 +4.317007874015748 + 30 +0.0 + 10 +1.385677165354331 + 20 +4.312704724409449 + 30 +0.0 + 10 +1.381566929133858 + 20 +4.309370078740158 + 30 +0.0 + 10 +1.376204724409449 + 20 +4.307007874015748 + 30 +0.0 + 10 +1.376204724409449 + 20 +4.307007874015748 + 30 +0.0 + 10 +1.370846456692913 + 20 +4.304645669291339 + 30 +0.0 + 10 +1.364763779527559 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.357984251968504 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.357984251968504 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.346736220472441 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.338181102362205 + 20 +4.305814960629921 + 30 +0.0 + 10 +1.332291338582677 + 20 +4.31048031496063 + 30 +0.0 + 10 +1.332291338582677 + 20 +4.31048031496063 + 30 +0.0 + 10 +1.32640157480315 + 20 +4.315145669291339 + 30 +0.0 + 10 +1.322649606299213 + 20 +4.322062992125984 + 30 +0.0 + 10 +1.32103937007874 + 20 +4.331232283464567 + 30 +0.0 + 0 +SPLINE + 5 +106 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.404763779527559 + 20 +4.348645669291338 + 30 +0.0 + 10 +1.404763779527559 + 20 +4.364645669291338 + 30 +0.0 + 10 +1.409208661417323 + 20 +4.376507874015748 + 30 +0.0 + 10 +1.418125984251968 + 20 +4.384200787401575 + 30 +0.0 + 10 +1.418125984251968 + 20 +4.384200787401575 + 30 +0.0 + 10 +1.425543307086614 + 20 +4.390590551181102 + 30 +0.0 + 10 +1.43459842519685 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.457181102362205 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.46690157480315 + 20 +4.389925196850394 + 30 +0.0 + 10 +1.474429133858268 + 20 +4.38211811023622 + 30 +0.0 + 10 +1.474429133858268 + 20 +4.38211811023622 + 30 +0.0 + 10 +1.481984251968504 + 20 +4.374342519685039 + 30 +0.0 + 10 +1.485736220472441 + 20 +4.363590551181102 + 30 +0.0 + 10 +1.485736220472441 + 20 +4.349870078740158 + 30 +0.0 + 10 +1.485736220472441 + 20 +4.349870078740158 + 30 +0.0 + 10 +1.485736220472441 + 20 +4.338732283464567 + 30 +0.0 + 10 +1.484066929133858 + 20 +4.32998031496063 + 30 +0.0 + 10 +1.480736220472441 + 20 +4.323618110236221 + 30 +0.0 + 10 +1.480736220472441 + 20 +4.323618110236221 + 30 +0.0 + 10 +1.47740157480315 + 20 +4.317232283464567 + 30 +0.0 + 10 +1.47253937007874 + 20 +4.312287401574803 + 30 +0.0 + 10 +1.466181102362205 + 20 +4.308759842519685 + 30 +0.0 + 10 +1.466181102362205 + 20 +4.308759842519685 + 30 +0.0 + 10 +1.459791338582677 + 20 +4.305232283464567 + 30 +0.0 + 10 +1.452846456692913 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.433208661417323 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.423429133858268 + 20 +4.307342519685039 + 30 +0.0 + 10 +1.415956692913386 + 20 +4.31511811023622 + 30 +0.0 + 10 +1.415956692913386 + 20 +4.31511811023622 + 30 +0.0 + 10 +1.408484251968504 + 20 +4.322870078740157 + 30 +0.0 + 10 +1.404763779527559 + 20 +4.334035433070866 + 30 +0.0 + 10 +1.404763779527559 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +107 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.419818897637795 + 20 +4.348645669291338 + 30 +0.0 + 10 +1.419818897637795 + 20 +4.337562992125984 + 30 +0.0 + 10 +1.422236220472441 + 20 +4.329287401574804 + 30 +0.0 + 10 +1.427070866141732 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.427070866141732 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.43190157480315 + 20 +4.318259842519685 + 30 +0.0 + 10 +1.437984251968504 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.452570866141732 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.458625984251968 + 20 +4.318287401574803 + 30 +0.0 + 10 +1.463456692913386 + 20 +4.323814960629921 + 30 +0.0 + 10 +1.463456692913386 + 20 +4.323814960629921 + 30 +0.0 + 10 +1.468263779527559 + 20 +4.329342519685039 + 30 +0.0 + 10 +1.470681102362205 + 20 +4.337787401574803 + 30 +0.0 + 10 +1.470681102362205 + 20 +4.349118110236221 + 30 +0.0 + 10 +1.470681102362205 + 20 +4.349118110236221 + 30 +0.0 + 10 +1.470681102362205 + 20 +4.359814960629921 + 30 +0.0 + 10 +1.468263779527559 + 20 +4.367925196850393 + 30 +0.0 + 10 +1.46340157480315 + 20 +4.373425196850394 + 30 +0.0 + 10 +1.46340157480315 + 20 +4.373425196850394 + 30 +0.0 + 10 +1.45853937007874 + 20 +4.378925196850393 + 30 +0.0 + 10 +1.452511811023622 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.445291338582677 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.437984251968504 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.43190157480315 + 20 +4.378925196850393 + 30 +0.0 + 10 +1.427070866141732 + 20 +4.373452755905512 + 30 +0.0 + 10 +1.427070866141732 + 20 +4.373452755905512 + 30 +0.0 + 10 +1.422236220472441 + 20 +4.36798031496063 + 30 +0.0 + 10 +1.419818897637795 + 20 +4.359700787401575 + 30 +0.0 + 10 +1.419818897637795 + 20 +4.348645669291338 + 30 +0.0 + 0 +SPLINE + 5 +108 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.502929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.379562992125984 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.379562992125984 + 30 +0.0 + 10 +1.516094488188976 + 20 +4.379562992125984 + 30 +0.0 + 10 +1.522456692913386 + 20 +4.389062992125984 + 30 +0.0 + 10 +1.531622047244094 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.543594488188976 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.543594488188976 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.548818897637795 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.553594488188976 + 20 +4.392870078740158 + 30 +0.0 + 10 +1.557956692913386 + 20 +4.391007874015748 + 30 +0.0 + 10 +1.557956692913386 + 20 +4.391007874015748 + 30 +0.0 + 10 +1.562346456692913 + 20 +4.389118110236221 + 30 +0.0 + 10 +1.565594488188976 + 20 +4.386673228346456 + 30 +0.0 + 10 +1.567763779527559 + 20 +4.38361811023622 + 30 +0.0 + 10 +1.567763779527559 + 20 +4.38361811023622 + 30 +0.0 + 10 +1.569956692913386 + 20 +4.380590551181102 + 30 +0.0 + 10 +1.571456692913386 + 20 +4.37698031496063 + 30 +0.0 + 10 +1.572346456692913 + 20 +4.372814960629921 + 30 +0.0 + 10 +1.572346456692913 + 20 +4.372814960629921 + 30 +0.0 + 10 +1.572874015748031 + 20 +4.370090551181103 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.365342519685039 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.358562992125984 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.358562992125984 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.358562992125984 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.573149606299213 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.358007874015748 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.358007874015748 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.358007874015748 + 30 +0.0 + 10 +1.558484251968504 + 20 +4.363952755905512 + 30 +0.0 + 10 +1.557929133858268 + 20 +4.368425196850394 + 30 +0.0 + 10 +1.556791338582677 + 20 +4.371397637795275 + 30 +0.0 + 10 +1.556791338582677 + 20 +4.371397637795275 + 30 +0.0 + 10 +1.555649606299213 + 20 +4.374342519685039 + 30 +0.0 + 10 +1.553622047244094 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.550732283464567 + 20 +4.378452755905512 + 30 +0.0 + 10 +1.550732283464567 + 20 +4.378452755905512 + 30 +0.0 + 10 +1.547818897637795 + 20 +4.380228346456693 + 30 +0.0 + 10 +1.544429133858268 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.540511811023622 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.540511811023622 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.534263779527559 + 20 +4.381118110236221 + 30 +0.0 + 10 +1.52890157480315 + 20 +4.37911811023622 + 30 +0.0 + 10 +1.524346456692913 + 20 +4.375173228346457 + 30 +0.0 + 10 +1.524346456692913 + 20 +4.375173228346457 + 30 +0.0 + 10 +1.519818897637795 + 20 +4.371200787401575 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.363700787401575 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.352618110236221 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.352618110236221 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.352618110236221 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.517566929133858 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.502929133858268 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +109 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.595677165354331 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.407870078740157 + 30 +0.0 + 0 +SPLINE + 5 +10A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.595677165354331 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.610342519685039 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.595677165354331 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +10B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.68903937007874 + 20 +4.337090551181102 + 30 +0.0 + 10 +1.68903937007874 + 20 +4.337090551181102 + 30 +0.0 + 10 +1.703425196850394 + 20 +4.335200787401575 + 30 +0.0 + 10 +1.703425196850394 + 20 +4.335200787401575 + 30 +0.0 + 10 +1.703425196850394 + 20 +4.335200787401575 + 30 +0.0 + 10 +1.701870078740157 + 20 +4.325287401574803 + 30 +0.0 + 10 +1.697842519685039 + 20 +4.317507874015748 + 30 +0.0 + 10 +1.691342519685039 + 20 +4.311897637795275 + 30 +0.0 + 10 +1.691342519685039 + 20 +4.311897637795275 + 30 +0.0 + 10 +1.684870078740157 + 20 +4.306287401574803 + 30 +0.0 + 10 +1.676897637795276 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.667456692913386 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.667456692913386 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.655649606299213 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.646122047244094 + 20 +4.307342519685039 + 30 +0.0 + 10 +1.638956692913386 + 20 +4.315062992125984 + 30 +0.0 + 10 +1.638956692913386 + 20 +4.315062992125984 + 30 +0.0 + 10 +1.631759842519685 + 20 +4.322787401574804 + 30 +0.0 + 10 +1.628149606299213 + 20 +4.333870078740158 + 30 +0.0 + 10 +1.628149606299213 + 20 +4.348314960629922 + 30 +0.0 + 10 +1.628149606299213 + 20 +4.348314960629922 + 30 +0.0 + 10 +1.628149606299213 + 20 +4.357645669291339 + 30 +0.0 + 10 +1.629704724409449 + 20 +4.365814960629922 + 30 +0.0 + 10 +1.632787401574803 + 20 +4.372814960629921 + 30 +0.0 + 10 +1.632787401574803 + 20 +4.372814960629921 + 30 +0.0 + 10 +1.635897637795276 + 20 +4.379814960629921 + 30 +0.0 + 10 +1.640594488188976 + 20 +4.385062992125984 + 30 +0.0 + 10 +1.646929133858268 + 20 +4.388562992125984 + 30 +0.0 + 10 +1.646929133858268 + 20 +4.388562992125984 + 30 +0.0 + 10 +1.653232283464567 + 20 +4.392062992125984 + 30 +0.0 + 10 +1.660122047244095 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.66753937007874 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.66753937007874 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.676925196850394 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.684622047244094 + 20 +4.391425196850394 + 30 +0.0 + 10 +1.690566929133858 + 20 +4.386673228346456 + 30 +0.0 + 10 +1.690566929133858 + 20 +4.386673228346456 + 30 +0.0 + 10 +1.69653937007874 + 20 +4.381925196850394 + 30 +0.0 + 10 +1.700370078740157 + 20 +4.375200787401575 + 30 +0.0 + 10 +1.702066929133858 + 20 +4.366452755905512 + 30 +0.0 + 10 +1.702066929133858 + 20 +4.366452755905512 + 30 +0.0 + 10 +1.702066929133858 + 20 +4.366452755905512 + 30 +0.0 + 10 +1.687814960629921 + 20 +4.364259842519685 + 30 +0.0 + 10 +1.687814960629921 + 20 +4.364259842519685 + 30 +0.0 + 10 +1.687814960629921 + 20 +4.364259842519685 + 30 +0.0 + 10 +1.686452755905512 + 20 +4.370062992125984 + 30 +0.0 + 10 +1.684066929133858 + 20 +4.374425196850393 + 30 +0.0 + 10 +1.680622047244094 + 20 +4.377370078740157 + 30 +0.0 + 10 +1.680622047244094 + 20 +4.377370078740157 + 30 +0.0 + 10 +1.677177165354331 + 20 +4.380287401574803 + 30 +0.0 + 10 +1.673011811023622 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.668122047244095 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.668122047244095 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.660732283464567 + 20 +4.381759842519685 + 30 +0.0 + 10 +1.654732283464567 + 20 +4.37911811023622 + 30 +0.0 + 10 +1.650122047244095 + 20 +4.373814960629922 + 30 +0.0 + 10 +1.650122047244095 + 20 +4.373814960629922 + 30 +0.0 + 10 +1.645511811023622 + 20 +4.368535433070866 + 30 +0.0 + 10 +1.643204724409449 + 20 +4.360173228346457 + 30 +0.0 + 10 +1.643204724409449 + 20 +4.348732283464567 + 30 +0.0 + 10 +1.643204724409449 + 20 +4.348732283464567 + 30 +0.0 + 10 +1.643204724409449 + 20 +4.33711811023622 + 30 +0.0 + 10 +1.645429133858268 + 20 +4.328673228346457 + 30 +0.0 + 10 +1.649897637795276 + 20 +4.323397637795275 + 30 +0.0 + 10 +1.649897637795276 + 20 +4.323397637795275 + 30 +0.0 + 10 +1.654342519685039 + 20 +4.318145669291338 + 30 +0.0 + 10 +1.660149606299212 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.667314960629921 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.667314960629921 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.673066929133858 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.677842519685039 + 20 +4.317287401574803 + 30 +0.0 + 10 +1.681704724409449 + 20 +4.320814960629921 + 30 +0.0 + 10 +1.681704724409449 + 20 +4.320814960629921 + 30 +0.0 + 10 +1.685566929133858 + 20 +4.32434251968504 + 30 +0.0 + 10 +1.688011811023622 + 20 +4.329759842519685 + 30 +0.0 + 10 +1.68903937007874 + 20 +4.337090551181102 + 30 +0.0 + 0 +SPLINE + 5 +10C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.715984251968504 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.38061811023622 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.38061811023622 + 30 +0.0 + 10 +1.729318897637795 + 20 +4.38061811023622 + 30 +0.0 + 10 +1.732456692913386 + 20 +4.385007874015748 + 30 +0.0 + 10 +1.736011811023622 + 20 +4.388314960629922 + 30 +0.0 + 10 +1.739984251968504 + 20 +4.390507874015748 + 30 +0.0 + 10 +1.739984251968504 + 20 +4.390507874015748 + 30 +0.0 + 10 +1.743929133858268 + 20 +4.392700787401575 + 30 +0.0 + 10 +1.748732283464567 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.754374015748031 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.754374015748031 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.761759842519685 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.768259842519685 + 20 +4.391897637795275 + 30 +0.0 + 10 +1.77390157480315 + 20 +4.388118110236221 + 30 +0.0 + 10 +1.77390157480315 + 20 +4.388118110236221 + 30 +0.0 + 10 +1.779566929133858 + 20 +4.384314960629921 + 30 +0.0 + 10 +1.783818897637795 + 20 +4.378952755905511 + 30 +0.0 + 10 +1.786677165354331 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.786677165354331 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.789566929133858 + 20 +4.365118110236221 + 30 +0.0 + 10 +1.791011811023622 + 20 +4.357535433070866 + 30 +0.0 + 10 +1.791011811023622 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.791011811023622 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.791011811023622 + 20 +4.340452755905511 + 30 +0.0 + 10 +1.789429133858268 + 20 +4.33248031496063 + 30 +0.0 + 10 +1.786232283464567 + 20 +4.325397637795276 + 30 +0.0 + 10 +1.786232283464567 + 20 +4.325397637795276 + 30 +0.0 + 10 +1.783066929133858 + 20 +4.318314960629921 + 30 +0.0 + 10 +1.778456692913386 + 20 +4.312897637795276 + 30 +0.0 + 10 +1.77240157480315 + 20 +4.309118110236221 + 30 +0.0 + 10 +1.77240157480315 + 20 +4.309118110236221 + 30 +0.0 + 10 +1.766346456692913 + 20 +4.305370078740157 + 30 +0.0 + 10 +1.759984251968504 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.753318897637795 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.753318897637795 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.748429133858268 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.744066929133858 + 20 +4.304507874015748 + 30 +0.0 + 10 +1.740177165354331 + 20 +4.306562992125984 + 30 +0.0 + 10 +1.740177165354331 + 20 +4.306562992125984 + 30 +0.0 + 10 +1.736291338582677 + 20 +4.30861811023622 + 30 +0.0 + 10 +1.733122047244094 + 20 +4.311232283464567 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.314370078740158 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.314370078740158 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.314370078740158 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.730622047244095 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.715984251968504 + 20 +4.272314960629921 + 30 +0.0 + 0 +SPLINE + 5 +10D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.729232283464567 + 20 +4.348145669291338 + 30 +0.0 + 10 +1.729232283464567 + 20 +4.337035433070866 + 30 +0.0 + 10 +1.731484251968504 + 20 +4.328814960629921 + 30 +0.0 + 10 +1.735984251968504 + 20 +4.32348031496063 + 30 +0.0 + 10 +1.735984251968504 + 20 +4.32348031496063 + 30 +0.0 + 10 +1.740484251968504 + 20 +4.318173228346457 + 30 +0.0 + 10 +1.745956692913386 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.752346456692913 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.752346456692913 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.758846456692913 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.764429133858268 + 20 +4.318259842519685 + 30 +0.0 + 10 +1.769066929133858 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.769066929133858 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.773704724409449 + 20 +4.329287401574804 + 30 +0.0 + 10 +1.77603937007874 + 20 +4.337814960629921 + 30 +0.0 + 10 +1.77603937007874 + 20 +4.349370078740158 + 30 +0.0 + 10 +1.77603937007874 + 20 +4.349370078740158 + 30 +0.0 + 10 +1.77603937007874 + 20 +4.360397637795276 + 30 +0.0 + 10 +1.773759842519685 + 20 +4.368618110236221 + 30 +0.0 + 10 +1.769232283464567 + 20 +4.37411811023622 + 30 +0.0 + 10 +1.769232283464567 + 20 +4.37411811023622 + 30 +0.0 + 10 +1.764704724409449 + 20 +4.379590551181102 + 30 +0.0 + 10 +1.759291338582677 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.753011811023622 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.753011811023622 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.746759842519685 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.741232283464567 + 20 +4.379425196850394 + 30 +0.0 + 10 +1.736429133858268 + 20 +4.373590551181103 + 30 +0.0 + 10 +1.736429133858268 + 20 +4.373590551181103 + 30 +0.0 + 10 +1.731622047244094 + 20 +4.367759842519685 + 30 +0.0 + 10 +1.729232283464567 + 20 +4.359259842519685 + 30 +0.0 + 10 +1.729232283464567 + 20 +4.348145669291338 + 30 +0.0 + 0 +SPLINE + 5 +10E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.865066929133858 + 20 +4.316090551181103 + 30 +0.0 + 10 +1.859622047244095 + 20 +4.31148031496063 + 30 +0.0 + 10 +1.854397637795276 + 20 +4.308232283464567 + 30 +0.0 + 10 +1.849397637795276 + 20 +4.306314960629921 + 30 +0.0 + 10 +1.849397637795276 + 20 +4.306314960629921 + 30 +0.0 + 10 +1.844370078740158 + 20 +4.304425196850394 + 30 +0.0 + 10 +1.838984251968504 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.833232283464567 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.833232283464567 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.823732283464567 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.816456692913386 + 20 +4.305787401574803 + 30 +0.0 + 10 +1.811342519685039 + 20 +4.310425196850393 + 30 +0.0 + 10 +1.811342519685039 + 20 +4.310425196850393 + 30 +0.0 + 10 +1.806259842519685 + 20 +4.315062992125984 + 30 +0.0 + 10 +1.803704724409449 + 20 +4.321007874015748 + 30 +0.0 + 10 +1.803704724409449 + 20 +4.328204724409449 + 30 +0.0 + 10 +1.803704724409449 + 20 +4.328204724409449 + 30 +0.0 + 10 +1.803704724409449 + 20 +4.332452755905511 + 30 +0.0 + 10 +1.804649606299213 + 20 +4.336314960629921 + 30 +0.0 + 10 +1.806594488188976 + 20 +4.339814960629921 + 30 +0.0 + 10 +1.806594488188976 + 20 +4.339814960629921 + 30 +0.0 + 10 +1.808511811023622 + 20 +4.343314960629921 + 30 +0.0 + 10 +1.81103937007874 + 20 +4.346118110236221 + 30 +0.0 + 10 +1.814149606299213 + 20 +4.348232283464567 + 30 +0.0 + 10 +1.814149606299213 + 20 +4.348232283464567 + 30 +0.0 + 10 +1.817287401574803 + 20 +4.350342519685039 + 30 +0.0 + 10 +1.820787401574803 + 20 +4.351952755905512 + 30 +0.0 + 10 +1.824704724409449 + 20 +4.353035433070866 + 30 +0.0 + 10 +1.824704724409449 + 20 +4.353035433070866 + 30 +0.0 + 10 +1.827566929133858 + 20 +4.353787401574803 + 30 +0.0 + 10 +1.831897637795276 + 20 +4.354535433070867 + 30 +0.0 + 10 +1.837704724409449 + 20 +4.355232283464567 + 30 +0.0 + 10 +1.837704724409449 + 20 +4.355232283464567 + 30 +0.0 + 10 +1.84953937007874 + 20 +4.356645669291338 + 30 +0.0 + 10 +1.858259842519685 + 20 +4.358314960629921 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.360287401574803 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.360287401574803 + 30 +0.0 + 10 +1.863897637795276 + 20 +4.362287401574803 + 30 +0.0 + 10 +1.863925196850394 + 20 +4.363562992125984 + 30 +0.0 + 10 +1.863925196850394 + 20 +4.364090551181103 + 30 +0.0 + 10 +1.863925196850394 + 20 +4.364090551181103 + 30 +0.0 + 10 +1.863925196850394 + 20 +4.370062992125984 + 30 +0.0 + 10 +1.86253937007874 + 20 +4.374287401574803 + 30 +0.0 + 10 +1.859759842519685 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.859759842519685 + 20 +4.376700787401575 + 30 +0.0 + 10 +1.85603937007874 + 20 +4.380035433070866 + 30 +0.0 + 10 +1.850452755905512 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.843094488188976 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.843094488188976 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.836204724409449 + 20 +4.381673228346457 + 30 +0.0 + 10 +1.831122047244095 + 20 +4.38048031496063 + 30 +0.0 + 10 +1.827814960629921 + 20 +4.378062992125984 + 30 +0.0 + 10 +1.827814960629921 + 20 +4.378062992125984 + 30 +0.0 + 10 +1.82453937007874 + 20 +4.375645669291338 + 30 +0.0 + 10 +1.822122047244094 + 20 +4.371370078740157 + 30 +0.0 + 10 +1.82053937007874 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.82053937007874 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.82053937007874 + 20 +4.365228346456693 + 30 +0.0 + 10 +1.806232283464567 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.806232283464567 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.806232283464567 + 20 +4.367200787401575 + 30 +0.0 + 10 +1.80753937007874 + 20 +4.373314960629921 + 30 +0.0 + 10 +1.809677165354331 + 20 +4.378287401574803 + 30 +0.0 + 10 +1.812649606299213 + 20 +4.382035433070866 + 30 +0.0 + 10 +1.812649606299213 + 20 +4.382035433070866 + 30 +0.0 + 10 +1.815622047244094 + 20 +4.385814960629921 + 30 +0.0 + 10 +1.819956692913386 + 20 +4.388728346456693 + 30 +0.0 + 10 +1.825594488188976 + 20 +4.390755905511811 + 30 +0.0 + 10 +1.825594488188976 + 20 +4.390755905511811 + 30 +0.0 + 10 +1.831232283464567 + 20 +4.392787401574803 + 30 +0.0 + 10 +1.837759842519685 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.845204724409449 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.845204724409449 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.852594488188976 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.858566929133858 + 20 +4.392925196850394 + 30 +0.0 + 10 +1.863177165354331 + 20 +4.391200787401575 + 30 +0.0 + 10 +1.863177165354331 + 20 +4.391200787401575 + 30 +0.0 + 10 +1.867787401574803 + 20 +4.389452755905512 + 30 +0.0 + 10 +1.871177165354331 + 20 +4.387287401574803 + 30 +0.0 + 10 +1.873370078740157 + 20 +4.384645669291339 + 30 +0.0 + 10 +1.873370078740157 + 20 +4.384645669291339 + 30 +0.0 + 10 +1.87553937007874 + 20 +4.382007874015748 + 30 +0.0 + 10 +1.87703937007874 + 20 +4.378700787401574 + 30 +0.0 + 10 +1.877925196850394 + 20 +4.374673228346457 + 30 +0.0 + 10 +1.877925196850394 + 20 +4.374673228346457 + 30 +0.0 + 10 +1.878397637795276 + 20 +4.372173228346456 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.367673228346456 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.361173228346456 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.341645669291339 + 30 +0.0 + 10 +1.878649606299213 + 20 +4.328007874015748 + 30 +0.0 + 10 +1.878952755905512 + 20 +4.319397637795276 + 30 +0.0 + 10 +1.879594488188976 + 20 +4.315814960629921 + 30 +0.0 + 10 +1.879594488188976 + 20 +4.315814960629921 + 30 +0.0 + 10 +1.880204724409449 + 20 +4.312204724409449 + 30 +0.0 + 10 +1.881452755905512 + 20 +4.308732283464566 + 30 +0.0 + 10 +1.883287401574803 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.883287401574803 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.883287401574803 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.86798031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.86798031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.86798031496063 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.86648031496063 + 20 +4.308452755905511 + 30 +0.0 + 10 +1.86548031496063 + 20 +4.312007874015748 + 30 +0.0 + 10 +1.865066929133858 + 20 +4.316090551181103 + 30 +0.0 + 0 +SPLINE + 5 +10F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.863842519685039 + 20 +4.348814960629921 + 30 +0.0 + 10 +1.858511811023622 + 20 +4.34661811023622 + 30 +0.0 + 10 +1.85053937007874 + 20 +4.344787401574803 + 30 +0.0 + 10 +1.839925196850394 + 20 +4.343259842519685 + 30 +0.0 + 10 +1.839925196850394 + 20 +4.343259842519685 + 30 +0.0 + 10 +1.833897637795276 + 20 +4.342397637795275 + 30 +0.0 + 10 +1.829622047244094 + 20 +4.341425196850394 + 30 +0.0 + 10 +1.827149606299213 + 20 +4.34034251968504 + 30 +0.0 + 10 +1.827149606299213 + 20 +4.34034251968504 + 30 +0.0 + 10 +1.824649606299213 + 20 +4.339259842519685 + 30 +0.0 + 10 +1.822704724409449 + 20 +4.337673228346457 + 30 +0.0 + 10 +1.821370078740157 + 20 +4.335562992125984 + 30 +0.0 + 10 +1.821370078740157 + 20 +4.335562992125984 + 30 +0.0 + 10 +1.820011811023622 + 20 +4.33348031496063 + 30 +0.0 + 10 +1.819314960629921 + 20 +4.331173228346457 + 30 +0.0 + 10 +1.819314960629921 + 20 +4.328618110236221 + 30 +0.0 + 10 +1.819314960629921 + 20 +4.328618110236221 + 30 +0.0 + 10 +1.819314960629921 + 20 +4.324704724409449 + 30 +0.0 + 10 +1.820814960629921 + 20 +4.321452755905511 + 30 +0.0 + 10 +1.823759842519685 + 20 +4.318842519685039 + 30 +0.0 + 10 +1.823759842519685 + 20 +4.318842519685039 + 30 +0.0 + 10 +1.826704724409449 + 20 +4.316259842519685 + 30 +0.0 + 10 +1.83103937007874 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.836732283464567 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.836732283464567 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.842370078740158 + 20 +4.314952755905511 + 30 +0.0 + 10 +1.847397637795276 + 20 +4.316173228346456 + 30 +0.0 + 10 +1.851787401574803 + 20 +4.318645669291339 + 30 +0.0 + 10 +1.851787401574803 + 20 +4.318645669291339 + 30 +0.0 + 10 +1.856177165354331 + 20 +4.32111811023622 + 30 +0.0 + 10 +1.859425196850394 + 20 +4.324507874015748 + 30 +0.0 + 10 +1.86148031496063 + 20 +4.328787401574803 + 30 +0.0 + 10 +1.86148031496063 + 20 +4.328787401574803 + 30 +0.0 + 10 +1.863066929133858 + 20 +4.332090551181103 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.33698031496063 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.343425196850394 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.348814960629921 + 30 +0.0 + 10 +1.863842519685039 + 20 +4.348814960629921 + 30 +0.0 + 0 +SPLINE + 5 +110 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.901370078740158 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.38061811023622 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.38061811023622 + 30 +0.0 + 10 +1.914704724409449 + 20 +4.38061811023622 + 30 +0.0 + 10 +1.917842519685039 + 20 +4.385007874015748 + 30 +0.0 + 10 +1.921397637795276 + 20 +4.388314960629922 + 30 +0.0 + 10 +1.925370078740158 + 20 +4.390507874015748 + 30 +0.0 + 10 +1.925370078740158 + 20 +4.390507874015748 + 30 +0.0 + 10 +1.929314960629921 + 20 +4.392700787401575 + 30 +0.0 + 10 +1.93411811023622 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.939759842519685 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.939759842519685 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.947145669291338 + 20 +4.393814960629921 + 30 +0.0 + 10 +1.953645669291339 + 20 +4.391897637795275 + 30 +0.0 + 10 +1.959287401574803 + 20 +4.388118110236221 + 30 +0.0 + 10 +1.959287401574803 + 20 +4.388118110236221 + 30 +0.0 + 10 +1.964952755905512 + 20 +4.384314960629921 + 30 +0.0 + 10 +1.969204724409449 + 20 +4.378952755905511 + 30 +0.0 + 10 +1.972062992125984 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.972062992125984 + 20 +4.372035433070866 + 30 +0.0 + 10 +1.974952755905512 + 20 +4.365118110236221 + 30 +0.0 + 10 +1.976397637795276 + 20 +4.357535433070866 + 30 +0.0 + 10 +1.976397637795276 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.976397637795276 + 20 +4.349287401574803 + 30 +0.0 + 10 +1.976397637795276 + 20 +4.340452755905511 + 30 +0.0 + 10 +1.974814960629921 + 20 +4.33248031496063 + 30 +0.0 + 10 +1.97161811023622 + 20 +4.325397637795276 + 30 +0.0 + 10 +1.97161811023622 + 20 +4.325397637795276 + 30 +0.0 + 10 +1.968452755905512 + 20 +4.318314960629921 + 30 +0.0 + 10 +1.963842519685039 + 20 +4.312897637795276 + 30 +0.0 + 10 +1.957787401574803 + 20 +4.309118110236221 + 30 +0.0 + 10 +1.957787401574803 + 20 +4.309118110236221 + 30 +0.0 + 10 +1.951732283464567 + 20 +4.305370078740157 + 30 +0.0 + 10 +1.945370078740158 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.938704724409449 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.938704724409449 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.933814960629921 + 20 +4.30348031496063 + 30 +0.0 + 10 +1.929452755905512 + 20 +4.304507874015748 + 30 +0.0 + 10 +1.925562992125984 + 20 +4.306562992125984 + 30 +0.0 + 10 +1.925562992125984 + 20 +4.306562992125984 + 30 +0.0 + 10 +1.921677165354331 + 20 +4.30861811023622 + 30 +0.0 + 10 +1.918507874015748 + 20 +4.311232283464567 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.314370078740158 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.314370078740158 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.314370078740158 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.916007874015748 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.272314960629921 + 30 +0.0 + 10 +1.901370078740158 + 20 +4.272314960629921 + 30 +0.0 + 0 +SPLINE + 5 +111 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.914618110236221 + 20 +4.348145669291338 + 30 +0.0 + 10 +1.914618110236221 + 20 +4.337035433070866 + 30 +0.0 + 10 +1.916870078740158 + 20 +4.328814960629921 + 30 +0.0 + 10 +1.921370078740158 + 20 +4.32348031496063 + 30 +0.0 + 10 +1.921370078740158 + 20 +4.32348031496063 + 30 +0.0 + 10 +1.925870078740157 + 20 +4.318173228346457 + 30 +0.0 + 10 +1.931342519685039 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.937732283464567 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.937732283464567 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.944232283464567 + 20 +4.315507874015748 + 30 +0.0 + 10 +1.949814960629921 + 20 +4.318259842519685 + 30 +0.0 + 10 +1.954452755905512 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.954452755905512 + 20 +4.323787401574803 + 30 +0.0 + 10 +1.959090551181102 + 20 +4.329287401574804 + 30 +0.0 + 10 +1.961425196850394 + 20 +4.337814960629921 + 30 +0.0 + 10 +1.961425196850394 + 20 +4.349370078740158 + 30 +0.0 + 10 +1.961425196850394 + 20 +4.349370078740158 + 30 +0.0 + 10 +1.961425196850394 + 20 +4.360397637795276 + 30 +0.0 + 10 +1.959145669291338 + 20 +4.368618110236221 + 30 +0.0 + 10 +1.954618110236221 + 20 +4.37411811023622 + 30 +0.0 + 10 +1.954618110236221 + 20 +4.37411811023622 + 30 +0.0 + 10 +1.950090551181102 + 20 +4.379590551181102 + 30 +0.0 + 10 +1.944677165354331 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.938397637795276 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.938397637795276 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.932145669291339 + 20 +4.382342519685039 + 30 +0.0 + 10 +1.926618110236221 + 20 +4.379425196850394 + 30 +0.0 + 10 +1.921814960629921 + 20 +4.373590551181103 + 30 +0.0 + 10 +1.921814960629921 + 20 +4.373590551181103 + 30 +0.0 + 10 +1.917007874015748 + 20 +4.367759842519685 + 30 +0.0 + 10 +1.914618110236221 + 20 +4.359259842519685 + 30 +0.0 + 10 +1.914618110236221 + 20 +4.348145669291338 + 30 +0.0 + 0 +SPLINE + 5 +112 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.99411811023622 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.424728346456693 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.424728346456693 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.424728346456693 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.424728346456693 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.424728346456693 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.424728346456693 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.407870078740157 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.407870078740157 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.407870078740157 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.407870078740157 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.407870078740157 + 30 +0.0 + 0 +SPLINE + 5 +113 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.99411811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.391842519685039 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.008783464566929 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.305425196850393 + 30 +0.0 + 10 +1.99411811023622 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +114 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.030925196850394 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.391842519685039 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.378759842519685 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.378759842519685 + 30 +0.0 + 10 +2.044090551181102 + 20 +4.378759842519685 + 30 +0.0 + 10 +2.047452755905512 + 20 +4.384870078740158 + 30 +0.0 + 10 +2.050562992125984 + 20 +4.388925196850393 + 30 +0.0 + 10 +2.053425196850394 + 20 +4.390870078740157 + 30 +0.0 + 10 +2.053425196850394 + 20 +4.390870078740157 + 30 +0.0 + 10 +2.056255905511811 + 20 +4.392814960629921 + 30 +0.0 + 10 +2.059397637795275 + 20 +4.393814960629921 + 30 +0.0 + 10 +2.062811023622047 + 20 +4.393814960629921 + 30 +0.0 + 10 +2.062811023622047 + 20 +4.393814960629921 + 30 +0.0 + 10 +2.067755905511811 + 20 +4.393814960629921 + 30 +0.0 + 10 +2.072755905511811 + 20 +4.392228346456693 + 30 +0.0 + 10 +2.077866141732283 + 20 +4.389090551181102 + 30 +0.0 + 10 +2.077866141732283 + 20 +4.389090551181102 + 30 +0.0 + 10 +2.077866141732283 + 20 +4.389090551181102 + 30 +0.0 + 10 +2.072811023622047 + 20 +4.37548031496063 + 30 +0.0 + 10 +2.072811023622047 + 20 +4.37548031496063 + 30 +0.0 + 10 +2.072811023622047 + 20 +4.37548031496063 + 30 +0.0 + 10 +2.069255905511811 + 20 +4.37761811023622 + 30 +0.0 + 10 +2.065673228346457 + 20 +4.378673228346456 + 30 +0.0 + 10 +2.062090551181103 + 20 +4.378673228346456 + 30 +0.0 + 10 +2.062090551181103 + 20 +4.378673228346456 + 30 +0.0 + 10 +2.058866141732283 + 20 +4.378673228346456 + 30 +0.0 + 10 +2.056007874015748 + 20 +4.377700787401575 + 30 +0.0 + 10 +2.053452755905512 + 20 +4.375787401574804 + 30 +0.0 + 10 +2.053452755905512 + 20 +4.375787401574804 + 30 +0.0 + 10 +2.050897637795276 + 20 +4.37384251968504 + 30 +0.0 + 10 +2.049090551181102 + 20 +4.371173228346457 + 30 +0.0 + 10 +2.048007874015748 + 20 +4.367759842519685 + 30 +0.0 + 10 +2.048007874015748 + 20 +4.367759842519685 + 30 +0.0 + 10 +2.046370078740158 + 20 +4.362562992125985 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.356870078740157 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.350673228346457 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.350673228346457 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.350673228346457 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.045562992125984 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.305425196850393 + 30 +0.0 + 10 +2.030925196850394 + 20 +4.305425196850393 + 30 +0.0 + 0 +SPLINE + 5 +115 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.075590551181103 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.075590551181103 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.110173228346456 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.110173228346456 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.110173228346456 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.110173228346456 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.121897637795275 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.121897637795275 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.121897637795275 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.121897637795275 + 20 +4.426755905511811 + 30 +0.0 + 10 +2.087397637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.087397637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.087397637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.087397637795275 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.075590551181103 + 20 +4.303397637795276 + 30 +0.0 + 10 +2.075590551181103 + 20 +4.303397637795276 + 30 +0.0 + 0 +SPLINE + 5 +116 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.196 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.196 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.196 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.196 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.196 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.196 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.241 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.241 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.241 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.2489133858267717 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.2549724409448819 + 20 +3.53807874015748 + 30 +0.0 + 10 +0.2591377952755906 + 20 +3.537326771653543 + 30 +0.0 + 10 +0.2591377952755906 + 20 +3.537326771653543 + 30 +0.0 + 10 +0.265 + 20 +3.536354330708662 + 30 +0.0 + 10 +0.2699133858267717 + 20 +3.534492125984252 + 30 +0.0 + 10 +0.2738858267716535 + 20 +3.531744094488189 + 30 +0.0 + 10 +0.2738858267716535 + 20 +3.531744094488189 + 30 +0.0 + 10 +0.2778307086614173 + 20 +3.529023622047244 + 30 +0.0 + 10 +0.2810275590551181 + 20 +3.525161417322835 + 30 +0.0 + 10 +0.2834409448818898 + 20 +3.520244094488189 + 30 +0.0 + 10 +0.2834409448818898 + 20 +3.520244094488189 + 30 +0.0 + 10 +0.2858582677165354 + 20 +3.515299212598425 + 30 +0.0 + 10 +0.2870551181102362 + 20 +3.50988188976378 + 30 +0.0 + 10 +0.2870551181102362 + 20 +3.503964566929134 + 30 +0.0 + 10 +0.2870551181102362 + 20 +3.503964566929134 + 30 +0.0 + 10 +0.2870551181102362 + 20 +3.493826771653543 + 30 +0.0 + 10 +0.2838307086614173 + 20 +3.485216535433071 + 30 +0.0 + 10 +0.2773858267716535 + 20 +3.478188976377953 + 30 +0.0 + 10 +0.2773858267716535 + 20 +3.478188976377953 + 30 +0.0 + 10 +0.2709133858267717 + 20 +3.471188976377953 + 30 +0.0 + 10 +0.259248031496063 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2423858267716535 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2423858267716535 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2423858267716535 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.467661417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.196 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.196 + 20 +3.419161417322835 + 30 +0.0 + 0 +SPLINE + 5 +117 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.2117755905511811 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2426377952755905 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2426377952755905 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2426377952755905 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2528307086614173 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2600826771653543 + 20 +3.483633858267717 + 30 +0.0 + 10 +0.2643582677165354 + 20 +3.487437007874016 + 30 +0.0 + 10 +0.2643582677165354 + 20 +3.487437007874016 + 30 +0.0 + 10 +0.2686377952755906 + 20 +3.491244094488189 + 30 +0.0 + 10 +0.2707755905511811 + 20 +3.49657874015748 + 30 +0.0 + 10 +0.2707755905511811 + 20 +3.503464566929134 + 30 +0.0 + 10 +0.2707755905511811 + 20 +3.503464566929134 + 30 +0.0 + 10 +0.2707755905511811 + 20 +3.508464566929134 + 30 +0.0 + 10 +0.2695275590551181 + 20 +3.512744094488189 + 30 +0.0 + 10 +0.267 + 20 +3.516299212598425 + 30 +0.0 + 10 +0.267 + 20 +3.516299212598425 + 30 +0.0 + 10 +0.2644724409448819 + 20 +3.519854330708661 + 30 +0.0 + 10 +0.2611653543307086 + 20 +3.522188976377953 + 30 +0.0 + 10 +0.2570275590551181 + 20 +3.523326771653543 + 30 +0.0 + 10 +0.2570275590551181 + 20 +3.523326771653543 + 30 +0.0 + 10 +0.2543582677165354 + 20 +3.524023622047244 + 30 +0.0 + 10 +0.2494724409448819 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2423031496062992 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2423031496062992 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2423031496062992 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.52438188976378 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.481744094488189 + 30 +0.0 + 10 +0.2117755905511811 + 20 +3.481744094488189 + 30 +0.0 + 0 +SPLINE + 5 +118 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3616929133858268 + 20 +3.429826771653543 + 30 +0.0 + 10 +0.356248031496063 + 20 +3.425216535433071 + 30 +0.0 + 10 +0.3510236220472441 + 20 +3.421968503937008 + 30 +0.0 + 10 +0.3460236220472441 + 20 +3.420051181102362 + 30 +0.0 + 10 +0.3460236220472441 + 20 +3.420051181102362 + 30 +0.0 + 10 +0.340996062992126 + 20 +3.418161417322835 + 30 +0.0 + 10 +0.3356102362204724 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.3298582677165354 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.3298582677165354 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.3203582677165354 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.3130826771653543 + 20 +3.419523622047244 + 30 +0.0 + 10 +0.3079685039370079 + 20 +3.424161417322835 + 30 +0.0 + 10 +0.3079685039370079 + 20 +3.424161417322835 + 30 +0.0 + 10 +0.3028858267716535 + 20 +3.428799212598425 + 30 +0.0 + 10 +0.3003307086614173 + 20 +3.434744094488189 + 30 +0.0 + 10 +0.3003307086614173 + 20 +3.44194094488189 + 30 +0.0 + 10 +0.3003307086614173 + 20 +3.44194094488189 + 30 +0.0 + 10 +0.3003307086614173 + 20 +3.446188976377953 + 30 +0.0 + 10 +0.3012755905511811 + 20 +3.450051181102362 + 30 +0.0 + 10 +0.3032204724409449 + 20 +3.453551181102362 + 30 +0.0 + 10 +0.3032204724409449 + 20 +3.453551181102362 + 30 +0.0 + 10 +0.3051377952755905 + 20 +3.457051181102362 + 30 +0.0 + 10 +0.3076653543307087 + 20 +3.459854330708661 + 30 +0.0 + 10 +0.3107755905511811 + 20 +3.461968503937008 + 30 +0.0 + 10 +0.3107755905511811 + 20 +3.461968503937008 + 30 +0.0 + 10 +0.3139133858267716 + 20 +3.46407874015748 + 30 +0.0 + 10 +0.3174133858267716 + 20 +3.465688976377953 + 30 +0.0 + 10 +0.3213307086614173 + 20 +3.466771653543307 + 30 +0.0 + 10 +0.3213307086614173 + 20 +3.466771653543307 + 30 +0.0 + 10 +0.3241929133858268 + 20 +3.467523622047244 + 30 +0.0 + 10 +0.3285236220472441 + 20 +3.468271653543307 + 30 +0.0 + 10 +0.3343307086614173 + 20 +3.468968503937008 + 30 +0.0 + 10 +0.3343307086614173 + 20 +3.468968503937008 + 30 +0.0 + 10 +0.3461653543307087 + 20 +3.47038188976378 + 30 +0.0 + 10 +0.3548858267716535 + 20 +3.472051181102362 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.474023622047244 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.474023622047244 + 30 +0.0 + 10 +0.3605236220472441 + 20 +3.476023622047244 + 30 +0.0 + 10 +0.3605511811023622 + 20 +3.477299212598425 + 30 +0.0 + 10 +0.3605511811023622 + 20 +3.477826771653543 + 30 +0.0 + 10 +0.3605511811023622 + 20 +3.477826771653543 + 30 +0.0 + 10 +0.3605511811023622 + 20 +3.483799212598425 + 30 +0.0 + 10 +0.3591653543307087 + 20 +3.488023622047244 + 30 +0.0 + 10 +0.3563858267716535 + 20 +3.490437007874016 + 30 +0.0 + 10 +0.3563858267716535 + 20 +3.490437007874016 + 30 +0.0 + 10 +0.3526653543307087 + 20 +3.493771653543307 + 30 +0.0 + 10 +0.3470787401574803 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.3397204724409449 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.3397204724409449 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.3328307086614173 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.327748031496063 + 20 +3.494216535433071 + 30 +0.0 + 10 +0.3244409448818897 + 20 +3.491799212598425 + 30 +0.0 + 10 +0.3244409448818897 + 20 +3.491799212598425 + 30 +0.0 + 10 +0.3211653543307086 + 20 +3.489381889763779 + 30 +0.0 + 10 +0.318748031496063 + 20 +3.485106299212598 + 30 +0.0 + 10 +0.3171653543307086 + 20 +3.478964566929134 + 30 +0.0 + 10 +0.3171653543307086 + 20 +3.478964566929134 + 30 +0.0 + 10 +0.3171653543307086 + 20 +3.478964566929134 + 30 +0.0 + 10 +0.3028582677165355 + 20 +3.480937007874016 + 30 +0.0 + 10 +0.3028582677165355 + 20 +3.480937007874016 + 30 +0.0 + 10 +0.3028582677165355 + 20 +3.480937007874016 + 30 +0.0 + 10 +0.3041653543307087 + 20 +3.487051181102362 + 30 +0.0 + 10 +0.3063031496062992 + 20 +3.492023622047244 + 30 +0.0 + 10 +0.3092755905511811 + 20 +3.495771653543307 + 30 +0.0 + 10 +0.3092755905511811 + 20 +3.495771653543307 + 30 +0.0 + 10 +0.312248031496063 + 20 +3.499551181102362 + 30 +0.0 + 10 +0.3165826771653543 + 20 +3.502464566929134 + 30 +0.0 + 10 +0.3222204724409449 + 20 +3.504492125984252 + 30 +0.0 + 10 +0.3222204724409449 + 20 +3.504492125984252 + 30 +0.0 + 10 +0.3278582677165354 + 20 +3.506523622047244 + 30 +0.0 + 10 +0.3343858267716535 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.3418307086614173 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.3418307086614173 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.3492204724409449 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.3551929133858268 + 20 +3.506661417322835 + 30 +0.0 + 10 +0.3598031496062992 + 20 +3.504937007874016 + 30 +0.0 + 10 +0.3598031496062992 + 20 +3.504937007874016 + 30 +0.0 + 10 +0.3644133858267716 + 20 +3.503188976377953 + 30 +0.0 + 10 +0.3678031496062992 + 20 +3.501023622047244 + 30 +0.0 + 10 +0.369996062992126 + 20 +3.49838188976378 + 30 +0.0 + 10 +0.369996062992126 + 20 +3.49838188976378 + 30 +0.0 + 10 +0.3721653543307087 + 20 +3.495744094488189 + 30 +0.0 + 10 +0.3736653543307087 + 20 +3.492437007874016 + 30 +0.0 + 10 +0.3745511811023622 + 20 +3.488409448818897 + 30 +0.0 + 10 +0.3745511811023622 + 20 +3.488409448818897 + 30 +0.0 + 10 +0.3750236220472441 + 20 +3.485909448818898 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.481409448818898 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.474909448818898 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.474909448818898 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.474909448818898 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.45538188976378 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.45538188976378 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.45538188976378 + 30 +0.0 + 10 +0.3752755905511811 + 20 +3.441744094488189 + 30 +0.0 + 10 +0.3755787401574803 + 20 +3.433133858267717 + 30 +0.0 + 10 +0.3762204724409449 + 20 +3.429551181102362 + 30 +0.0 + 10 +0.3762204724409449 + 20 +3.429551181102362 + 30 +0.0 + 10 +0.3768307086614173 + 20 +3.42594094488189 + 30 +0.0 + 10 +0.3780787401574803 + 20 +3.422468503937008 + 30 +0.0 + 10 +0.3799133858267716 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.3799133858267716 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.3799133858267716 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.3646062992125984 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.3646062992125984 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.3646062992125984 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.3631062992125984 + 20 +3.422188976377953 + 30 +0.0 + 10 +0.3621062992125984 + 20 +3.425744094488189 + 30 +0.0 + 10 +0.3616929133858268 + 20 +3.429826771653543 + 30 +0.0 + 0 +SPLINE + 5 +119 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3604685039370079 + 20 +3.462551181102362 + 30 +0.0 + 10 +0.3551377952755905 + 20 +3.460354330708661 + 30 +0.0 + 10 +0.3471653543307087 + 20 +3.458523622047244 + 30 +0.0 + 10 +0.3365511811023622 + 20 +3.456996062992126 + 30 +0.0 + 10 +0.3365511811023622 + 20 +3.456996062992126 + 30 +0.0 + 10 +0.3305236220472441 + 20 +3.456133858267716 + 30 +0.0 + 10 +0.326248031496063 + 20 +3.455161417322834 + 30 +0.0 + 10 +0.3237755905511811 + 20 +3.45407874015748 + 30 +0.0 + 10 +0.3237755905511811 + 20 +3.45407874015748 + 30 +0.0 + 10 +0.3212755905511811 + 20 +3.452996062992126 + 30 +0.0 + 10 +0.3193307086614173 + 20 +3.451409448818898 + 30 +0.0 + 10 +0.317996062992126 + 20 +3.449299212598425 + 30 +0.0 + 10 +0.317996062992126 + 20 +3.449299212598425 + 30 +0.0 + 10 +0.3166377952755906 + 20 +3.447216535433071 + 30 +0.0 + 10 +0.3159409448818898 + 20 +3.444909448818898 + 30 +0.0 + 10 +0.3159409448818898 + 20 +3.442354330708661 + 30 +0.0 + 10 +0.3159409448818898 + 20 +3.442354330708661 + 30 +0.0 + 10 +0.3159409448818898 + 20 +3.43844094488189 + 30 +0.0 + 10 +0.3174409448818898 + 20 +3.435188976377953 + 30 +0.0 + 10 +0.3203858267716536 + 20 +3.43257874015748 + 30 +0.0 + 10 +0.3203858267716536 + 20 +3.43257874015748 + 30 +0.0 + 10 +0.3233307086614173 + 20 +3.429996062992126 + 30 +0.0 + 10 +0.3276653543307086 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.3333582677165354 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.3333582677165354 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.338996062992126 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.3440236220472441 + 20 +3.429909448818897 + 30 +0.0 + 10 +0.3484133858267717 + 20 +3.432381889763779 + 30 +0.0 + 10 +0.3484133858267717 + 20 +3.432381889763779 + 30 +0.0 + 10 +0.3528031496062992 + 20 +3.434854330708661 + 30 +0.0 + 10 +0.3560511811023622 + 20 +3.438244094488189 + 30 +0.0 + 10 +0.3581062992125984 + 20 +3.442523622047244 + 30 +0.0 + 10 +0.3581062992125984 + 20 +3.442523622047244 + 30 +0.0 + 10 +0.3596929133858268 + 20 +3.445826771653543 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.450716535433071 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.457161417322835 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.457161417322835 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.457161417322835 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.462551181102362 + 30 +0.0 + 10 +0.3604685039370079 + 20 +3.462551181102362 + 30 +0.0 + 0 +SPLINE + 5 +11A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.397996062992126 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.493299212598425 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.493299212598425 + 30 +0.0 + 10 +0.4111614173228346 + 20 +3.493299212598425 + 30 +0.0 + 10 +0.4175236220472441 + 20 +3.502799212598425 + 30 +0.0 + 10 +0.4266889763779528 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.4386614173228346 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.4386614173228346 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.4438858267716536 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.4486614173228347 + 20 +3.506606299212598 + 30 +0.0 + 10 +0.4530236220472441 + 20 +3.504744094488189 + 30 +0.0 + 10 +0.4530236220472441 + 20 +3.504744094488189 + 30 +0.0 + 10 +0.4574133858267717 + 20 +3.502854330708661 + 30 +0.0 + 10 +0.4606614173228347 + 20 +3.500409448818897 + 30 +0.0 + 10 +0.4628307086614173 + 20 +3.497354330708661 + 30 +0.0 + 10 +0.4628307086614173 + 20 +3.497354330708661 + 30 +0.0 + 10 +0.4650236220472441 + 20 +3.494326771653543 + 30 +0.0 + 10 +0.4665236220472441 + 20 +3.490716535433071 + 30 +0.0 + 10 +0.4674133858267717 + 20 +3.486551181102362 + 30 +0.0 + 10 +0.4674133858267717 + 20 +3.486551181102362 + 30 +0.0 + 10 +0.4679409448818898 + 20 +3.483826771653543 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.479078740157481 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.472299212598425 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.472299212598425 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.472299212598425 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4682165354330708 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.471744094488189 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.471744094488189 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.471744094488189 + 30 +0.0 + 10 +0.4535511811023622 + 20 +3.477688976377953 + 30 +0.0 + 10 +0.452996062992126 + 20 +3.482161417322835 + 30 +0.0 + 10 +0.4518582677165354 + 20 +3.485133858267717 + 30 +0.0 + 10 +0.4518582677165354 + 20 +3.485133858267717 + 30 +0.0 + 10 +0.4507165354330709 + 20 +3.48807874015748 + 30 +0.0 + 10 +0.4486889763779527 + 20 +3.490437007874016 + 30 +0.0 + 10 +0.4457992125984252 + 20 +3.492188976377953 + 30 +0.0 + 10 +0.4457992125984252 + 20 +3.492188976377953 + 30 +0.0 + 10 +0.4428858267716536 + 20 +3.493964566929134 + 30 +0.0 + 10 +0.439496062992126 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.4355787401574803 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.4355787401574803 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.4293307086614173 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.4239685039370079 + 20 +3.492854330708661 + 30 +0.0 + 10 +0.4194133858267717 + 20 +3.488909448818898 + 30 +0.0 + 10 +0.4194133858267717 + 20 +3.488909448818898 + 30 +0.0 + 10 +0.4148858267716535 + 20 +3.484937007874016 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.477437007874016 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.466354330708661 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.466354330708661 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.466354330708661 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.4126338582677165 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.397996062992126 + 20 +3.419161417322835 + 30 +0.0 + 0 +SPLINE + 5 +11B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5470787401574804 + 20 +3.429826771653543 + 30 +0.0 + 10 +0.5416338582677165 + 20 +3.425216535433071 + 30 +0.0 + 10 +0.5364094488188976 + 20 +3.421968503937008 + 30 +0.0 + 10 +0.5314094488188976 + 20 +3.420051181102362 + 30 +0.0 + 10 +0.5314094488188976 + 20 +3.420051181102362 + 30 +0.0 + 10 +0.5263818897637795 + 20 +3.418161417322835 + 30 +0.0 + 10 +0.520996062992126 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.515244094488189 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.515244094488189 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.505744094488189 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.4984685039370079 + 20 +3.419523622047244 + 30 +0.0 + 10 +0.4933543307086614 + 20 +3.424161417322835 + 30 +0.0 + 10 +0.4933543307086614 + 20 +3.424161417322835 + 30 +0.0 + 10 +0.4882716535433071 + 20 +3.428799212598425 + 30 +0.0 + 10 +0.4857165354330709 + 20 +3.434744094488189 + 30 +0.0 + 10 +0.4857165354330709 + 20 +3.44194094488189 + 30 +0.0 + 10 +0.4857165354330709 + 20 +3.44194094488189 + 30 +0.0 + 10 +0.4857165354330709 + 20 +3.446188976377953 + 30 +0.0 + 10 +0.4866614173228346 + 20 +3.450051181102362 + 30 +0.0 + 10 +0.4886062992125984 + 20 +3.453551181102362 + 30 +0.0 + 10 +0.4886062992125984 + 20 +3.453551181102362 + 30 +0.0 + 10 +0.4905236220472441 + 20 +3.457051181102362 + 30 +0.0 + 10 +0.4930511811023622 + 20 +3.459854330708661 + 30 +0.0 + 10 +0.4961614173228346 + 20 +3.461968503937008 + 30 +0.0 + 10 +0.4961614173228346 + 20 +3.461968503937008 + 30 +0.0 + 10 +0.4992992125984252 + 20 +3.46407874015748 + 30 +0.0 + 10 +0.5027992125984252 + 20 +3.465688976377953 + 30 +0.0 + 10 +0.5067165354330708 + 20 +3.466771653543307 + 30 +0.0 + 10 +0.5067165354330708 + 20 +3.466771653543307 + 30 +0.0 + 10 +0.5095787401574803 + 20 +3.467523622047244 + 30 +0.0 + 10 +0.5139094488188977 + 20 +3.468271653543307 + 30 +0.0 + 10 +0.5197165354330708 + 20 +3.468968503937008 + 30 +0.0 + 10 +0.5197165354330708 + 20 +3.468968503937008 + 30 +0.0 + 10 +0.5315511811023622 + 20 +3.47038188976378 + 30 +0.0 + 10 +0.5402716535433071 + 20 +3.472051181102362 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.474023622047244 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.474023622047244 + 30 +0.0 + 10 +0.5459094488188977 + 20 +3.476023622047244 + 30 +0.0 + 10 +0.5459370078740158 + 20 +3.477299212598425 + 30 +0.0 + 10 +0.5459370078740158 + 20 +3.477826771653543 + 30 +0.0 + 10 +0.5459370078740158 + 20 +3.477826771653543 + 30 +0.0 + 10 +0.5459370078740158 + 20 +3.483799212598425 + 30 +0.0 + 10 +0.5445511811023622 + 20 +3.488023622047244 + 30 +0.0 + 10 +0.5417716535433071 + 20 +3.490437007874016 + 30 +0.0 + 10 +0.5417716535433071 + 20 +3.490437007874016 + 30 +0.0 + 10 +0.5380511811023622 + 20 +3.493771653543307 + 30 +0.0 + 10 +0.5324645669291339 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.5251062992125984 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.5251062992125984 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.5182165354330709 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.5131338582677165 + 20 +3.494216535433071 + 30 +0.0 + 10 +0.5098267716535433 + 20 +3.491799212598425 + 30 +0.0 + 10 +0.5098267716535433 + 20 +3.491799212598425 + 30 +0.0 + 10 +0.5065511811023622 + 20 +3.489381889763779 + 30 +0.0 + 10 +0.5041338582677165 + 20 +3.485106299212598 + 30 +0.0 + 10 +0.5025511811023622 + 20 +3.478964566929134 + 30 +0.0 + 10 +0.5025511811023622 + 20 +3.478964566929134 + 30 +0.0 + 10 +0.5025511811023622 + 20 +3.478964566929134 + 30 +0.0 + 10 +0.488244094488189 + 20 +3.480937007874016 + 30 +0.0 + 10 +0.488244094488189 + 20 +3.480937007874016 + 30 +0.0 + 10 +0.488244094488189 + 20 +3.480937007874016 + 30 +0.0 + 10 +0.4895511811023622 + 20 +3.487051181102362 + 30 +0.0 + 10 +0.4916889763779528 + 20 +3.492023622047244 + 30 +0.0 + 10 +0.4946614173228346 + 20 +3.495771653543307 + 30 +0.0 + 10 +0.4946614173228346 + 20 +3.495771653543307 + 30 +0.0 + 10 +0.4976338582677166 + 20 +3.499551181102362 + 30 +0.0 + 10 +0.5019685039370079 + 20 +3.502464566929134 + 30 +0.0 + 10 +0.5076062992125985 + 20 +3.504492125984252 + 30 +0.0 + 10 +0.5076062992125985 + 20 +3.504492125984252 + 30 +0.0 + 10 +0.513244094488189 + 20 +3.506523622047244 + 30 +0.0 + 10 +0.5197716535433071 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.5272165354330709 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.5272165354330709 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.5346062992125984 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.5405787401574803 + 20 +3.506661417322835 + 30 +0.0 + 10 +0.5451889763779527 + 20 +3.504937007874016 + 30 +0.0 + 10 +0.5451889763779527 + 20 +3.504937007874016 + 30 +0.0 + 10 +0.5497992125984252 + 20 +3.503188976377953 + 30 +0.0 + 10 +0.5531889763779527 + 20 +3.501023622047244 + 30 +0.0 + 10 +0.5553818897637796 + 20 +3.49838188976378 + 30 +0.0 + 10 +0.5553818897637796 + 20 +3.49838188976378 + 30 +0.0 + 10 +0.5575511811023622 + 20 +3.495744094488189 + 30 +0.0 + 10 +0.5590511811023622 + 20 +3.492437007874016 + 30 +0.0 + 10 +0.5599370078740158 + 20 +3.488409448818897 + 30 +0.0 + 10 +0.5599370078740158 + 20 +3.488409448818897 + 30 +0.0 + 10 +0.5604094488188976 + 20 +3.485909448818898 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.481409448818898 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.474909448818898 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.474909448818898 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.474909448818898 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.45538188976378 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.45538188976378 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.45538188976378 + 30 +0.0 + 10 +0.5606614173228347 + 20 +3.441744094488189 + 30 +0.0 + 10 +0.5609645669291339 + 20 +3.433133858267717 + 30 +0.0 + 10 +0.5616062992125984 + 20 +3.429551181102362 + 30 +0.0 + 10 +0.5616062992125984 + 20 +3.429551181102362 + 30 +0.0 + 10 +0.5622165354330708 + 20 +3.42594094488189 + 30 +0.0 + 10 +0.5634645669291338 + 20 +3.422468503937008 + 30 +0.0 + 10 +0.5652992125984252 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.5652992125984252 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.5652992125984252 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.549992125984252 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.549992125984252 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.549992125984252 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.548492125984252 + 20 +3.422188976377953 + 30 +0.0 + 10 +0.547492125984252 + 20 +3.425744094488189 + 30 +0.0 + 10 +0.5470787401574804 + 20 +3.429826771653543 + 30 +0.0 + 0 +SPLINE + 5 +11C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5458543307086614 + 20 +3.462551181102362 + 30 +0.0 + 10 +0.5405236220472441 + 20 +3.460354330708661 + 30 +0.0 + 10 +0.5325511811023622 + 20 +3.458523622047244 + 30 +0.0 + 10 +0.5219370078740158 + 20 +3.456996062992126 + 30 +0.0 + 10 +0.5219370078740158 + 20 +3.456996062992126 + 30 +0.0 + 10 +0.5159094488188977 + 20 +3.456133858267716 + 30 +0.0 + 10 +0.5116338582677166 + 20 +3.455161417322834 + 30 +0.0 + 10 +0.5091614173228346 + 20 +3.45407874015748 + 30 +0.0 + 10 +0.5091614173228346 + 20 +3.45407874015748 + 30 +0.0 + 10 +0.5066614173228347 + 20 +3.452996062992126 + 30 +0.0 + 10 +0.5047165354330708 + 20 +3.451409448818898 + 30 +0.0 + 10 +0.5033818897637795 + 20 +3.449299212598425 + 30 +0.0 + 10 +0.5033818897637795 + 20 +3.449299212598425 + 30 +0.0 + 10 +0.502023622047244 + 20 +3.447216535433071 + 30 +0.0 + 10 +0.5013267716535433 + 20 +3.444909448818898 + 30 +0.0 + 10 +0.5013267716535433 + 20 +3.442354330708661 + 30 +0.0 + 10 +0.5013267716535433 + 20 +3.442354330708661 + 30 +0.0 + 10 +0.5013267716535433 + 20 +3.43844094488189 + 30 +0.0 + 10 +0.5028267716535433 + 20 +3.435188976377953 + 30 +0.0 + 10 +0.5057716535433071 + 20 +3.43257874015748 + 30 +0.0 + 10 +0.5057716535433071 + 20 +3.43257874015748 + 30 +0.0 + 10 +0.5087165354330708 + 20 +3.429996062992126 + 30 +0.0 + 10 +0.5130511811023623 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.5187440944881889 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.5187440944881889 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.5243818897637795 + 20 +3.428688976377953 + 30 +0.0 + 10 +0.5294094488188976 + 20 +3.429909448818897 + 30 +0.0 + 10 +0.5337992125984252 + 20 +3.432381889763779 + 30 +0.0 + 10 +0.5337992125984252 + 20 +3.432381889763779 + 30 +0.0 + 10 +0.5381889763779527 + 20 +3.434854330708661 + 30 +0.0 + 10 +0.5414370078740157 + 20 +3.438244094488189 + 30 +0.0 + 10 +0.543492125984252 + 20 +3.442523622047244 + 30 +0.0 + 10 +0.543492125984252 + 20 +3.442523622047244 + 30 +0.0 + 10 +0.5450787401574804 + 20 +3.445826771653543 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.450716535433071 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.457161417322835 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.457161417322835 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.457161417322835 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.462551181102362 + 30 +0.0 + 10 +0.5458543307086614 + 20 +3.462551181102362 + 30 +0.0 + 0 +SPLINE + 5 +11D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5775196850393701 + 20 +3.444968503937008 + 30 +0.0 + 10 +0.5775196850393701 + 20 +3.444968503937008 + 30 +0.0 + 10 +0.591992125984252 + 20 +3.447244094488189 + 30 +0.0 + 10 +0.591992125984252 + 20 +3.447244094488189 + 30 +0.0 + 10 +0.591992125984252 + 20 +3.447244094488189 + 30 +0.0 + 10 +0.5927992125984252 + 20 +3.44144094488189 + 30 +0.0 + 10 +0.5950748031496063 + 20 +3.436996062992126 + 30 +0.0 + 10 +0.5987992125984252 + 20 +3.43388188976378 + 30 +0.0 + 10 +0.5987992125984252 + 20 +3.43388188976378 + 30 +0.0 + 10 +0.602492125984252 + 20 +3.430799212598425 + 30 +0.0 + 10 +0.6076889763779527 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.6143818897637795 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.6143818897637795 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.6211023622047244 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.6261023622047244 + 20 +3.430633858267717 + 30 +0.0 + 10 +0.6293543307086614 + 20 +3.433354330708661 + 30 +0.0 + 10 +0.6293543307086614 + 20 +3.433354330708661 + 30 +0.0 + 10 +0.6326023622047244 + 20 +3.436106299212598 + 30 +0.0 + 10 +0.634244094488189 + 20 +3.439326771653543 + 30 +0.0 + 10 +0.634244094488189 + 20 +3.442996062992126 + 30 +0.0 + 10 +0.634244094488189 + 20 +3.442996062992126 + 30 +0.0 + 10 +0.634244094488189 + 20 +3.446326771653543 + 30 +0.0 + 10 +0.6327992125984252 + 20 +3.448909448818898 + 30 +0.0 + 10 +0.6299094488188977 + 20 +3.450826771653543 + 30 +0.0 + 10 +0.6299094488188977 + 20 +3.450826771653543 + 30 +0.0 + 10 +0.6279094488188977 + 20 +3.452133858267716 + 30 +0.0 + 10 +0.6229094488188976 + 20 +3.453771653543307 + 30 +0.0 + 10 +0.6149370078740157 + 20 +3.455771653543307 + 30 +0.0 + 10 +0.6149370078740157 + 20 +3.455771653543307 + 30 +0.0 + 10 +0.6042165354330709 + 20 +3.458496062992126 + 30 +0.0 + 10 +0.596744094488189 + 20 +3.460826771653543 + 30 +0.0 + 10 +0.5926023622047244 + 20 +3.462826771653543 + 30 +0.0 + 10 +0.5926023622047244 + 20 +3.462826771653543 + 30 +0.0 + 10 +0.5884645669291338 + 20 +3.464799212598425 + 30 +0.0 + 10 +0.5852992125984252 + 20 +3.467551181102362 + 30 +0.0 + 10 +0.5831614173228347 + 20 +3.471051181102362 + 30 +0.0 + 10 +0.5831614173228347 + 20 +3.471051181102362 + 30 +0.0 + 10 +0.5810196850393701 + 20 +3.474551181102362 + 30 +0.0 + 10 +0.5799370078740157 + 20 +3.478409448818898 + 30 +0.0 + 10 +0.5799370078740157 + 20 +3.482633858267716 + 30 +0.0 + 10 +0.5799370078740157 + 20 +3.482633858267716 + 30 +0.0 + 10 +0.5799370078740157 + 20 +3.486496062992126 + 30 +0.0 + 10 +0.5808267716535434 + 20 +3.490051181102362 + 30 +0.0 + 10 +0.5826023622047244 + 20 +3.493326771653543 + 30 +0.0 + 10 +0.5826023622047244 + 20 +3.493326771653543 + 30 +0.0 + 10 +0.5843543307086614 + 20 +3.496633858267717 + 30 +0.0 + 10 +0.5867716535433071 + 20 +3.499354330708661 + 30 +0.0 + 10 +0.5897992125984252 + 20 +3.501523622047244 + 30 +0.0 + 10 +0.5897992125984252 + 20 +3.501523622047244 + 30 +0.0 + 10 +0.5920748031496063 + 20 +3.503188976377953 + 30 +0.0 + 10 +0.5951889763779528 + 20 +3.504633858267717 + 30 +0.0 + 10 +0.5991023622047245 + 20 +3.505799212598425 + 30 +0.0 + 10 +0.5991023622047245 + 20 +3.505799212598425 + 30 +0.0 + 10 +0.6030472440944882 + 20 +3.506964566929134 + 30 +0.0 + 10 +0.607271653543307 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.6117716535433071 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.6117716535433071 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.6185472440944881 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.624492125984252 + 20 +3.506551181102362 + 30 +0.0 + 10 +0.6296299212598425 + 20 +3.504606299212599 + 30 +0.0 + 10 +0.6296299212598425 + 20 +3.504606299212599 + 30 +0.0 + 10 +0.6347716535433071 + 20 +3.502661417322835 + 30 +0.0 + 10 +0.6385472440944882 + 20 +3.500023622047244 + 30 +0.0 + 10 +0.6409921259842519 + 20 +3.496688976377953 + 30 +0.0 + 10 +0.6409921259842519 + 20 +3.496688976377953 + 30 +0.0 + 10 +0.6434370078740157 + 20 +3.493326771653543 + 30 +0.0 + 10 +0.6451023622047244 + 20 +3.48888188976378 + 30 +0.0 + 10 +0.6460196850393701 + 20 +3.483299212598425 + 30 +0.0 + 10 +0.6460196850393701 + 20 +3.483299212598425 + 30 +0.0 + 10 +0.6460196850393701 + 20 +3.483299212598425 + 30 +0.0 + 10 +0.6317165354330708 + 20 +3.481326771653543 + 30 +0.0 + 10 +0.6317165354330708 + 20 +3.481326771653543 + 30 +0.0 + 10 +0.6317165354330708 + 20 +3.481326771653543 + 30 +0.0 + 10 +0.6310472440944882 + 20 +3.485771653543307 + 30 +0.0 + 10 +0.6291574803149607 + 20 +3.489244094488189 + 30 +0.0 + 10 +0.6260472440944882 + 20 +3.491744094488189 + 30 +0.0 + 10 +0.6260472440944882 + 20 +3.491744094488189 + 30 +0.0 + 10 +0.6229370078740157 + 20 +3.494244094488189 + 30 +0.0 + 10 +0.61851968503937 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.6128267716535433 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.6128267716535433 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.6061023622047244 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.6012992125984252 + 20 +3.49438188976378 + 30 +0.0 + 10 +0.5984370078740158 + 20 +3.492161417322835 + 30 +0.0 + 10 +0.5984370078740158 + 20 +3.492161417322835 + 30 +0.0 + 10 +0.5955472440944882 + 20 +3.489937007874016 + 30 +0.0 + 10 +0.5941023622047245 + 20 +3.487326771653543 + 30 +0.0 + 10 +0.5941023622047245 + 20 +3.484354330708662 + 30 +0.0 + 10 +0.5941023622047245 + 20 +3.484354330708662 + 30 +0.0 + 10 +0.5941023622047245 + 20 +3.482437007874016 + 30 +0.0 + 10 +0.5947165354330709 + 20 +3.480744094488189 + 30 +0.0 + 10 +0.5959094488188976 + 20 +3.479216535433071 + 30 +0.0 + 10 +0.5959094488188976 + 20 +3.479216535433071 + 30 +0.0 + 10 +0.5971023622047245 + 20 +3.477633858267716 + 30 +0.0 + 10 +0.5989645669291339 + 20 +3.476354330708662 + 30 +0.0 + 10 +0.60151968503937 + 20 +3.475299212598425 + 30 +0.0 + 10 +0.60151968503937 + 20 +3.475299212598425 + 30 +0.0 + 10 +0.602992125984252 + 20 +3.474771653543307 + 30 +0.0 + 10 +0.6072992125984252 + 20 +3.473523622047244 + 30 +0.0 + 10 +0.6144645669291339 + 20 +3.47157874015748 + 30 +0.0 + 10 +0.6144645669291339 + 20 +3.47157874015748 + 30 +0.0 + 10 +0.6248267716535433 + 20 +3.468799212598425 + 30 +0.0 + 10 +0.6320472440944882 + 20 +3.466551181102362 + 30 +0.0 + 10 +0.6361299212598425 + 20 +3.464771653543307 + 30 +0.0 + 10 +0.6361299212598425 + 20 +3.464771653543307 + 30 +0.0 + 10 +0.640244094488189 + 20 +3.463023622047244 + 30 +0.0 + 10 +0.6434645669291339 + 20 +3.460437007874016 + 30 +0.0 + 10 +0.6457992125984252 + 20 +3.45707874015748 + 30 +0.0 + 10 +0.6457992125984252 + 20 +3.45707874015748 + 30 +0.0 + 10 +0.6481299212598425 + 20 +3.453716535433071 + 30 +0.0 + 10 +0.6492992125984252 + 20 +3.449551181102362 + 30 +0.0 + 10 +0.6492992125984252 + 20 +3.444551181102362 + 30 +0.0 + 10 +0.6492992125984252 + 20 +3.444551181102362 + 30 +0.0 + 10 +0.6492992125984252 + 20 +3.439661417322835 + 30 +0.0 + 10 +0.6478543307086614 + 20 +3.43507874015748 + 30 +0.0 + 10 +0.6450196850393701 + 20 +3.430744094488189 + 30 +0.0 + 10 +0.6450196850393701 + 20 +3.430744094488189 + 30 +0.0 + 10 +0.6421574803149607 + 20 +3.42644094488189 + 30 +0.0 + 10 +0.6380472440944882 + 20 +3.423106299212598 + 30 +0.0 + 10 +0.6326850393700787 + 20 +3.420744094488189 + 30 +0.0 + 10 +0.6326850393700787 + 20 +3.420744094488189 + 30 +0.0 + 10 +0.6273267716535433 + 20 +3.41838188976378 + 30 +0.0 + 10 +0.621244094488189 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.6144645669291339 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.6144645669291339 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.6032165354330709 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.5946614173228346 + 20 +3.419551181102362 + 30 +0.0 + 10 +0.5887716535433071 + 20 +3.424216535433071 + 30 +0.0 + 10 +0.5887716535433071 + 20 +3.424216535433071 + 30 +0.0 + 10 +0.5828818897637795 + 20 +3.42888188976378 + 30 +0.0 + 10 +0.5791299212598425 + 20 +3.435799212598425 + 30 +0.0 + 10 +0.5775196850393701 + 20 +3.444968503937008 + 30 +0.0 + 0 +SPLINE + 5 +11E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.661244094488189 + 20 +3.46238188976378 + 30 +0.0 + 10 +0.661244094488189 + 20 +3.47838188976378 + 30 +0.0 + 10 +0.6656889763779528 + 20 +3.490244094488189 + 30 +0.0 + 10 +0.6746062992125984 + 20 +3.497937007874016 + 30 +0.0 + 10 +0.6746062992125984 + 20 +3.497937007874016 + 30 +0.0 + 10 +0.6820236220472441 + 20 +3.504326771653543 + 30 +0.0 + 10 +0.6910787401574803 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.7136614173228346 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.7233818897637795 + 20 +3.503661417322835 + 30 +0.0 + 10 +0.7309094488188976 + 20 +3.495854330708661 + 30 +0.0 + 10 +0.7309094488188976 + 20 +3.495854330708661 + 30 +0.0 + 10 +0.7384645669291339 + 20 +3.48807874015748 + 30 +0.0 + 10 +0.7422165354330709 + 20 +3.477326771653543 + 30 +0.0 + 10 +0.7422165354330709 + 20 +3.463606299212598 + 30 +0.0 + 10 +0.7422165354330709 + 20 +3.463606299212598 + 30 +0.0 + 10 +0.7422165354330709 + 20 +3.452468503937008 + 30 +0.0 + 10 +0.7405472440944882 + 20 +3.443716535433071 + 30 +0.0 + 10 +0.7372165354330709 + 20 +3.437354330708661 + 30 +0.0 + 10 +0.7372165354330709 + 20 +3.437354330708661 + 30 +0.0 + 10 +0.7338818897637795 + 20 +3.430968503937008 + 30 +0.0 + 10 +0.7290196850393701 + 20 +3.426023622047244 + 30 +0.0 + 10 +0.7226614173228346 + 20 +3.422496062992126 + 30 +0.0 + 10 +0.7226614173228346 + 20 +3.422496062992126 + 30 +0.0 + 10 +0.7162716535433071 + 20 +3.418968503937008 + 30 +0.0 + 10 +0.7093267716535433 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.6896889763779528 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.6799094488188976 + 20 +3.42107874015748 + 30 +0.0 + 10 +0.6724370078740157 + 20 +3.428854330708662 + 30 +0.0 + 10 +0.6724370078740157 + 20 +3.428854330708662 + 30 +0.0 + 10 +0.6649645669291339 + 20 +3.436606299212599 + 30 +0.0 + 10 +0.661244094488189 + 20 +3.447771653543307 + 30 +0.0 + 10 +0.661244094488189 + 20 +3.46238188976378 + 30 +0.0 + 0 +SPLINE + 5 +11F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.6762992125984252 + 20 +3.46238188976378 + 30 +0.0 + 10 +0.6762992125984252 + 20 +3.451299212598425 + 30 +0.0 + 10 +0.6787165354330709 + 20 +3.443023622047244 + 30 +0.0 + 10 +0.6835511811023622 + 20 +3.437523622047244 + 30 +0.0 + 10 +0.6835511811023622 + 20 +3.437523622047244 + 30 +0.0 + 10 +0.6883818897637796 + 20 +3.431996062992126 + 30 +0.0 + 10 +0.6944645669291338 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.7090511811023622 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.7151062992125984 + 20 +3.432023622047244 + 30 +0.0 + 10 +0.7199370078740157 + 20 +3.437551181102362 + 30 +0.0 + 10 +0.7199370078740157 + 20 +3.437551181102362 + 30 +0.0 + 10 +0.724744094488189 + 20 +3.44307874015748 + 30 +0.0 + 10 +0.7271614173228347 + 20 +3.451523622047244 + 30 +0.0 + 10 +0.7271614173228347 + 20 +3.462854330708661 + 30 +0.0 + 10 +0.7271614173228347 + 20 +3.462854330708661 + 30 +0.0 + 10 +0.7271614173228347 + 20 +3.473551181102362 + 30 +0.0 + 10 +0.724744094488189 + 20 +3.481661417322835 + 30 +0.0 + 10 +0.7198818897637795 + 20 +3.487161417322834 + 30 +0.0 + 10 +0.7198818897637795 + 20 +3.487161417322834 + 30 +0.0 + 10 +0.7150196850393701 + 20 +3.492661417322835 + 30 +0.0 + 10 +0.708992125984252 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.7017716535433071 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.6944645669291338 + 20 +3.495409448818898 + 30 +0.0 + 10 +0.6883818897637796 + 20 +3.492661417322835 + 30 +0.0 + 10 +0.6835511811023622 + 20 +3.487188976377953 + 30 +0.0 + 10 +0.6835511811023622 + 20 +3.487188976377953 + 30 +0.0 + 10 +0.6787165354330709 + 20 +3.481716535433071 + 30 +0.0 + 10 +0.6762992125984252 + 20 +3.473437007874016 + 30 +0.0 + 10 +0.6762992125984252 + 20 +3.46238188976378 + 30 +0.0 + 0 +SPLINE + 5 +120 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7594094488188976 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.493299212598425 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.493299212598425 + 30 +0.0 + 10 +0.7725748031496062 + 20 +3.493299212598425 + 30 +0.0 + 10 +0.7789370078740158 + 20 +3.502799212598425 + 30 +0.0 + 10 +0.7881023622047244 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.8000748031496063 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.8000748031496063 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.8052992125984252 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.8100748031496063 + 20 +3.506606299212598 + 30 +0.0 + 10 +0.8144370078740157 + 20 +3.504744094488189 + 30 +0.0 + 10 +0.8144370078740157 + 20 +3.504744094488189 + 30 +0.0 + 10 +0.8188267716535433 + 20 +3.502854330708661 + 30 +0.0 + 10 +0.8220748031496063 + 20 +3.500409448818897 + 30 +0.0 + 10 +0.824244094488189 + 20 +3.497354330708661 + 30 +0.0 + 10 +0.824244094488189 + 20 +3.497354330708661 + 30 +0.0 + 10 +0.8264370078740157 + 20 +3.494326771653543 + 30 +0.0 + 10 +0.8279370078740157 + 20 +3.490716535433071 + 30 +0.0 + 10 +0.8288267716535433 + 20 +3.486551181102362 + 30 +0.0 + 10 +0.8288267716535433 + 20 +3.486551181102362 + 30 +0.0 + 10 +0.8293543307086614 + 20 +3.483826771653543 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.479078740157481 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.472299212598425 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.472299212598425 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.472299212598425 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8296299212598425 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.471744094488189 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.471744094488189 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.471744094488189 + 30 +0.0 + 10 +0.8149645669291339 + 20 +3.477688976377953 + 30 +0.0 + 10 +0.8144094488188977 + 20 +3.482161417322835 + 30 +0.0 + 10 +0.8132716535433071 + 20 +3.485133858267717 + 30 +0.0 + 10 +0.8132716535433071 + 20 +3.485133858267717 + 30 +0.0 + 10 +0.8121299212598425 + 20 +3.48807874015748 + 30 +0.0 + 10 +0.8101023622047244 + 20 +3.490437007874016 + 30 +0.0 + 10 +0.8072125984251969 + 20 +3.492188976377953 + 30 +0.0 + 10 +0.8072125984251969 + 20 +3.492188976377953 + 30 +0.0 + 10 +0.8042992125984252 + 20 +3.493964566929134 + 30 +0.0 + 10 +0.8009094488188976 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.796992125984252 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.796992125984252 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.7907440944881889 + 20 +3.494854330708661 + 30 +0.0 + 10 +0.7853818897637795 + 20 +3.492854330708661 + 30 +0.0 + 10 +0.7808267716535433 + 20 +3.488909448818898 + 30 +0.0 + 10 +0.7808267716535433 + 20 +3.488909448818898 + 30 +0.0 + 10 +0.7762992125984252 + 20 +3.484937007874016 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.477437007874016 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.466354330708661 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.466354330708661 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.466354330708661 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7740472440944882 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.7594094488188976 + 20 +3.419161417322835 + 30 +0.0 + 0 +SPLINE + 5 +121 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8521574803149606 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.538464566929134 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.521606299212598 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.521606299212598 + 30 +0.0 + 0 +SPLINE + 5 +122 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8521574803149606 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.50557874015748 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8668228346456693 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.419161417322835 + 30 +0.0 + 10 +0.8521574803149606 + 20 +3.419161417322835 + 30 +0.0 + 0 +SPLINE + 5 +123 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9455196850393701 + 20 +3.450826771653543 + 30 +0.0 + 10 +0.9455196850393701 + 20 +3.450826771653543 + 30 +0.0 + 10 +0.9599055118110236 + 20 +3.448937007874016 + 30 +0.0 + 10 +0.9599055118110236 + 20 +3.448937007874016 + 30 +0.0 + 10 +0.9599055118110236 + 20 +3.448937007874016 + 30 +0.0 + 10 +0.9583503937007875 + 20 +3.439023622047244 + 30 +0.0 + 10 +0.9543228346456692 + 20 +3.431244094488189 + 30 +0.0 + 10 +0.9478228346456693 + 20 +3.425633858267716 + 30 +0.0 + 10 +0.9478228346456693 + 20 +3.425633858267716 + 30 +0.0 + 10 +0.9413503937007874 + 20 +3.420023622047244 + 30 +0.0 + 10 +0.9333779527559055 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.9239370078740158 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.9239370078740158 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.9121299212598425 + 20 +3.417216535433071 + 30 +0.0 + 10 +0.9026023622047245 + 20 +3.42107874015748 + 30 +0.0 + 10 +0.8954370078740157 + 20 +3.428799212598425 + 30 +0.0 + 10 +0.8954370078740157 + 20 +3.428799212598425 + 30 +0.0 + 10 +0.8882401574803149 + 20 +3.436523622047244 + 30 +0.0 + 10 +0.8846299212598425 + 20 +3.447606299212599 + 30 +0.0 + 10 +0.8846299212598425 + 20 +3.462051181102362 + 30 +0.0 + 10 +0.8846299212598425 + 20 +3.462051181102362 + 30 +0.0 + 10 +0.8846299212598425 + 20 +3.47138188976378 + 30 +0.0 + 10 +0.8861850393700788 + 20 +3.479551181102362 + 30 +0.0 + 10 +0.889267716535433 + 20 +3.486551181102362 + 30 +0.0 + 10 +0.889267716535433 + 20 +3.486551181102362 + 30 +0.0 + 10 +0.8923779527559055 + 20 +3.493551181102362 + 30 +0.0 + 10 +0.8970748031496063 + 20 +3.498799212598425 + 30 +0.0 + 10 +0.9034094488188976 + 20 +3.502299212598425 + 30 +0.0 + 10 +0.9034094488188976 + 20 +3.502299212598425 + 30 +0.0 + 10 +0.9097125984251968 + 20 +3.505799212598425 + 30 +0.0 + 10 +0.9166023622047245 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.92401968503937 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.92401968503937 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.9334055118110236 + 20 +3.507551181102362 + 30 +0.0 + 10 +0.9411023622047244 + 20 +3.505161417322835 + 30 +0.0 + 10 +0.9470472440944881 + 20 +3.500409448818897 + 30 +0.0 + 10 +0.9470472440944881 + 20 +3.500409448818897 + 30 +0.0 + 10 +0.9530196850393701 + 20 +3.495661417322835 + 30 +0.0 + 10 +0.9568503937007874 + 20 +3.488937007874016 + 30 +0.0 + 10 +0.9585472440944882 + 20 +3.480188976377953 + 30 +0.0 + 10 +0.9585472440944882 + 20 +3.480188976377953 + 30 +0.0 + 10 +0.9585472440944882 + 20 +3.480188976377953 + 30 +0.0 + 10 +0.9442952755905512 + 20 +3.477996062992126 + 30 +0.0 + 10 +0.9442952755905512 + 20 +3.477996062992126 + 30 +0.0 + 10 +0.9442952755905512 + 20 +3.477996062992126 + 30 +0.0 + 10 +0.9429330708661418 + 20 +3.483799212598425 + 30 +0.0 + 10 +0.9405472440944882 + 20 +3.488161417322835 + 30 +0.0 + 10 +0.9371023622047244 + 20 +3.491106299212599 + 30 +0.0 + 10 +0.9371023622047244 + 20 +3.491106299212599 + 30 +0.0 + 10 +0.9336574803149607 + 20 +3.494023622047244 + 30 +0.0 + 10 +0.929492125984252 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.9246023622047244 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.9246023622047244 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.9172125984251969 + 20 +3.495496062992126 + 30 +0.0 + 10 +0.9112125984251969 + 20 +3.492854330708661 + 30 +0.0 + 10 +0.9066023622047245 + 20 +3.487551181102362 + 30 +0.0 + 10 +0.9066023622047245 + 20 +3.487551181102362 + 30 +0.0 + 10 +0.9019921259842519 + 20 +3.482271653543307 + 30 +0.0 + 10 +0.8996850393700787 + 20 +3.473909448818898 + 30 +0.0 + 10 +0.8996850393700787 + 20 +3.462468503937008 + 30 +0.0 + 10 +0.8996850393700787 + 20 +3.462468503937008 + 30 +0.0 + 10 +0.8996850393700787 + 20 +3.450854330708661 + 30 +0.0 + 10 +0.9019094488188977 + 20 +3.442409448818898 + 30 +0.0 + 10 +0.9063779527559055 + 20 +3.437133858267717 + 30 +0.0 + 10 +0.9063779527559055 + 20 +3.437133858267717 + 30 +0.0 + 10 +0.9108228346456693 + 20 +3.43188188976378 + 30 +0.0 + 10 +0.9166299212598426 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.9237952755905512 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.9237952755905512 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.9295472440944882 + 20 +3.429244094488189 + 30 +0.0 + 10 +0.9343228346456693 + 20 +3.431023622047244 + 30 +0.0 + 10 +0.9381850393700787 + 20 +3.434551181102362 + 30 +0.0 + 10 +0.9381850393700787 + 20 +3.434551181102362 + 30 +0.0 + 10 +0.9420472440944881 + 20 +3.43807874015748 + 30 +0.0 + 10 +0.9444921259842519 + 20 +3.443496062992126 + 30 +0.0 + 10 +0.9455196850393701 + 20 +3.450826771653543 + 30 +0.0 + 0 +SPLINE + 5 +124 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.1963307086614173 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2825826771653543 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.301661417322835 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2781102362204724 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.287661417322834 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2121102362204725 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.2853582677165354 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.1963307086614173 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +125 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.306496062992126 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.293106299212599 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.293106299212599 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.293106299212599 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.293106299212599 + 30 +0.0 + 10 +0.3815511811023622 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3815511811023622 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3815511811023622 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3815511811023622 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4029409448818898 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4029409448818898 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4029409448818898 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4029409448818898 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.3528858267716535 + 20 +3.30394094488189 + 30 +0.0 + 10 +0.3528858267716535 + 20 +3.30394094488189 + 30 +0.0 + 10 +0.3528858267716535 + 20 +3.30394094488189 + 30 +0.0 + 10 +0.3528858267716535 + 20 +3.30394094488189 + 30 +0.0 + 10 +0.4051338582677165 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4051338582677165 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4051338582677165 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4051338582677165 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3843031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3843031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3843031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3843031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3418307086614173 + 20 +3.293358267716536 + 30 +0.0 + 10 +0.3418307086614173 + 20 +3.293358267716536 + 30 +0.0 + 10 +0.3418307086614173 + 20 +3.293358267716536 + 30 +0.0 + 10 +0.3418307086614173 + 20 +3.293358267716536 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.274303149606299 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.274303149606299 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.274303149606299 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.274303149606299 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.3223031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.306496062992126 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +126 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4178307086614173 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4416062992125984 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4416062992125984 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4416062992125984 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4416062992125984 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.4698307086614173 + 20 +3.267803149606299 + 30 +0.0 + 10 +0.4698307086614173 + 20 +3.267803149606299 + 30 +0.0 + 10 +0.4698307086614173 + 20 +3.267803149606299 + 30 +0.0 + 10 +0.4724409448818898 + 20 +3.25994094488189 + 30 +0.0 + 10 +0.4743582677165354 + 20 +3.254051181102362 + 30 +0.0 + 10 +0.4755236220472441 + 20 +3.250133858267716 + 30 +0.0 + 10 +0.4755236220472441 + 20 +3.250133858267716 + 30 +0.0 + 10 +0.4768858267716535 + 20 +3.254468503937008 + 30 +0.0 + 10 +0.478996062992126 + 20 +3.260858267716535 + 30 +0.0 + 10 +0.4818858267716535 + 20 +3.269275590551181 + 30 +0.0 + 10 +0.4818858267716535 + 20 +3.269275590551181 + 30 +0.0 + 10 +0.4818858267716535 + 20 +3.269275590551181 + 30 +0.0 + 10 +0.5104409448818897 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5104409448818897 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5104409448818897 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5104409448818897 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5316889763779528 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.332830708661418 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.332830708661418 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.332830708661418 + 30 +0.0 + 10 +0.5164685039370078 + 20 +3.332830708661418 + 30 +0.0 + 10 +0.4818031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4818031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4818031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4818031496062992 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4675511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4675511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4675511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4675511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.334523622047244 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.334523622047244 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.334523622047244 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.334523622047244 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4330511811023622 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.4178307086614173 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +127 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.556492125984252 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.6012716535433071 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.6012716535433071 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.6012716535433071 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.6103818897637795 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.6176889763779527 + 20 +3.351051181102362 + 30 +0.0 + 10 +0.6231889763779528 + 20 +3.348661417322835 + 30 +0.0 + 10 +0.6231889763779528 + 20 +3.348661417322835 + 30 +0.0 + 10 +0.6287165354330708 + 20 +3.346244094488189 + 30 +0.0 + 10 +0.6330196850393701 + 20 +3.342523622047244 + 30 +0.0 + 10 +0.6361299212598425 + 20 +3.337496062992126 + 30 +0.0 + 10 +0.6361299212598425 + 20 +3.337496062992126 + 30 +0.0 + 10 +0.639244094488189 + 20 +3.332496062992126 + 30 +0.0 + 10 +0.6408267716535433 + 20 +3.327244094488189 + 30 +0.0 + 10 +0.6408267716535433 + 20 +3.321744094488189 + 30 +0.0 + 10 +0.6408267716535433 + 20 +3.321744094488189 + 30 +0.0 + 10 +0.6408267716535433 + 20 +3.316661417322835 + 30 +0.0 + 10 +0.6394370078740157 + 20 +3.311858267716536 + 30 +0.0 + 10 +0.6366614173228347 + 20 +3.307358267716535 + 30 +0.0 + 10 +0.6366614173228347 + 20 +3.307358267716535 + 30 +0.0 + 10 +0.6339094488188977 + 20 +3.302858267716535 + 30 +0.0 + 10 +0.6297165354330708 + 20 +3.299216535433071 + 30 +0.0 + 10 +0.6241338582677165 + 20 +3.29644094488189 + 30 +0.0 + 10 +0.6241338582677165 + 20 +3.29644094488189 + 30 +0.0 + 10 +0.6313543307086614 + 20 +3.294330708661418 + 30 +0.0 + 10 +0.6368818897637796 + 20 +3.290716535433071 + 30 +0.0 + 10 +0.6407716535433071 + 20 +3.285633858267717 + 30 +0.0 + 10 +0.6407716535433071 + 20 +3.285633858267717 + 30 +0.0 + 10 +0.6446614173228347 + 20 +3.280523622047244 + 30 +0.0 + 10 +0.6466023622047244 + 20 +3.274496062992126 + 30 +0.0 + 10 +0.6466023622047244 + 20 +3.267551181102362 + 30 +0.0 + 10 +0.6466023622047244 + 20 +3.267551181102362 + 30 +0.0 + 10 +0.6466023622047244 + 20 +3.261968503937008 + 30 +0.0 + 10 +0.6454094488188976 + 20 +3.256775590551181 + 30 +0.0 + 10 +0.6430472440944882 + 20 +3.251968503937008 + 30 +0.0 + 10 +0.6430472440944882 + 20 +3.251968503937008 + 30 +0.0 + 10 +0.6406889763779527 + 20 +3.247161417322835 + 30 +0.0 + 10 +0.6377716535433071 + 20 +3.243468503937008 + 30 +0.0 + 10 +0.6342992125984251 + 20 +3.240858267716535 + 30 +0.0 + 10 +0.6342992125984251 + 20 +3.240858267716535 + 30 +0.0 + 10 +0.6308267716535433 + 20 +3.238248031496063 + 30 +0.0 + 10 +0.6264645669291339 + 20 +3.236303149606299 + 30 +0.0 + 10 +0.621244094488189 + 20 +3.234968503937008 + 30 +0.0 + 10 +0.621244094488189 + 20 +3.234968503937008 + 30 +0.0 + 10 +0.6160196850393701 + 20 +3.233633858267717 + 30 +0.0 + 10 +0.6096023622047244 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.601992125984252 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.601992125984252 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.601992125984252 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.556492125984252 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +128 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5722992125984252 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.5981062992125984 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.5981062992125984 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.5981062992125984 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.6050748031496063 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.6101023622047244 + 20 +3.302606299212599 + 30 +0.0 + 10 +0.6131614173228347 + 20 +3.303523622047244 + 30 +0.0 + 10 +0.6131614173228347 + 20 +3.303523622047244 + 30 +0.0 + 10 +0.6171614173228347 + 20 +3.304716535433071 + 30 +0.0 + 10 +0.6201889763779528 + 20 +3.306688976377953 + 30 +0.0 + 10 +0.6222165354330709 + 20 +3.309468503937008 + 30 +0.0 + 10 +0.6222165354330709 + 20 +3.309468503937008 + 30 +0.0 + 10 +0.624244094488189 + 20 +3.312244094488189 + 30 +0.0 + 10 +0.625271653543307 + 20 +3.315716535433071 + 30 +0.0 + 10 +0.625271653543307 + 20 +3.319885826771654 + 30 +0.0 + 10 +0.625271653543307 + 20 +3.319885826771654 + 30 +0.0 + 10 +0.625271653543307 + 20 +3.323830708661417 + 30 +0.0 + 10 +0.6243267716535433 + 20 +3.327330708661417 + 30 +0.0 + 10 +0.6224370078740158 + 20 +3.330330708661417 + 30 +0.0 + 10 +0.6224370078740158 + 20 +3.330330708661417 + 30 +0.0 + 10 +0.62051968503937 + 20 +3.333358267716536 + 30 +0.0 + 10 +0.6177992125984252 + 20 +3.335413385826772 + 30 +0.0 + 10 +0.6142992125984252 + 20 +3.336523622047244 + 30 +0.0 + 10 +0.6142992125984252 + 20 +3.336523622047244 + 30 +0.0 + 10 +0.6107716535433071 + 20 +3.337633858267717 + 30 +0.0 + 10 +0.6047165354330709 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5961338582677166 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5961338582677166 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5961338582677166 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.338188976377953 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.302133858267716 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.302133858267716 + 30 +0.0 + 0 +SPLINE + 5 +129 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5722992125984252 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.601992125984252 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.601992125984252 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.601992125984252 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.6071023622047244 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.6106889763779527 + 20 +3.247248031496063 + 30 +0.0 + 10 +0.612744094488189 + 20 +3.247606299212598 + 30 +0.0 + 10 +0.612744094488189 + 20 +3.247606299212598 + 30 +0.0 + 10 +0.6163818897637795 + 20 +3.248275590551181 + 30 +0.0 + 10 +0.6194094488188976 + 20 +3.249358267716536 + 30 +0.0 + 10 +0.6218543307086614 + 20 +3.250885826771654 + 30 +0.0 + 10 +0.6218543307086614 + 20 +3.250885826771654 + 30 +0.0 + 10 +0.6242992125984252 + 20 +3.252385826771654 + 30 +0.0 + 10 +0.6262992125984252 + 20 +3.254606299212599 + 30 +0.0 + 10 +0.6278818897637796 + 20 +3.257496062992126 + 30 +0.0 + 10 +0.6278818897637796 + 20 +3.257496062992126 + 30 +0.0 + 10 +0.6294370078740158 + 20 +3.260413385826772 + 30 +0.0 + 10 +0.630244094488189 + 20 +3.263744094488189 + 30 +0.0 + 10 +0.630244094488189 + 20 +3.267551181102362 + 30 +0.0 + 10 +0.630244094488189 + 20 +3.267551181102362 + 30 +0.0 + 10 +0.630244094488189 + 20 +3.271996062992126 + 30 +0.0 + 10 +0.6291023622047244 + 20 +3.275858267716536 + 30 +0.0 + 10 +0.6268267716535433 + 20 +3.279161417322835 + 30 +0.0 + 10 +0.6268267716535433 + 20 +3.279161417322835 + 30 +0.0 + 10 +0.6245472440944881 + 20 +3.28244094488189 + 30 +0.0 + 10 +0.6213818897637795 + 20 +3.284744094488189 + 30 +0.0 + 10 +0.6173267716535433 + 20 +3.28607874015748 + 30 +0.0 + 10 +0.6173267716535433 + 20 +3.28607874015748 + 30 +0.0 + 10 +0.6132992125984252 + 20 +3.287385826771653 + 30 +0.0 + 10 +0.6074645669291339 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5998818897637795 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5998818897637795 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5998818897637795 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.288051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.247051181102362 + 30 +0.0 + 10 +0.5722992125984252 + 20 +3.247051181102362 + 30 +0.0 + 0 +SPLINE + 5 +12A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7175472440944882 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.326299212598425 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.326299212598425 + 30 +0.0 + 10 +0.7029094488188976 + 20 +3.326299212598425 + 30 +0.0 + 10 +0.6993818897637796 + 20 +3.32294094488189 + 30 +0.0 + 10 +0.694771653543307 + 20 +3.31957874015748 + 30 +0.0 + 10 +0.6890472440944881 + 20 +3.316216535433071 + 30 +0.0 + 10 +0.6890472440944881 + 20 +3.316216535433071 + 30 +0.0 + 10 +0.6832992125984252 + 20 +3.312858267716535 + 30 +0.0 + 10 +0.6781574803149606 + 20 +3.310330708661418 + 30 +0.0 + 10 +0.6736023622047244 + 20 +3.308661417322835 + 30 +0.0 + 10 +0.6736023622047244 + 20 +3.308661417322835 + 30 +0.0 + 10 +0.6736023622047244 + 20 +3.308661417322835 + 30 +0.0 + 10 +0.6736023622047244 + 20 +3.322799212598425 + 30 +0.0 + 10 +0.6736023622047244 + 20 +3.322799212598425 + 30 +0.0 + 10 +0.6736023622047244 + 20 +3.322799212598425 + 30 +0.0 + 10 +0.6817992125984252 + 20 +3.326661417322835 + 30 +0.0 + 10 +0.6889645669291339 + 20 +3.331330708661417 + 30 +0.0 + 10 +0.6951023622047244 + 20 +3.336799212598425 + 30 +0.0 + 10 +0.6951023622047244 + 20 +3.336799212598425 + 30 +0.0 + 10 +0.7012125984251969 + 20 +3.342299212598425 + 30 +0.0 + 10 +0.7055748031496063 + 20 +3.347606299212599 + 30 +0.0 + 10 +0.7081299212598425 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7081299212598425 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7081299212598425 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.352771653543307 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7175472440944882 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +12B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7488779527559055 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7488779527559055 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7950472440944882 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.7950472440944882 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.7950472440944882 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.7950472440944882 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.7543503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7543503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7543503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7543503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7731299212598425 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7731299212598425 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7731299212598425 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7731299212598425 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.7947952755905512 + 20 +3.321661417322835 + 30 +0.0 + 10 +0.7947952755905512 + 20 +3.321661417322835 + 30 +0.0 + 10 +0.7947952755905512 + 20 +3.321661417322835 + 30 +0.0 + 10 +0.7992952755905511 + 20 +3.315330708661417 + 30 +0.0 + 10 +0.802492125984252 + 20 +3.31044094488189 + 30 +0.0 + 10 +0.8043779527559055 + 20 +3.307023622047244 + 30 +0.0 + 10 +0.8043779527559055 + 20 +3.307023622047244 + 30 +0.0 + 10 +0.8070472440944881 + 20 +3.311358267716535 + 30 +0.0 + 10 +0.8101850393700787 + 20 +3.315885826771654 + 30 +0.0 + 10 +0.8138228346456693 + 20 +3.320606299212598 + 30 +0.0 + 10 +0.8138228346456693 + 20 +3.320606299212598 + 30 +0.0 + 10 +0.8138228346456693 + 20 +3.320606299212598 + 30 +0.0 + 10 +0.8378503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8378503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8378503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8378503937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8550196850393701 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8550196850393701 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8550196850393701 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8550196850393701 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8131023622047244 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.8131023622047244 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.8131023622047244 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.8131023622047244 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.8582677165354331 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8582677165354331 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8582677165354331 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8582677165354331 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8387401574803149 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8387401574803149 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8387401574803149 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8387401574803149 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8087125984251968 + 20 +3.275523622047244 + 30 +0.0 + 10 +0.8087125984251968 + 20 +3.275523622047244 + 30 +0.0 + 10 +0.8087125984251968 + 20 +3.275523622047244 + 30 +0.0 + 10 +0.80701968503937 + 20 +3.277968503937008 + 30 +0.0 + 10 +0.8052952755905511 + 20 +3.280633858267716 + 30 +0.0 + 10 +0.803492125984252 + 20 +3.283496062992126 + 30 +0.0 + 10 +0.803492125984252 + 20 +3.283496062992126 + 30 +0.0 + 10 +0.8008228346456693 + 20 +3.279161417322835 + 30 +0.0 + 10 +0.7989330708661417 + 20 +3.276188976377953 + 30 +0.0 + 10 +0.7977952755905512 + 20 +3.274551181102362 + 30 +0.0 + 10 +0.7977952755905512 + 20 +3.274551181102362 + 30 +0.0 + 10 +0.7977952755905512 + 20 +3.274551181102362 + 30 +0.0 + 10 +0.7678503937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7678503937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7678503937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7678503937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7488779527559055 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.7488779527559055 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +12C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8600433070866141 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8600433070866141 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9062125984251969 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.9062125984251969 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.9062125984251969 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.9062125984251969 + 20 +3.295133858267716 + 30 +0.0 + 10 +0.8655157480314961 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8655157480314961 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8655157480314961 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8655157480314961 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8842952755905512 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8842952755905512 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8842952755905512 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.8842952755905512 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.9059606299212598 + 20 +3.321661417322835 + 30 +0.0 + 10 +0.9059606299212598 + 20 +3.321661417322835 + 30 +0.0 + 10 +0.9059606299212598 + 20 +3.321661417322835 + 30 +0.0 + 10 +0.9104606299212599 + 20 +3.315330708661417 + 30 +0.0 + 10 +0.9136574803149606 + 20 +3.31044094488189 + 30 +0.0 + 10 +0.9155433070866141 + 20 +3.307023622047244 + 30 +0.0 + 10 +0.9155433070866141 + 20 +3.307023622047244 + 30 +0.0 + 10 +0.9182125984251969 + 20 +3.311358267716535 + 30 +0.0 + 10 +0.9213503937007874 + 20 +3.315885826771654 + 30 +0.0 + 10 +0.9249881889763779 + 20 +3.320606299212598 + 30 +0.0 + 10 +0.9249881889763779 + 20 +3.320606299212598 + 30 +0.0 + 10 +0.9249881889763779 + 20 +3.320606299212598 + 30 +0.0 + 10 +0.949015748031496 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.949015748031496 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.949015748031496 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.949015748031496 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.9661850393700787 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.9661850393700787 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.9661850393700787 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.9661850393700787 + 20 +3.352271653543307 + 30 +0.0 + 10 +0.924267716535433 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.924267716535433 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.924267716535433 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.924267716535433 + 20 +3.296051181102362 + 30 +0.0 + 10 +0.9694330708661417 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9694330708661417 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9694330708661417 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9694330708661417 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9499055118110237 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9499055118110237 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9499055118110237 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9499055118110237 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.9198779527559056 + 20 +3.275523622047244 + 30 +0.0 + 10 +0.9198779527559056 + 20 +3.275523622047244 + 30 +0.0 + 10 +0.9198779527559056 + 20 +3.275523622047244 + 30 +0.0 + 10 +0.9181850393700788 + 20 +3.277968503937008 + 30 +0.0 + 10 +0.9164606299212599 + 20 +3.280633858267716 + 30 +0.0 + 10 +0.9146574803149606 + 20 +3.283496062992126 + 30 +0.0 + 10 +0.9146574803149606 + 20 +3.283496062992126 + 30 +0.0 + 10 +0.9119881889763779 + 20 +3.279161417322835 + 30 +0.0 + 10 +0.9100984251968504 + 20 +3.276188976377953 + 30 +0.0 + 10 +0.9089606299212598 + 20 +3.274551181102362 + 30 +0.0 + 10 +0.9089606299212598 + 20 +3.274551181102362 + 30 +0.0 + 10 +0.9089606299212598 + 20 +3.274551181102362 + 30 +0.0 + 10 +0.8790157480314961 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8790157480314961 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8790157480314961 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8790157480314961 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8600433070866141 + 20 +3.232968503937008 + 30 +0.0 + 10 +0.8600433070866141 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +12D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9774881889763779 + 20 +3.264468503937008 + 30 +0.0 + 10 +0.9774881889763779 + 20 +3.264468503937008 + 30 +0.0 + 10 +0.9921259842519685 + 20 +3.266413385826771 + 30 +0.0 + 10 +0.9921259842519685 + 20 +3.266413385826771 + 30 +0.0 + 10 +0.9921259842519685 + 20 +3.266413385826771 + 30 +0.0 + 10 +0.9938228346456693 + 20 +3.258106299212598 + 30 +0.0 + 10 +0.9966811023622048 + 20 +3.252133858267717 + 30 +0.0 + 10 +1.000708661417323 + 20 +3.248468503937008 + 30 +0.0 + 10 +1.000708661417323 + 20 +3.248468503937008 + 30 +0.0 + 10 +1.004763779527559 + 20 +3.244803149606299 + 30 +0.0 + 10 +1.009681102362205 + 20 +3.242968503937008 + 30 +0.0 + 10 +1.015488188976378 + 20 +3.242968503937008 + 30 +0.0 + 10 +1.015488188976378 + 20 +3.242968503937008 + 30 +0.0 + 10 +1.022377952755906 + 20 +3.242968503937008 + 30 +0.0 + 10 +1.028208661417323 + 20 +3.245358267716536 + 30 +0.0 + 10 +1.03296062992126 + 20 +3.250133858267716 + 30 +0.0 + 10 +1.03296062992126 + 20 +3.250133858267716 + 30 +0.0 + 10 +1.037681102362205 + 20 +3.254913385826772 + 30 +0.0 + 10 +1.040070866141732 + 20 +3.260830708661417 + 30 +0.0 + 10 +1.040070866141732 + 20 +3.267885826771654 + 30 +0.0 + 10 +1.040070866141732 + 20 +3.267885826771654 + 30 +0.0 + 10 +1.040070866141732 + 20 +3.274606299212599 + 30 +0.0 + 10 +1.037877952755905 + 20 +3.280161417322835 + 30 +0.0 + 10 +1.033488188976378 + 20 +3.284523622047244 + 30 +0.0 + 10 +1.033488188976378 + 20 +3.284523622047244 + 30 +0.0 + 10 +1.029070866141732 + 20 +3.288885826771653 + 30 +0.0 + 10 +1.023488188976378 + 20 +3.29107874015748 + 30 +0.0 + 10 +1.016708661417323 + 20 +3.29107874015748 + 30 +0.0 + 10 +1.016708661417323 + 20 +3.29107874015748 + 30 +0.0 + 10 +1.013933070866142 + 20 +3.29107874015748 + 30 +0.0 + 10 +1.010488188976378 + 20 +3.290523622047244 + 30 +0.0 + 10 +1.006377952755906 + 20 +3.28944094488189 + 30 +0.0 + 10 +1.006377952755906 + 20 +3.28944094488189 + 30 +0.0 + 10 +1.006377952755906 + 20 +3.28944094488189 + 30 +0.0 + 10 +1.008015748031496 + 20 +3.302303149606299 + 30 +0.0 + 10 +1.008015748031496 + 20 +3.302303149606299 + 30 +0.0 + 10 +1.008015748031496 + 20 +3.302303149606299 + 30 +0.0 + 10 +1.008988188976378 + 20 +3.302188976377953 + 30 +0.0 + 10 +1.009763779527559 + 20 +3.302133858267716 + 30 +0.0 + 10 +1.010377952755906 + 20 +3.302133858267716 + 30 +0.0 + 10 +1.010377952755906 + 20 +3.302133858267716 + 30 +0.0 + 10 +1.01659842519685 + 20 +3.302133858267716 + 30 +0.0 + 10 +1.022208661417323 + 20 +3.303771653543307 + 30 +0.0 + 10 +1.027208661417323 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.027208661417323 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.032208661417323 + 20 +3.310271653543307 + 30 +0.0 + 10 +1.034708661417323 + 20 +3.315303149606299 + 30 +0.0 + 10 +1.034708661417323 + 20 +3.322078740157481 + 30 +0.0 + 10 +1.034708661417323 + 20 +3.322078740157481 + 30 +0.0 + 10 +1.034708661417323 + 20 +3.32744094488189 + 30 +0.0 + 10 +1.032877952755906 + 20 +3.331913385826772 + 30 +0.0 + 10 +1.029236220472441 + 20 +3.335413385826772 + 30 +0.0 + 10 +1.029236220472441 + 20 +3.335413385826772 + 30 +0.0 + 10 +1.02559842519685 + 20 +3.33894094488189 + 30 +0.0 + 10 +1.020905511811024 + 20 +3.340716535433071 + 30 +0.0 + 10 +1.015153543307087 + 20 +3.340716535433071 + 30 +0.0 + 10 +1.015153543307087 + 20 +3.340716535433071 + 30 +0.0 + 10 +1.00946062992126 + 20 +3.340716535433071 + 30 +0.0 + 10 +1.004708661417323 + 20 +3.338913385826772 + 30 +0.0 + 10 +1.000933070866142 + 20 +3.335358267716535 + 30 +0.0 + 10 +1.000933070866142 + 20 +3.335358267716535 + 30 +0.0 + 10 +0.9971259842519685 + 20 +3.331771653543307 + 30 +0.0 + 10 +0.9946811023622047 + 20 +3.326385826771654 + 30 +0.0 + 10 +0.9935984251968504 + 20 +3.319216535433071 + 30 +0.0 + 10 +0.9935984251968504 + 20 +3.319216535433071 + 30 +0.0 + 10 +0.9935984251968504 + 20 +3.319216535433071 + 30 +0.0 + 10 +0.9789606299212599 + 20 +3.321830708661417 + 30 +0.0 + 10 +0.9789606299212599 + 20 +3.321830708661417 + 30 +0.0 + 10 +0.9789606299212599 + 20 +3.321830708661417 + 30 +0.0 + 10 +0.9807362204724409 + 20 +3.331661417322834 + 30 +0.0 + 10 +0.9848228346456693 + 20 +3.339271653543307 + 30 +0.0 + 10 +0.9911535433070866 + 20 +3.344661417322835 + 30 +0.0 + 10 +0.9911535433070866 + 20 +3.344661417322835 + 30 +0.0 + 10 +0.997515748031496 + 20 +3.350051181102362 + 30 +0.0 + 10 +1.005405511811024 + 20 +3.352771653543307 + 30 +0.0 + 10 +1.014850393700787 + 20 +3.352771653543307 + 30 +0.0 + 10 +1.014850393700787 + 20 +3.352771653543307 + 30 +0.0 + 10 +1.021350393700788 + 20 +3.352771653543307 + 30 +0.0 + 10 +1.027350393700788 + 20 +3.351358267716535 + 30 +0.0 + 10 +1.032822834645669 + 20 +3.34857874015748 + 30 +0.0 + 10 +1.032822834645669 + 20 +3.34857874015748 + 30 +0.0 + 10 +1.038291338582677 + 20 +3.345771653543307 + 30 +0.0 + 10 +1.042488188976378 + 20 +3.341968503937008 + 30 +0.0 + 10 +1.045405511811024 + 20 +3.337133858267717 + 30 +0.0 + 10 +1.045405511811024 + 20 +3.337133858267717 + 30 +0.0 + 10 +1.048291338582677 + 20 +3.332299212598425 + 30 +0.0 + 10 +1.049763779527559 + 20 +3.327188976377953 + 30 +0.0 + 10 +1.049763779527559 + 20 +3.321744094488189 + 30 +0.0 + 10 +1.049763779527559 + 20 +3.321744094488189 + 30 +0.0 + 10 +1.049763779527559 + 20 +3.316606299212598 + 30 +0.0 + 10 +1.048377952755906 + 20 +3.311913385826772 + 30 +0.0 + 10 +1.04559842519685 + 20 +3.307661417322834 + 30 +0.0 + 10 +1.04559842519685 + 20 +3.307661417322834 + 30 +0.0 + 10 +1.042822834645669 + 20 +3.30344094488189 + 30 +0.0 + 10 +1.038736220472441 + 20 +3.30007874015748 + 30 +0.0 + 10 +1.033322834645669 + 20 +3.29757874015748 + 30 +0.0 + 10 +1.033322834645669 + 20 +3.29757874015748 + 30 +0.0 + 10 +1.040377952755906 + 20 +3.295968503937008 + 30 +0.0 + 10 +1.045850393700787 + 20 +3.29257874015748 + 30 +0.0 + 10 +1.049763779527559 + 20 +3.28744094488189 + 30 +0.0 + 10 +1.049763779527559 + 20 +3.28744094488189 + 30 +0.0 + 10 +1.053653543307087 + 20 +3.282330708661418 + 30 +0.0 + 10 +1.05559842519685 + 20 +3.275913385826771 + 30 +0.0 + 10 +1.05559842519685 + 20 +3.268216535433071 + 30 +0.0 + 10 +1.05559842519685 + 20 +3.268216535433071 + 30 +0.0 + 10 +1.05559842519685 + 20 +3.257803149606299 + 30 +0.0 + 10 +1.051822834645669 + 20 +3.248968503937008 + 30 +0.0 + 10 +1.044208661417323 + 20 +3.241716535433071 + 30 +0.0 + 10 +1.044208661417323 + 20 +3.241716535433071 + 30 +0.0 + 10 +1.036625984251969 + 20 +3.234468503937008 + 30 +0.0 + 10 +1.027015748031496 + 20 +3.230858267716536 + 30 +0.0 + 10 +1.015405511811024 + 20 +3.230858267716536 + 30 +0.0 + 10 +1.015405511811024 + 20 +3.230858267716536 + 30 +0.0 + 10 +1.004933070866142 + 20 +3.230858267716536 + 30 +0.0 + 10 +0.996236220472441 + 20 +3.233968503937008 + 30 +0.0 + 10 +0.9893228346456693 + 20 +3.240216535433071 + 30 +0.0 + 10 +0.9893228346456693 + 20 +3.240216535433071 + 30 +0.0 + 10 +0.9824055118110236 + 20 +3.24644094488189 + 30 +0.0 + 10 +0.9784606299212598 + 20 +3.254523622047244 + 30 +0.0 + 10 +0.9774881889763779 + 20 +3.264468503937008 + 30 +0.0 + 0 +SPLINE + 5 +12E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.06390157480315 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.06390157480315 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.110070866141732 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.110070866141732 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.110070866141732 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.110070866141732 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.069374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.069374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.069374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.069374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.088153543307087 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.088153543307087 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.088153543307087 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.088153543307087 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.109818897637795 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.109818897637795 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.109818897637795 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.114318897637795 + 20 +3.315330708661417 + 30 +0.0 + 10 +1.117515748031496 + 20 +3.31044094488189 + 30 +0.0 + 10 +1.11940157480315 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.11940157480315 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.122070866141732 + 20 +3.311358267716535 + 30 +0.0 + 10 +1.125208661417323 + 20 +3.315885826771654 + 30 +0.0 + 10 +1.128846456692913 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.128846456692913 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.128846456692913 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.152874015748031 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.152874015748031 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.152874015748031 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.152874015748031 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.170043307086614 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.170043307086614 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.170043307086614 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.170043307086614 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.128125984251968 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.128125984251968 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.128125984251968 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.128125984251968 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.173291338582677 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.153763779527559 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.153763779527559 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.153763779527559 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.153763779527559 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.123736220472441 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.123736220472441 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.123736220472441 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.122043307086614 + 20 +3.277968503937008 + 30 +0.0 + 10 +1.120318897637795 + 20 +3.280633858267716 + 30 +0.0 + 10 +1.118515748031496 + 20 +3.283496062992126 + 30 +0.0 + 10 +1.118515748031496 + 20 +3.283496062992126 + 30 +0.0 + 10 +1.115846456692913 + 20 +3.279161417322835 + 30 +0.0 + 10 +1.113956692913386 + 20 +3.276188976377953 + 30 +0.0 + 10 +1.112818897637795 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.112818897637795 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.112818897637795 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.082874015748031 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.082874015748031 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.082874015748031 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.082874015748031 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.06390157480315 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.06390157480315 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +12F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.175066929133858 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.175066929133858 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.221236220472441 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.221236220472441 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.221236220472441 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.221236220472441 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.18053937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.18053937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.18053937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.18053937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.199318897637795 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.199318897637795 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.199318897637795 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.199318897637795 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.220984251968504 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.220984251968504 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.220984251968504 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.225484251968504 + 20 +3.315330708661417 + 30 +0.0 + 10 +1.228681102362205 + 20 +3.31044094488189 + 30 +0.0 + 10 +1.230566929133858 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.230566929133858 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.233236220472441 + 20 +3.311358267716535 + 30 +0.0 + 10 +1.236374015748031 + 20 +3.315885826771654 + 30 +0.0 + 10 +1.240011811023622 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.240011811023622 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.240011811023622 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.26403937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.26403937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.26403937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.26403937007874 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.281208661417323 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.281208661417323 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.281208661417323 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.281208661417323 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.239291338582677 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.239291338582677 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.239291338582677 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.239291338582677 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.284456692913386 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.284456692913386 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.284456692913386 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.284456692913386 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.264929133858268 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.264929133858268 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.264929133858268 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.264929133858268 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.23490157480315 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.23490157480315 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.23490157480315 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.233208661417323 + 20 +3.277968503937008 + 30 +0.0 + 10 +1.231484251968504 + 20 +3.280633858267716 + 30 +0.0 + 10 +1.229681102362205 + 20 +3.283496062992126 + 30 +0.0 + 10 +1.229681102362205 + 20 +3.283496062992126 + 30 +0.0 + 10 +1.227011811023622 + 20 +3.279161417322835 + 30 +0.0 + 10 +1.225122047244094 + 20 +3.276188976377953 + 30 +0.0 + 10 +1.223984251968504 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.223984251968504 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.223984251968504 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.19403937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.19403937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.19403937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.19403937007874 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.175066929133858 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.175066929133858 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +130 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.286232283464567 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.286232283464567 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.33240157480315 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.33240157480315 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.33240157480315 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.33240157480315 + 20 +3.295133858267716 + 30 +0.0 + 10 +1.291704724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.291704724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.291704724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.291704724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.310484251968504 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.310484251968504 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.310484251968504 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.310484251968504 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.332149606299213 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.332149606299213 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.332149606299213 + 20 +3.321661417322835 + 30 +0.0 + 10 +1.336649606299213 + 20 +3.315330708661417 + 30 +0.0 + 10 +1.339846456692913 + 20 +3.31044094488189 + 30 +0.0 + 10 +1.341732283464567 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.341732283464567 + 20 +3.307023622047244 + 30 +0.0 + 10 +1.34440157480315 + 20 +3.311358267716535 + 30 +0.0 + 10 +1.34753937007874 + 20 +3.315885826771654 + 30 +0.0 + 10 +1.351177165354331 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.351177165354331 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.351177165354331 + 20 +3.320606299212598 + 30 +0.0 + 10 +1.375204724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.375204724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.375204724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.375204724409449 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.392374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.392374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.392374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.392374015748032 + 20 +3.352271653543307 + 30 +0.0 + 10 +1.350456692913386 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.350456692913386 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.350456692913386 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.350456692913386 + 20 +3.296051181102362 + 30 +0.0 + 10 +1.395622047244095 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.395622047244095 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.395622047244095 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.395622047244095 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.376094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.376094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.376094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.376094488188976 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.346066929133858 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.346066929133858 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.346066929133858 + 20 +3.275523622047244 + 30 +0.0 + 10 +1.344374015748032 + 20 +3.277968503937008 + 30 +0.0 + 10 +1.342649606299213 + 20 +3.280633858267716 + 30 +0.0 + 10 +1.340846456692913 + 20 +3.283496062992126 + 30 +0.0 + 10 +1.340846456692913 + 20 +3.283496062992126 + 30 +0.0 + 10 +1.338177165354331 + 20 +3.279161417322835 + 30 +0.0 + 10 +1.336287401574803 + 20 +3.276188976377953 + 30 +0.0 + 10 +1.335149606299213 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.335149606299213 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.335149606299213 + 20 +3.274551181102362 + 30 +0.0 + 10 +1.305204724409449 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.305204724409449 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.305204724409449 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.305204724409449 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.286232283464567 + 20 +3.232968503937008 + 30 +0.0 + 10 +1.286232283464567 + 20 +3.232968503937008 + 30 +0.0 + 0 +SPLINE + 5 +131 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.376822834645669 + 20 +5.239318897637795 + 30 +0.0 + 10 +-2.376822834645669 + 20 +5.239318897637795 + 30 +0.0 + 10 +-2.345212598425197 + 20 +5.231318897637795 + 30 +0.0 + 10 +-2.345212598425197 + 20 +5.231318897637795 + 30 +0.0 + 10 +-2.345212598425197 + 20 +5.231318897637795 + 30 +0.0 + 10 +-2.351822834645669 + 20 +5.205433070866142 + 30 +0.0 + 10 +-2.363767716535433 + 20 +5.185653543307087 + 30 +0.0 + 10 +-2.380933070866142 + 20 +5.171988188976378 + 30 +0.0 + 10 +-2.380933070866142 + 20 +5.171988188976378 + 30 +0.0 + 10 +-2.398157480314961 + 20 +5.158374015748032 + 30 +0.0 + 10 +-2.41915748031496 + 20 +5.15159842519685 + 30 +0.0 + 10 +-2.444043307086614 + 20 +5.15159842519685 + 30 +0.0 + 10 +-2.444043307086614 + 20 +5.15159842519685 + 30 +0.0 + 10 +-2.469767716535433 + 20 +5.15159842519685 + 30 +0.0 + 10 +-2.490657480314961 + 20 +5.156818897637796 + 30 +0.0 + 10 +-2.506767716535433 + 20 +5.167263779527559 + 30 +0.0 + 10 +-2.506767716535433 + 20 +5.167263779527559 + 30 +0.0 + 10 +-2.522877952755906 + 20 +5.177763779527559 + 30 +0.0 + 10 +-2.535157480314961 + 20 +5.192933070866141 + 30 +0.0 + 10 +-2.543547244094488 + 20 +5.212763779527559 + 30 +0.0 + 10 +-2.543547244094488 + 20 +5.212763779527559 + 30 +0.0 + 10 +-2.551933070866142 + 20 +5.232653543307086 + 30 +0.0 + 10 +-2.55615748031496 + 20 +5.253988188976378 + 30 +0.0 + 10 +-2.55615748031496 + 20 +5.276763779527559 + 30 +0.0 + 10 +-2.55615748031496 + 20 +5.276763779527559 + 30 +0.0 + 10 +-2.55615748031496 + 20 +5.30159842519685 + 30 +0.0 + 10 +-2.551433070866142 + 20 +5.323263779527559 + 30 +0.0 + 10 +-2.541933070866142 + 20 +5.341763779527559 + 30 +0.0 + 10 +-2.541933070866142 + 20 +5.341763779527559 + 30 +0.0 + 10 +-2.532433070866142 + 20 +5.360263779527559 + 30 +0.0 + 10 +-2.518933070866142 + 20 +5.374322834645669 + 30 +0.0 + 10 +-2.501377952755905 + 20 +5.383933070866142 + 30 +0.0 + 10 +-2.501377952755905 + 20 +5.383933070866142 + 30 +0.0 + 10 +-2.483877952755905 + 20 +5.393543307086614 + 30 +0.0 + 10 +-2.464602362204725 + 20 +5.398322834645669 + 30 +0.0 + 10 +-2.443543307086614 + 20 +5.398322834645669 + 30 +0.0 + 10 +-2.443543307086614 + 20 +5.398322834645669 + 30 +0.0 + 10 +-2.419657480314961 + 20 +5.398322834645669 + 30 +0.0 + 10 +-2.39959842519685 + 20 +5.392263779527559 + 30 +0.0 + 10 +-2.383322834645669 + 20 +5.38009842519685 + 30 +0.0 + 10 +-2.383322834645669 + 20 +5.38009842519685 + 30 +0.0 + 10 +-2.367043307086614 + 20 +5.367933070866142 + 30 +0.0 + 10 +-2.355712598425197 + 20 +5.350877952755906 + 30 +0.0 + 10 +-2.349322834645669 + 20 +5.32882283464567 + 30 +0.0 + 10 +-2.349322834645669 + 20 +5.32882283464567 + 30 +0.0 + 10 +-2.349322834645669 + 20 +5.32882283464567 + 30 +0.0 + 10 +-2.380377952755905 + 20 +5.321488188976378 + 30 +0.0 + 10 +-2.380377952755905 + 20 +5.321488188976378 + 30 +0.0 + 10 +-2.380377952755905 + 20 +5.321488188976378 + 30 +0.0 + 10 +-2.385933070866142 + 20 +5.338877952755905 + 30 +0.0 + 10 +-2.393933070866142 + 20 +5.351488188976378 + 30 +0.0 + 10 +-2.404488188976378 + 20 +5.359433070866142 + 30 +0.0 + 10 +-2.404488188976378 + 20 +5.359433070866142 + 30 +0.0 + 10 +-2.414988188976378 + 20 +5.367377952755906 + 30 +0.0 + 10 +-2.428212598425197 + 20 +5.371322834645669 + 30 +0.0 + 10 +-2.444212598425197 + 20 +5.371322834645669 + 30 +0.0 + 10 +-2.444212598425197 + 20 +5.371322834645669 + 30 +0.0 + 10 +-2.462543307086614 + 20 +5.371322834645669 + 30 +0.0 + 10 +-2.477822834645669 + 20 +5.366933070866142 + 30 +0.0 + 10 +-2.490157480314961 + 20 +5.358153543307087 + 30 +0.0 + 10 +-2.490157480314961 + 20 +5.358153543307087 + 30 +0.0 + 10 +-2.502488188976378 + 20 +5.349322834645669 + 30 +0.0 + 10 +-2.511157480314961 + 20 +5.337543307086614 + 30 +0.0 + 10 +-2.516102362204724 + 20 +5.322708661417323 + 30 +0.0 + 10 +-2.516102362204724 + 20 +5.322708661417323 + 30 +0.0 + 10 +-2.521102362204724 + 20 +5.307933070866142 + 30 +0.0 + 10 +-2.523602362204724 + 20 +5.292653543307087 + 30 +0.0 + 10 +-2.523602362204724 + 20 +5.276933070866142 + 30 +0.0 + 10 +-2.523602362204724 + 20 +5.276933070866142 + 30 +0.0 + 10 +-2.523602362204724 + 20 +5.25659842519685 + 30 +0.0 + 10 +-2.520657480314961 + 20 +5.238933070866142 + 30 +0.0 + 10 +-2.514767716535433 + 20 +5.223763779527559 + 30 +0.0 + 10 +-2.514767716535433 + 20 +5.223763779527559 + 30 +0.0 + 10 +-2.508822834645669 + 20 +5.208653543307086 + 30 +0.0 + 10 +-2.499657480314961 + 20 +5.197318897637795 + 30 +0.0 + 10 +-2.487157480314961 + 20 +5.189818897637795 + 30 +0.0 + 10 +-2.487157480314961 + 20 +5.189818897637795 + 30 +0.0 + 10 +-2.474657480314961 + 20 +5.182318897637796 + 30 +0.0 + 10 +-2.461157480314961 + 20 +5.17859842519685 + 30 +0.0 + 10 +-2.446602362204724 + 20 +5.17859842519685 + 30 +0.0 + 10 +-2.446602362204724 + 20 +5.17859842519685 + 30 +0.0 + 10 +-2.428933070866142 + 20 +5.17859842519685 + 30 +0.0 + 10 +-2.413988188976378 + 20 +5.183708661417323 + 30 +0.0 + 10 +-2.401712598425197 + 20 +5.193874015748031 + 30 +0.0 + 10 +-2.401712598425197 + 20 +5.193874015748031 + 30 +0.0 + 10 +-2.389433070866142 + 20 +5.20409842519685 + 30 +0.0 + 10 +-2.381157480314961 + 20 +5.219263779527559 + 30 +0.0 + 10 +-2.376822834645669 + 20 +5.239318897637795 + 30 +0.0 + 0 +SPLINE + 5 +132 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.332543307086614 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.332543307086614 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.240877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.240877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.240877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.240877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.206877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.206877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.206877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.206877952755906 + 20 +5.394263779527559 + 30 +0.0 + 10 +-2.109208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.109208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.109208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.109208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.145208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.145208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.145208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.145208661417323 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.173043307086614 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.173043307086614 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.173043307086614 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.173043307086614 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.272818897637795 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.272818897637795 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.272818897637795 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.272818897637795 + 20 +5.227933070866142 + 30 +0.0 + 10 +-2.298988188976378 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.298988188976378 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.298988188976378 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.298988188976378 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.332543307086614 + 20 +5.155653543307086 + 30 +0.0 + 10 +-2.332543307086614 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +133 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.263708661417323 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.263708661417323 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.182763779527559 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.182763779527559 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.182763779527559 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.182763779527559 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.207708661417323 + 20 +5.319708661417323 + 30 +0.0 + 10 +-2.207708661417323 + 20 +5.319708661417323 + 30 +0.0 + 10 +-2.207708661417323 + 20 +5.319708661417323 + 30 +0.0 + 10 +-2.215263779527559 + 20 +5.339763779527559 + 30 +0.0 + 10 +-2.220933070866142 + 20 +5.356263779527559 + 30 +0.0 + 10 +-2.22459842519685 + 20 +5.369208661417323 + 30 +0.0 + 10 +-2.22459842519685 + 20 +5.369208661417323 + 30 +0.0 + 10 +-2.227653543307087 + 20 +5.353877952755906 + 30 +0.0 + 10 +-2.231933070866142 + 20 +5.338708661417323 + 30 +0.0 + 10 +-2.237488188976378 + 20 +5.323598425196851 + 30 +0.0 + 10 +-2.237488188976378 + 20 +5.323598425196851 + 30 +0.0 + 10 +-2.237488188976378 + 20 +5.323598425196851 + 30 +0.0 + 10 +-2.263708661417323 + 20 +5.253653543307086 + 30 +0.0 + 10 +-2.263708661417323 + 20 +5.253653543307086 + 30 +0.0 + 0 +SPLINE + 5 +134 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.094708661417323 + 20 +5.232318897637795 + 30 +0.0 + 10 +-2.094708661417323 + 20 +5.232318897637795 + 30 +0.0 + 10 +-2.064929133858268 + 20 +5.234933070866142 + 30 +0.0 + 10 +-2.064929133858268 + 20 +5.234933070866142 + 30 +0.0 + 10 +-2.064929133858268 + 20 +5.234933070866142 + 30 +0.0 + 10 +-2.063543307086614 + 20 +5.222988188976378 + 30 +0.0 + 10 +-2.060263779527559 + 20 +5.213208661417323 + 30 +0.0 + 10 +-2.05509842519685 + 20 +5.205543307086614 + 30 +0.0 + 10 +-2.05509842519685 + 20 +5.205543307086614 + 30 +0.0 + 10 +-2.049929133858268 + 20 +5.197874015748032 + 30 +0.0 + 10 +-2.041929133858268 + 20 +5.191708661417323 + 30 +0.0 + 10 +-2.03109842519685 + 20 +5.186988188976378 + 30 +0.0 + 10 +-2.03109842519685 + 20 +5.186988188976378 + 30 +0.0 + 10 +-2.020263779527559 + 20 +5.182263779527559 + 30 +0.0 + 10 +-2.008043307086614 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.994484251968504 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.994484251968504 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.982429133858268 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.971818897637795 + 20 +5.181708661417323 + 30 +0.0 + 10 +-1.96259842519685 + 20 +5.185263779527559 + 30 +0.0 + 10 +-1.96259842519685 + 20 +5.185263779527559 + 30 +0.0 + 10 +-1.953374015748031 + 20 +5.188874015748032 + 30 +0.0 + 10 +-1.946484251968504 + 20 +5.193763779527559 + 30 +0.0 + 10 +-1.941984251968504 + 20 +5.199988188976378 + 30 +0.0 + 10 +-1.941984251968504 + 20 +5.199988188976378 + 30 +0.0 + 10 +-1.937484251968504 + 20 +5.206263779527559 + 30 +0.0 + 10 +-1.935208661417323 + 20 +5.213043307086614 + 30 +0.0 + 10 +-1.935208661417323 + 20 +5.220433070866142 + 30 +0.0 + 10 +-1.935208661417323 + 20 +5.220433070866142 + 30 +0.0 + 10 +-1.935208661417323 + 20 +5.227933070866142 + 30 +0.0 + 10 +-1.937374015748031 + 20 +5.234433070866142 + 30 +0.0 + 10 +-1.941763779527559 + 20 +5.240043307086614 + 30 +0.0 + 10 +-1.941763779527559 + 20 +5.240043307086614 + 30 +0.0 + 10 +-1.946098425196851 + 20 +5.245653543307086 + 30 +0.0 + 10 +-1.953263779527559 + 20 +5.250318897637795 + 30 +0.0 + 10 +-1.963208661417323 + 20 +5.25409842519685 + 30 +0.0 + 10 +-1.963208661417323 + 20 +5.25409842519685 + 30 +0.0 + 10 +-1.969653543307087 + 20 +5.25659842519685 + 30 +0.0 + 10 +-1.983763779527559 + 20 +5.260488188976378 + 30 +0.0 + 10 +-2.005708661417323 + 20 +5.265763779527559 + 30 +0.0 + 10 +-2.005708661417323 + 20 +5.265763779527559 + 30 +0.0 + 10 +-2.02759842519685 + 20 +5.271043307086615 + 30 +0.0 + 10 +-2.042984251968504 + 20 +5.275988188976378 + 30 +0.0 + 10 +-2.051763779527559 + 20 +5.280653543307086 + 30 +0.0 + 10 +-2.051763779527559 + 20 +5.280653543307086 + 30 +0.0 + 10 +-2.063153543307087 + 20 +5.286598425196851 + 30 +0.0 + 10 +-2.071653543307086 + 20 +5.294043307086614 + 30 +0.0 + 10 +-2.077263779527559 + 20 +5.302877952755906 + 30 +0.0 + 10 +-2.077263779527559 + 20 +5.302877952755906 + 30 +0.0 + 10 +-2.082818897637795 + 20 +5.311708661417323 + 30 +0.0 + 10 +-2.08559842519685 + 20 +5.32159842519685 + 30 +0.0 + 10 +-2.08559842519685 + 20 +5.33259842519685 + 30 +0.0 + 10 +-2.08559842519685 + 20 +5.33259842519685 + 30 +0.0 + 10 +-2.08559842519685 + 20 +5.344598425196851 + 30 +0.0 + 10 +-2.082208661417323 + 20 +5.355877952755906 + 30 +0.0 + 10 +-2.075374015748031 + 20 +5.366322834645669 + 30 +0.0 + 10 +-2.075374015748031 + 20 +5.366322834645669 + 30 +0.0 + 10 +-2.068543307086614 + 20 +5.37682283464567 + 30 +0.0 + 10 +-2.058543307086614 + 20 +5.384763779527559 + 30 +0.0 + 10 +-2.045429133858268 + 20 +5.390208661417323 + 30 +0.0 + 10 +-2.045429133858268 + 20 +5.390208661417323 + 30 +0.0 + 10 +-2.032263779527559 + 20 +5.395598425196851 + 30 +0.0 + 10 +-2.017708661417323 + 20 +5.398322834645669 + 30 +0.0 + 10 +-2.001653543307087 + 20 +5.398322834645669 + 30 +0.0 + 10 +-2.001653543307087 + 20 +5.398322834645669 + 30 +0.0 + 10 +-1.983929133858268 + 20 +5.398322834645669 + 30 +0.0 + 10 +-1.968374015748031 + 20 +5.395488188976378 + 30 +0.0 + 10 +-1.954818897637795 + 20 +5.389763779527559 + 30 +0.0 + 10 +-1.954818897637795 + 20 +5.389763779527559 + 30 +0.0 + 10 +-1.941318897637795 + 20 +5.38409842519685 + 30 +0.0 + 10 +-1.930929133858268 + 20 +5.375708661417323 + 30 +0.0 + 10 +-1.923653543307087 + 20 +5.364653543307087 + 30 +0.0 + 10 +-1.923653543307087 + 20 +5.364653543307087 + 30 +0.0 + 10 +-1.916429133858268 + 20 +5.35359842519685 + 30 +0.0 + 10 +-1.912484251968504 + 20 +5.341043307086614 + 30 +0.0 + 10 +-1.911929133858268 + 20 +5.327043307086615 + 30 +0.0 + 10 +-1.911929133858268 + 20 +5.327043307086615 + 30 +0.0 + 10 +-1.911929133858268 + 20 +5.327043307086615 + 30 +0.0 + 10 +-1.942208661417323 + 20 +5.324763779527559 + 30 +0.0 + 10 +-1.942208661417323 + 20 +5.324763779527559 + 30 +0.0 + 10 +-1.942208661417323 + 20 +5.324763779527559 + 30 +0.0 + 10 +-1.943874015748031 + 20 +5.339822834645669 + 30 +0.0 + 10 +-1.949374015748031 + 20 +5.351263779527559 + 30 +0.0 + 10 +-1.958763779527559 + 20 +5.358933070866142 + 30 +0.0 + 10 +-1.958763779527559 + 20 +5.358933070866142 + 30 +0.0 + 10 +-1.968153543307087 + 20 +5.366653543307087 + 30 +0.0 + 10 +-1.981984251968504 + 20 +5.370488188976378 + 30 +0.0 + 10 +-2.000318897637795 + 20 +5.370488188976378 + 30 +0.0 + 10 +-2.000318897637795 + 20 +5.370488188976378 + 30 +0.0 + 10 +-2.019429133858268 + 20 +5.370488188976378 + 30 +0.0 + 10 +-2.033318897637795 + 20 +5.366988188976378 + 30 +0.0 + 10 +-2.04209842519685 + 20 +5.359988188976378 + 30 +0.0 + 10 +-2.04209842519685 + 20 +5.359988188976378 + 30 +0.0 + 10 +-2.050818897637795 + 20 +5.352988188976378 + 30 +0.0 + 10 +-2.055208661417323 + 20 +5.344543307086614 + 30 +0.0 + 10 +-2.055208661417323 + 20 +5.334708661417323 + 30 +0.0 + 10 +-2.055208661417323 + 20 +5.334708661417323 + 30 +0.0 + 10 +-2.055208661417323 + 20 +5.32609842519685 + 30 +0.0 + 10 +-2.052098425196851 + 20 +5.319043307086615 + 30 +0.0 + 10 +-2.045929133858268 + 20 +5.313543307086614 + 30 +0.0 + 10 +-2.045929133858268 + 20 +5.313543307086614 + 30 +0.0 + 10 +-2.039818897637795 + 20 +5.307988188976378 + 30 +0.0 + 10 +-2.023984251968504 + 20 +5.302318897637795 + 30 +0.0 + 10 +-1.998318897637795 + 20 +5.296543307086615 + 30 +0.0 + 10 +-1.998318897637795 + 20 +5.296543307086615 + 30 +0.0 + 10 +-1.972653543307087 + 20 +5.290708661417323 + 30 +0.0 + 10 +-1.955043307086614 + 20 +5.285653543307086 + 30 +0.0 + 10 +-1.945484251968504 + 20 +5.281318897637795 + 30 +0.0 + 10 +-1.945484251968504 + 20 +5.281318897637795 + 30 +0.0 + 10 +-1.93159842519685 + 20 +5.274877952755905 + 30 +0.0 + 10 +-1.921318897637795 + 20 +5.266763779527559 + 30 +0.0 + 10 +-1.914708661417323 + 20 +5.256988188976378 + 30 +0.0 + 10 +-1.914708661417323 + 20 +5.256988188976378 + 30 +0.0 + 10 +-1.90809842519685 + 20 +5.247153543307086 + 30 +0.0 + 10 +-1.904818897637795 + 20 +5.235818897637795 + 30 +0.0 + 10 +-1.904818897637795 + 20 +5.223043307086614 + 30 +0.0 + 10 +-1.904818897637795 + 20 +5.223043307086614 + 30 +0.0 + 10 +-1.904818897637795 + 20 +5.210318897637795 + 30 +0.0 + 10 +-1.908429133858268 + 20 +5.198374015748032 + 30 +0.0 + 10 +-1.915708661417323 + 20 +5.187153543307087 + 30 +0.0 + 10 +-1.915708661417323 + 20 +5.187153543307087 + 30 +0.0 + 10 +-1.922984251968504 + 20 +5.175933070866142 + 30 +0.0 + 10 +-1.933429133858268 + 20 +5.167208661417323 + 30 +0.0 + 10 +-1.947043307086614 + 20 +5.160933070866141 + 30 +0.0 + 10 +-1.947043307086614 + 20 +5.160933070866141 + 30 +0.0 + 10 +-1.960653543307087 + 20 +5.154708661417323 + 30 +0.0 + 10 +-1.975984251968504 + 20 +5.15159842519685 + 30 +0.0 + 10 +-1.992984251968504 + 20 +5.15159842519685 + 30 +0.0 + 10 +-1.992984251968504 + 20 +5.15159842519685 + 30 +0.0 + 10 +-2.014598425196851 + 20 +5.15159842519685 + 30 +0.0 + 10 +-2.032708661417323 + 20 +5.154708661417323 + 30 +0.0 + 10 +-2.047263779527559 + 20 +5.161043307086614 + 30 +0.0 + 10 +-2.047263779527559 + 20 +5.161043307086614 + 30 +0.0 + 10 +-2.061874015748031 + 20 +5.167318897637795 + 30 +0.0 + 10 +-2.073318897637795 + 20 +5.176763779527559 + 30 +0.0 + 10 +-2.081653543307087 + 20 +5.189433070866142 + 30 +0.0 + 10 +-2.081653543307087 + 20 +5.189433070866142 + 30 +0.0 + 10 +-2.089929133858268 + 20 +5.202043307086615 + 30 +0.0 + 10 +-2.094318897637795 + 20 +5.216377952755906 + 30 +0.0 + 10 +-2.094708661417323 + 20 +5.232318897637795 + 30 +0.0 + 0 +SPLINE + 5 +135 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.860984251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.688484251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.293043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.697429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.265043307086614 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.829429133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.682929133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.860984251968504 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +136 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.557429133858268 + 20 +5.232318897637795 + 30 +0.0 + 10 +-1.557429133858268 + 20 +5.232318897637795 + 30 +0.0 + 10 +-1.527649606299213 + 20 +5.234933070866142 + 30 +0.0 + 10 +-1.527649606299213 + 20 +5.234933070866142 + 30 +0.0 + 10 +-1.527649606299213 + 20 +5.234933070866142 + 30 +0.0 + 10 +-1.526263779527559 + 20 +5.222988188976378 + 30 +0.0 + 10 +-1.522984251968504 + 20 +5.213208661417323 + 30 +0.0 + 10 +-1.517818897637795 + 20 +5.205543307086614 + 30 +0.0 + 10 +-1.517818897637795 + 20 +5.205543307086614 + 30 +0.0 + 10 +-1.512649606299213 + 20 +5.197874015748032 + 30 +0.0 + 10 +-1.504649606299213 + 20 +5.191708661417323 + 30 +0.0 + 10 +-1.493818897637795 + 20 +5.186988188976378 + 30 +0.0 + 10 +-1.493818897637795 + 20 +5.186988188976378 + 30 +0.0 + 10 +-1.482984251968504 + 20 +5.182263779527559 + 30 +0.0 + 10 +-1.470763779527559 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.457204724409449 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.457204724409449 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.445149606299213 + 20 +5.179933070866142 + 30 +0.0 + 10 +-1.43453937007874 + 20 +5.181708661417323 + 30 +0.0 + 10 +-1.425318897637795 + 20 +5.185263779527559 + 30 +0.0 + 10 +-1.425318897637795 + 20 +5.185263779527559 + 30 +0.0 + 10 +-1.416094488188976 + 20 +5.188874015748032 + 30 +0.0 + 10 +-1.409204724409449 + 20 +5.193763779527559 + 30 +0.0 + 10 +-1.404704724409449 + 20 +5.199988188976378 + 30 +0.0 + 10 +-1.404704724409449 + 20 +5.199988188976378 + 30 +0.0 + 10 +-1.400204724409449 + 20 +5.206263779527559 + 30 +0.0 + 10 +-1.397929133858268 + 20 +5.213043307086614 + 30 +0.0 + 10 +-1.397929133858268 + 20 +5.220433070866142 + 30 +0.0 + 10 +-1.397929133858268 + 20 +5.220433070866142 + 30 +0.0 + 10 +-1.397929133858268 + 20 +5.227933070866142 + 30 +0.0 + 10 +-1.400094488188976 + 20 +5.234433070866142 + 30 +0.0 + 10 +-1.404484251968504 + 20 +5.240043307086614 + 30 +0.0 + 10 +-1.404484251968504 + 20 +5.240043307086614 + 30 +0.0 + 10 +-1.408818897637795 + 20 +5.245653543307086 + 30 +0.0 + 10 +-1.415984251968504 + 20 +5.250318897637795 + 30 +0.0 + 10 +-1.425929133858268 + 20 +5.25409842519685 + 30 +0.0 + 10 +-1.425929133858268 + 20 +5.25409842519685 + 30 +0.0 + 10 +-1.432374015748032 + 20 +5.25659842519685 + 30 +0.0 + 10 +-1.446484251968504 + 20 +5.260488188976378 + 30 +0.0 + 10 +-1.468429133858268 + 20 +5.265763779527559 + 30 +0.0 + 10 +-1.468429133858268 + 20 +5.265763779527559 + 30 +0.0 + 10 +-1.490318897637795 + 20 +5.271043307086615 + 30 +0.0 + 10 +-1.505704724409449 + 20 +5.275988188976378 + 30 +0.0 + 10 +-1.514484251968504 + 20 +5.280653543307086 + 30 +0.0 + 10 +-1.514484251968504 + 20 +5.280653543307086 + 30 +0.0 + 10 +-1.525874015748031 + 20 +5.286598425196851 + 30 +0.0 + 10 +-1.534374015748031 + 20 +5.294043307086614 + 30 +0.0 + 10 +-1.539984251968504 + 20 +5.302877952755906 + 30 +0.0 + 10 +-1.539984251968504 + 20 +5.302877952755906 + 30 +0.0 + 10 +-1.54553937007874 + 20 +5.311708661417323 + 30 +0.0 + 10 +-1.548318897637795 + 20 +5.32159842519685 + 30 +0.0 + 10 +-1.548318897637795 + 20 +5.33259842519685 + 30 +0.0 + 10 +-1.548318897637795 + 20 +5.33259842519685 + 30 +0.0 + 10 +-1.548318897637795 + 20 +5.344598425196851 + 30 +0.0 + 10 +-1.544929133858268 + 20 +5.355877952755906 + 30 +0.0 + 10 +-1.538094488188976 + 20 +5.366322834645669 + 30 +0.0 + 10 +-1.538094488188976 + 20 +5.366322834645669 + 30 +0.0 + 10 +-1.531263779527559 + 20 +5.37682283464567 + 30 +0.0 + 10 +-1.521263779527559 + 20 +5.384763779527559 + 30 +0.0 + 10 +-1.508149606299213 + 20 +5.390208661417323 + 30 +0.0 + 10 +-1.508149606299213 + 20 +5.390208661417323 + 30 +0.0 + 10 +-1.494984251968504 + 20 +5.395598425196851 + 30 +0.0 + 10 +-1.480429133858268 + 20 +5.398322834645669 + 30 +0.0 + 10 +-1.464374015748031 + 20 +5.398322834645669 + 30 +0.0 + 10 +-1.464374015748031 + 20 +5.398322834645669 + 30 +0.0 + 10 +-1.446649606299213 + 20 +5.398322834645669 + 30 +0.0 + 10 +-1.431094488188976 + 20 +5.395488188976378 + 30 +0.0 + 10 +-1.41753937007874 + 20 +5.389763779527559 + 30 +0.0 + 10 +-1.41753937007874 + 20 +5.389763779527559 + 30 +0.0 + 10 +-1.40403937007874 + 20 +5.38409842519685 + 30 +0.0 + 10 +-1.393649606299213 + 20 +5.375708661417323 + 30 +0.0 + 10 +-1.386374015748032 + 20 +5.364653543307087 + 30 +0.0 + 10 +-1.386374015748032 + 20 +5.364653543307087 + 30 +0.0 + 10 +-1.379149606299213 + 20 +5.35359842519685 + 30 +0.0 + 10 +-1.375204724409449 + 20 +5.341043307086614 + 30 +0.0 + 10 +-1.374649606299213 + 20 +5.327043307086615 + 30 +0.0 + 10 +-1.374649606299213 + 20 +5.327043307086615 + 30 +0.0 + 10 +-1.374649606299213 + 20 +5.327043307086615 + 30 +0.0 + 10 +-1.404929133858268 + 20 +5.324763779527559 + 30 +0.0 + 10 +-1.404929133858268 + 20 +5.324763779527559 + 30 +0.0 + 10 +-1.404929133858268 + 20 +5.324763779527559 + 30 +0.0 + 10 +-1.406594488188976 + 20 +5.339822834645669 + 30 +0.0 + 10 +-1.412094488188976 + 20 +5.351263779527559 + 30 +0.0 + 10 +-1.421484251968504 + 20 +5.358933070866142 + 30 +0.0 + 10 +-1.421484251968504 + 20 +5.358933070866142 + 30 +0.0 + 10 +-1.430874015748032 + 20 +5.366653543307087 + 30 +0.0 + 10 +-1.444704724409449 + 20 +5.370488188976378 + 30 +0.0 + 10 +-1.46303937007874 + 20 +5.370488188976378 + 30 +0.0 + 10 +-1.46303937007874 + 20 +5.370488188976378 + 30 +0.0 + 10 +-1.482149606299213 + 20 +5.370488188976378 + 30 +0.0 + 10 +-1.49603937007874 + 20 +5.366988188976378 + 30 +0.0 + 10 +-1.504818897637795 + 20 +5.359988188976378 + 30 +0.0 + 10 +-1.504818897637795 + 20 +5.359988188976378 + 30 +0.0 + 10 +-1.51353937007874 + 20 +5.352988188976378 + 30 +0.0 + 10 +-1.517929133858268 + 20 +5.344543307086614 + 30 +0.0 + 10 +-1.517929133858268 + 20 +5.334708661417323 + 30 +0.0 + 10 +-1.517929133858268 + 20 +5.334708661417323 + 30 +0.0 + 10 +-1.517929133858268 + 20 +5.32609842519685 + 30 +0.0 + 10 +-1.514818897637795 + 20 +5.319043307086615 + 30 +0.0 + 10 +-1.508649606299213 + 20 +5.313543307086614 + 30 +0.0 + 10 +-1.508649606299213 + 20 +5.313543307086614 + 30 +0.0 + 10 +-1.50253937007874 + 20 +5.307988188976378 + 30 +0.0 + 10 +-1.486704724409449 + 20 +5.302318897637795 + 30 +0.0 + 10 +-1.46103937007874 + 20 +5.296543307086615 + 30 +0.0 + 10 +-1.46103937007874 + 20 +5.296543307086615 + 30 +0.0 + 10 +-1.435374015748031 + 20 +5.290708661417323 + 30 +0.0 + 10 +-1.417763779527559 + 20 +5.285653543307086 + 30 +0.0 + 10 +-1.408204724409449 + 20 +5.281318897637795 + 30 +0.0 + 10 +-1.408204724409449 + 20 +5.281318897637795 + 30 +0.0 + 10 +-1.394318897637795 + 20 +5.274877952755905 + 30 +0.0 + 10 +-1.38403937007874 + 20 +5.266763779527559 + 30 +0.0 + 10 +-1.377429133858268 + 20 +5.256988188976378 + 30 +0.0 + 10 +-1.377429133858268 + 20 +5.256988188976378 + 30 +0.0 + 10 +-1.370818897637795 + 20 +5.247153543307086 + 30 +0.0 + 10 +-1.36753937007874 + 20 +5.235818897637795 + 30 +0.0 + 10 +-1.36753937007874 + 20 +5.223043307086614 + 30 +0.0 + 10 +-1.36753937007874 + 20 +5.223043307086614 + 30 +0.0 + 10 +-1.36753937007874 + 20 +5.210318897637795 + 30 +0.0 + 10 +-1.371149606299213 + 20 +5.198374015748032 + 30 +0.0 + 10 +-1.378429133858268 + 20 +5.187153543307087 + 30 +0.0 + 10 +-1.378429133858268 + 20 +5.187153543307087 + 30 +0.0 + 10 +-1.385704724409449 + 20 +5.175933070866142 + 30 +0.0 + 10 +-1.396149606299213 + 20 +5.167208661417323 + 30 +0.0 + 10 +-1.409763779527559 + 20 +5.160933070866141 + 30 +0.0 + 10 +-1.409763779527559 + 20 +5.160933070866141 + 30 +0.0 + 10 +-1.423374015748031 + 20 +5.154708661417323 + 30 +0.0 + 10 +-1.438704724409449 + 20 +5.15159842519685 + 30 +0.0 + 10 +-1.455704724409449 + 20 +5.15159842519685 + 30 +0.0 + 10 +-1.455704724409449 + 20 +5.15159842519685 + 30 +0.0 + 10 +-1.477318897637795 + 20 +5.15159842519685 + 30 +0.0 + 10 +-1.495429133858268 + 20 +5.154708661417323 + 30 +0.0 + 10 +-1.509984251968504 + 20 +5.161043307086614 + 30 +0.0 + 10 +-1.509984251968504 + 20 +5.161043307086614 + 30 +0.0 + 10 +-1.524594488188976 + 20 +5.167318897637795 + 30 +0.0 + 10 +-1.53603937007874 + 20 +5.176763779527559 + 30 +0.0 + 10 +-1.544374015748031 + 20 +5.189433070866142 + 30 +0.0 + 10 +-1.544374015748031 + 20 +5.189433070866142 + 30 +0.0 + 10 +-1.552649606299213 + 20 +5.202043307086615 + 30 +0.0 + 10 +-1.55703937007874 + 20 +5.216377952755906 + 30 +0.0 + 10 +-1.557429133858268 + 20 +5.232318897637795 + 30 +0.0 + 0 +SPLINE + 5 +137 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.318984251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.287429133858268 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.318984251968504 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +138 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.250818897637795 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.184933070866141 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.184933070866141 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.184933070866141 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.184933070866141 + 30 +0.0 + 10 +-1.128594488188976 + 20 +5.337763779527559 + 30 +0.0 + 10 +-1.128594488188976 + 20 +5.337763779527559 + 30 +0.0 + 10 +-1.128594488188976 + 20 +5.337763779527559 + 30 +0.0 + 10 +-1.119874015748032 + 20 +5.348653543307087 + 30 +0.0 + 10 +-1.111649606299213 + 20 +5.35809842519685 + 30 +0.0 + 10 +-1.103818897637795 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.103818897637795 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.103818897637795 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.236984251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.066094488188976 + 20 +5.36609842519685 + 30 +0.0 + 10 +-1.20003937007874 + 20 +5.20059842519685 + 30 +0.0 + 10 +-1.20003937007874 + 20 +5.20059842519685 + 30 +0.0 + 10 +-1.20003937007874 + 20 +5.20059842519685 + 30 +0.0 + 10 +-1.20003937007874 + 20 +5.20059842519685 + 30 +0.0 + 10 +-1.21453937007874 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.21453937007874 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.21453937007874 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.21453937007874 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.183818897637796 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.062149606299213 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.250818897637795 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +139 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.027484251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.8549842519685039 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.36609842519685 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.293043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.8639291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.265043307086614 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.9959291338582678 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.183818897637796 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8494291338582677 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.155653543307086 + 30 +0.0 + 10 +-1.027484251968504 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +13A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8014291338582678 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.328488188976378 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.295153543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.295153543307086 + 30 +0.0 + 0 +SPLINE + 5 +13B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.8014291338582678 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.7680393700787401 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.8014291338582678 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +13C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6323188976377953 + 20 +5.218653543307086 + 30 +0.0 + 10 +-0.6323188976377953 + 20 +5.218653543307086 + 30 +0.0 + 10 +-0.6030393700787402 + 20 +5.222543307086614 + 30 +0.0 + 10 +-0.6030393700787402 + 20 +5.222543307086614 + 30 +0.0 + 10 +-0.6030393700787402 + 20 +5.222543307086614 + 30 +0.0 + 10 +-0.5996535433070866 + 20 +5.205933070866141 + 30 +0.0 + 10 +-0.5939291338582677 + 20 +5.193988188976378 + 30 +0.0 + 10 +-0.5858740157480316 + 20 +5.186653543307087 + 30 +0.0 + 10 +-0.5858740157480316 + 20 +5.186653543307087 + 30 +0.0 + 10 +-0.5777637795275591 + 20 +5.179318897637796 + 30 +0.0 + 10 +-0.5679291338582677 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.5563188976377953 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.5563188976377953 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.5425393700787402 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.5308740157480315 + 20 +5.180433070866142 + 30 +0.0 + 10 +-0.5213740157480315 + 20 +5.189988188976378 + 30 +0.0 + 10 +-0.5213740157480315 + 20 +5.189988188976378 + 30 +0.0 + 10 +-0.5119291338582678 + 20 +5.199543307086614 + 30 +0.0 + 10 +-0.5071535433070866 + 20 +5.211377952755906 + 30 +0.0 + 10 +-0.5071535433070866 + 20 +5.225488188976378 + 30 +0.0 + 10 +-0.5071535433070866 + 20 +5.225488188976378 + 30 +0.0 + 10 +-0.5071535433070866 + 20 +5.238933070866142 + 30 +0.0 + 10 +-0.5115393700787402 + 20 +5.250043307086615 + 30 +0.0 + 10 +-0.5203188976377953 + 20 +5.258763779527559 + 30 +0.0 + 10 +-0.5203188976377953 + 20 +5.258763779527559 + 30 +0.0 + 10 +-0.5291535433070866 + 20 +5.267488188976378 + 30 +0.0 + 10 +-0.5403188976377953 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.5538740157480315 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.5538740157480315 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.5594291338582678 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.5663188976377953 + 20 +5.270763779527559 + 30 +0.0 + 10 +-0.5745393700787401 + 20 +5.26859842519685 + 30 +0.0 + 10 +-0.5745393700787401 + 20 +5.26859842519685 + 30 +0.0 + 10 +-0.5745393700787401 + 20 +5.26859842519685 + 30 +0.0 + 10 +-0.571263779527559 + 20 +5.294318897637795 + 30 +0.0 + 10 +-0.571263779527559 + 20 +5.294318897637795 + 30 +0.0 + 10 +-0.571263779527559 + 20 +5.294318897637795 + 30 +0.0 + 10 +-0.5693188976377953 + 20 +5.29409842519685 + 30 +0.0 + 10 +-0.5677637795275591 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.5665393700787401 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.5665393700787401 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.5540944881889763 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.5428740157480315 + 20 +5.297263779527559 + 30 +0.0 + 10 +-0.5328740157480315 + 20 +5.303763779527559 + 30 +0.0 + 10 +-0.5328740157480315 + 20 +5.303763779527559 + 30 +0.0 + 10 +-0.5228740157480315 + 20 +5.310263779527559 + 30 +0.0 + 10 +-0.5178740157480315 + 20 +5.320318897637796 + 30 +0.0 + 10 +-0.5178740157480315 + 20 +5.333877952755905 + 30 +0.0 + 10 +-0.5178740157480315 + 20 +5.333877952755905 + 30 +0.0 + 10 +-0.5178740157480315 + 20 +5.344598425196851 + 30 +0.0 + 10 +-0.5215393700787402 + 20 +5.353543307086614 + 30 +0.0 + 10 +-0.5288188976377953 + 20 +5.360543307086614 + 30 +0.0 + 10 +-0.5288188976377953 + 20 +5.360543307086614 + 30 +0.0 + 10 +-0.5360944881889764 + 20 +5.36759842519685 + 30 +0.0 + 10 +-0.5454842519685039 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.556984251968504 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.556984251968504 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.5683740157480315 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.5778740157480315 + 20 +5.367543307086614 + 30 +0.0 + 10 +-0.5854291338582677 + 20 +5.360433070866142 + 30 +0.0 + 10 +-0.5854291338582677 + 20 +5.360433070866142 + 30 +0.0 + 10 +-0.5930393700787402 + 20 +5.353263779527559 + 30 +0.0 + 10 +-0.5979291338582677 + 20 +5.342488188976378 + 30 +0.0 + 10 +-0.6000984251968504 + 20 +5.328153543307087 + 30 +0.0 + 10 +-0.6000984251968504 + 20 +5.328153543307087 + 30 +0.0 + 10 +-0.6000984251968504 + 20 +5.328153543307087 + 30 +0.0 + 10 +-0.6293740157480315 + 20 +5.333377952755906 + 30 +0.0 + 10 +-0.6293740157480315 + 20 +5.333377952755906 + 30 +0.0 + 10 +-0.6293740157480315 + 20 +5.333377952755906 + 30 +0.0 + 10 +-0.6258188976377953 + 20 +5.353043307086614 + 30 +0.0 + 10 +-0.6176535433070867 + 20 +5.368263779527559 + 30 +0.0 + 10 +-0.6049842519685039 + 20 +5.379043307086614 + 30 +0.0 + 10 +-0.6049842519685039 + 20 +5.379043307086614 + 30 +0.0 + 10 +-0.592263779527559 + 20 +5.38982283464567 + 30 +0.0 + 10 +-0.576484251968504 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.5575944881889764 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.5575944881889764 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.5445944881889764 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.5325944881889764 + 20 +5.392433070866142 + 30 +0.0 + 10 +-0.5216535433070866 + 20 +5.386877952755905 + 30 +0.0 + 10 +-0.5216535433070866 + 20 +5.386877952755905 + 30 +0.0 + 10 +-0.5107086614173229 + 20 +5.381263779527559 + 30 +0.0 + 10 +-0.5023188976377952 + 20 +5.373653543307086 + 30 +0.0 + 10 +-0.4964842519685039 + 20 +5.363988188976378 + 30 +0.0 + 10 +-0.4964842519685039 + 20 +5.363988188976378 + 30 +0.0 + 10 +-0.4907086614173228 + 20 +5.35432283464567 + 30 +0.0 + 10 +-0.4877637795275591 + 20 +5.34409842519685 + 30 +0.0 + 10 +-0.4877637795275591 + 20 +5.333208661417323 + 30 +0.0 + 10 +-0.4877637795275591 + 20 +5.333208661417323 + 30 +0.0 + 10 +-0.4877637795275591 + 20 +5.322933070866141 + 30 +0.0 + 10 +-0.4905393700787402 + 20 +5.313543307086614 + 30 +0.0 + 10 +-0.4960944881889764 + 20 +5.305043307086614 + 30 +0.0 + 10 +-0.4960944881889764 + 20 +5.305043307086614 + 30 +0.0 + 10 +-0.5016535433070867 + 20 +5.296598425196851 + 30 +0.0 + 10 +-0.5098188976377953 + 20 +5.289877952755906 + 30 +0.0 + 10 +-0.5206535433070866 + 20 +5.284877952755905 + 30 +0.0 + 10 +-0.5206535433070866 + 20 +5.284877952755905 + 30 +0.0 + 10 +-0.5065393700787402 + 20 +5.281653543307087 + 30 +0.0 + 10 +-0.4955944881889764 + 20 +5.274877952755905 + 30 +0.0 + 10 +-0.4877637795275591 + 20 +5.264598425196851 + 30 +0.0 + 10 +-0.4877637795275591 + 20 +5.264598425196851 + 30 +0.0 + 10 +-0.4799842519685039 + 20 +5.254377952755905 + 30 +0.0 + 10 +-0.4760944881889764 + 20 +5.241543307086614 + 30 +0.0 + 10 +-0.4760944881889764 + 20 +5.226153543307086 + 30 +0.0 + 10 +-0.4760944881889764 + 20 +5.226153543307086 + 30 +0.0 + 10 +-0.4760944881889764 + 20 +5.205318897637795 + 30 +0.0 + 10 +-0.4836535433070866 + 20 +5.187653543307087 + 30 +0.0 + 10 +-0.4988740157480315 + 20 +5.173153543307087 + 30 +0.0 + 10 +-0.4988740157480315 + 20 +5.173153543307087 + 30 +0.0 + 10 +-0.5140393700787401 + 20 +5.158653543307087 + 30 +0.0 + 10 +-0.5332637795275591 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.5564842519685039 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.5564842519685039 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.5774291338582677 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.5948188976377953 + 20 +5.157653543307086 + 30 +0.0 + 10 +-0.6086535433070867 + 20 +5.170153543307086 + 30 +0.0 + 10 +-0.6086535433070867 + 20 +5.170153543307086 + 30 +0.0 + 10 +-0.622484251968504 + 20 +5.182598425196851 + 30 +0.0 + 10 +-0.6303740157480315 + 20 +5.198763779527559 + 30 +0.0 + 10 +-0.6323188976377953 + 20 +5.218653543307086 + 30 +0.0 + 0 +SPLINE + 5 +13D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3532047244094488 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.4567086614173229 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3478188976377953 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3478188976377953 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3478188976377953 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3478188976377953 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.2916496062992126 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.212763779527559 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3238740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +13E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3532047244094488 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.347208661417323 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.347208661417323 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.347208661417323 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.347208661417323 + 30 +0.0 + 10 +-0.4278740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.4278740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.4278740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.4278740157480315 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.239653543307087 + 30 +0.0 + 10 +-0.3532047244094488 + 20 +5.239653543307087 + 30 +0.0 + 0 +SPLINE + 5 +13F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2452598425196851 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.189043307086614 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2118740157480315 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.155653543307086 + 30 +0.0 + 10 +-0.2452598425196851 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +140 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.1689291338582677 + 20 +5.218653543307086 + 30 +0.0 + 10 +-0.1689291338582677 + 20 +5.218653543307086 + 30 +0.0 + 10 +-0.1396496062992126 + 20 +5.222543307086614 + 30 +0.0 + 10 +-0.1396496062992126 + 20 +5.222543307086614 + 30 +0.0 + 10 +-0.1396496062992126 + 20 +5.222543307086614 + 30 +0.0 + 10 +-0.1362637795275591 + 20 +5.205933070866141 + 30 +0.0 + 10 +-0.1305393700787402 + 20 +5.193988188976378 + 30 +0.0 + 10 +-0.1224842519685039 + 20 +5.186653543307087 + 30 +0.0 + 10 +-0.1224842519685039 + 20 +5.186653543307087 + 30 +0.0 + 10 +-0.1143740157480315 + 20 +5.179318897637796 + 30 +0.0 + 10 +-0.1045393700787402 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.0929291338582677 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.0929291338582677 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.0791496062992126 + 20 +5.175653543307087 + 30 +0.0 + 10 +-0.0674842519685039 + 20 +5.180433070866142 + 30 +0.0 + 10 +-0.0579842519685039 + 20 +5.189988188976378 + 30 +0.0 + 10 +-0.0579842519685039 + 20 +5.189988188976378 + 30 +0.0 + 10 +-0.0485393700787402 + 20 +5.199543307086614 + 30 +0.0 + 10 +-0.0437637795275591 + 20 +5.211377952755906 + 30 +0.0 + 10 +-0.0437637795275591 + 20 +5.225488188976378 + 30 +0.0 + 10 +-0.0437637795275591 + 20 +5.225488188976378 + 30 +0.0 + 10 +-0.0437637795275591 + 20 +5.238933070866142 + 30 +0.0 + 10 +-0.0481496062992126 + 20 +5.250043307086615 + 30 +0.0 + 10 +-0.0569291338582677 + 20 +5.258763779527559 + 30 +0.0 + 10 +-0.0569291338582677 + 20 +5.258763779527559 + 30 +0.0 + 10 +-0.0657637795275591 + 20 +5.267488188976378 + 30 +0.0 + 10 +-0.0769291338582677 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.0904842519685039 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.0904842519685039 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.0960393700787402 + 20 +5.271877952755905 + 30 +0.0 + 10 +-0.1029291338582677 + 20 +5.270763779527559 + 30 +0.0 + 10 +-0.1111496062992126 + 20 +5.26859842519685 + 30 +0.0 + 10 +-0.1111496062992126 + 20 +5.26859842519685 + 30 +0.0 + 10 +-0.1111496062992126 + 20 +5.26859842519685 + 30 +0.0 + 10 +-0.1078740157480315 + 20 +5.294318897637795 + 30 +0.0 + 10 +-0.1078740157480315 + 20 +5.294318897637795 + 30 +0.0 + 10 +-0.1078740157480315 + 20 +5.294318897637795 + 30 +0.0 + 10 +-0.1059291338582677 + 20 +5.29409842519685 + 30 +0.0 + 10 +-0.1043740157480315 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.1031496062992126 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.1031496062992126 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.0907047244094488 + 20 +5.293988188976378 + 30 +0.0 + 10 +-0.0794842519685039 + 20 +5.297263779527559 + 30 +0.0 + 10 +-0.0694842519685039 + 20 +5.303763779527559 + 30 +0.0 + 10 +-0.0694842519685039 + 20 +5.303763779527559 + 30 +0.0 + 10 +-0.0594842519685039 + 20 +5.310263779527559 + 30 +0.0 + 10 +-0.0544842519685039 + 20 +5.320318897637796 + 30 +0.0 + 10 +-0.0544842519685039 + 20 +5.333877952755905 + 30 +0.0 + 10 +-0.0544842519685039 + 20 +5.333877952755905 + 30 +0.0 + 10 +-0.0544842519685039 + 20 +5.344598425196851 + 30 +0.0 + 10 +-0.0581496062992126 + 20 +5.353543307086614 + 30 +0.0 + 10 +-0.0654291338582677 + 20 +5.360543307086614 + 30 +0.0 + 10 +-0.0654291338582677 + 20 +5.360543307086614 + 30 +0.0 + 10 +-0.0727047244094488 + 20 +5.36759842519685 + 30 +0.0 + 10 +-0.0820944881889764 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.0935944881889764 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.0935944881889764 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.1049842519685039 + 20 +5.371153543307087 + 30 +0.0 + 10 +-0.1144842519685039 + 20 +5.367543307086614 + 30 +0.0 + 10 +-0.1220393700787402 + 20 +5.360433070866142 + 30 +0.0 + 10 +-0.1220393700787402 + 20 +5.360433070866142 + 30 +0.0 + 10 +-0.1296496062992126 + 20 +5.353263779527559 + 30 +0.0 + 10 +-0.1345393700787401 + 20 +5.342488188976378 + 30 +0.0 + 10 +-0.1367086614173228 + 20 +5.328153543307087 + 30 +0.0 + 10 +-0.1367086614173228 + 20 +5.328153543307087 + 30 +0.0 + 10 +-0.1367086614173228 + 20 +5.328153543307087 + 30 +0.0 + 10 +-0.1659842519685039 + 20 +5.333377952755906 + 30 +0.0 + 10 +-0.1659842519685039 + 20 +5.333377952755906 + 30 +0.0 + 10 +-0.1659842519685039 + 20 +5.333377952755906 + 30 +0.0 + 10 +-0.1624291338582677 + 20 +5.353043307086614 + 30 +0.0 + 10 +-0.154263779527559 + 20 +5.368263779527559 + 30 +0.0 + 10 +-0.1415944881889764 + 20 +5.379043307086614 + 30 +0.0 + 10 +-0.1415944881889764 + 20 +5.379043307086614 + 30 +0.0 + 10 +-0.1288740157480315 + 20 +5.38982283464567 + 30 +0.0 + 10 +-0.1130944881889764 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.0942047244094488 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.0942047244094488 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.0812047244094488 + 20 +5.395263779527559 + 30 +0.0 + 10 +-0.0692047244094488 + 20 +5.392433070866142 + 30 +0.0 + 10 +-0.0582637795275591 + 20 +5.386877952755905 + 30 +0.0 + 10 +-0.0582637795275591 + 20 +5.386877952755905 + 30 +0.0 + 10 +-0.0473188976377953 + 20 +5.381263779527559 + 30 +0.0 + 10 +-0.0389291338582677 + 20 +5.373653543307086 + 30 +0.0 + 10 +-0.0330944881889764 + 20 +5.363988188976378 + 30 +0.0 + 10 +-0.0330944881889764 + 20 +5.363988188976378 + 30 +0.0 + 10 +-0.0273188976377953 + 20 +5.35432283464567 + 30 +0.0 + 10 +-0.0243740157480315 + 20 +5.34409842519685 + 30 +0.0 + 10 +-0.0243740157480315 + 20 +5.333208661417323 + 30 +0.0 + 10 +-0.0243740157480315 + 20 +5.333208661417323 + 30 +0.0 + 10 +-0.0243740157480315 + 20 +5.322933070866141 + 30 +0.0 + 10 +-0.0271496062992126 + 20 +5.313543307086614 + 30 +0.0 + 10 +-0.0327047244094488 + 20 +5.305043307086614 + 30 +0.0 + 10 +-0.0327047244094488 + 20 +5.305043307086614 + 30 +0.0 + 10 +-0.0382637795275591 + 20 +5.296598425196851 + 30 +0.0 + 10 +-0.0464291338582677 + 20 +5.289877952755906 + 30 +0.0 + 10 +-0.0572637795275591 + 20 +5.284877952755905 + 30 +0.0 + 10 +-0.0572637795275591 + 20 +5.284877952755905 + 30 +0.0 + 10 +-0.0431496062992126 + 20 +5.281653543307087 + 30 +0.0 + 10 +-0.0322047244094488 + 20 +5.274877952755905 + 30 +0.0 + 10 +-0.0243740157480315 + 20 +5.264598425196851 + 30 +0.0 + 10 +-0.0243740157480315 + 20 +5.264598425196851 + 30 +0.0 + 10 +-0.0165944881889764 + 20 +5.254377952755905 + 30 +0.0 + 10 +-0.0127047244094488 + 20 +5.241543307086614 + 30 +0.0 + 10 +-0.0127047244094488 + 20 +5.226153543307086 + 30 +0.0 + 10 +-0.0127047244094488 + 20 +5.226153543307086 + 30 +0.0 + 10 +-0.0127047244094488 + 20 +5.205318897637795 + 30 +0.0 + 10 +-0.0202637795275591 + 20 +5.187653543307087 + 30 +0.0 + 10 +-0.0354842519685039 + 20 +5.173153543307087 + 30 +0.0 + 10 +-0.0354842519685039 + 20 +5.173153543307087 + 30 +0.0 + 10 +-0.0506496062992126 + 20 +5.158653543307087 + 30 +0.0 + 10 +-0.0698740157480315 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.0930944881889764 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.0930944881889764 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.1140393700787402 + 20 +5.151433070866141 + 30 +0.0 + 10 +-0.1314291338582677 + 20 +5.157653543307086 + 30 +0.0 + 10 +-0.1452637795275591 + 20 +5.170153543307086 + 30 +0.0 + 10 +-0.1452637795275591 + 20 +5.170153543307086 + 30 +0.0 + 10 +-0.1590944881889764 + 20 +5.182598425196851 + 30 +0.0 + 10 +-0.1669842519685039 + 20 +5.198763779527559 + 30 +0.0 + 10 +-0.1689291338582677 + 20 +5.218653543307086 + 30 +0.0 + 0 +SPLINE + 5 +141 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0164606299212598 + 20 +5.218653543307086 + 30 +0.0 + 10 +0.0164606299212598 + 20 +5.218653543307086 + 30 +0.0 + 10 +0.045740157480315 + 20 +5.222543307086614 + 30 +0.0 + 10 +0.045740157480315 + 20 +5.222543307086614 + 30 +0.0 + 10 +0.045740157480315 + 20 +5.222543307086614 + 30 +0.0 + 10 +0.0491259842519685 + 20 +5.205933070866141 + 30 +0.0 + 10 +0.0548503937007874 + 20 +5.193988188976378 + 30 +0.0 + 10 +0.0629055118110236 + 20 +5.186653543307087 + 30 +0.0 + 10 +0.0629055118110236 + 20 +5.186653543307087 + 30 +0.0 + 10 +0.0710157480314961 + 20 +5.179318897637796 + 30 +0.0 + 10 +0.0808503937007874 + 20 +5.175653543307087 + 30 +0.0 + 10 +0.0924606299212598 + 20 +5.175653543307087 + 30 +0.0 + 10 +0.0924606299212598 + 20 +5.175653543307087 + 30 +0.0 + 10 +0.106240157480315 + 20 +5.175653543307087 + 30 +0.0 + 10 +0.1179055118110236 + 20 +5.180433070866142 + 30 +0.0 + 10 +0.1274055118110236 + 20 +5.189988188976378 + 30 +0.0 + 10 +0.1274055118110236 + 20 +5.189988188976378 + 30 +0.0 + 10 +0.1368503937007874 + 20 +5.199543307086614 + 30 +0.0 + 10 +0.1416259842519685 + 20 +5.211377952755906 + 30 +0.0 + 10 +0.1416259842519685 + 20 +5.225488188976378 + 30 +0.0 + 10 +0.1416259842519685 + 20 +5.225488188976378 + 30 +0.0 + 10 +0.1416259842519685 + 20 +5.238933070866142 + 30 +0.0 + 10 +0.137240157480315 + 20 +5.250043307086615 + 30 +0.0 + 10 +0.1284606299212598 + 20 +5.258763779527559 + 30 +0.0 + 10 +0.1284606299212598 + 20 +5.258763779527559 + 30 +0.0 + 10 +0.1196259842519685 + 20 +5.267488188976378 + 30 +0.0 + 10 +0.1084606299212598 + 20 +5.271877952755905 + 30 +0.0 + 10 +0.0949055118110236 + 20 +5.271877952755905 + 30 +0.0 + 10 +0.0949055118110236 + 20 +5.271877952755905 + 30 +0.0 + 10 +0.0893503937007874 + 20 +5.271877952755905 + 30 +0.0 + 10 +0.0824606299212598 + 20 +5.270763779527559 + 30 +0.0 + 10 +0.074240157480315 + 20 +5.26859842519685 + 30 +0.0 + 10 +0.074240157480315 + 20 +5.26859842519685 + 30 +0.0 + 10 +0.074240157480315 + 20 +5.26859842519685 + 30 +0.0 + 10 +0.0775157480314961 + 20 +5.294318897637795 + 30 +0.0 + 10 +0.0775157480314961 + 20 +5.294318897637795 + 30 +0.0 + 10 +0.0775157480314961 + 20 +5.294318897637795 + 30 +0.0 + 10 +0.0794606299212598 + 20 +5.29409842519685 + 30 +0.0 + 10 +0.0810157480314961 + 20 +5.293988188976378 + 30 +0.0 + 10 +0.082240157480315 + 20 +5.293988188976378 + 30 +0.0 + 10 +0.082240157480315 + 20 +5.293988188976378 + 30 +0.0 + 10 +0.0946850393700787 + 20 +5.293988188976378 + 30 +0.0 + 10 +0.1059055118110236 + 20 +5.297263779527559 + 30 +0.0 + 10 +0.1159055118110236 + 20 +5.303763779527559 + 30 +0.0 + 10 +0.1159055118110236 + 20 +5.303763779527559 + 30 +0.0 + 10 +0.1259055118110236 + 20 +5.310263779527559 + 30 +0.0 + 10 +0.1309055118110236 + 20 +5.320318897637796 + 30 +0.0 + 10 +0.1309055118110236 + 20 +5.333877952755905 + 30 +0.0 + 10 +0.1309055118110236 + 20 +5.333877952755905 + 30 +0.0 + 10 +0.1309055118110236 + 20 +5.344598425196851 + 30 +0.0 + 10 +0.1272401574803149 + 20 +5.353543307086614 + 30 +0.0 + 10 +0.1199606299212598 + 20 +5.360543307086614 + 30 +0.0 + 10 +0.1199606299212598 + 20 +5.360543307086614 + 30 +0.0 + 10 +0.1126850393700787 + 20 +5.36759842519685 + 30 +0.0 + 10 +0.1032952755905512 + 20 +5.371153543307087 + 30 +0.0 + 10 +0.0917952755905512 + 20 +5.371153543307087 + 30 +0.0 + 10 +0.0917952755905512 + 20 +5.371153543307087 + 30 +0.0 + 10 +0.0804055118110236 + 20 +5.371153543307087 + 30 +0.0 + 10 +0.0709055118110236 + 20 +5.367543307086614 + 30 +0.0 + 10 +0.0633503937007874 + 20 +5.360433070866142 + 30 +0.0 + 10 +0.0633503937007874 + 20 +5.360433070866142 + 30 +0.0 + 10 +0.055740157480315 + 20 +5.353263779527559 + 30 +0.0 + 10 +0.0508503937007874 + 20 +5.342488188976378 + 30 +0.0 + 10 +0.0486811023622047 + 20 +5.328153543307087 + 30 +0.0 + 10 +0.0486811023622047 + 20 +5.328153543307087 + 30 +0.0 + 10 +0.0486811023622047 + 20 +5.328153543307087 + 30 +0.0 + 10 +0.0194055118110236 + 20 +5.333377952755906 + 30 +0.0 + 10 +0.0194055118110236 + 20 +5.333377952755906 + 30 +0.0 + 10 +0.0194055118110236 + 20 +5.333377952755906 + 30 +0.0 + 10 +0.0229606299212598 + 20 +5.353043307086614 + 30 +0.0 + 10 +0.0311259842519685 + 20 +5.368263779527559 + 30 +0.0 + 10 +0.0437952755905512 + 20 +5.379043307086614 + 30 +0.0 + 10 +0.0437952755905512 + 20 +5.379043307086614 + 30 +0.0 + 10 +0.0565157480314961 + 20 +5.38982283464567 + 30 +0.0 + 10 +0.0722952755905512 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.0911850393700787 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.0911850393700787 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.1041850393700787 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.1161850393700787 + 20 +5.392433070866142 + 30 +0.0 + 10 +0.1271259842519685 + 20 +5.386877952755905 + 30 +0.0 + 10 +0.1271259842519685 + 20 +5.386877952755905 + 30 +0.0 + 10 +0.1380708661417323 + 20 +5.381263779527559 + 30 +0.0 + 10 +0.1464606299212599 + 20 +5.373653543307086 + 30 +0.0 + 10 +0.1522952755905512 + 20 +5.363988188976378 + 30 +0.0 + 10 +0.1522952755905512 + 20 +5.363988188976378 + 30 +0.0 + 10 +0.1580708661417323 + 20 +5.35432283464567 + 30 +0.0 + 10 +0.1610157480314961 + 20 +5.34409842519685 + 30 +0.0 + 10 +0.1610157480314961 + 20 +5.333208661417323 + 30 +0.0 + 10 +0.1610157480314961 + 20 +5.333208661417323 + 30 +0.0 + 10 +0.1610157480314961 + 20 +5.322933070866141 + 30 +0.0 + 10 +0.1582401574803149 + 20 +5.313543307086614 + 30 +0.0 + 10 +0.1526850393700787 + 20 +5.305043307086614 + 30 +0.0 + 10 +0.1526850393700787 + 20 +5.305043307086614 + 30 +0.0 + 10 +0.1471259842519685 + 20 +5.296598425196851 + 30 +0.0 + 10 +0.1389606299212598 + 20 +5.289877952755906 + 30 +0.0 + 10 +0.1281259842519685 + 20 +5.284877952755905 + 30 +0.0 + 10 +0.1281259842519685 + 20 +5.284877952755905 + 30 +0.0 + 10 +0.142240157480315 + 20 +5.281653543307087 + 30 +0.0 + 10 +0.1531850393700787 + 20 +5.274877952755905 + 30 +0.0 + 10 +0.1610157480314961 + 20 +5.264598425196851 + 30 +0.0 + 10 +0.1610157480314961 + 20 +5.264598425196851 + 30 +0.0 + 10 +0.1687952755905512 + 20 +5.254377952755905 + 30 +0.0 + 10 +0.1726850393700787 + 20 +5.241543307086614 + 30 +0.0 + 10 +0.1726850393700787 + 20 +5.226153543307086 + 30 +0.0 + 10 +0.1726850393700787 + 20 +5.226153543307086 + 30 +0.0 + 10 +0.1726850393700787 + 20 +5.205318897637795 + 30 +0.0 + 10 +0.1651259842519685 + 20 +5.187653543307087 + 30 +0.0 + 10 +0.1499055118110236 + 20 +5.173153543307087 + 30 +0.0 + 10 +0.1499055118110236 + 20 +5.173153543307087 + 30 +0.0 + 10 +0.134740157480315 + 20 +5.158653543307087 + 30 +0.0 + 10 +0.1155157480314961 + 20 +5.151433070866141 + 30 +0.0 + 10 +0.0922952755905512 + 20 +5.151433070866141 + 30 +0.0 + 10 +0.0922952755905512 + 20 +5.151433070866141 + 30 +0.0 + 10 +0.0713503937007874 + 20 +5.151433070866141 + 30 +0.0 + 10 +0.0539606299212598 + 20 +5.157653543307086 + 30 +0.0 + 10 +0.0401259842519685 + 20 +5.170153543307086 + 30 +0.0 + 10 +0.0401259842519685 + 20 +5.170153543307086 + 30 +0.0 + 10 +0.0262952755905512 + 20 +5.182598425196851 + 30 +0.0 + 10 +0.0184055118110236 + 20 +5.198763779527559 + 30 +0.0 + 10 +0.0164606299212598 + 20 +5.218653543307086 + 30 +0.0 + 0 +SPLINE + 5 +142 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.2829055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.2829055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.3460708661417323 + 20 +5.245488188976378 + 30 +0.0 + 10 +0.3460708661417323 + 20 +5.245488188976378 + 30 +0.0 + 10 +0.3460708661417323 + 20 +5.245488188976378 + 30 +0.0 + 10 +0.3460708661417323 + 20 +5.245488188976378 + 30 +0.0 + 10 +0.2876259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.2876259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.2876259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.2876259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.324240157480315 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.324240157480315 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.324240157480315 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.324240157480315 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.3507952755905512 + 20 +5.287988188976378 + 30 +0.0 + 10 +0.3507952755905512 + 20 +5.287988188976378 + 30 +0.0 + 10 +0.3507952755905512 + 20 +5.287988188976378 + 30 +0.0 + 10 +0.355740157480315 + 20 +5.280263779527559 + 30 +0.0 + 10 +0.3597952755905512 + 20 +5.273818897637796 + 30 +0.0 + 10 +0.3627952755905512 + 20 +5.26859842519685 + 30 +0.0 + 10 +0.3627952755905512 + 20 +5.26859842519685 + 30 +0.0 + 10 +0.3675708661417323 + 20 +5.275763779527559 + 30 +0.0 + 10 +0.3719606299212598 + 20 +5.282098425196851 + 30 +0.0 + 10 +0.3760157480314961 + 20 +5.287653543307087 + 30 +0.0 + 10 +0.3760157480314961 + 20 +5.287653543307087 + 30 +0.0 + 10 +0.3760157480314961 + 20 +5.287653543307087 + 30 +0.0 + 10 +0.4051259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4051259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4051259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4051259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4401259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4401259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4401259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.4401259842519685 + 20 +5.328488188976378 + 30 +0.0 + 10 +0.3804055118110236 + 20 +5.24709842519685 + 30 +0.0 + 10 +0.3804055118110236 + 20 +5.24709842519685 + 30 +0.0 + 10 +0.3804055118110236 + 20 +5.24709842519685 + 30 +0.0 + 10 +0.3804055118110236 + 20 +5.24709842519685 + 30 +0.0 + 10 +0.4446850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4446850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4446850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4446850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4087401574803149 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4087401574803149 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4087401574803149 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.4087401574803149 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.373240157480315 + 20 +5.209374015748032 + 30 +0.0 + 10 +0.373240157480315 + 20 +5.209374015748032 + 30 +0.0 + 10 +0.373240157480315 + 20 +5.209374015748032 + 30 +0.0 + 10 +0.373240157480315 + 20 +5.209374015748032 + 30 +0.0 + 10 +0.3637952755905512 + 20 +5.223877952755905 + 30 +0.0 + 10 +0.3637952755905512 + 20 +5.223877952755905 + 30 +0.0 + 10 +0.3637952755905512 + 20 +5.223877952755905 + 30 +0.0 + 10 +0.3637952755905512 + 20 +5.223877952755905 + 30 +0.0 + 10 +0.3184055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.3184055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.3184055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.3184055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.2829055118110236 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.2829055118110236 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +143 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7075748031496063 + 20 +5.183818897637796 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.183818897637796 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.5498503937007874 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.5498503937007874 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.5498503937007874 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.5496299212598426 + 20 +5.162708661417323 + 30 +0.0 + 10 +0.5507401574803149 + 20 +5.169488188976378 + 30 +0.0 + 10 +0.553240157480315 + 20 +5.175988188976378 + 30 +0.0 + 10 +0.553240157480315 + 20 +5.175988188976378 + 30 +0.0 + 10 +0.557240157480315 + 20 +5.186763779527559 + 30 +0.0 + 10 +0.5636850393700787 + 20 +5.197318897637795 + 30 +0.0 + 10 +0.5725196850393701 + 20 +5.207763779527559 + 30 +0.0 + 10 +0.5725196850393701 + 20 +5.207763779527559 + 30 +0.0 + 10 +0.5814055118110236 + 20 +5.218153543307086 + 30 +0.0 + 10 +0.5941850393700787 + 20 +5.230208661417323 + 30 +0.0 + 10 +0.6108503937007874 + 20 +5.243877952755906 + 30 +0.0 + 10 +0.6108503937007874 + 20 +5.243877952755906 + 30 +0.0 + 10 +0.6367952755905512 + 20 +5.265153543307086 + 30 +0.0 + 10 +0.6543503937007874 + 20 +5.281988188976378 + 30 +0.0 + 10 +0.6634645669291338 + 20 +5.294433070866142 + 30 +0.0 + 10 +0.6634645669291338 + 20 +5.294433070866142 + 30 +0.0 + 10 +0.6725748031496063 + 20 +5.306818897637795 + 30 +0.0 + 10 +0.6771299212598425 + 20 +5.318598425196851 + 30 +0.0 + 10 +0.6771299212598425 + 20 +5.329653543307087 + 30 +0.0 + 10 +0.6771299212598425 + 20 +5.329653543307087 + 30 +0.0 + 10 +0.6771299212598425 + 20 +5.341263779527559 + 30 +0.0 + 10 +0.6729645669291339 + 20 +5.351043307086615 + 30 +0.0 + 10 +0.6646850393700787 + 20 +5.359043307086615 + 30 +0.0 + 10 +0.6646850393700787 + 20 +5.359043307086615 + 30 +0.0 + 10 +0.6563503937007874 + 20 +5.366988188976378 + 30 +0.0 + 10 +0.6455196850393701 + 20 +5.370988188976378 + 30 +0.0 + 10 +0.6321850393700787 + 20 +5.370988188976378 + 30 +0.0 + 10 +0.6321850393700787 + 20 +5.370988188976378 + 30 +0.0 + 10 +0.6180748031496063 + 20 +5.370988188976378 + 30 +0.0 + 10 +0.6067952755905511 + 20 +5.366763779527559 + 30 +0.0 + 10 +0.5983503937007874 + 20 +5.358263779527559 + 30 +0.0 + 10 +0.5983503937007874 + 20 +5.358263779527559 + 30 +0.0 + 10 +0.5898503937007874 + 20 +5.34982283464567 + 30 +0.0 + 10 +0.5855748031496063 + 20 +5.338098425196851 + 30 +0.0 + 10 +0.5854606299212598 + 20 +5.323153543307087 + 30 +0.0 + 10 +0.5854606299212598 + 20 +5.323153543307087 + 30 +0.0 + 10 +0.5854606299212598 + 20 +5.323153543307087 + 30 +0.0 + 10 +0.5553503937007874 + 20 +5.326208661417323 + 30 +0.0 + 10 +0.5553503937007874 + 20 +5.326208661417323 + 30 +0.0 + 10 +0.5553503937007874 + 20 +5.326208661417323 + 30 +0.0 + 10 +0.5574055118110236 + 20 +5.348708661417323 + 30 +0.0 + 10 +0.5651850393700787 + 20 +5.36582283464567 + 30 +0.0 + 10 +0.5786299212598425 + 20 +5.37759842519685 + 30 +0.0 + 10 +0.5786299212598425 + 20 +5.37759842519685 + 30 +0.0 + 10 +0.5920748031496063 + 20 +5.389377952755906 + 30 +0.0 + 10 +0.6101850393700787 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.6328503937007874 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.6328503937007874 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.655740157480315 + 20 +5.395263779527559 + 30 +0.0 + 10 +0.6738503937007874 + 20 +5.388877952755905 + 30 +0.0 + 10 +0.6871850393700787 + 20 +5.376208661417323 + 30 +0.0 + 10 +0.6871850393700787 + 20 +5.376208661417323 + 30 +0.0 + 10 +0.7005748031496063 + 20 +5.363488188976378 + 30 +0.0 + 10 +0.707240157480315 + 20 +5.347763779527559 + 30 +0.0 + 10 +0.707240157480315 + 20 +5.328988188976378 + 30 +0.0 + 10 +0.707240157480315 + 20 +5.328988188976378 + 30 +0.0 + 10 +0.707240157480315 + 20 +5.319433070866141 + 30 +0.0 + 10 +0.7052952755905512 + 20 +5.310043307086614 + 30 +0.0 + 10 +0.7013503937007874 + 20 +5.300818897637796 + 30 +0.0 + 10 +0.7013503937007874 + 20 +5.300818897637796 + 30 +0.0 + 10 +0.6974645669291338 + 20 +5.291598425196851 + 30 +0.0 + 10 +0.6909645669291339 + 20 +5.281877952755906 + 30 +0.0 + 10 +0.6819055118110237 + 20 +5.271708661417323 + 30 +0.0 + 10 +0.6819055118110237 + 20 +5.271708661417323 + 30 +0.0 + 10 +0.6728503937007874 + 20 +5.261488188976378 + 30 +0.0 + 10 +0.6577952755905512 + 20 +5.247488188976378 + 30 +0.0 + 10 +0.636740157480315 + 20 +5.229708661417323 + 30 +0.0 + 10 +0.636740157480315 + 20 +5.229708661417323 + 30 +0.0 + 10 +0.6191850393700787 + 20 +5.214933070866142 + 30 +0.0 + 10 +0.6079055118110236 + 20 +5.204933070866142 + 30 +0.0 + 10 +0.6029055118110236 + 20 +5.199653543307087 + 30 +0.0 + 10 +0.6029055118110236 + 20 +5.199653543307087 + 30 +0.0 + 10 +0.5979055118110236 + 20 +5.194433070866141 + 30 +0.0 + 10 +0.5937952755905512 + 20 +5.189153543307087 + 30 +0.0 + 10 +0.59051968503937 + 20 +5.183818897637796 + 30 +0.0 + 10 +0.59051968503937 + 20 +5.183818897637796 + 30 +0.0 + 10 +0.59051968503937 + 20 +5.183818897637796 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.183818897637796 + 30 +0.0 + 10 +0.7075748031496063 + 20 +5.183818897637796 + 30 +0.0 + 0 +SPLINE + 5 +144 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8328543307086614 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.7293503937007874 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.838240157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.838240157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.838240157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.838240157480315 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.394263779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8944094488188976 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.212763779527559 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8621850393700787 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.155653543307086 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +145 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8328543307086614 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.347208661417323 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.347208661417323 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.347208661417323 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.347208661417323 + 30 +0.0 + 10 +0.7581850393700788 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.7581850393700788 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.7581850393700788 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.7581850393700788 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.239653543307087 + 30 +0.0 + 10 +0.8328543307086614 + 20 +5.239653543307087 + 30 +0.0 + 0 +SPLINE + 5 +146 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.005574803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.005574803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.068740157480315 + 20 +5.245488188976378 + 30 +0.0 + 10 +1.068740157480315 + 20 +5.245488188976378 + 30 +0.0 + 10 +1.068740157480315 + 20 +5.245488188976378 + 30 +0.0 + 10 +1.068740157480315 + 20 +5.245488188976378 + 30 +0.0 + 10 +1.010295275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.010295275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.010295275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.010295275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.046909448818898 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.046909448818898 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.046909448818898 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.046909448818898 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.073464566929134 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.073464566929134 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.073464566929134 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.078409448818898 + 20 +5.280263779527559 + 30 +0.0 + 10 +1.082464566929134 + 20 +5.273818897637796 + 30 +0.0 + 10 +1.085464566929134 + 20 +5.26859842519685 + 30 +0.0 + 10 +1.085464566929134 + 20 +5.26859842519685 + 30 +0.0 + 10 +1.090240157480315 + 20 +5.275763779527559 + 30 +0.0 + 10 +1.094629921259842 + 20 +5.282098425196851 + 30 +0.0 + 10 +1.098685039370079 + 20 +5.287653543307087 + 30 +0.0 + 10 +1.098685039370079 + 20 +5.287653543307087 + 30 +0.0 + 10 +1.098685039370079 + 20 +5.287653543307087 + 30 +0.0 + 10 +1.127795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.127795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.127795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.127795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.162795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.162795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.162795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.162795275590551 + 20 +5.328488188976378 + 30 +0.0 + 10 +1.103074803149606 + 20 +5.24709842519685 + 30 +0.0 + 10 +1.103074803149606 + 20 +5.24709842519685 + 30 +0.0 + 10 +1.103074803149606 + 20 +5.24709842519685 + 30 +0.0 + 10 +1.103074803149606 + 20 +5.24709842519685 + 30 +0.0 + 10 +1.167354330708661 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.167354330708661 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.167354330708661 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.167354330708661 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.131409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.131409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.131409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.131409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.095909448818898 + 20 +5.209374015748032 + 30 +0.0 + 10 +1.095909448818898 + 20 +5.209374015748032 + 30 +0.0 + 10 +1.095909448818898 + 20 +5.209374015748032 + 30 +0.0 + 10 +1.095909448818898 + 20 +5.209374015748032 + 30 +0.0 + 10 +1.086464566929134 + 20 +5.223877952755905 + 30 +0.0 + 10 +1.086464566929134 + 20 +5.223877952755905 + 30 +0.0 + 10 +1.086464566929134 + 20 +5.223877952755905 + 30 +0.0 + 10 +1.086464566929134 + 20 +5.223877952755905 + 30 +0.0 + 10 +1.041074803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.041074803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.041074803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.041074803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.005574803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.005574803149606 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +147 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.276244094488189 + 20 +5.218153543307086 + 30 +0.0 + 10 +1.276244094488189 + 20 +5.218153543307086 + 30 +0.0 + 10 +1.30701968503937 + 20 +5.220763779527559 + 30 +0.0 + 10 +1.30701968503937 + 20 +5.220763779527559 + 30 +0.0 + 10 +1.30701968503937 + 20 +5.220763779527559 + 30 +0.0 + 10 +1.309299212598425 + 20 +5.205763779527559 + 30 +0.0 + 10 +1.314574803149606 + 20 +5.194543307086614 + 30 +0.0 + 10 +1.322854330708661 + 20 +5.186988188976378 + 30 +0.0 + 10 +1.322854330708661 + 20 +5.186988188976378 + 30 +0.0 + 10 +1.331188976377953 + 20 +5.179433070866142 + 30 +0.0 + 10 +1.341188976377953 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.352909448818898 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.352909448818898 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.36701968503937 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.378964566929134 + 20 +5.180988188976378 + 30 +0.0 + 10 +1.388688976377953 + 20 +5.19159842519685 + 30 +0.0 + 10 +1.388688976377953 + 20 +5.19159842519685 + 30 +0.0 + 10 +1.398464566929134 + 20 +5.202263779527559 + 30 +0.0 + 10 +1.403354330708661 + 20 +5.216377952755906 + 30 +0.0 + 10 +1.403354330708661 + 20 +5.233933070866142 + 30 +0.0 + 10 +1.403354330708661 + 20 +5.233933070866142 + 30 +0.0 + 10 +1.403354330708661 + 20 +5.250653543307086 + 30 +0.0 + 10 +1.398688976377953 + 20 +5.263818897637795 + 30 +0.0 + 10 +1.389299212598425 + 20 +5.273488188976378 + 30 +0.0 + 10 +1.389299212598425 + 20 +5.273488188976378 + 30 +0.0 + 10 +1.379909448818898 + 20 +5.283153543307087 + 30 +0.0 + 10 +1.367633858267717 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.352409448818898 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.352409448818898 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.342964566929134 + 20 +5.287988188976378 + 30 +0.0 + 10 +1.334464566929134 + 20 +5.285818897637795 + 30 +0.0 + 10 +1.326854330708661 + 20 +5.281543307086614 + 30 +0.0 + 10 +1.326854330708661 + 20 +5.281543307086614 + 30 +0.0 + 10 +1.319244094488189 + 20 +5.277263779527559 + 30 +0.0 + 10 +1.313299212598425 + 20 +5.271708661417323 + 30 +0.0 + 10 +1.308964566929134 + 20 +5.264877952755906 + 30 +0.0 + 10 +1.308964566929134 + 20 +5.264877952755906 + 30 +0.0 + 10 +1.308964566929134 + 20 +5.264877952755906 + 30 +0.0 + 10 +1.281464566929134 + 20 +5.268433070866141 + 30 +0.0 + 10 +1.281464566929134 + 20 +5.268433070866141 + 30 +0.0 + 10 +1.281464566929134 + 20 +5.268433070866141 + 30 +0.0 + 10 +1.281464566929134 + 20 +5.268433070866141 + 30 +0.0 + 10 +1.304574803149606 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.304574803149606 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.304574803149606 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.304574803149606 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.390988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.423244094488189 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.32801968503937 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.32801968503937 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.32801968503937 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.32801968503937 + 20 +5.362988188976378 + 30 +0.0 + 10 +1.315129921259843 + 20 +5.298877952755905 + 30 +0.0 + 10 +1.315129921259843 + 20 +5.298877952755905 + 30 +0.0 + 10 +1.315129921259843 + 20 +5.298877952755905 + 30 +0.0 + 10 +1.329464566929134 + 20 +5.308877952755905 + 30 +0.0 + 10 +1.34451968503937 + 20 +5.313877952755906 + 30 +0.0 + 10 +1.360244094488189 + 20 +5.313877952755906 + 30 +0.0 + 10 +1.360244094488189 + 20 +5.313877952755906 + 30 +0.0 + 10 +1.381074803149606 + 20 +5.313877952755906 + 30 +0.0 + 10 +1.398633858267716 + 20 +5.306653543307086 + 30 +0.0 + 10 +1.412964566929134 + 20 +5.292208661417323 + 30 +0.0 + 10 +1.412964566929134 + 20 +5.292208661417323 + 30 +0.0 + 10 +1.427299212598425 + 20 +5.277763779527559 + 30 +0.0 + 10 +1.434464566929134 + 20 +5.259208661417323 + 30 +0.0 + 10 +1.434464566929134 + 20 +5.236543307086614 + 30 +0.0 + 10 +1.434464566929134 + 20 +5.236543307086614 + 30 +0.0 + 10 +1.434464566929134 + 20 +5.214933070866142 + 30 +0.0 + 10 +1.428133858267717 + 20 +5.196263779527559 + 30 +0.0 + 10 +1.415574803149606 + 20 +5.180543307086614 + 30 +0.0 + 10 +1.415574803149606 + 20 +5.180543307086614 + 30 +0.0 + 10 +1.400244094488189 + 20 +5.161263779527559 + 30 +0.0 + 10 +1.379354330708661 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.352909448818898 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.352909448818898 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.331188976377953 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.313464566929134 + 20 +5.157653543307086 + 30 +0.0 + 10 +1.299744094488189 + 20 +5.169818897637795 + 30 +0.0 + 10 +1.299744094488189 + 20 +5.169818897637795 + 30 +0.0 + 10 +1.28601968503937 + 20 +5.181988188976378 + 30 +0.0 + 10 +1.278188976377953 + 20 +5.19809842519685 + 30 +0.0 + 10 +1.276244094488189 + 20 +5.218153543307086 + 30 +0.0 + 0 +SPLINE + 5 +148 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.46601968503937 + 20 +5.210818897637795 + 30 +0.0 + 10 +1.46601968503937 + 20 +5.210818897637795 + 30 +0.0 + 10 +1.494188976377953 + 20 +5.213433070866142 + 30 +0.0 + 10 +1.494188976377953 + 20 +5.213433070866142 + 30 +0.0 + 10 +1.494188976377953 + 20 +5.213433070866142 + 30 +0.0 + 10 +1.49657874015748 + 20 +5.200208661417323 + 30 +0.0 + 10 +1.501133858267717 + 20 +5.190598425196851 + 30 +0.0 + 10 +1.507854330708661 + 20 +5.18459842519685 + 30 +0.0 + 10 +1.507854330708661 + 20 +5.18459842519685 + 30 +0.0 + 10 +1.51457874015748 + 20 +5.178653543307087 + 30 +0.0 + 10 +1.523188976377953 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.533744094488189 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.533744094488189 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.542744094488189 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.550633858267717 + 20 +5.177708661417323 + 30 +0.0 + 10 +1.557409448818898 + 20 +5.181874015748032 + 30 +0.0 + 10 +1.557409448818898 + 20 +5.181874015748032 + 30 +0.0 + 10 +1.564188976377953 + 20 +5.185988188976378 + 30 +0.0 + 10 +1.569744094488189 + 20 +5.191488188976378 + 30 +0.0 + 10 +1.57407874015748 + 20 +5.198374015748032 + 30 +0.0 + 10 +1.57407874015748 + 20 +5.198374015748032 + 30 +0.0 + 10 +1.578464566929134 + 20 +5.205263779527559 + 30 +0.0 + 10 +1.58207874015748 + 20 +5.214598425196851 + 30 +0.0 + 10 +1.585023622047244 + 20 +5.226263779527559 + 30 +0.0 + 10 +1.585023622047244 + 20 +5.226263779527559 + 30 +0.0 + 10 +1.587909448818898 + 20 +5.237988188976378 + 30 +0.0 + 10 +1.589409448818898 + 20 +5.249933070866142 + 30 +0.0 + 10 +1.589409448818898 + 20 +5.26209842519685 + 30 +0.0 + 10 +1.589409448818898 + 20 +5.26209842519685 + 30 +0.0 + 10 +1.589409448818898 + 20 +5.263377952755905 + 30 +0.0 + 10 +1.589354330708662 + 20 +5.265377952755905 + 30 +0.0 + 10 +1.589244094488189 + 20 +5.267933070866142 + 30 +0.0 + 10 +1.589244094488189 + 20 +5.267933070866142 + 30 +0.0 + 10 +1.583354330708661 + 20 +5.258653543307086 + 30 +0.0 + 10 +1.575354330708661 + 20 +5.251043307086614 + 30 +0.0 + 10 +1.565244094488189 + 20 +5.245263779527559 + 30 +0.0 + 10 +1.565244094488189 + 20 +5.245263779527559 + 30 +0.0 + 10 +1.55507874015748 + 20 +5.239433070866141 + 30 +0.0 + 10 +1.54407874015748 + 20 +5.236543307086614 + 30 +0.0 + 10 +1.532299212598425 + 20 +5.236543307086614 + 30 +0.0 + 10 +1.532299212598425 + 20 +5.236543307086614 + 30 +0.0 + 10 +1.512523622047244 + 20 +5.236543307086614 + 30 +0.0 + 10 +1.495799212598425 + 20 +5.243708661417323 + 30 +0.0 + 10 +1.482133858267717 + 20 +5.258043307086615 + 30 +0.0 + 10 +1.482133858267717 + 20 +5.258043307086615 + 30 +0.0 + 10 +1.468464566929134 + 20 +5.272377952755906 + 30 +0.0 + 10 +1.461633858267717 + 20 +5.291208661417323 + 30 +0.0 + 10 +1.461633858267717 + 20 +5.314653543307086 + 30 +0.0 + 10 +1.461633858267717 + 20 +5.314653543307086 + 30 +0.0 + 10 +1.461633858267717 + 20 +5.338877952755905 + 30 +0.0 + 10 +1.468744094488189 + 20 +5.358322834645669 + 30 +0.0 + 10 +1.48301968503937 + 20 +5.373098425196851 + 30 +0.0 + 10 +1.48301968503937 + 20 +5.373098425196851 + 30 +0.0 + 10 +1.497299212598425 + 20 +5.387877952755906 + 30 +0.0 + 10 +1.515188976377953 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.536688976377953 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.536688976377953 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.552188976377953 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.566354330708661 + 20 +5.391043307086615 + 30 +0.0 + 10 +1.579244094488189 + 20 +5.382708661417323 + 30 +0.0 + 10 +1.579244094488189 + 20 +5.382708661417323 + 30 +0.0 + 10 +1.59207874015748 + 20 +5.374377952755905 + 30 +0.0 + 10 +1.601854330708661 + 20 +5.362433070866142 + 30 +0.0 + 10 +1.608523622047244 + 20 +5.346988188976378 + 30 +0.0 + 10 +1.608523622047244 + 20 +5.346988188976378 + 30 +0.0 + 10 +1.615188976377953 + 20 +5.331543307086614 + 30 +0.0 + 10 +1.618523622047244 + 20 +5.309153543307087 + 30 +0.0 + 10 +1.618523622047244 + 20 +5.279818897637795 + 30 +0.0 + 10 +1.618523622047244 + 20 +5.279818897637795 + 30 +0.0 + 10 +1.618523622047244 + 20 +5.249377952755905 + 30 +0.0 + 10 +1.615244094488189 + 20 +5.22509842519685 + 30 +0.0 + 10 +1.608633858267716 + 20 +5.206988188976378 + 30 +0.0 + 10 +1.608633858267716 + 20 +5.206988188976378 + 30 +0.0 + 10 +1.601964566929134 + 20 +5.188933070866142 + 30 +0.0 + 10 +1.592133858267716 + 20 +5.175208661417323 + 30 +0.0 + 10 +1.57907874015748 + 20 +5.165763779527559 + 30 +0.0 + 10 +1.57907874015748 + 20 +5.165763779527559 + 30 +0.0 + 10 +1.565964566929134 + 20 +5.156318897637795 + 30 +0.0 + 10 +1.550688976377953 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.53307874015748 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.53307874015748 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.514409448818898 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.499188976377953 + 20 +5.156763779527559 + 30 +0.0 + 10 +1.487354330708661 + 20 +5.167153543307086 + 30 +0.0 + 10 +1.487354330708661 + 20 +5.167153543307086 + 30 +0.0 + 10 +1.47551968503937 + 20 +5.177488188976378 + 30 +0.0 + 10 +1.468409448818898 + 20 +5.192043307086614 + 30 +0.0 + 10 +1.46601968503937 + 20 +5.210818897637795 + 30 +0.0 + 0 +SPLINE + 5 +149 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.585964566929134 + 20 +5.316153543307086 + 30 +0.0 + 10 +1.585964566929134 + 20 +5.332933070866142 + 30 +0.0 + 10 +1.581523622047244 + 20 +5.34632283464567 + 30 +0.0 + 10 +1.57257874015748 + 20 +5.356153543307086 + 30 +0.0 + 10 +1.57257874015748 + 20 +5.356153543307086 + 30 +0.0 + 10 +1.56357874015748 + 20 +5.366043307086614 + 30 +0.0 + 10 +1.552854330708662 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.540244094488189 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.540244094488189 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.527244094488189 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.515909448818898 + 20 +5.365653543307086 + 30 +0.0 + 10 +1.506244094488189 + 20 +5.355043307086614 + 30 +0.0 + 10 +1.506244094488189 + 20 +5.355043307086614 + 30 +0.0 + 10 +1.49657874015748 + 20 +5.344377952755906 + 30 +0.0 + 10 +1.491744094488189 + 20 +5.33059842519685 + 30 +0.0 + 10 +1.491744094488189 + 20 +5.313708661417323 + 30 +0.0 + 10 +1.491744094488189 + 20 +5.313708661417323 + 30 +0.0 + 10 +1.491744094488189 + 20 +5.298488188976378 + 30 +0.0 + 10 +1.496354330708661 + 20 +5.286153543307087 + 30 +0.0 + 10 +1.505523622047244 + 20 +5.276653543307087 + 30 +0.0 + 10 +1.505523622047244 + 20 +5.276653543307087 + 30 +0.0 + 10 +1.514688976377953 + 20 +5.267153543307087 + 30 +0.0 + 10 +1.525964566929134 + 20 +5.262433070866142 + 30 +0.0 + 10 +1.539409448818898 + 20 +5.262433070866142 + 30 +0.0 + 10 +1.539409448818898 + 20 +5.262433070866142 + 30 +0.0 + 10 +1.553023622047244 + 20 +5.262433070866142 + 30 +0.0 + 10 +1.564133858267716 + 20 +5.267153543307087 + 30 +0.0 + 10 +1.572854330708661 + 20 +5.276653543307087 + 30 +0.0 + 10 +1.572854330708661 + 20 +5.276653543307087 + 30 +0.0 + 10 +1.581633858267717 + 20 +5.286153543307087 + 30 +0.0 + 10 +1.585964566929134 + 20 +5.299318897637796 + 30 +0.0 + 10 +1.585964566929134 + 20 +5.316153543307086 + 30 +0.0 + 0 +SPLINE + 5 +14A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.662799212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.189043307086614 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.696188976377953 + 20 +5.143374015748032 + 30 +0.0 + 10 +1.694023622047244 + 20 +5.133488188976378 + 30 +0.0 + 10 +1.689688976377953 + 20 +5.125933070866142 + 30 +0.0 + 10 +1.689688976377953 + 20 +5.125933070866142 + 30 +0.0 + 10 +1.685299212598425 + 20 +5.118433070866142 + 30 +0.0 + 10 +1.678409448818898 + 20 +5.11259842519685 + 30 +0.0 + 10 +1.669023622047244 + 20 +5.108433070866142 + 30 +0.0 + 10 +1.669023622047244 + 20 +5.108433070866142 + 30 +0.0 + 10 +1.669023622047244 + 20 +5.108433070866142 + 30 +0.0 + 10 +1.660854330708661 + 20 +5.120988188976378 + 30 +0.0 + 10 +1.660854330708661 + 20 +5.120988188976378 + 30 +0.0 + 10 +1.660854330708661 + 20 +5.120988188976378 + 30 +0.0 + 10 +1.667023622047244 + 20 +5.123708661417322 + 30 +0.0 + 10 +1.67157874015748 + 20 +5.127708661417323 + 30 +0.0 + 10 +1.674523622047244 + 20 +5.132933070866142 + 30 +0.0 + 10 +1.674523622047244 + 20 +5.132933070866142 + 30 +0.0 + 10 +1.677468503937008 + 20 +5.138208661417323 + 30 +0.0 + 10 +1.67907874015748 + 20 +5.145763779527559 + 30 +0.0 + 10 +1.679409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.679409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.679409448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +1.662799212598425 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +14B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.832244094488189 + 20 +5.273318897637795 + 30 +0.0 + 10 +1.832244094488189 + 20 +5.301543307086614 + 30 +0.0 + 10 +1.835129921259842 + 20 +5.324263779527559 + 30 +0.0 + 10 +1.840964566929134 + 20 +5.341433070866142 + 30 +0.0 + 10 +1.840964566929134 + 20 +5.341433070866142 + 30 +0.0 + 10 +1.846744094488189 + 20 +5.358653543307087 + 30 +0.0 + 10 +1.855409448818898 + 20 +5.371933070866142 + 30 +0.0 + 10 +1.866854330708661 + 20 +5.381263779527559 + 30 +0.0 + 10 +1.866854330708661 + 20 +5.381263779527559 + 30 +0.0 + 10 +1.878299212598425 + 20 +5.39059842519685 + 30 +0.0 + 10 +1.892688976377953 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.91001968503937 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.91001968503937 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.922854330708661 + 20 +5.395263779527559 + 30 +0.0 + 10 +1.934074803149606 + 20 +5.392653543307087 + 30 +0.0 + 10 +1.943744094488189 + 20 +5.387488188976378 + 30 +0.0 + 10 +1.943744094488189 + 20 +5.387488188976378 + 30 +0.0 + 10 +1.953409448818898 + 20 +5.382377952755905 + 30 +0.0 + 10 +1.961354330708661 + 20 +5.374933070866142 + 30 +0.0 + 10 +1.967688976377953 + 20 +5.365208661417323 + 30 +0.0 + 10 +1.967688976377953 + 20 +5.365208661417323 + 30 +0.0 + 10 +1.973964566929134 + 20 +5.355488188976378 + 30 +0.0 + 10 +1.978909448818898 + 20 +5.343653543307086 + 30 +0.0 + 10 +1.982464566929134 + 20 +5.329708661417323 + 30 +0.0 + 10 +1.982464566929134 + 20 +5.329708661417323 + 30 +0.0 + 10 +1.98607874015748 + 20 +5.315763779527559 + 30 +0.0 + 10 +1.987854330708661 + 20 +5.296988188976378 + 30 +0.0 + 10 +1.987854330708661 + 20 +5.273318897637795 + 30 +0.0 + 10 +1.987854330708661 + 20 +5.273318897637795 + 30 +0.0 + 10 +1.987854330708661 + 20 +5.245318897637795 + 30 +0.0 + 10 +1.984964566929134 + 20 +5.222763779527559 + 30 +0.0 + 10 +1.979244094488189 + 20 +5.205543307086614 + 30 +0.0 + 10 +1.979244094488189 + 20 +5.205543307086614 + 30 +0.0 + 10 +1.973464566929134 + 20 +5.188318897637795 + 30 +0.0 + 10 +1.964854330708661 + 20 +5.175043307086614 + 30 +0.0 + 10 +1.953409448818898 + 20 +5.165653543307086 + 30 +0.0 + 10 +1.953409448818898 + 20 +5.165653543307086 + 30 +0.0 + 10 +1.941964566929134 + 20 +5.156263779527559 + 30 +0.0 + 10 +1.92751968503937 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.91001968503937 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.91001968503937 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.88701968503937 + 20 +5.15159842519685 + 30 +0.0 + 10 +1.868964566929134 + 20 +5.159818897637796 + 30 +0.0 + 10 +1.855854330708661 + 20 +5.176318897637795 + 30 +0.0 + 10 +1.855854330708661 + 20 +5.176318897637795 + 30 +0.0 + 10 +1.840129921259843 + 20 +5.196153543307086 + 30 +0.0 + 10 +1.832244094488189 + 20 +5.228543307086614 + 30 +0.0 + 10 +1.832244094488189 + 20 +5.273318897637795 + 30 +0.0 + 0 +SPLINE + 5 +14C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.862354330708661 + 20 +5.273318897637795 + 30 +0.0 + 10 +1.862354330708661 + 20 +5.234153543307086 + 30 +0.0 + 10 +1.866964566929134 + 20 +5.208098425196851 + 30 +0.0 + 10 +1.876133858267717 + 20 +5.195098425196851 + 30 +0.0 + 10 +1.876133858267717 + 20 +5.195098425196851 + 30 +0.0 + 10 +1.885299212598425 + 20 +5.182153543307087 + 30 +0.0 + 10 +1.896574803149606 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.91001968503937 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.91001968503937 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.92351968503937 + 20 +5.175653543307087 + 30 +0.0 + 10 +1.934799212598425 + 20 +5.182208661417323 + 30 +0.0 + 10 +1.943964566929134 + 20 +5.195208661417323 + 30 +0.0 + 10 +1.943964566929134 + 20 +5.195208661417323 + 30 +0.0 + 10 +1.953133858267716 + 20 +5.208208661417323 + 30 +0.0 + 10 +1.957744094488189 + 20 +5.234263779527559 + 30 +0.0 + 10 +1.957744094488189 + 20 +5.273318897637795 + 30 +0.0 + 10 +1.957744094488189 + 20 +5.273318897637795 + 30 +0.0 + 10 +1.957744094488189 + 20 +5.312598425196851 + 30 +0.0 + 10 +1.953133858267716 + 20 +5.338708661417323 + 30 +0.0 + 10 +1.943964566929134 + 20 +5.35159842519685 + 30 +0.0 + 10 +1.943964566929134 + 20 +5.35159842519685 + 30 +0.0 + 10 +1.934799212598425 + 20 +5.364543307086614 + 30 +0.0 + 10 +1.923409448818898 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.909744094488189 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.909744094488189 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.896244094488189 + 20 +5.370988188976378 + 30 +0.0 + 10 +1.88551968503937 + 20 +5.365263779527559 + 30 +0.0 + 10 +1.877464566929134 + 20 +5.353877952755906 + 30 +0.0 + 10 +1.877464566929134 + 20 +5.353877952755906 + 30 +0.0 + 10 +1.867409448818898 + 20 +5.339377952755905 + 30 +0.0 + 10 +1.862354330708661 + 20 +5.312488188976378 + 30 +0.0 + 10 +1.862354330708661 + 20 +5.273318897637795 + 30 +0.0 + 0 +SPLINE + 5 +14D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.03407874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.067464566929134 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.03407874015748 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +14E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.220574803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.342322834645669 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.342322834645669 + 30 +0.0 + 10 +2.191299212598425 + 20 +5.342322834645669 + 30 +0.0 + 10 +2.184244094488189 + 20 +5.33559842519685 + 30 +0.0 + 10 +2.17501968503937 + 20 +5.328877952755906 + 30 +0.0 + 10 +2.163574803149606 + 20 +5.322153543307087 + 30 +0.0 + 10 +2.163574803149606 + 20 +5.322153543307087 + 30 +0.0 + 10 +2.152074803149606 + 20 +5.315433070866142 + 30 +0.0 + 10 +2.141799212598425 + 20 +5.310377952755905 + 30 +0.0 + 10 +2.132688976377953 + 20 +5.307043307086614 + 30 +0.0 + 10 +2.132688976377953 + 20 +5.307043307086614 + 30 +0.0 + 10 +2.132688976377953 + 20 +5.307043307086614 + 30 +0.0 + 10 +2.132688976377953 + 20 +5.33532283464567 + 30 +0.0 + 10 +2.132688976377953 + 20 +5.33532283464567 + 30 +0.0 + 10 +2.132688976377953 + 20 +5.33532283464567 + 30 +0.0 + 10 +2.149074803149606 + 20 +5.343043307086615 + 30 +0.0 + 10 +2.163409448818898 + 20 +5.352377952755906 + 30 +0.0 + 10 +2.175688976377953 + 20 +5.363322834645669 + 30 +0.0 + 10 +2.175688976377953 + 20 +5.363322834645669 + 30 +0.0 + 10 +2.187909448818897 + 20 +5.374322834645669 + 30 +0.0 + 10 +2.196633858267717 + 20 +5.384933070866142 + 30 +0.0 + 10 +2.201744094488189 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.201744094488189 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.201744094488189 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.395263779527559 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.220574803149606 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +14F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.303909448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.394263779527559 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.258208661417322 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.258208661417322 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.258208661417322 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.258208661417322 + 30 +0.0 + 10 +2.40257874015748 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.40257874015748 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.40257874015748 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.40257874015748 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.440464566929134 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.440464566929134 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.440464566929134 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.440464566929134 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.374409448818898 + 20 +5.264377952755906 + 30 +0.0 + 10 +2.374409448818898 + 20 +5.264377952755906 + 30 +0.0 + 10 +2.374409448818898 + 20 +5.264377952755906 + 30 +0.0 + 10 +2.374409448818898 + 20 +5.264377952755906 + 30 +0.0 + 10 +2.447188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.447188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.447188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.447188976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.411023622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.411023622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.411023622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.411023622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.353909448818898 + 20 +5.244043307086614 + 30 +0.0 + 10 +2.353909448818898 + 20 +5.244043307086614 + 30 +0.0 + 10 +2.353909448818898 + 20 +5.244043307086614 + 30 +0.0 + 10 +2.353909448818898 + 20 +5.244043307086614 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.224153543307087 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.224153543307087 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.224153543307087 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.224153543307087 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.333244094488189 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.303909448818898 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +150 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.588748031496063 + 20 +5.211318897637796 + 30 +0.0 + 10 +2.588748031496063 + 20 +5.211318897637796 + 30 +0.0 + 10 +2.619023622047244 + 20 +5.20759842519685 + 30 +0.0 + 10 +2.619023622047244 + 20 +5.20759842519685 + 30 +0.0 + 10 +2.619023622047244 + 20 +5.20759842519685 + 30 +0.0 + 10 +2.614248031496063 + 20 +5.189874015748032 + 30 +0.0 + 10 +2.605413385826772 + 20 +5.176153543307087 + 30 +0.0 + 10 +2.592523622047244 + 20 +5.166374015748032 + 30 +0.0 + 10 +2.592523622047244 + 20 +5.166374015748032 + 30 +0.0 + 10 +2.57957874015748 + 20 +5.156653543307087 + 30 +0.0 + 10 +2.56307874015748 + 20 +5.151763779527559 + 30 +0.0 + 10 +2.543023622047244 + 20 +5.151763779527559 + 30 +0.0 + 10 +2.543023622047244 + 20 +5.151763779527559 + 30 +0.0 + 10 +2.517748031496063 + 20 +5.151763779527559 + 30 +0.0 + 10 +2.497688976377953 + 20 +5.159543307086614 + 30 +0.0 + 10 +2.482913385826772 + 20 +5.17509842519685 + 30 +0.0 + 10 +2.482913385826772 + 20 +5.17509842519685 + 30 +0.0 + 10 +2.46807874015748 + 20 +5.190653543307087 + 30 +0.0 + 10 +2.460688976377953 + 20 +5.212488188976378 + 30 +0.0 + 10 +2.460688976377953 + 20 +5.24059842519685 + 30 +0.0 + 10 +2.460688976377953 + 20 +5.24059842519685 + 30 +0.0 + 10 +2.460688976377953 + 20 +5.269708661417323 + 30 +0.0 + 10 +2.468188976377953 + 20 +5.292263779527559 + 30 +0.0 + 10 +2.483133858267716 + 20 +5.308318897637795 + 30 +0.0 + 10 +2.483133858267716 + 20 +5.308318897637795 + 30 +0.0 + 10 +2.498133858267717 + 20 +5.324377952755905 + 30 +0.0 + 10 +2.517523622047244 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.541413385826772 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.541413385826772 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.564523622047244 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.583413385826772 + 20 +5.324543307086614 + 30 +0.0 + 10 +2.598023622047244 + 20 +5.308818897637796 + 30 +0.0 + 10 +2.598023622047244 + 20 +5.308818897637796 + 30 +0.0 + 10 +2.612692913385827 + 20 +5.293098425196851 + 30 +0.0 + 10 +2.620023622047244 + 20 +5.270933070866142 + 30 +0.0 + 10 +2.620023622047244 + 20 +5.242433070866142 + 30 +0.0 + 10 +2.620023622047244 + 20 +5.242433070866142 + 30 +0.0 + 10 +2.620023622047244 + 20 +5.240653543307086 + 30 +0.0 + 10 +2.619968503937008 + 20 +5.238043307086614 + 30 +0.0 + 10 +2.619858267716535 + 20 +5.23459842519685 + 30 +0.0 + 10 +2.619858267716535 + 20 +5.23459842519685 + 30 +0.0 + 10 +2.619858267716535 + 20 +5.23459842519685 + 30 +0.0 + 10 +2.490968503937008 + 20 +5.23459842519685 + 30 +0.0 + 10 +2.490968503937008 + 20 +5.23459842519685 + 30 +0.0 + 10 +2.490968503937008 + 20 +5.23459842519685 + 30 +0.0 + 10 +2.492023622047244 + 20 +5.21559842519685 + 30 +0.0 + 10 +2.497413385826772 + 20 +5.201043307086614 + 30 +0.0 + 10 +2.50707874015748 + 20 +5.190988188976378 + 30 +0.0 + 10 +2.50707874015748 + 20 +5.190988188976378 + 30 +0.0 + 10 +2.516748031496063 + 20 +5.180874015748032 + 30 +0.0 + 10 +2.528748031496063 + 20 +5.175818897637796 + 30 +0.0 + 10 +2.543192913385827 + 20 +5.175818897637796 + 30 +0.0 + 10 +2.543192913385827 + 20 +5.175818897637796 + 30 +0.0 + 10 +2.553913385826772 + 20 +5.175818897637796 + 30 +0.0 + 10 +2.56307874015748 + 20 +5.178653543307087 + 30 +0.0 + 10 +2.570692913385827 + 20 +5.184318897637795 + 30 +0.0 + 10 +2.570692913385827 + 20 +5.184318897637795 + 30 +0.0 + 10 +2.578303149606299 + 20 +5.189933070866141 + 30 +0.0 + 10 +2.584303149606299 + 20 +5.198933070866142 + 30 +0.0 + 10 +2.588748031496063 + 20 +5.211318897637796 + 30 +0.0 + 0 +SPLINE + 5 +151 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.49257874015748 + 20 +5.258708661417323 + 30 +0.0 + 10 +2.49257874015748 + 20 +5.258708661417323 + 30 +0.0 + 10 +2.58907874015748 + 20 +5.258708661417323 + 30 +0.0 + 10 +2.58907874015748 + 20 +5.258708661417323 + 30 +0.0 + 10 +2.58907874015748 + 20 +5.258708661417323 + 30 +0.0 + 10 +2.587803149606299 + 20 +5.273208661417323 + 30 +0.0 + 10 +2.584078740157481 + 20 +5.284153543307086 + 30 +0.0 + 10 +2.578023622047244 + 20 +5.291377952755906 + 30 +0.0 + 10 +2.578023622047244 + 20 +5.291377952755906 + 30 +0.0 + 10 +2.568692913385827 + 20 +5.302653543307087 + 30 +0.0 + 10 +2.55657874015748 + 20 +5.308318897637795 + 30 +0.0 + 10 +2.541748031496063 + 20 +5.308318897637795 + 30 +0.0 + 10 +2.541748031496063 + 20 +5.308318897637795 + 30 +0.0 + 10 +2.528303149606299 + 20 +5.308318897637795 + 30 +0.0 + 10 +2.516968503937008 + 20 +5.303818897637795 + 30 +0.0 + 10 +2.507803149606299 + 20 +5.294818897637795 + 30 +0.0 + 10 +2.507803149606299 + 20 +5.294818897637795 + 30 +0.0 + 10 +2.498633858267716 + 20 +5.285818897637795 + 30 +0.0 + 10 +2.49357874015748 + 20 +5.273763779527559 + 30 +0.0 + 10 +2.49257874015748 + 20 +5.258708661417323 + 30 +0.0 + 0 +SPLINE + 5 +152 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.655523622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.302318897637795 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.302318897637795 + 30 +0.0 + 10 +2.681858267716535 + 20 +5.302318897637795 + 30 +0.0 + 10 +2.68857874015748 + 20 +5.314543307086614 + 30 +0.0 + 10 +2.694803149606299 + 20 +5.322653543307086 + 30 +0.0 + 10 +2.700523622047244 + 20 +5.326543307086614 + 30 +0.0 + 10 +2.700523622047244 + 20 +5.326543307086614 + 30 +0.0 + 10 +2.706192913385827 + 20 +5.330433070866142 + 30 +0.0 + 10 +2.712468503937008 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.719303149606299 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.719303149606299 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.729192913385827 + 20 +5.332433070866141 + 30 +0.0 + 10 +2.739192913385827 + 20 +5.329263779527559 + 30 +0.0 + 10 +2.749413385826772 + 20 +5.322988188976378 + 30 +0.0 + 10 +2.749413385826772 + 20 +5.322988188976378 + 30 +0.0 + 10 +2.749413385826772 + 20 +5.322988188976378 + 30 +0.0 + 10 +2.739303149606299 + 20 +5.295763779527559 + 30 +0.0 + 10 +2.739303149606299 + 20 +5.295763779527559 + 30 +0.0 + 10 +2.739303149606299 + 20 +5.295763779527559 + 30 +0.0 + 10 +2.732192913385827 + 20 +5.300043307086614 + 30 +0.0 + 10 +2.725023622047244 + 20 +5.302153543307087 + 30 +0.0 + 10 +2.717858267716535 + 20 +5.302153543307087 + 30 +0.0 + 10 +2.717858267716535 + 20 +5.302153543307087 + 30 +0.0 + 10 +2.711413385826772 + 20 +5.302153543307087 + 30 +0.0 + 10 +2.705692913385827 + 20 +5.300208661417323 + 30 +0.0 + 10 +2.700582677165354 + 20 +5.296377952755906 + 30 +0.0 + 10 +2.700582677165354 + 20 +5.296377952755906 + 30 +0.0 + 10 +2.695468503937008 + 20 +5.292488188976378 + 30 +0.0 + 10 +2.691858267716535 + 20 +5.287153543307086 + 30 +0.0 + 10 +2.689692913385827 + 20 +5.280318897637795 + 30 +0.0 + 10 +2.689692913385827 + 20 +5.280318897637795 + 30 +0.0 + 10 +2.686413385826772 + 20 +5.269933070866141 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.258543307086614 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.246153543307087 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.246153543307087 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.246153543307087 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.684803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.655523622047244 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +153 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.773803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.747968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.346877952755905 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.346877952755905 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.346877952755905 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.358488188976378 + 30 +0.0 + 10 +2.774858267716536 + 20 +5.367153543307086 + 30 +0.0 + 10 +2.776913385826772 + 20 +5.372763779527559 + 30 +0.0 + 10 +2.776913385826772 + 20 +5.372763779527559 + 30 +0.0 + 10 +2.779748031496063 + 20 +5.380377952755905 + 30 +0.0 + 10 +2.784692913385827 + 20 +5.386543307086614 + 30 +0.0 + 10 +2.791803149606299 + 20 +5.391263779527559 + 30 +0.0 + 10 +2.791803149606299 + 20 +5.391263779527559 + 30 +0.0 + 10 +2.798913385826772 + 20 +5.395988188976378 + 30 +0.0 + 10 +2.808858267716535 + 20 +5.398322834645669 + 30 +0.0 + 10 +2.821692913385827 + 20 +5.398322834645669 + 30 +0.0 + 10 +2.821692913385827 + 20 +5.398322834645669 + 30 +0.0 + 10 +2.829913385826772 + 20 +5.398322834645669 + 30 +0.0 + 10 +2.839023622047244 + 20 +5.397377952755906 + 30 +0.0 + 10 +2.849023622047244 + 20 +5.395377952755905 + 30 +0.0 + 10 +2.849023622047244 + 20 +5.395377952755905 + 30 +0.0 + 10 +2.849023622047244 + 20 +5.395377952755905 + 30 +0.0 + 10 +2.84463779527559 + 20 +5.369822834645669 + 30 +0.0 + 10 +2.84463779527559 + 20 +5.369822834645669 + 30 +0.0 + 10 +2.84463779527559 + 20 +5.369822834645669 + 30 +0.0 + 10 +2.838582677165354 + 20 +5.370933070866141 + 30 +0.0 + 10 +2.832803149606299 + 20 +5.371488188976378 + 30 +0.0 + 10 +2.827358267716535 + 20 +5.371488188976378 + 30 +0.0 + 10 +2.827358267716535 + 20 +5.371488188976378 + 30 +0.0 + 10 +2.818468503937008 + 20 +5.371488188976378 + 30 +0.0 + 10 +2.812192913385827 + 20 +5.36959842519685 + 30 +0.0 + 10 +2.808523622047244 + 20 +5.365763779527559 + 30 +0.0 + 10 +2.808523622047244 + 20 +5.365763779527559 + 30 +0.0 + 10 +2.804803149606299 + 20 +5.361988188976378 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.354877952755905 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.344433070866142 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.344433070866142 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.344433070866142 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.83663779527559 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.305708661417323 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.802968503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.773803149606299 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +154 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.86707874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.189043307086614 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.900468503937008 + 20 +5.143374015748032 + 30 +0.0 + 10 +2.898303149606299 + 20 +5.133488188976378 + 30 +0.0 + 10 +2.893968503937008 + 20 +5.125933070866142 + 30 +0.0 + 10 +2.893968503937008 + 20 +5.125933070866142 + 30 +0.0 + 10 +2.88957874015748 + 20 +5.118433070866142 + 30 +0.0 + 10 +2.882688976377953 + 20 +5.11259842519685 + 30 +0.0 + 10 +2.873303149606299 + 20 +5.108433070866142 + 30 +0.0 + 10 +2.873303149606299 + 20 +5.108433070866142 + 30 +0.0 + 10 +2.873303149606299 + 20 +5.108433070866142 + 30 +0.0 + 10 +2.865133858267717 + 20 +5.120988188976378 + 30 +0.0 + 10 +2.865133858267717 + 20 +5.120988188976378 + 30 +0.0 + 10 +2.865133858267717 + 20 +5.120988188976378 + 30 +0.0 + 10 +2.871303149606299 + 20 +5.123708661417322 + 30 +0.0 + 10 +2.875858267716536 + 20 +5.127708661417323 + 30 +0.0 + 10 +2.878803149606299 + 20 +5.132933070866142 + 30 +0.0 + 10 +2.878803149606299 + 20 +5.132933070866142 + 30 +0.0 + 10 +2.881748031496063 + 20 +5.138208661417323 + 30 +0.0 + 10 +2.883358267716535 + 20 +5.145763779527559 + 30 +0.0 + 10 +2.883688976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.883688976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.883688976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +2.86707874015748 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +155 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.146854330708662 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.342322834645669 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.342322834645669 + 30 +0.0 + 10 +3.11757874015748 + 20 +5.342322834645669 + 30 +0.0 + 10 +3.110523622047244 + 20 +5.33559842519685 + 30 +0.0 + 10 +3.101299212598425 + 20 +5.328877952755906 + 30 +0.0 + 10 +3.089854330708661 + 20 +5.322153543307087 + 30 +0.0 + 10 +3.089854330708661 + 20 +5.322153543307087 + 30 +0.0 + 10 +3.078354330708661 + 20 +5.315433070866142 + 30 +0.0 + 10 +3.06807874015748 + 20 +5.310377952755905 + 30 +0.0 + 10 +3.058968503937008 + 20 +5.307043307086614 + 30 +0.0 + 10 +3.058968503937008 + 20 +5.307043307086614 + 30 +0.0 + 10 +3.058968503937008 + 20 +5.307043307086614 + 30 +0.0 + 10 +3.058968503937008 + 20 +5.33532283464567 + 30 +0.0 + 10 +3.058968503937008 + 20 +5.33532283464567 + 30 +0.0 + 10 +3.058968503937008 + 20 +5.33532283464567 + 30 +0.0 + 10 +3.075354330708661 + 20 +5.343043307086615 + 30 +0.0 + 10 +3.089688976377953 + 20 +5.352377952755906 + 30 +0.0 + 10 +3.101968503937008 + 20 +5.363322834645669 + 30 +0.0 + 10 +3.101968503937008 + 20 +5.363322834645669 + 30 +0.0 + 10 +3.114188976377953 + 20 +5.374322834645669 + 30 +0.0 + 10 +3.122913385826771 + 20 +5.384933070866142 + 30 +0.0 + 10 +3.128023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.128023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.128023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.146854330708662 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +156 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.20807874015748 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.20807874015748 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.277244094488189 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.277244094488189 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.277244094488189 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.277244094488189 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.300688976377953 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.300688976377953 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.300688976377953 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.300688976377953 + 20 +5.398322834645669 + 30 +0.0 + 10 +3.231688976377953 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.231688976377953 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.231688976377953 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.231688976377953 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.20807874015748 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.20807874015748 + 20 +5.15159842519685 + 30 +0.0 + 0 +SPLINE + 5 +157 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.424854330708662 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.342322834645669 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.342322834645669 + 30 +0.0 + 10 +3.39557874015748 + 20 +5.342322834645669 + 30 +0.0 + 10 +3.388523622047244 + 20 +5.33559842519685 + 30 +0.0 + 10 +3.379299212598425 + 20 +5.328877952755906 + 30 +0.0 + 10 +3.367854330708661 + 20 +5.322153543307087 + 30 +0.0 + 10 +3.367854330708661 + 20 +5.322153543307087 + 30 +0.0 + 10 +3.356354330708661 + 20 +5.315433070866142 + 30 +0.0 + 10 +3.346078740157481 + 20 +5.310377952755905 + 30 +0.0 + 10 +3.336968503937008 + 20 +5.307043307086614 + 30 +0.0 + 10 +3.336968503937008 + 20 +5.307043307086614 + 30 +0.0 + 10 +3.336968503937008 + 20 +5.307043307086614 + 30 +0.0 + 10 +3.336968503937008 + 20 +5.33532283464567 + 30 +0.0 + 10 +3.336968503937008 + 20 +5.33532283464567 + 30 +0.0 + 10 +3.336968503937008 + 20 +5.33532283464567 + 30 +0.0 + 10 +3.353354330708661 + 20 +5.343043307086615 + 30 +0.0 + 10 +3.367688976377953 + 20 +5.352377952755906 + 30 +0.0 + 10 +3.379968503937008 + 20 +5.363322834645669 + 30 +0.0 + 10 +3.379968503937008 + 20 +5.363322834645669 + 30 +0.0 + 10 +3.392188976377953 + 20 +5.374322834645669 + 30 +0.0 + 10 +3.400913385826771 + 20 +5.384933070866142 + 30 +0.0 + 10 +3.406023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.406023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.406023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.155653543307086 + 30 +0.0 + 10 +3.424854330708662 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +158 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.651913385826772 + 20 +5.335822834645669 + 30 +0.0 + 10 +3.651913385826772 + 20 +5.335822834645669 + 30 +0.0 + 10 +3.622803149606299 + 20 +5.333543307086615 + 30 +0.0 + 10 +3.622803149606299 + 20 +5.333543307086615 + 30 +0.0 + 10 +3.622803149606299 + 20 +5.333543307086615 + 30 +0.0 + 10 +3.620188976377953 + 20 +5.345043307086614 + 30 +0.0 + 10 +3.616523622047244 + 20 +5.353433070866142 + 30 +0.0 + 10 +3.611744094488189 + 20 +5.358598425196851 + 30 +0.0 + 10 +3.611744094488189 + 20 +5.358598425196851 + 30 +0.0 + 10 +3.603803149606299 + 20 +5.366988188976378 + 30 +0.0 + 10 +3.594023622047244 + 20 +5.371153543307087 + 30 +0.0 + 10 +3.582413385826772 + 20 +5.371153543307087 + 30 +0.0 + 10 +3.582413385826772 + 20 +5.371153543307087 + 30 +0.0 + 10 +3.57307874015748 + 20 +5.371153543307087 + 30 +0.0 + 10 +3.564913385826772 + 20 +5.368543307086614 + 30 +0.0 + 10 +3.557858267716536 + 20 +5.363322834645669 + 30 +0.0 + 10 +3.557858267716536 + 20 +5.363322834645669 + 30 +0.0 + 10 +3.548633858267717 + 20 +5.35659842519685 + 30 +0.0 + 10 +3.541358267716535 + 20 +5.346763779527559 + 30 +0.0 + 10 +3.536023622047244 + 20 +5.333877952755905 + 30 +0.0 + 10 +3.536023622047244 + 20 +5.333877952755905 + 30 +0.0 + 10 +3.530744094488189 + 20 +5.320988188976378 + 30 +0.0 + 10 +3.527968503937008 + 20 +5.302598425196851 + 30 +0.0 + 10 +3.527744094488189 + 20 +5.278708661417323 + 30 +0.0 + 10 +3.527744094488189 + 20 +5.278708661417323 + 30 +0.0 + 10 +3.534799212598425 + 20 +5.289433070866142 + 30 +0.0 + 10 +3.543413385826772 + 20 +5.297433070866142 + 30 +0.0 + 10 +3.553633858267716 + 20 +5.302653543307087 + 30 +0.0 + 10 +3.553633858267716 + 20 +5.302653543307087 + 30 +0.0 + 10 +3.563803149606299 + 20 +5.307818897637795 + 30 +0.0 + 10 +3.574523622047244 + 20 +5.310433070866142 + 30 +0.0 + 10 +3.585688976377953 + 20 +5.310433070866142 + 30 +0.0 + 10 +3.585688976377953 + 20 +5.310433070866142 + 30 +0.0 + 10 +3.605244094488189 + 20 +5.310433070866142 + 30 +0.0 + 10 +3.621858267716536 + 20 +5.303263779527559 + 30 +0.0 + 10 +3.63557874015748 + 20 +5.288877952755906 + 30 +0.0 + 10 +3.63557874015748 + 20 +5.288877952755906 + 30 +0.0 + 10 +3.649303149606299 + 20 +5.274488188976378 + 30 +0.0 + 10 +3.656188976377953 + 20 +5.255933070866142 + 30 +0.0 + 10 +3.656188976377953 + 20 +5.233153543307087 + 30 +0.0 + 10 +3.656188976377953 + 20 +5.233153543307087 + 30 +0.0 + 10 +3.656188976377953 + 20 +5.218153543307086 + 30 +0.0 + 10 +3.652913385826772 + 20 +5.204263779527559 + 30 +0.0 + 10 +3.646468503937008 + 20 +5.191374015748032 + 30 +0.0 + 10 +3.646468503937008 + 20 +5.191374015748032 + 30 +0.0 + 10 +3.640023622047244 + 20 +5.178543307086614 + 30 +0.0 + 10 +3.631133858267717 + 20 +5.168653543307086 + 30 +0.0 + 10 +3.619858267716535 + 20 +5.161818897637795 + 30 +0.0 + 10 +3.619858267716535 + 20 +5.161818897637795 + 30 +0.0 + 10 +3.60857874015748 + 20 +5.154988188976378 + 30 +0.0 + 10 +3.595803149606299 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.581468503937008 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.581468503937008 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.557023622047244 + 20 +5.15159842519685 + 30 +0.0 + 10 +3.537133858267717 + 20 +5.160543307086614 + 30 +0.0 + 10 +3.521744094488189 + 20 +5.178543307086614 + 30 +0.0 + 10 +3.521744094488189 + 20 +5.178543307086614 + 30 +0.0 + 10 +3.506299212598425 + 20 +5.196488188976378 + 30 +0.0 + 10 +3.498633858267716 + 20 +5.226098425196851 + 30 +0.0 + 10 +3.498633858267716 + 20 +5.267318897637796 + 30 +0.0 + 10 +3.498633858267716 + 20 +5.267318897637796 + 30 +0.0 + 10 +3.498633858267716 + 20 +5.313433070866142 + 30 +0.0 + 10 +3.507133858267717 + 20 +5.346933070866141 + 30 +0.0 + 10 +3.524188976377953 + 20 +5.367877952755905 + 30 +0.0 + 10 +3.524188976377953 + 20 +5.367877952755905 + 30 +0.0 + 10 +3.539023622047244 + 20 +5.386098425196851 + 30 +0.0 + 10 +3.559023622047244 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.584244094488189 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.584244094488189 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.602968503937008 + 20 +5.395263779527559 + 30 +0.0 + 10 +3.618358267716535 + 20 +5.389988188976378 + 30 +0.0 + 10 +3.630358267716535 + 20 +5.379433070866142 + 30 +0.0 + 10 +3.630358267716535 + 20 +5.379433070866142 + 30 +0.0 + 10 +3.642358267716535 + 20 +5.368933070866142 + 30 +0.0 + 10 +3.649523622047244 + 20 +5.354377952755906 + 30 +0.0 + 10 +3.651913385826772 + 20 +5.335822834645669 + 30 +0.0 + 0 +SPLINE + 5 +159 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.532299212598425 + 20 +5.232988188976378 + 30 +0.0 + 10 +3.532299212598425 + 20 +5.222877952755906 + 30 +0.0 + 10 +3.534468503937008 + 20 +5.213208661417323 + 30 +0.0 + 10 +3.538744094488189 + 20 +5.203988188976378 + 30 +0.0 + 10 +3.538744094488189 + 20 +5.203988188976378 + 30 +0.0 + 10 +3.543023622047244 + 20 +5.194763779527559 + 30 +0.0 + 10 +3.549023622047244 + 20 +5.187763779527559 + 30 +0.0 + 10 +3.556688976377953 + 20 +5.182933070866142 + 30 +0.0 + 10 +3.556688976377953 + 20 +5.182933070866142 + 30 +0.0 + 10 +3.564413385826771 + 20 +5.17809842519685 + 30 +0.0 + 10 +3.572523622047244 + 20 +5.175653543307087 + 30 +0.0 + 10 +3.580968503937008 + 20 +5.175653543307087 + 30 +0.0 + 10 +3.580968503937008 + 20 +5.175653543307087 + 30 +0.0 + 10 +3.593358267716535 + 20 +5.175653543307087 + 30 +0.0 + 10 +3.603968503937008 + 20 +5.180653543307087 + 30 +0.0 + 10 +3.612858267716535 + 20 +5.190653543307087 + 30 +0.0 + 10 +3.612858267716535 + 20 +5.190653543307087 + 30 +0.0 + 10 +3.621744094488189 + 20 +5.200653543307086 + 30 +0.0 + 10 +3.626188976377953 + 20 +5.214208661417323 + 30 +0.0 + 10 +3.626188976377953 + 20 +5.231318897637795 + 30 +0.0 + 10 +3.626188976377953 + 20 +5.231318897637795 + 30 +0.0 + 10 +3.626188976377953 + 20 +5.247818897637795 + 30 +0.0 + 10 +3.621803149606299 + 20 +5.260818897637796 + 30 +0.0 + 10 +3.613023622047244 + 20 +5.270318897637796 + 30 +0.0 + 10 +3.613023622047244 + 20 +5.270318897637796 + 30 +0.0 + 10 +3.604244094488189 + 20 +5.279818897637795 + 30 +0.0 + 10 +3.593188976377953 + 20 +5.284543307086614 + 30 +0.0 + 10 +3.579858267716535 + 20 +5.284543307086614 + 30 +0.0 + 10 +3.579858267716535 + 20 +5.284543307086614 + 30 +0.0 + 10 +3.56657874015748 + 20 +5.284543307086614 + 30 +0.0 + 10 +3.555358267716536 + 20 +5.279818897637795 + 30 +0.0 + 10 +3.546133858267717 + 20 +5.270318897637796 + 30 +0.0 + 10 +3.546133858267717 + 20 +5.270318897637796 + 30 +0.0 + 10 +3.536913385826772 + 20 +5.260818897637796 + 30 +0.0 + 10 +3.532299212598425 + 20 +5.248377952755906 + 30 +0.0 + 10 +3.532299212598425 + 20 +5.232988188976378 + 30 +0.0 + 0 +SPLINE + 5 +15A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.685633858267717 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.369822834645669 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.369822834645669 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.369822834645669 + 30 +0.0 + 10 +3.717023622047244 + 20 +5.355322834645669 + 30 +0.0 + 10 +3.715358267716535 + 20 +5.34482283464567 + 30 +0.0 + 10 +3.712023622047244 + 20 +5.338433070866142 + 30 +0.0 + 10 +3.712023622047244 + 20 +5.338433070866142 + 30 +0.0 + 10 +3.707358267716535 + 20 +5.329653543307087 + 30 +0.0 + 10 +3.70007874015748 + 20 +5.323043307086614 + 30 +0.0 + 10 +3.690188976377953 + 20 +5.318598425196851 + 30 +0.0 + 10 +3.690188976377953 + 20 +5.318598425196851 + 30 +0.0 + 10 +3.690188976377953 + 20 +5.318598425196851 + 30 +0.0 + 10 +3.683023622047244 + 20 +5.330153543307087 + 30 +0.0 + 10 +3.683023622047244 + 20 +5.330153543307087 + 30 +0.0 + 10 +3.683023622047244 + 20 +5.330153543307087 + 30 +0.0 + 10 +3.688858267716535 + 20 +5.332543307086614 + 30 +0.0 + 10 +3.693248031496063 + 20 +5.336263779527559 + 30 +0.0 + 10 +3.696133858267717 + 20 +5.341433070866142 + 30 +0.0 + 10 +3.696133858267717 + 20 +5.341433070866142 + 30 +0.0 + 10 +3.699023622047244 + 20 +5.34659842519685 + 30 +0.0 + 10 +3.70057874015748 + 20 +5.353653543307087 + 30 +0.0 + 10 +3.700913385826772 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.700913385826772 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.700913385826772 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.685633858267717 + 20 +5.362708661417323 + 30 +0.0 + 0 +SPLINE + 5 +15B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.73607874015748 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.396708661417323 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.369822834645669 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.369822834645669 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.369822834645669 + 30 +0.0 + 10 +3.767523622047244 + 20 +5.355322834645669 + 30 +0.0 + 10 +3.765803149606299 + 20 +5.34482283464567 + 30 +0.0 + 10 +3.762468503937008 + 20 +5.338433070866142 + 30 +0.0 + 10 +3.762468503937008 + 20 +5.338433070866142 + 30 +0.0 + 10 +3.757803149606299 + 20 +5.329653543307087 + 30 +0.0 + 10 +3.750523622047244 + 20 +5.323043307086614 + 30 +0.0 + 10 +3.740633858267716 + 20 +5.318598425196851 + 30 +0.0 + 10 +3.740633858267716 + 20 +5.318598425196851 + 30 +0.0 + 10 +3.740633858267716 + 20 +5.318598425196851 + 30 +0.0 + 10 +3.733468503937008 + 20 +5.330153543307087 + 30 +0.0 + 10 +3.733468503937008 + 20 +5.330153543307087 + 30 +0.0 + 10 +3.733468503937008 + 20 +5.330153543307087 + 30 +0.0 + 10 +3.739358267716535 + 20 +5.332543307086614 + 30 +0.0 + 10 +3.743692913385827 + 20 +5.336263779527559 + 30 +0.0 + 10 +3.74657874015748 + 20 +5.341433070866142 + 30 +0.0 + 10 +3.74657874015748 + 20 +5.341433070866142 + 30 +0.0 + 10 +3.749468503937008 + 20 +5.34659842519685 + 30 +0.0 + 10 +3.75107874015748 + 20 +5.353653543307087 + 30 +0.0 + 10 +3.751358267716535 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.751358267716535 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.751358267716535 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.362708661417323 + 30 +0.0 + 10 +3.73607874015748 + 20 +5.362708661417323 + 30 +0.0 + 0 +SPLINE + 5 +15C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.009858267716536 + 20 +5.176988188976378 + 30 +0.0 + 10 +3.998968503937008 + 20 +5.167763779527559 + 30 +0.0 + 10 +3.988523622047244 + 20 +5.161263779527559 + 30 +0.0 + 10 +3.978523622047244 + 20 +5.157433070866142 + 30 +0.0 + 10 +3.978523622047244 + 20 +5.157433070866142 + 30 +0.0 + 10 +3.968468503937008 + 20 +5.153653543307087 + 30 +0.0 + 10 +3.957688976377953 + 20 +5.151763779527559 + 30 +0.0 + 10 +3.946188976377953 + 20 +5.151763779527559 + 30 +0.0 + 10 +3.946188976377953 + 20 +5.151763779527559 + 30 +0.0 + 10 +3.927188976377953 + 20 +5.151763779527559 + 30 +0.0 + 10 +3.912633858267716 + 20 +5.156374015748032 + 30 +0.0 + 10 +3.902413385826772 + 20 +5.165653543307086 + 30 +0.0 + 10 +3.902413385826772 + 20 +5.165653543307086 + 30 +0.0 + 10 +3.892244094488189 + 20 +5.174933070866142 + 30 +0.0 + 10 +3.887133858267716 + 20 +5.186818897637795 + 30 +0.0 + 10 +3.887133858267716 + 20 +5.201208661417323 + 30 +0.0 + 10 +3.887133858267716 + 20 +5.201208661417323 + 30 +0.0 + 10 +3.887133858267716 + 20 +5.209708661417323 + 30 +0.0 + 10 +3.889023622047244 + 20 +5.217433070866142 + 30 +0.0 + 10 +3.892913385826771 + 20 +5.224433070866142 + 30 +0.0 + 10 +3.892913385826771 + 20 +5.224433070866142 + 30 +0.0 + 10 +3.896744094488189 + 20 +5.231433070866141 + 30 +0.0 + 10 +3.901799212598425 + 20 +5.237043307086614 + 30 +0.0 + 10 +3.908023622047244 + 20 +5.241263779527559 + 30 +0.0 + 10 +3.908023622047244 + 20 +5.241263779527559 + 30 +0.0 + 10 +3.914299212598425 + 20 +5.245488188976378 + 30 +0.0 + 10 +3.921299212598425 + 20 +5.248708661417322 + 30 +0.0 + 10 +3.929133858267717 + 20 +5.250877952755905 + 30 +0.0 + 10 +3.929133858267717 + 20 +5.250877952755905 + 30 +0.0 + 10 +3.934858267716535 + 20 +5.252377952755905 + 30 +0.0 + 10 +3.943523622047244 + 20 +5.253877952755905 + 30 +0.0 + 10 +3.955133858267716 + 20 +5.255263779527559 + 30 +0.0 + 10 +3.955133858267716 + 20 +5.255263779527559 + 30 +0.0 + 10 +3.978803149606299 + 20 +5.258098425196851 + 30 +0.0 + 10 +3.996244094488189 + 20 +5.261433070866142 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.265377952755905 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.265377952755905 + 30 +0.0 + 10 +4.007523622047244 + 20 +5.269377952755906 + 30 +0.0 + 10 +4.007578740157481 + 20 +5.271933070866142 + 30 +0.0 + 10 +4.007578740157481 + 20 +5.272988188976378 + 30 +0.0 + 10 +4.007578740157481 + 20 +5.272988188976378 + 30 +0.0 + 10 +4.007578740157481 + 20 +5.284933070866142 + 30 +0.0 + 10 +4.004803149606299 + 20 +5.293377952755906 + 30 +0.0 + 10 +3.999244094488189 + 20 +5.298208661417322 + 30 +0.0 + 10 +3.999244094488189 + 20 +5.298208661417322 + 30 +0.0 + 10 +3.991803149606299 + 20 +5.304877952755906 + 30 +0.0 + 10 +3.980633858267717 + 20 +5.308153543307086 + 30 +0.0 + 10 +3.965913385826771 + 20 +5.308153543307086 + 30 +0.0 + 10 +3.965913385826771 + 20 +5.308153543307086 + 30 +0.0 + 10 +3.952133858267716 + 20 +5.308153543307086 + 30 +0.0 + 10 +3.941968503937008 + 20 +5.305763779527559 + 30 +0.0 + 10 +3.935358267716536 + 20 +5.300933070866142 + 30 +0.0 + 10 +3.935358267716536 + 20 +5.300933070866142 + 30 +0.0 + 10 +3.928799212598425 + 20 +5.296098425196851 + 30 +0.0 + 10 +3.923968503937008 + 20 +5.287543307086614 + 30 +0.0 + 10 +3.920799212598425 + 20 +5.275263779527559 + 30 +0.0 + 10 +3.920799212598425 + 20 +5.275263779527559 + 30 +0.0 + 10 +3.920799212598425 + 20 +5.275263779527559 + 30 +0.0 + 10 +3.892188976377953 + 20 +5.279208661417323 + 30 +0.0 + 10 +3.892188976377953 + 20 +5.279208661417323 + 30 +0.0 + 10 +3.892188976377953 + 20 +5.279208661417323 + 30 +0.0 + 10 +3.894799212598425 + 20 +5.291433070866142 + 30 +0.0 + 10 +3.89907874015748 + 20 +5.301377952755906 + 30 +0.0 + 10 +3.905023622047244 + 20 +5.308877952755905 + 30 +0.0 + 10 +3.905023622047244 + 20 +5.308877952755905 + 30 +0.0 + 10 +3.910968503937008 + 20 +5.316433070866141 + 30 +0.0 + 10 +3.919633858267717 + 20 +5.322263779527559 + 30 +0.0 + 10 +3.930913385826772 + 20 +5.326322834645669 + 30 +0.0 + 10 +3.930913385826772 + 20 +5.326322834645669 + 30 +0.0 + 10 +3.942188976377953 + 20 +5.330377952755906 + 30 +0.0 + 10 +3.955244094488189 + 20 +5.332433070866141 + 30 +0.0 + 10 +3.970133858267717 + 20 +5.332433070866141 + 30 +0.0 + 10 +3.970133858267717 + 20 +5.332433070866141 + 30 +0.0 + 10 +3.984913385826772 + 20 +5.332433070866141 + 30 +0.0 + 10 +3.996858267716536 + 20 +5.330653543307086 + 30 +0.0 + 10 +4.006078740157481 + 20 +5.327208661417322 + 30 +0.0 + 10 +4.006078740157481 + 20 +5.327208661417322 + 30 +0.0 + 10 +4.015303149606299 + 20 +5.323708661417323 + 30 +0.0 + 10 +4.022078740157481 + 20 +5.319377952755906 + 30 +0.0 + 10 +4.026468503937008 + 20 +5.314098425196851 + 30 +0.0 + 10 +4.026468503937008 + 20 +5.314098425196851 + 30 +0.0 + 10 +4.030803149606299 + 20 +5.308818897637796 + 30 +0.0 + 10 +4.0338031496063 + 20 +5.302208661417323 + 30 +0.0 + 10 +4.03557874015748 + 20 +5.294153543307087 + 30 +0.0 + 10 +4.03557874015748 + 20 +5.294153543307087 + 30 +0.0 + 10 +4.036523622047244 + 20 +5.289153543307086 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.280153543307087 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.267153543307087 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.267153543307087 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.267153543307087 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.22809842519685 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.22809842519685 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.22809842519685 + 30 +0.0 + 10 +4.037023622047244 + 20 +5.200818897637795 + 30 +0.0 + 10 +4.037633858267717 + 20 +5.18359842519685 + 30 +0.0 + 10 +4.038913385826771 + 20 +5.176433070866142 + 30 +0.0 + 10 +4.038913385826771 + 20 +5.176433070866142 + 30 +0.0 + 10 +4.040133858267716 + 20 +5.169208661417323 + 30 +0.0 + 10 +4.042633858267717 + 20 +5.162263779527559 + 30 +0.0 + 10 +4.046303149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.046303149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.046303149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.015688976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.015688976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.015688976377953 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.012688976377953 + 20 +5.161708661417323 + 30 +0.0 + 10 +4.010688976377953 + 20 +5.168818897637795 + 30 +0.0 + 10 +4.009858267716536 + 20 +5.176988188976378 + 30 +0.0 + 0 +SPLINE + 5 +15D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.007413385826772 + 20 +5.242433070866142 + 30 +0.0 + 10 +3.996744094488189 + 20 +5.238043307086614 + 30 +0.0 + 10 +3.980803149606299 + 20 +5.234377952755906 + 30 +0.0 + 10 +3.95957874015748 + 20 +5.231318897637795 + 30 +0.0 + 10 +3.95957874015748 + 20 +5.231318897637795 + 30 +0.0 + 10 +3.947523622047244 + 20 +5.22959842519685 + 30 +0.0 + 10 +3.938968503937008 + 20 +5.227653543307087 + 30 +0.0 + 10 +3.934023622047244 + 20 +5.225488188976378 + 30 +0.0 + 10 +3.934023622047244 + 20 +5.225488188976378 + 30 +0.0 + 10 +3.929023622047244 + 20 +5.223318897637795 + 30 +0.0 + 10 +3.925133858267717 + 20 +5.220153543307086 + 30 +0.0 + 10 +3.922468503937008 + 20 +5.215933070866142 + 30 +0.0 + 10 +3.922468503937008 + 20 +5.215933070866142 + 30 +0.0 + 10 +3.919744094488189 + 20 +5.211763779527559 + 30 +0.0 + 10 +3.918358267716536 + 20 +5.207153543307086 + 30 +0.0 + 10 +3.918358267716536 + 20 +5.202043307086615 + 30 +0.0 + 10 +3.918358267716536 + 20 +5.202043307086615 + 30 +0.0 + 10 +3.918358267716536 + 20 +5.194208661417322 + 30 +0.0 + 10 +3.921358267716535 + 20 +5.187708661417322 + 30 +0.0 + 10 +3.927244094488189 + 20 +5.182488188976378 + 30 +0.0 + 10 +3.927244094488189 + 20 +5.182488188976378 + 30 +0.0 + 10 +3.933133858267717 + 20 +5.177318897637795 + 30 +0.0 + 10 +3.941803149606299 + 20 +5.174708661417323 + 30 +0.0 + 10 +3.953188976377953 + 20 +5.174708661417323 + 30 +0.0 + 10 +3.953188976377953 + 20 +5.174708661417323 + 30 +0.0 + 10 +3.964468503937008 + 20 +5.174708661417323 + 30 +0.0 + 10 +3.974523622047244 + 20 +5.177153543307087 + 30 +0.0 + 10 +3.983303149606299 + 20 +5.18209842519685 + 30 +0.0 + 10 +3.983303149606299 + 20 +5.18209842519685 + 30 +0.0 + 10 +3.99207874015748 + 20 +5.187043307086614 + 30 +0.0 + 10 +3.99857874015748 + 20 +5.193818897637795 + 30 +0.0 + 10 +4.002688976377953 + 20 +5.202374015748031 + 30 +0.0 + 10 +4.002688976377953 + 20 +5.202374015748031 + 30 +0.0 + 10 +4.005858267716535 + 20 +5.208988188976378 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.218763779527559 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.231653543307087 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.231653543307087 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.231653543307087 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.242433070866142 + 30 +0.0 + 10 +4.007413385826772 + 20 +5.242433070866142 + 30 +0.0 + 0 +SPLINE + 5 +15E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.195248031496063 + 20 +5.218988188976378 + 30 +0.0 + 10 +4.195248031496063 + 20 +5.218988188976378 + 30 +0.0 + 10 +4.224023622047244 + 20 +5.215208661417323 + 30 +0.0 + 10 +4.224023622047244 + 20 +5.215208661417323 + 30 +0.0 + 10 +4.224023622047244 + 20 +5.215208661417323 + 30 +0.0 + 10 +4.220913385826772 + 20 +5.195374015748031 + 30 +0.0 + 10 +4.212858267716536 + 20 +5.179818897637795 + 30 +0.0 + 10 +4.199858267716535 + 20 +5.16859842519685 + 30 +0.0 + 10 +4.199858267716535 + 20 +5.16859842519685 + 30 +0.0 + 10 +4.186913385826772 + 20 +5.157374015748031 + 30 +0.0 + 10 +4.170968503937008 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.152078740157481 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.152078740157481 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.128468503937007 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.109413385826771 + 20 +5.159488188976378 + 30 +0.0 + 10 +4.09507874015748 + 20 +5.174933070866142 + 30 +0.0 + 10 +4.09507874015748 + 20 +5.174933070866142 + 30 +0.0 + 10 +4.080688976377953 + 20 +5.190374015748032 + 30 +0.0 + 10 +4.073468503937008 + 20 +5.212543307086614 + 30 +0.0 + 10 +4.073468503937008 + 20 +5.241433070866142 + 30 +0.0 + 10 +4.073468503937008 + 20 +5.241433070866142 + 30 +0.0 + 10 +4.073468503937008 + 20 +5.26009842519685 + 30 +0.0 + 10 +4.076578740157481 + 20 +5.276433070866141 + 30 +0.0 + 10 +4.082748031496063 + 20 +5.290433070866142 + 30 +0.0 + 10 +4.082748031496063 + 20 +5.290433070866142 + 30 +0.0 + 10 +4.088968503937008 + 20 +5.304433070866142 + 30 +0.0 + 10 +4.098358267716535 + 20 +5.314933070866141 + 30 +0.0 + 10 +4.111023622047244 + 20 +5.321933070866142 + 30 +0.0 + 10 +4.111023622047244 + 20 +5.321933070866142 + 30 +0.0 + 10 +4.123633858267716 + 20 +5.328933070866142 + 30 +0.0 + 10 +4.137413385826772 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.152248031496063 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.152248031496063 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.171023622047244 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.186413385826771 + 20 +5.327653543307086 + 30 +0.0 + 10 +4.198303149606299 + 20 +5.318153543307087 + 30 +0.0 + 10 +4.198303149606299 + 20 +5.318153543307087 + 30 +0.0 + 10 +4.210248031496063 + 20 +5.308653543307087 + 30 +0.0 + 10 +4.217913385826772 + 20 +5.295208661417323 + 30 +0.0 + 10 +4.2213031496063 + 20 +5.277708661417323 + 30 +0.0 + 10 +4.2213031496063 + 20 +5.277708661417323 + 30 +0.0 + 10 +4.2213031496063 + 20 +5.277708661417323 + 30 +0.0 + 10 +4.192803149606299 + 20 +5.273318897637795 + 30 +0.0 + 10 +4.192803149606299 + 20 +5.273318897637795 + 30 +0.0 + 10 +4.192803149606299 + 20 +5.273318897637795 + 30 +0.0 + 10 +4.19007874015748 + 20 +5.284933070866142 + 30 +0.0 + 10 +4.185303149606299 + 20 +5.293653543307086 + 30 +0.0 + 10 +4.178413385826771 + 20 +5.299543307086614 + 30 +0.0 + 10 +4.178413385826771 + 20 +5.299543307086614 + 30 +0.0 + 10 +4.171523622047244 + 20 +5.305377952755905 + 30 +0.0 + 10 +4.163192913385827 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.153413385826772 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.153413385826772 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.138633858267717 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.126633858267716 + 20 +5.303043307086615 + 30 +0.0 + 10 +4.117413385826771 + 20 +5.292433070866141 + 30 +0.0 + 10 +4.117413385826771 + 20 +5.292433070866141 + 30 +0.0 + 10 +4.108188976377953 + 20 +5.281877952755906 + 30 +0.0 + 10 +4.10357874015748 + 20 +5.265153543307086 + 30 +0.0 + 10 +4.10357874015748 + 20 +5.242263779527559 + 30 +0.0 + 10 +4.10357874015748 + 20 +5.242263779527559 + 30 +0.0 + 10 +4.10357874015748 + 20 +5.219043307086614 + 30 +0.0 + 10 +4.108023622047244 + 20 +5.202153543307086 + 30 +0.0 + 10 +4.116968503937008 + 20 +5.19159842519685 + 30 +0.0 + 10 +4.116968503937008 + 20 +5.19159842519685 + 30 +0.0 + 10 +4.125858267716535 + 20 +5.181098425196851 + 30 +0.0 + 10 +4.137468503937008 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.151803149606299 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.151803149606299 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.163303149606299 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.172858267716536 + 20 +5.179374015748031 + 30 +0.0 + 10 +4.18057874015748 + 20 +5.186433070866141 + 30 +0.0 + 10 +4.18057874015748 + 20 +5.186433070866141 + 30 +0.0 + 10 +4.188303149606299 + 20 +5.193488188976378 + 30 +0.0 + 10 +4.193192913385826 + 20 +5.204318897637795 + 30 +0.0 + 10 +4.195248031496063 + 20 +5.218988188976378 + 30 +0.0 + 0 +SPLINE + 5 +15F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.248803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.302318897637795 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.302318897637795 + 30 +0.0 + 10 +4.27513779527559 + 20 +5.302318897637795 + 30 +0.0 + 10 +4.281858267716536 + 20 +5.314543307086614 + 30 +0.0 + 10 +4.288082677165354 + 20 +5.322653543307086 + 30 +0.0 + 10 +4.293803149606299 + 20 +5.326543307086614 + 30 +0.0 + 10 +4.293803149606299 + 20 +5.326543307086614 + 30 +0.0 + 10 +4.299472440944882 + 20 +5.330433070866142 + 30 +0.0 + 10 +4.305748031496063 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.312582677165354 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.312582677165354 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.322472440944882 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.332472440944882 + 20 +5.329263779527559 + 30 +0.0 + 10 +4.342692913385827 + 20 +5.322988188976378 + 30 +0.0 + 10 +4.342692913385827 + 20 +5.322988188976378 + 30 +0.0 + 10 +4.342692913385827 + 20 +5.322988188976378 + 30 +0.0 + 10 +4.332582677165354 + 20 +5.295763779527559 + 30 +0.0 + 10 +4.332582677165354 + 20 +5.295763779527559 + 30 +0.0 + 10 +4.332582677165354 + 20 +5.295763779527559 + 30 +0.0 + 10 +4.325472440944882 + 20 +5.300043307086614 + 30 +0.0 + 10 +4.318303149606299 + 20 +5.302153543307087 + 30 +0.0 + 10 +4.311137795275591 + 20 +5.302153543307087 + 30 +0.0 + 10 +4.311137795275591 + 20 +5.302153543307087 + 30 +0.0 + 10 +4.304692913385827 + 20 +5.302153543307087 + 30 +0.0 + 10 +4.298972440944882 + 20 +5.300208661417323 + 30 +0.0 + 10 +4.29386220472441 + 20 +5.296377952755906 + 30 +0.0 + 10 +4.29386220472441 + 20 +5.296377952755906 + 30 +0.0 + 10 +4.288748031496063 + 20 +5.292488188976378 + 30 +0.0 + 10 +4.285137795275591 + 20 +5.287153543307086 + 30 +0.0 + 10 +4.282972440944881 + 20 +5.280318897637795 + 30 +0.0 + 10 +4.282972440944881 + 20 +5.280318897637795 + 30 +0.0 + 10 +4.279692913385826 + 20 +5.269933070866141 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.258543307086614 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.246153543307087 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.246153543307087 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.246153543307087 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.278082677165354 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.248803149606299 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +160 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.358803149606299 + 20 +5.08909842519685 + 30 +0.0 + 10 +4.358803149606299 + 20 +5.08909842519685 + 30 +0.0 + 10 +4.355527559055118 + 20 +5.116598425196851 + 30 +0.0 + 10 +4.355527559055118 + 20 +5.116598425196851 + 30 +0.0 + 10 +4.355527559055118 + 20 +5.116598425196851 + 30 +0.0 + 10 +4.361972440944882 + 20 +5.114874015748032 + 30 +0.0 + 10 +4.367527559055118 + 20 +5.113988188976378 + 30 +0.0 + 10 +4.372303149606299 + 20 +5.113988188976378 + 30 +0.0 + 10 +4.372303149606299 + 20 +5.113988188976378 + 30 +0.0 + 10 +4.378803149606299 + 20 +5.113988188976378 + 30 +0.0 + 10 +4.384027559055118 + 20 +5.115098425196851 + 30 +0.0 + 10 +4.387917322834646 + 20 +5.117263779527559 + 30 +0.0 + 10 +4.387917322834646 + 20 +5.117263779527559 + 30 +0.0 + 10 +4.391858267716535 + 20 +5.119433070866141 + 30 +0.0 + 10 +4.395027559055118 + 20 +5.122433070866141 + 30 +0.0 + 10 +4.397527559055118 + 20 +5.126374015748032 + 30 +0.0 + 10 +4.397527559055118 + 20 +5.126374015748032 + 30 +0.0 + 10 +4.399417322834646 + 20 +5.129263779527559 + 30 +0.0 + 10 +4.402362204724409 + 20 +5.136543307086614 + 30 +0.0 + 10 +4.406472440944882 + 20 +5.148153543307086 + 30 +0.0 + 10 +4.406472440944882 + 20 +5.148153543307086 + 30 +0.0 + 10 +4.407027559055118 + 20 +5.149818897637795 + 30 +0.0 + 10 +4.407917322834646 + 20 +5.152153543307087 + 30 +0.0 + 10 +4.409082677165355 + 20 +5.155318897637795 + 30 +0.0 + 10 +4.409082677165355 + 20 +5.155318897637795 + 30 +0.0 + 10 +4.409082677165355 + 20 +5.155318897637795 + 30 +0.0 + 10 +4.343527559055118 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.343527559055118 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.343527559055118 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.343527559055118 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.375082677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.375082677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.375082677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.375082677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.411082677165354 + 20 +5.228433070866142 + 30 +0.0 + 10 +4.411082677165354 + 20 +5.228433070866142 + 30 +0.0 + 10 +4.411082677165354 + 20 +5.228433070866142 + 30 +0.0 + 10 +4.415692913385826 + 20 +5.215708661417323 + 30 +0.0 + 10 +4.419917322834646 + 20 +5.202374015748031 + 30 +0.0 + 10 +4.423582677165355 + 20 +5.188374015748032 + 30 +0.0 + 10 +4.423582677165355 + 20 +5.188374015748032 + 30 +0.0 + 10 +4.426972440944882 + 20 +5.201818897637795 + 30 +0.0 + 10 +4.430972440944882 + 20 +5.214933070866142 + 30 +0.0 + 10 +4.435637795275591 + 20 +5.227763779527559 + 30 +0.0 + 10 +4.435637795275591 + 20 +5.227763779527559 + 30 +0.0 + 10 +4.435637795275591 + 20 +5.227763779527559 + 30 +0.0 + 10 +4.472582677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.472582677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.472582677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.472582677165354 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.501862204724409 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.501862204724409 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.501862204724409 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.501862204724409 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.436137795275591 + 20 +5.152708661417323 + 30 +0.0 + 10 +4.436137795275591 + 20 +5.152708661417323 + 30 +0.0 + 10 +4.436137795275591 + 20 +5.152708661417323 + 30 +0.0 + 10 +4.429082677165354 + 20 +5.133708661417323 + 30 +0.0 + 10 +4.423582677165355 + 20 +5.120653543307086 + 30 +0.0 + 10 +4.419692913385827 + 20 +5.113488188976378 + 30 +0.0 + 10 +4.419692913385827 + 20 +5.113488188976378 + 30 +0.0 + 10 +4.414472440944881 + 20 +5.103818897637796 + 30 +0.0 + 10 +4.408527559055118 + 20 +5.096763779527559 + 30 +0.0 + 10 +4.401803149606299 + 20 +5.092263779527559 + 30 +0.0 + 10 +4.401803149606299 + 20 +5.092263779527559 + 30 +0.0 + 10 +4.395027559055118 + 20 +5.087763779527559 + 30 +0.0 + 10 +4.387027559055118 + 20 +5.085488188976378 + 30 +0.0 + 10 +4.377692913385827 + 20 +5.085488188976378 + 30 +0.0 + 10 +4.377692913385827 + 20 +5.085488188976378 + 30 +0.0 + 10 +4.372027559055118 + 20 +5.085488188976378 + 30 +0.0 + 10 +4.365748031496063 + 20 +5.086708661417322 + 30 +0.0 + 10 +4.358803149606299 + 20 +5.08909842519685 + 30 +0.0 + 0 +SPLINE + 5 +161 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.526141732283465 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.555417322834646 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.526141732283465 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +162 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.600972440944882 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.394263779527559 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.360543307086614 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.360543307086614 + 30 +0.0 + 0 +SPLINE + 5 +163 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.600972440944882 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.328488188976378 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.630307086614173 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.155653543307086 + 30 +0.0 + 10 +4.600972440944882 + 20 +5.155653543307086 + 30 +0.0 + 0 +SPLINE + 5 +164 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +4.787696850393701 + 20 +5.218988188976378 + 30 +0.0 + 10 +4.787696850393701 + 20 +5.218988188976378 + 30 +0.0 + 10 +4.816472440944882 + 20 +5.215208661417323 + 30 +0.0 + 10 +4.816472440944882 + 20 +5.215208661417323 + 30 +0.0 + 10 +4.816472440944882 + 20 +5.215208661417323 + 30 +0.0 + 10 +4.81336220472441 + 20 +5.195374015748031 + 30 +0.0 + 10 +4.805307086614174 + 20 +5.179818897637795 + 30 +0.0 + 10 +4.792307086614173 + 20 +5.16859842519685 + 30 +0.0 + 10 +4.792307086614173 + 20 +5.16859842519685 + 30 +0.0 + 10 +4.77936220472441 + 20 +5.157374015748031 + 30 +0.0 + 10 +4.763417322834646 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.744527559055118 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.744527559055118 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.720917322834645 + 20 +5.151763779527559 + 30 +0.0 + 10 +4.701862204724409 + 20 +5.159488188976378 + 30 +0.0 + 10 +4.687527559055118 + 20 +5.174933070866142 + 30 +0.0 + 10 +4.687527559055118 + 20 +5.174933070866142 + 30 +0.0 + 10 +4.673137795275591 + 20 +5.190374015748032 + 30 +0.0 + 10 +4.665917322834646 + 20 +5.212543307086614 + 30 +0.0 + 10 +4.665917322834646 + 20 +5.241433070866142 + 30 +0.0 + 10 +4.665917322834646 + 20 +5.241433070866142 + 30 +0.0 + 10 +4.665917322834646 + 20 +5.26009842519685 + 30 +0.0 + 10 +4.669027559055118 + 20 +5.276433070866141 + 30 +0.0 + 10 +4.675196850393701 + 20 +5.290433070866142 + 30 +0.0 + 10 +4.675196850393701 + 20 +5.290433070866142 + 30 +0.0 + 10 +4.681417322834646 + 20 +5.304433070866142 + 30 +0.0 + 10 +4.690807086614173 + 20 +5.314933070866141 + 30 +0.0 + 10 +4.703472440944882 + 20 +5.321933070866142 + 30 +0.0 + 10 +4.703472440944882 + 20 +5.321933070866142 + 30 +0.0 + 10 +4.716082677165354 + 20 +5.328933070866142 + 30 +0.0 + 10 +4.72986220472441 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.744696850393701 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.744696850393701 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.763472440944882 + 20 +5.332433070866141 + 30 +0.0 + 10 +4.778862204724409 + 20 +5.327653543307086 + 30 +0.0 + 10 +4.790751968503937 + 20 +5.318153543307087 + 30 +0.0 + 10 +4.790751968503937 + 20 +5.318153543307087 + 30 +0.0 + 10 +4.8026968503937 + 20 +5.308653543307087 + 30 +0.0 + 10 +4.810362204724409 + 20 +5.295208661417323 + 30 +0.0 + 10 +4.813751968503937 + 20 +5.277708661417323 + 30 +0.0 + 10 +4.813751968503937 + 20 +5.277708661417323 + 30 +0.0 + 10 +4.813751968503937 + 20 +5.277708661417323 + 30 +0.0 + 10 +4.785251968503937 + 20 +5.273318897637795 + 30 +0.0 + 10 +4.785251968503937 + 20 +5.273318897637795 + 30 +0.0 + 10 +4.785251968503937 + 20 +5.273318897637795 + 30 +0.0 + 10 +4.782527559055118 + 20 +5.284933070866142 + 30 +0.0 + 10 +4.777751968503937 + 20 +5.293653543307086 + 30 +0.0 + 10 +4.770862204724409 + 20 +5.299543307086614 + 30 +0.0 + 10 +4.770862204724409 + 20 +5.299543307086614 + 30 +0.0 + 10 +4.763972440944882 + 20 +5.305377952755905 + 30 +0.0 + 10 +4.755641732283465 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.74586220472441 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.74586220472441 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.731082677165355 + 20 +5.308318897637795 + 30 +0.0 + 10 +4.719082677165354 + 20 +5.303043307086615 + 30 +0.0 + 10 +4.709862204724409 + 20 +5.292433070866141 + 30 +0.0 + 10 +4.709862204724409 + 20 +5.292433070866141 + 30 +0.0 + 10 +4.700637795275591 + 20 +5.281877952755906 + 30 +0.0 + 10 +4.696027559055118 + 20 +5.265153543307086 + 30 +0.0 + 10 +4.696027559055118 + 20 +5.242263779527559 + 30 +0.0 + 10 +4.696027559055118 + 20 +5.242263779527559 + 30 +0.0 + 10 +4.696027559055118 + 20 +5.219043307086614 + 30 +0.0 + 10 +4.700472440944882 + 20 +5.202153543307086 + 30 +0.0 + 10 +4.709417322834645 + 20 +5.19159842519685 + 30 +0.0 + 10 +4.709417322834645 + 20 +5.19159842519685 + 30 +0.0 + 10 +4.718307086614173 + 20 +5.181098425196851 + 30 +0.0 + 10 +4.729917322834646 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.744251968503937 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.744251968503937 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.755751968503937 + 20 +5.175818897637796 + 30 +0.0 + 10 +4.765307086614174 + 20 +5.179374015748031 + 30 +0.0 + 10 +4.773027559055119 + 20 +5.186433070866141 + 30 +0.0 + 10 +4.773027559055119 + 20 +5.186433070866141 + 30 +0.0 + 10 +4.780751968503937 + 20 +5.193488188976378 + 30 +0.0 + 10 +4.785641732283465 + 20 +5.204318897637795 + 30 +0.0 + 10 +4.787696850393701 + 20 +5.218988188976378 + 30 +0.0 + 0 +SPLINE + 5 +165 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.557767716535433 + 20 +4.859929133858268 + 30 +0.0 + 10 +-2.557767716535433 + 20 +4.859929133858268 + 30 +0.0 + 10 +-2.527988188976378 + 20 +4.862543307086614 + 30 +0.0 + 10 +-2.527988188976378 + 20 +4.862543307086614 + 30 +0.0 + 10 +-2.527988188976378 + 20 +4.862543307086614 + 30 +0.0 + 10 +-2.526602362204724 + 20 +4.850598425196851 + 30 +0.0 + 10 +-2.523322834645669 + 20 +4.840818897637796 + 30 +0.0 + 10 +-2.518157480314961 + 20 +4.833153543307087 + 30 +0.0 + 10 +-2.518157480314961 + 20 +4.833153543307087 + 30 +0.0 + 10 +-2.512988188976378 + 20 +4.825484251968504 + 30 +0.0 + 10 +-2.504988188976378 + 20 +4.819318897637795 + 30 +0.0 + 10 +-2.494157480314961 + 20 +4.81459842519685 + 30 +0.0 + 10 +-2.494157480314961 + 20 +4.81459842519685 + 30 +0.0 + 10 +-2.483322834645669 + 20 +4.809874015748031 + 30 +0.0 + 10 +-2.471102362204725 + 20 +4.807543307086614 + 30 +0.0 + 10 +-2.457543307086614 + 20 +4.807543307086614 + 30 +0.0 + 10 +-2.457543307086614 + 20 +4.807543307086614 + 30 +0.0 + 10 +-2.445488188976378 + 20 +4.807543307086614 + 30 +0.0 + 10 +-2.434877952755905 + 20 +4.809318897637795 + 30 +0.0 + 10 +-2.42565748031496 + 20 +4.812874015748031 + 30 +0.0 + 10 +-2.42565748031496 + 20 +4.812874015748031 + 30 +0.0 + 10 +-2.416433070866142 + 20 +4.816484251968504 + 30 +0.0 + 10 +-2.409543307086614 + 20 +4.821374015748032 + 30 +0.0 + 10 +-2.405043307086614 + 20 +4.82759842519685 + 30 +0.0 + 10 +-2.405043307086614 + 20 +4.82759842519685 + 30 +0.0 + 10 +-2.400543307086614 + 20 +4.833874015748031 + 30 +0.0 + 10 +-2.398267716535433 + 20 +4.840653543307087 + 30 +0.0 + 10 +-2.398267716535433 + 20 +4.848043307086614 + 30 +0.0 + 10 +-2.398267716535433 + 20 +4.848043307086614 + 30 +0.0 + 10 +-2.398267716535433 + 20 +4.855543307086614 + 30 +0.0 + 10 +-2.400433070866142 + 20 +4.862043307086614 + 30 +0.0 + 10 +-2.404822834645669 + 20 +4.867653543307086 + 30 +0.0 + 10 +-2.404822834645669 + 20 +4.867653543307086 + 30 +0.0 + 10 +-2.409157480314961 + 20 +4.873263779527559 + 30 +0.0 + 10 +-2.416322834645669 + 20 +4.877929133858268 + 30 +0.0 + 10 +-2.426267716535433 + 20 +4.881708661417322 + 30 +0.0 + 10 +-2.426267716535433 + 20 +4.881708661417322 + 30 +0.0 + 10 +-2.432712598425197 + 20 +4.884208661417323 + 30 +0.0 + 10 +-2.446822834645669 + 20 +4.88809842519685 + 30 +0.0 + 10 +-2.468767716535433 + 20 +4.893374015748032 + 30 +0.0 + 10 +-2.468767716535433 + 20 +4.893374015748032 + 30 +0.0 + 10 +-2.490657480314961 + 20 +4.898653543307087 + 30 +0.0 + 10 +-2.506043307086614 + 20 +4.903598425196851 + 30 +0.0 + 10 +-2.514822834645669 + 20 +4.908263779527559 + 30 +0.0 + 10 +-2.514822834645669 + 20 +4.908263779527559 + 30 +0.0 + 10 +-2.526212598425197 + 20 +4.914208661417323 + 30 +0.0 + 10 +-2.534712598425197 + 20 +4.921653543307086 + 30 +0.0 + 10 +-2.540322834645669 + 20 +4.930488188976378 + 30 +0.0 + 10 +-2.540322834645669 + 20 +4.930488188976378 + 30 +0.0 + 10 +-2.545877952755906 + 20 +4.939318897637795 + 30 +0.0 + 10 +-2.548657480314961 + 20 +4.949208661417323 + 30 +0.0 + 10 +-2.548657480314961 + 20 +4.960208661417322 + 30 +0.0 + 10 +-2.548657480314961 + 20 +4.960208661417322 + 30 +0.0 + 10 +-2.548657480314961 + 20 +4.972208661417323 + 30 +0.0 + 10 +-2.545267716535433 + 20 +4.983488188976378 + 30 +0.0 + 10 +-2.538433070866142 + 20 +4.993933070866142 + 30 +0.0 + 10 +-2.538433070866142 + 20 +4.993933070866142 + 30 +0.0 + 10 +-2.531602362204724 + 20 +5.004433070866142 + 30 +0.0 + 10 +-2.521602362204725 + 20 +5.012374015748032 + 30 +0.0 + 10 +-2.508488188976378 + 20 +5.017818897637795 + 30 +0.0 + 10 +-2.508488188976378 + 20 +5.017818897637795 + 30 +0.0 + 10 +-2.495322834645669 + 20 +5.023208661417323 + 30 +0.0 + 10 +-2.480767716535433 + 20 +5.025933070866142 + 30 +0.0 + 10 +-2.464712598425197 + 20 +5.025933070866142 + 30 +0.0 + 10 +-2.464712598425197 + 20 +5.025933070866142 + 30 +0.0 + 10 +-2.446988188976378 + 20 +5.025933070866142 + 30 +0.0 + 10 +-2.431433070866142 + 20 +5.02309842519685 + 30 +0.0 + 10 +-2.417877952755906 + 20 +5.017374015748032 + 30 +0.0 + 10 +-2.417877952755906 + 20 +5.017374015748032 + 30 +0.0 + 10 +-2.404377952755905 + 20 +5.011708661417323 + 30 +0.0 + 10 +-2.393988188976378 + 20 +5.003318897637795 + 30 +0.0 + 10 +-2.386712598425197 + 20 +4.992263779527559 + 30 +0.0 + 10 +-2.386712598425197 + 20 +4.992263779527559 + 30 +0.0 + 10 +-2.379488188976378 + 20 +4.981208661417323 + 30 +0.0 + 10 +-2.375543307086614 + 20 +4.968653543307086 + 30 +0.0 + 10 +-2.374988188976378 + 20 +4.954653543307087 + 30 +0.0 + 10 +-2.374988188976378 + 20 +4.954653543307087 + 30 +0.0 + 10 +-2.374988188976378 + 20 +4.954653543307087 + 30 +0.0 + 10 +-2.405267716535433 + 20 +4.952374015748031 + 30 +0.0 + 10 +-2.405267716535433 + 20 +4.952374015748031 + 30 +0.0 + 10 +-2.405267716535433 + 20 +4.952374015748031 + 30 +0.0 + 10 +-2.406933070866142 + 20 +4.967433070866142 + 30 +0.0 + 10 +-2.412433070866142 + 20 +4.978874015748032 + 30 +0.0 + 10 +-2.421822834645669 + 20 +4.986543307086614 + 30 +0.0 + 10 +-2.421822834645669 + 20 +4.986543307086614 + 30 +0.0 + 10 +-2.431212598425197 + 20 +4.994263779527559 + 30 +0.0 + 10 +-2.445043307086614 + 20 +4.998098425196851 + 30 +0.0 + 10 +-2.463377952755906 + 20 +4.998098425196851 + 30 +0.0 + 10 +-2.463377952755906 + 20 +4.998098425196851 + 30 +0.0 + 10 +-2.482488188976378 + 20 +4.998098425196851 + 30 +0.0 + 10 +-2.496377952755906 + 20 +4.99459842519685 + 30 +0.0 + 10 +-2.505157480314961 + 20 +4.98759842519685 + 30 +0.0 + 10 +-2.505157480314961 + 20 +4.98759842519685 + 30 +0.0 + 10 +-2.513877952755906 + 20 +4.980598425196851 + 30 +0.0 + 10 +-2.518267716535433 + 20 +4.972153543307087 + 30 +0.0 + 10 +-2.518267716535433 + 20 +4.962318897637795 + 30 +0.0 + 10 +-2.518267716535433 + 20 +4.962318897637795 + 30 +0.0 + 10 +-2.518267716535433 + 20 +4.953708661417322 + 30 +0.0 + 10 +-2.515157480314961 + 20 +4.946653543307087 + 30 +0.0 + 10 +-2.508988188976378 + 20 +4.941153543307086 + 30 +0.0 + 10 +-2.508988188976378 + 20 +4.941153543307086 + 30 +0.0 + 10 +-2.502877952755906 + 20 +4.935598425196851 + 30 +0.0 + 10 +-2.487043307086614 + 20 +4.929929133858268 + 30 +0.0 + 10 +-2.461377952755905 + 20 +4.924153543307087 + 30 +0.0 + 10 +-2.461377952755905 + 20 +4.924153543307087 + 30 +0.0 + 10 +-2.435712598425197 + 20 +4.918318897637795 + 30 +0.0 + 10 +-2.418102362204725 + 20 +4.913263779527559 + 30 +0.0 + 10 +-2.408543307086614 + 20 +4.908929133858268 + 30 +0.0 + 10 +-2.408543307086614 + 20 +4.908929133858268 + 30 +0.0 + 10 +-2.394657480314961 + 20 +4.902488188976378 + 30 +0.0 + 10 +-2.384377952755905 + 20 +4.894374015748031 + 30 +0.0 + 10 +-2.377767716535433 + 20 +4.884598425196851 + 30 +0.0 + 10 +-2.377767716535433 + 20 +4.884598425196851 + 30 +0.0 + 10 +-2.37115748031496 + 20 +4.874763779527559 + 30 +0.0 + 10 +-2.367877952755905 + 20 +4.863429133858268 + 30 +0.0 + 10 +-2.367877952755905 + 20 +4.850653543307087 + 30 +0.0 + 10 +-2.367877952755905 + 20 +4.850653543307087 + 30 +0.0 + 10 +-2.367877952755905 + 20 +4.837929133858268 + 30 +0.0 + 10 +-2.371488188976378 + 20 +4.825984251968504 + 30 +0.0 + 10 +-2.378767716535433 + 20 +4.814763779527559 + 30 +0.0 + 10 +-2.378767716535433 + 20 +4.814763779527559 + 30 +0.0 + 10 +-2.386043307086614 + 20 +4.803543307086614 + 30 +0.0 + 10 +-2.396488188976378 + 20 +4.794818897637795 + 30 +0.0 + 10 +-2.410102362204725 + 20 +4.788543307086615 + 30 +0.0 + 10 +-2.410102362204725 + 20 +4.788543307086615 + 30 +0.0 + 10 +-2.423712598425197 + 20 +4.782318897637795 + 30 +0.0 + 10 +-2.439043307086614 + 20 +4.779208661417323 + 30 +0.0 + 10 +-2.456043307086614 + 20 +4.779208661417323 + 30 +0.0 + 10 +-2.456043307086614 + 20 +4.779208661417323 + 30 +0.0 + 10 +-2.47765748031496 + 20 +4.779208661417323 + 30 +0.0 + 10 +-2.495767716535433 + 20 +4.782318897637795 + 30 +0.0 + 10 +-2.510322834645669 + 20 +4.788653543307086 + 30 +0.0 + 10 +-2.510322834645669 + 20 +4.788653543307086 + 30 +0.0 + 10 +-2.524933070866142 + 20 +4.794929133858267 + 30 +0.0 + 10 +-2.536377952755906 + 20 +4.804374015748031 + 30 +0.0 + 10 +-2.544712598425197 + 20 +4.817043307086614 + 30 +0.0 + 10 +-2.544712598425197 + 20 +4.817043307086614 + 30 +0.0 + 10 +-2.552988188976378 + 20 +4.829653543307087 + 30 +0.0 + 10 +-2.557377952755906 + 20 +4.843988188976378 + 30 +0.0 + 10 +-2.557767716535433 + 20 +4.859929133858268 + 30 +0.0 + 0 +SPLINE + 5 +166 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.328433070866142 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.95609842519685 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.933653543307087 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.933653543307087 + 30 +0.0 + 10 +-2.301767716535433 + 20 +4.933653543307087 + 30 +0.0 + 10 +-2.295488188976378 + 20 +4.942429133858267 + 30 +0.0 + 10 +-2.288377952755905 + 20 +4.949043307086614 + 30 +0.0 + 10 +-2.280433070866142 + 20 +4.953433070866142 + 30 +0.0 + 10 +-2.280433070866142 + 20 +4.953433070866142 + 30 +0.0 + 10 +-2.272543307086614 + 20 +4.957818897637796 + 30 +0.0 + 10 +-2.262933070866142 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.251653543307087 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.251653543307087 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.236877952755906 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.223877952755906 + 20 +4.956208661417323 + 30 +0.0 + 10 +-2.21259842519685 + 20 +4.948653543307087 + 30 +0.0 + 10 +-2.21259842519685 + 20 +4.948653543307087 + 30 +0.0 + 10 +-2.201267716535433 + 20 +4.941043307086614 + 30 +0.0 + 10 +-2.192767716535433 + 20 +4.930318897637795 + 30 +0.0 + 10 +-2.187043307086614 + 20 +4.916488188976378 + 30 +0.0 + 10 +-2.187043307086614 + 20 +4.916488188976378 + 30 +0.0 + 10 +-2.181263779527559 + 20 +4.902653543307086 + 30 +0.0 + 10 +-2.178377952755906 + 20 +4.887488188976378 + 30 +0.0 + 10 +-2.178377952755906 + 20 +4.870988188976378 + 30 +0.0 + 10 +-2.178377952755906 + 20 +4.870988188976378 + 30 +0.0 + 10 +-2.178377952755906 + 20 +4.853318897637795 + 30 +0.0 + 10 +-2.181543307086614 + 20 +4.837374015748032 + 30 +0.0 + 10 +-2.187933070866142 + 20 +4.823208661417323 + 30 +0.0 + 10 +-2.187933070866142 + 20 +4.823208661417323 + 30 +0.0 + 10 +-2.194267716535433 + 20 +4.809043307086614 + 30 +0.0 + 10 +-2.203488188976378 + 20 +4.798208661417322 + 30 +0.0 + 10 +-2.215598425196851 + 20 +4.790653543307086 + 30 +0.0 + 10 +-2.215598425196851 + 20 +4.790653543307086 + 30 +0.0 + 10 +-2.227708661417323 + 20 +4.783153543307087 + 30 +0.0 + 10 +-2.240433070866142 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.253767716535433 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.253767716535433 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.263543307086614 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.272267716535433 + 20 +4.781429133858268 + 30 +0.0 + 10 +-2.280043307086614 + 20 +4.785543307086614 + 30 +0.0 + 10 +-2.280043307086614 + 20 +4.785543307086614 + 30 +0.0 + 10 +-2.287822834645669 + 20 +4.789653543307087 + 30 +0.0 + 10 +-2.294153543307087 + 20 +4.794874015748031 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.801153543307087 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.801153543307087 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.801153543307087 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.299153543307086 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.71703937007874 + 30 +0.0 + 10 +-2.328433070866142 + 20 +4.71703937007874 + 30 +0.0 + 0 +SPLINE + 5 +167 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.301933070866142 + 20 +4.868708661417323 + 30 +0.0 + 10 +-2.301933070866142 + 20 +4.846488188976378 + 30 +0.0 + 10 +-2.297433070866142 + 20 +4.830043307086614 + 30 +0.0 + 10 +-2.288433070866142 + 20 +4.819374015748031 + 30 +0.0 + 10 +-2.288433070866142 + 20 +4.819374015748031 + 30 +0.0 + 10 +-2.279433070866142 + 20 +4.808763779527559 + 30 +0.0 + 10 +-2.268488188976378 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.255708661417323 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.255708661417323 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.242708661417323 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.231543307086614 + 20 +4.808929133858268 + 30 +0.0 + 10 +-2.222267716535433 + 20 +4.819984251968504 + 30 +0.0 + 10 +-2.222267716535433 + 20 +4.819984251968504 + 30 +0.0 + 10 +-2.212988188976378 + 20 +4.830984251968504 + 30 +0.0 + 10 +-2.208322834645669 + 20 +4.848043307086614 + 30 +0.0 + 10 +-2.208322834645669 + 20 +4.871153543307087 + 30 +0.0 + 10 +-2.208322834645669 + 20 +4.871153543307087 + 30 +0.0 + 10 +-2.208322834645669 + 20 +4.893208661417323 + 30 +0.0 + 10 +-2.212877952755905 + 20 +4.909653543307087 + 30 +0.0 + 10 +-2.221933070866142 + 20 +4.920653543307087 + 30 +0.0 + 10 +-2.221933070866142 + 20 +4.920653543307087 + 30 +0.0 + 10 +-2.230988188976378 + 20 +4.93159842519685 + 30 +0.0 + 10 +-2.241822834645669 + 20 +4.937098425196851 + 30 +0.0 + 10 +-2.254377952755906 + 20 +4.937098425196851 + 30 +0.0 + 10 +-2.254377952755906 + 20 +4.937098425196851 + 30 +0.0 + 10 +-2.266877952755905 + 20 +4.937098425196851 + 30 +0.0 + 10 +-2.277933070866142 + 20 +4.931263779527559 + 30 +0.0 + 10 +-2.287543307086614 + 20 +4.919598425196851 + 30 +0.0 + 10 +-2.287543307086614 + 20 +4.919598425196851 + 30 +0.0 + 10 +-2.297153543307087 + 20 +4.907929133858268 + 30 +0.0 + 10 +-2.301933070866142 + 20 +4.890929133858267 + 30 +0.0 + 10 +-2.301933070866142 + 20 +4.868708661417323 + 30 +0.0 + 0 +SPLINE + 5 +168 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.024763779527559 + 20 +4.838929133858268 + 30 +0.0 + 10 +-2.024763779527559 + 20 +4.838929133858268 + 30 +0.0 + 10 +-1.994488188976378 + 20 +4.835208661417322 + 30 +0.0 + 10 +-1.994488188976378 + 20 +4.835208661417322 + 30 +0.0 + 10 +-1.994488188976378 + 20 +4.835208661417322 + 30 +0.0 + 10 +-1.999263779527559 + 20 +4.817484251968504 + 30 +0.0 + 10 +-2.008098425196851 + 20 +4.803763779527559 + 30 +0.0 + 10 +-2.020988188976378 + 20 +4.793984251968504 + 30 +0.0 + 10 +-2.020988188976378 + 20 +4.793984251968504 + 30 +0.0 + 10 +-2.033933070866142 + 20 +4.784263779527559 + 30 +0.0 + 10 +-2.050433070866142 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.070488188976378 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.070488188976378 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.095763779527559 + 20 +4.779374015748031 + 30 +0.0 + 10 +-2.115822834645669 + 20 +4.787153543307086 + 30 +0.0 + 10 +-2.130598425196851 + 20 +4.802708661417323 + 30 +0.0 + 10 +-2.130598425196851 + 20 +4.802708661417323 + 30 +0.0 + 10 +-2.145433070866142 + 20 +4.818263779527559 + 30 +0.0 + 10 +-2.152822834645669 + 20 +4.84009842519685 + 30 +0.0 + 10 +-2.152822834645669 + 20 +4.868208661417323 + 30 +0.0 + 10 +-2.152822834645669 + 20 +4.868208661417323 + 30 +0.0 + 10 +-2.152822834645669 + 20 +4.897318897637795 + 30 +0.0 + 10 +-2.145322834645669 + 20 +4.919874015748031 + 30 +0.0 + 10 +-2.130377952755905 + 20 +4.935929133858267 + 30 +0.0 + 10 +-2.130377952755905 + 20 +4.935929133858267 + 30 +0.0 + 10 +-2.115377952755905 + 20 +4.951988188976378 + 30 +0.0 + 10 +-2.095988188976378 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.072098425196851 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.072098425196851 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.048988188976378 + 20 +4.960043307086615 + 30 +0.0 + 10 +-2.03009842519685 + 20 +4.952153543307086 + 30 +0.0 + 10 +-2.015488188976378 + 20 +4.936429133858268 + 30 +0.0 + 10 +-2.015488188976378 + 20 +4.936429133858268 + 30 +0.0 + 10 +-2.000818897637795 + 20 +4.920708661417323 + 30 +0.0 + 10 +-1.993488188976378 + 20 +4.898543307086614 + 30 +0.0 + 10 +-1.993488188976378 + 20 +4.870043307086614 + 30 +0.0 + 10 +-1.993488188976378 + 20 +4.870043307086614 + 30 +0.0 + 10 +-1.993488188976378 + 20 +4.868263779527559 + 30 +0.0 + 10 +-1.993543307086614 + 20 +4.865653543307086 + 30 +0.0 + 10 +-1.993653543307087 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.993653543307087 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.993653543307087 + 20 +4.862208661417323 + 30 +0.0 + 10 +-2.122543307086614 + 20 +4.862208661417323 + 30 +0.0 + 10 +-2.122543307086614 + 20 +4.862208661417323 + 30 +0.0 + 10 +-2.122543307086614 + 20 +4.862208661417323 + 30 +0.0 + 10 +-2.121488188976378 + 20 +4.843208661417322 + 30 +0.0 + 10 +-2.11609842519685 + 20 +4.828653543307087 + 30 +0.0 + 10 +-2.106433070866142 + 20 +4.818598425196851 + 30 +0.0 + 10 +-2.106433070866142 + 20 +4.818598425196851 + 30 +0.0 + 10 +-2.096763779527559 + 20 +4.808484251968504 + 30 +0.0 + 10 +-2.084763779527559 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.070318897637795 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.070318897637795 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.05959842519685 + 20 +4.803429133858268 + 30 +0.0 + 10 +-2.050433070866142 + 20 +4.806263779527559 + 30 +0.0 + 10 +-2.042818897637795 + 20 +4.811929133858268 + 30 +0.0 + 10 +-2.042818897637795 + 20 +4.811929133858268 + 30 +0.0 + 10 +-2.035208661417323 + 20 +4.817543307086614 + 30 +0.0 + 10 +-2.029208661417323 + 20 +4.826543307086614 + 30 +0.0 + 10 +-2.024763779527559 + 20 +4.838929133858268 + 30 +0.0 + 0 +SPLINE + 5 +169 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.120933070866142 + 20 +4.886318897637795 + 30 +0.0 + 10 +-2.120933070866142 + 20 +4.886318897637795 + 30 +0.0 + 10 +-2.024433070866142 + 20 +4.886318897637795 + 30 +0.0 + 10 +-2.024433070866142 + 20 +4.886318897637795 + 30 +0.0 + 10 +-2.024433070866142 + 20 +4.886318897637795 + 30 +0.0 + 10 +-2.025708661417323 + 20 +4.900818897637795 + 30 +0.0 + 10 +-2.029433070866142 + 20 +4.911763779527559 + 30 +0.0 + 10 +-2.035488188976378 + 20 +4.918988188976378 + 30 +0.0 + 10 +-2.035488188976378 + 20 +4.918988188976378 + 30 +0.0 + 10 +-2.044818897637795 + 20 +4.930263779527559 + 30 +0.0 + 10 +-2.056933070866142 + 20 +4.935929133858267 + 30 +0.0 + 10 +-2.071763779527559 + 20 +4.935929133858267 + 30 +0.0 + 10 +-2.071763779527559 + 20 +4.935929133858267 + 30 +0.0 + 10 +-2.085208661417323 + 20 +4.935929133858267 + 30 +0.0 + 10 +-2.096543307086614 + 20 +4.931429133858268 + 30 +0.0 + 10 +-2.105708661417323 + 20 +4.922429133858268 + 30 +0.0 + 10 +-2.105708661417323 + 20 +4.922429133858268 + 30 +0.0 + 10 +-2.114877952755906 + 20 +4.913429133858267 + 30 +0.0 + 10 +-2.119933070866142 + 20 +4.901374015748032 + 30 +0.0 + 10 +-2.120933070866142 + 20 +4.886318897637795 + 30 +0.0 + 0 +SPLINE + 5 +16A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.839374015748031 + 20 +4.838929133858268 + 30 +0.0 + 10 +-1.839374015748031 + 20 +4.838929133858268 + 30 +0.0 + 10 +-1.80909842519685 + 20 +4.835208661417322 + 30 +0.0 + 10 +-1.80909842519685 + 20 +4.835208661417322 + 30 +0.0 + 10 +-1.80909842519685 + 20 +4.835208661417322 + 30 +0.0 + 10 +-1.813874015748032 + 20 +4.817484251968504 + 30 +0.0 + 10 +-1.822708661417323 + 20 +4.803763779527559 + 30 +0.0 + 10 +-1.83559842519685 + 20 +4.793984251968504 + 30 +0.0 + 10 +-1.83559842519685 + 20 +4.793984251968504 + 30 +0.0 + 10 +-1.848543307086614 + 20 +4.784263779527559 + 30 +0.0 + 10 +-1.865043307086614 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.88509842519685 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.88509842519685 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.910374015748032 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.930433070866142 + 20 +4.787153543307086 + 30 +0.0 + 10 +-1.945208661417323 + 20 +4.802708661417323 + 30 +0.0 + 10 +-1.945208661417323 + 20 +4.802708661417323 + 30 +0.0 + 10 +-1.960043307086614 + 20 +4.818263779527559 + 30 +0.0 + 10 +-1.967433070866142 + 20 +4.84009842519685 + 30 +0.0 + 10 +-1.967433070866142 + 20 +4.868208661417323 + 30 +0.0 + 10 +-1.967433070866142 + 20 +4.868208661417323 + 30 +0.0 + 10 +-1.967433070866142 + 20 +4.897318897637795 + 30 +0.0 + 10 +-1.959933070866142 + 20 +4.919874015748031 + 30 +0.0 + 10 +-1.944988188976378 + 20 +4.935929133858267 + 30 +0.0 + 10 +-1.944988188976378 + 20 +4.935929133858267 + 30 +0.0 + 10 +-1.929988188976378 + 20 +4.951988188976378 + 30 +0.0 + 10 +-1.91059842519685 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.886708661417323 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.886708661417323 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.86359842519685 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.844708661417323 + 20 +4.952153543307086 + 30 +0.0 + 10 +-1.83009842519685 + 20 +4.936429133858268 + 30 +0.0 + 10 +-1.83009842519685 + 20 +4.936429133858268 + 30 +0.0 + 10 +-1.815429133858268 + 20 +4.920708661417323 + 30 +0.0 + 10 +-1.80809842519685 + 20 +4.898543307086614 + 30 +0.0 + 10 +-1.80809842519685 + 20 +4.870043307086614 + 30 +0.0 + 10 +-1.80809842519685 + 20 +4.870043307086614 + 30 +0.0 + 10 +-1.80809842519685 + 20 +4.868263779527559 + 30 +0.0 + 10 +-1.808153543307087 + 20 +4.865653543307086 + 30 +0.0 + 10 +-1.808263779527559 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.808263779527559 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.808263779527559 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.937153543307087 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.937153543307087 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.937153543307087 + 20 +4.862208661417323 + 30 +0.0 + 10 +-1.93609842519685 + 20 +4.843208661417322 + 30 +0.0 + 10 +-1.930708661417323 + 20 +4.828653543307087 + 30 +0.0 + 10 +-1.921043307086614 + 20 +4.818598425196851 + 30 +0.0 + 10 +-1.921043307086614 + 20 +4.818598425196851 + 30 +0.0 + 10 +-1.911374015748031 + 20 +4.808484251968504 + 30 +0.0 + 10 +-1.899374015748031 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.884929133858268 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.884929133858268 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.874208661417323 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.865043307086614 + 20 +4.806263779527559 + 30 +0.0 + 10 +-1.857429133858268 + 20 +4.811929133858268 + 30 +0.0 + 10 +-1.857429133858268 + 20 +4.811929133858268 + 30 +0.0 + 10 +-1.849818897637795 + 20 +4.817543307086614 + 30 +0.0 + 10 +-1.843818897637795 + 20 +4.826543307086614 + 30 +0.0 + 10 +-1.839374015748031 + 20 +4.838929133858268 + 30 +0.0 + 0 +SPLINE + 5 +16B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.935543307086614 + 20 +4.886318897637795 + 30 +0.0 + 10 +-1.935543307086614 + 20 +4.886318897637795 + 30 +0.0 + 10 +-1.839043307086614 + 20 +4.886318897637795 + 30 +0.0 + 10 +-1.839043307086614 + 20 +4.886318897637795 + 30 +0.0 + 10 +-1.839043307086614 + 20 +4.886318897637795 + 30 +0.0 + 10 +-1.840318897637795 + 20 +4.900818897637795 + 30 +0.0 + 10 +-1.844043307086614 + 20 +4.911763779527559 + 30 +0.0 + 10 +-1.85009842519685 + 20 +4.918988188976378 + 30 +0.0 + 10 +-1.85009842519685 + 20 +4.918988188976378 + 30 +0.0 + 10 +-1.859429133858268 + 20 +4.930263779527559 + 30 +0.0 + 10 +-1.871543307086614 + 20 +4.935929133858267 + 30 +0.0 + 10 +-1.886374015748032 + 20 +4.935929133858267 + 30 +0.0 + 10 +-1.886374015748032 + 20 +4.935929133858267 + 30 +0.0 + 10 +-1.899818897637795 + 20 +4.935929133858267 + 30 +0.0 + 10 +-1.911153543307087 + 20 +4.931429133858268 + 30 +0.0 + 10 +-1.920318897637795 + 20 +4.922429133858268 + 30 +0.0 + 10 +-1.920318897637795 + 20 +4.922429133858268 + 30 +0.0 + 10 +-1.929488188976378 + 20 +4.913429133858267 + 30 +0.0 + 10 +-1.934543307086614 + 20 +4.901374015748032 + 30 +0.0 + 10 +-1.935543307086614 + 20 +4.886318897637795 + 30 +0.0 + 0 +SPLINE + 5 +16C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.660153543307087 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.660153543307087 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.660153543307087 + 20 +4.80509842519685 + 30 +0.0 + 10 +-1.660153543307087 + 20 +4.80509842519685 + 30 +0.0 + 10 +-1.660153543307087 + 20 +4.80509842519685 + 30 +0.0 + 10 +-1.67109842519685 + 20 +4.787929133858268 + 30 +0.0 + 10 +-1.687208661417323 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.708484251968504 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.708484251968504 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.722263779527559 + 20 +4.779374015748031 + 30 +0.0 + 10 +-1.734929133858268 + 20 +4.783153543307087 + 30 +0.0 + 10 +-1.746484251968504 + 20 +4.790763779527559 + 30 +0.0 + 10 +-1.746484251968504 + 20 +4.790763779527559 + 30 +0.0 + 10 +-1.758043307086614 + 20 +4.798318897637795 + 30 +0.0 + 10 +-1.766984251968504 + 20 +4.808929133858268 + 30 +0.0 + 10 +-1.773374015748032 + 20 +4.82259842519685 + 30 +0.0 + 10 +-1.773374015748032 + 20 +4.82259842519685 + 30 +0.0 + 10 +-1.779708661417323 + 20 +4.836208661417323 + 30 +0.0 + 10 +-1.782874015748031 + 20 +4.851818897637795 + 30 +0.0 + 10 +-1.782874015748031 + 20 +4.869543307086614 + 30 +0.0 + 10 +-1.782874015748031 + 20 +4.869543307086614 + 30 +0.0 + 10 +-1.782874015748031 + 20 +4.886763779527559 + 30 +0.0 + 10 +-1.779984251968504 + 20 +4.902429133858267 + 30 +0.0 + 10 +-1.774263779527559 + 20 +4.916488188976378 + 30 +0.0 + 10 +-1.774263779527559 + 20 +4.916488188976378 + 30 +0.0 + 10 +-1.768484251968504 + 20 +4.930543307086614 + 30 +0.0 + 10 +-1.759874015748031 + 20 +4.941318897637795 + 30 +0.0 + 10 +-1.748374015748031 + 20 +4.948763779527559 + 30 +0.0 + 10 +-1.748374015748031 + 20 +4.948763779527559 + 30 +0.0 + 10 +-1.736874015748032 + 20 +4.956263779527559 + 30 +0.0 + 10 +-1.723984251968504 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.709763779527559 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.709763779527559 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.699374015748031 + 20 +4.960043307086615 + 30 +0.0 + 10 +-1.69009842519685 + 20 +4.957818897637796 + 30 +0.0 + 10 +-1.681984251968504 + 20 +4.953433070866142 + 30 +0.0 + 10 +-1.681984251968504 + 20 +4.953433070866142 + 30 +0.0 + 10 +-1.673818897637795 + 20 +4.949043307086614 + 30 +0.0 + 10 +-1.667208661417323 + 20 +4.943318897637795 + 30 +0.0 + 10 +-1.66209842519685 + 20 +4.936263779527559 + 30 +0.0 + 10 +-1.66209842519685 + 20 +4.936263779527559 + 30 +0.0 + 10 +-1.66209842519685 + 20 +4.936263779527559 + 30 +0.0 + 10 +-1.66209842519685 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.66209842519685 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.66209842519685 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.66209842519685 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.632984251968504 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.632984251968504 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.632984251968504 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.632984251968504 + 20 +5.021874015748032 + 30 +0.0 + 10 +-1.632984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.632984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.632984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.632984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.660153543307087 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.660153543307087 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +16D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.752763779527559 + 20 +4.869543307086614 + 30 +0.0 + 10 +-1.752763779527559 + 20 +4.847374015748032 + 30 +0.0 + 10 +-1.74809842519685 + 20 +4.830818897637795 + 30 +0.0 + 10 +-1.738763779527559 + 20 +4.819874015748032 + 30 +0.0 + 10 +-1.738763779527559 + 20 +4.819874015748032 + 30 +0.0 + 10 +-1.729429133858268 + 20 +4.808929133858268 + 30 +0.0 + 10 +-1.718429133858268 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.705708661417323 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.705708661417323 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.692929133858268 + 20 +4.803429133858268 + 30 +0.0 + 10 +-1.68203937007874 + 20 +4.808708661417323 + 30 +0.0 + 10 +-1.67309842519685 + 20 +4.819153543307086 + 30 +0.0 + 10 +-1.67309842519685 + 20 +4.819153543307086 + 30 +0.0 + 10 +-1.664153543307087 + 20 +4.82959842519685 + 30 +0.0 + 10 +-1.659653543307087 + 20 +4.84559842519685 + 30 +0.0 + 10 +-1.659653543307087 + 20 +4.867098425196851 + 30 +0.0 + 10 +-1.659653543307087 + 20 +4.867098425196851 + 30 +0.0 + 10 +-1.659653543307087 + 20 +4.890763779527559 + 30 +0.0 + 10 +-1.664208661417323 + 20 +4.90809842519685 + 30 +0.0 + 10 +-1.673318897637795 + 20 +4.919153543307087 + 30 +0.0 + 10 +-1.673318897637795 + 20 +4.919153543307087 + 30 +0.0 + 10 +-1.682429133858268 + 20 +4.930263779527559 + 30 +0.0 + 10 +-1.693653543307087 + 20 +4.935763779527559 + 30 +0.0 + 10 +-1.70703937007874 + 20 +4.935763779527559 + 30 +0.0 + 10 +-1.70703937007874 + 20 +4.935763779527559 + 30 +0.0 + 10 +-1.72003937007874 + 20 +4.935763779527559 + 30 +0.0 + 10 +-1.730929133858268 + 20 +4.930429133858268 + 30 +0.0 + 10 +-1.739653543307087 + 20 +4.919818897637795 + 30 +0.0 + 10 +-1.739653543307087 + 20 +4.919818897637795 + 30 +0.0 + 10 +-1.748374015748031 + 20 +4.909208661417323 + 30 +0.0 + 10 +-1.752763779527559 + 20 +4.892429133858267 + 30 +0.0 + 10 +-1.752763779527559 + 20 +4.869543307086614 + 30 +0.0 + 0 +SPLINE + 5 +16E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.502263779527559 + 20 +4.846263779527559 + 30 +0.0 + 10 +-1.502263779527559 + 20 +4.846263779527559 + 30 +0.0 + 10 +-1.472984251968504 + 20 +4.850153543307087 + 30 +0.0 + 10 +-1.472984251968504 + 20 +4.850153543307087 + 30 +0.0 + 10 +-1.472984251968504 + 20 +4.850153543307087 + 30 +0.0 + 10 +-1.46959842519685 + 20 +4.833543307086615 + 30 +0.0 + 10 +-1.463874015748031 + 20 +4.82159842519685 + 30 +0.0 + 10 +-1.455818897637795 + 20 +4.814263779527559 + 30 +0.0 + 10 +-1.455818897637795 + 20 +4.814263779527559 + 30 +0.0 + 10 +-1.447708661417323 + 20 +4.806929133858268 + 30 +0.0 + 10 +-1.437874015748031 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.426263779527559 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.426263779527559 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.412484251968504 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.400818897637795 + 20 +4.808043307086614 + 30 +0.0 + 10 +-1.391318897637795 + 20 +4.81759842519685 + 30 +0.0 + 10 +-1.391318897637795 + 20 +4.81759842519685 + 30 +0.0 + 10 +-1.381874015748032 + 20 +4.827153543307086 + 30 +0.0 + 10 +-1.37709842519685 + 20 +4.838988188976378 + 30 +0.0 + 10 +-1.37709842519685 + 20 +4.85309842519685 + 30 +0.0 + 10 +-1.37709842519685 + 20 +4.85309842519685 + 30 +0.0 + 10 +-1.37709842519685 + 20 +4.866543307086614 + 30 +0.0 + 10 +-1.381484251968504 + 20 +4.877653543307087 + 30 +0.0 + 10 +-1.390263779527559 + 20 +4.886374015748031 + 30 +0.0 + 10 +-1.390263779527559 + 20 +4.886374015748031 + 30 +0.0 + 10 +-1.39909842519685 + 20 +4.89509842519685 + 30 +0.0 + 10 +-1.410263779527559 + 20 +4.899488188976378 + 30 +0.0 + 10 +-1.423818897637795 + 20 +4.899488188976378 + 30 +0.0 + 10 +-1.423818897637795 + 20 +4.899488188976378 + 30 +0.0 + 10 +-1.429374015748031 + 20 +4.899488188976378 + 30 +0.0 + 10 +-1.436263779527559 + 20 +4.898374015748032 + 30 +0.0 + 10 +-1.444484251968504 + 20 +4.896208661417323 + 30 +0.0 + 10 +-1.444484251968504 + 20 +4.896208661417323 + 30 +0.0 + 10 +-1.444484251968504 + 20 +4.896208661417323 + 30 +0.0 + 10 +-1.441208661417323 + 20 +4.921929133858268 + 30 +0.0 + 10 +-1.441208661417323 + 20 +4.921929133858268 + 30 +0.0 + 10 +-1.441208661417323 + 20 +4.921929133858268 + 30 +0.0 + 10 +-1.439263779527559 + 20 +4.921708661417322 + 30 +0.0 + 10 +-1.437708661417323 + 20 +4.921598425196851 + 30 +0.0 + 10 +-1.436484251968504 + 20 +4.921598425196851 + 30 +0.0 + 10 +-1.436484251968504 + 20 +4.921598425196851 + 30 +0.0 + 10 +-1.42403937007874 + 20 +4.921598425196851 + 30 +0.0 + 10 +-1.412818897637795 + 20 +4.924874015748031 + 30 +0.0 + 10 +-1.402818897637795 + 20 +4.931374015748031 + 30 +0.0 + 10 +-1.402818897637795 + 20 +4.931374015748031 + 30 +0.0 + 10 +-1.392818897637795 + 20 +4.937874015748031 + 30 +0.0 + 10 +-1.387818897637795 + 20 +4.947929133858268 + 30 +0.0 + 10 +-1.387818897637795 + 20 +4.961488188976378 + 30 +0.0 + 10 +-1.387818897637795 + 20 +4.961488188976378 + 30 +0.0 + 10 +-1.387818897637795 + 20 +4.972208661417323 + 30 +0.0 + 10 +-1.391484251968504 + 20 +4.981153543307086 + 30 +0.0 + 10 +-1.398763779527559 + 20 +4.988153543307087 + 30 +0.0 + 10 +-1.398763779527559 + 20 +4.988153543307087 + 30 +0.0 + 10 +-1.40603937007874 + 20 +4.995208661417323 + 30 +0.0 + 10 +-1.415429133858268 + 20 +4.998763779527559 + 30 +0.0 + 10 +-1.426929133858268 + 20 +4.998763779527559 + 30 +0.0 + 10 +-1.426929133858268 + 20 +4.998763779527559 + 30 +0.0 + 10 +-1.438318897637795 + 20 +4.998763779527559 + 30 +0.0 + 10 +-1.447818897637795 + 20 +4.995153543307087 + 30 +0.0 + 10 +-1.455374015748031 + 20 +4.988043307086614 + 30 +0.0 + 10 +-1.455374015748031 + 20 +4.988043307086614 + 30 +0.0 + 10 +-1.462984251968504 + 20 +4.980874015748031 + 30 +0.0 + 10 +-1.467874015748031 + 20 +4.97009842519685 + 30 +0.0 + 10 +-1.470043307086614 + 20 +4.955763779527559 + 30 +0.0 + 10 +-1.470043307086614 + 20 +4.955763779527559 + 30 +0.0 + 10 +-1.470043307086614 + 20 +4.955763779527559 + 30 +0.0 + 10 +-1.499318897637795 + 20 +4.960988188976378 + 30 +0.0 + 10 +-1.499318897637795 + 20 +4.960988188976378 + 30 +0.0 + 10 +-1.499318897637795 + 20 +4.960988188976378 + 30 +0.0 + 10 +-1.495763779527559 + 20 +4.980653543307087 + 30 +0.0 + 10 +-1.48759842519685 + 20 +4.995874015748032 + 30 +0.0 + 10 +-1.474929133858268 + 20 +5.006653543307086 + 30 +0.0 + 10 +-1.474929133858268 + 20 +5.006653543307086 + 30 +0.0 + 10 +-1.462208661417323 + 20 +5.017433070866142 + 30 +0.0 + 10 +-1.446429133858268 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.42753937007874 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.42753937007874 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.41453937007874 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.40253937007874 + 20 +5.020043307086614 + 30 +0.0 + 10 +-1.39159842519685 + 20 +5.014488188976378 + 30 +0.0 + 10 +-1.39159842519685 + 20 +5.014488188976378 + 30 +0.0 + 10 +-1.380653543307087 + 20 +5.008874015748032 + 30 +0.0 + 10 +-1.372263779527559 + 20 +5.001263779527559 + 30 +0.0 + 10 +-1.366429133858268 + 20 +4.991598425196851 + 30 +0.0 + 10 +-1.366429133858268 + 20 +4.991598425196851 + 30 +0.0 + 10 +-1.360653543307087 + 20 +4.981933070866142 + 30 +0.0 + 10 +-1.357708661417323 + 20 +4.971708661417323 + 30 +0.0 + 10 +-1.357708661417323 + 20 +4.960818897637795 + 30 +0.0 + 10 +-1.357708661417323 + 20 +4.960818897637795 + 30 +0.0 + 10 +-1.357708661417323 + 20 +4.950543307086614 + 30 +0.0 + 10 +-1.360484251968504 + 20 +4.941153543307086 + 30 +0.0 + 10 +-1.36603937007874 + 20 +4.932653543307087 + 30 +0.0 + 10 +-1.36603937007874 + 20 +4.932653543307087 + 30 +0.0 + 10 +-1.37159842519685 + 20 +4.924208661417323 + 30 +0.0 + 10 +-1.379763779527559 + 20 +4.917488188976378 + 30 +0.0 + 10 +-1.39059842519685 + 20 +4.912488188976378 + 30 +0.0 + 10 +-1.39059842519685 + 20 +4.912488188976378 + 30 +0.0 + 10 +-1.376484251968504 + 20 +4.909263779527559 + 30 +0.0 + 10 +-1.36553937007874 + 20 +4.902488188976378 + 30 +0.0 + 10 +-1.357708661417323 + 20 +4.892208661417323 + 30 +0.0 + 10 +-1.357708661417323 + 20 +4.892208661417323 + 30 +0.0 + 10 +-1.349929133858268 + 20 +4.881988188976378 + 30 +0.0 + 10 +-1.34603937007874 + 20 +4.869153543307086 + 30 +0.0 + 10 +-1.34603937007874 + 20 +4.853763779527559 + 30 +0.0 + 10 +-1.34603937007874 + 20 +4.853763779527559 + 30 +0.0 + 10 +-1.34603937007874 + 20 +4.832929133858268 + 30 +0.0 + 10 +-1.35359842519685 + 20 +4.815263779527559 + 30 +0.0 + 10 +-1.368818897637795 + 20 +4.800763779527559 + 30 +0.0 + 10 +-1.368818897637795 + 20 +4.800763779527559 + 30 +0.0 + 10 +-1.383984251968504 + 20 +4.786263779527559 + 30 +0.0 + 10 +-1.403208661417323 + 20 +4.779043307086615 + 30 +0.0 + 10 +-1.426429133858268 + 20 +4.779043307086615 + 30 +0.0 + 10 +-1.426429133858268 + 20 +4.779043307086615 + 30 +0.0 + 10 +-1.447374015748031 + 20 +4.779043307086615 + 30 +0.0 + 10 +-1.464763779527559 + 20 +4.785263779527559 + 30 +0.0 + 10 +-1.47859842519685 + 20 +4.797763779527559 + 30 +0.0 + 10 +-1.47859842519685 + 20 +4.797763779527559 + 30 +0.0 + 10 +-1.492429133858268 + 20 +4.810208661417323 + 30 +0.0 + 10 +-1.500318897637795 + 20 +4.826374015748032 + 30 +0.0 + 10 +-1.502263779527559 + 20 +4.846263779527559 + 30 +0.0 + 0 +SPLINE + 5 +16F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.31703937007874 + 20 +4.900929133858268 + 30 +0.0 + 10 +-1.31703937007874 + 20 +4.929153543307087 + 30 +0.0 + 10 +-1.314153543307087 + 20 +4.951874015748031 + 30 +0.0 + 10 +-1.308318897637795 + 20 +4.969043307086614 + 30 +0.0 + 10 +-1.308318897637795 + 20 +4.969043307086614 + 30 +0.0 + 10 +-1.30253937007874 + 20 +4.986263779527559 + 30 +0.0 + 10 +-1.293874015748032 + 20 +4.999543307086614 + 30 +0.0 + 10 +-1.282429133858268 + 20 +5.008874015748032 + 30 +0.0 + 10 +-1.282429133858268 + 20 +5.008874015748032 + 30 +0.0 + 10 +-1.270984251968504 + 20 +5.018208661417323 + 30 +0.0 + 10 +-1.256594488188976 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.239263779527559 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.239263779527559 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.226429133858268 + 20 +5.022874015748031 + 30 +0.0 + 10 +-1.215208661417323 + 20 +5.020263779527559 + 30 +0.0 + 10 +-1.20553937007874 + 20 +5.01509842519685 + 30 +0.0 + 10 +-1.20553937007874 + 20 +5.01509842519685 + 30 +0.0 + 10 +-1.195874015748031 + 20 +5.009988188976378 + 30 +0.0 + 10 +-1.187929133858268 + 20 +5.002543307086614 + 30 +0.0 + 10 +-1.181594488188976 + 20 +4.992818897637795 + 30 +0.0 + 10 +-1.181594488188976 + 20 +4.992818897637795 + 30 +0.0 + 10 +-1.175318897637795 + 20 +4.98309842519685 + 30 +0.0 + 10 +-1.170374015748032 + 20 +4.971263779527559 + 30 +0.0 + 10 +-1.166818897637795 + 20 +4.957318897637795 + 30 +0.0 + 10 +-1.166818897637795 + 20 +4.957318897637795 + 30 +0.0 + 10 +-1.163204724409449 + 20 +4.943374015748032 + 30 +0.0 + 10 +-1.161429133858268 + 20 +4.924598425196851 + 30 +0.0 + 10 +-1.161429133858268 + 20 +4.900929133858268 + 30 +0.0 + 10 +-1.161429133858268 + 20 +4.900929133858268 + 30 +0.0 + 10 +-1.161429133858268 + 20 +4.872929133858268 + 30 +0.0 + 10 +-1.164318897637795 + 20 +4.850374015748032 + 30 +0.0 + 10 +-1.17003937007874 + 20 +4.833153543307087 + 30 +0.0 + 10 +-1.17003937007874 + 20 +4.833153543307087 + 30 +0.0 + 10 +-1.175818897637795 + 20 +4.815929133858268 + 30 +0.0 + 10 +-1.184429133858268 + 20 +4.802653543307087 + 30 +0.0 + 10 +-1.195874015748031 + 20 +4.793263779527559 + 30 +0.0 + 10 +-1.195874015748031 + 20 +4.793263779527559 + 30 +0.0 + 10 +-1.207318897637795 + 20 +4.783874015748031 + 30 +0.0 + 10 +-1.221763779527559 + 20 +4.779208661417323 + 30 +0.0 + 10 +-1.239263779527559 + 20 +4.779208661417323 + 30 +0.0 + 10 +-1.239263779527559 + 20 +4.779208661417323 + 30 +0.0 + 10 +-1.262263779527559 + 20 +4.779208661417323 + 30 +0.0 + 10 +-1.280318897637795 + 20 +4.787429133858268 + 30 +0.0 + 10 +-1.293429133858268 + 20 +4.803929133858268 + 30 +0.0 + 10 +-1.293429133858268 + 20 +4.803929133858268 + 30 +0.0 + 10 +-1.309153543307087 + 20 +4.823763779527559 + 30 +0.0 + 10 +-1.31703937007874 + 20 +4.856153543307086 + 30 +0.0 + 10 +-1.31703937007874 + 20 +4.900929133858268 + 30 +0.0 + 0 +SPLINE + 5 +170 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.286929133858268 + 20 +4.900929133858268 + 30 +0.0 + 10 +-1.286929133858268 + 20 +4.861763779527559 + 30 +0.0 + 10 +-1.282318897637795 + 20 +4.835708661417323 + 30 +0.0 + 10 +-1.273149606299213 + 20 +4.822708661417323 + 30 +0.0 + 10 +-1.273149606299213 + 20 +4.822708661417323 + 30 +0.0 + 10 +-1.263984251968504 + 20 +4.809763779527559 + 30 +0.0 + 10 +-1.252708661417323 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.239263779527559 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.239263779527559 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.225763779527559 + 20 +4.803263779527559 + 30 +0.0 + 10 +-1.214484251968504 + 20 +4.809818897637795 + 30 +0.0 + 10 +-1.205318897637795 + 20 +4.822818897637795 + 30 +0.0 + 10 +-1.205318897637795 + 20 +4.822818897637795 + 30 +0.0 + 10 +-1.196149606299213 + 20 +4.835818897637795 + 30 +0.0 + 10 +-1.19153937007874 + 20 +4.861874015748032 + 30 +0.0 + 10 +-1.19153937007874 + 20 +4.900929133858268 + 30 +0.0 + 10 +-1.19153937007874 + 20 +4.900929133858268 + 30 +0.0 + 10 +-1.19153937007874 + 20 +4.940208661417323 + 30 +0.0 + 10 +-1.196149606299213 + 20 +4.966318897637795 + 30 +0.0 + 10 +-1.205318897637795 + 20 +4.979208661417323 + 30 +0.0 + 10 +-1.205318897637795 + 20 +4.979208661417323 + 30 +0.0 + 10 +-1.214484251968504 + 20 +4.992153543307086 + 30 +0.0 + 10 +-1.225874015748031 + 20 +4.99859842519685 + 30 +0.0 + 10 +-1.23953937007874 + 20 +4.99859842519685 + 30 +0.0 + 10 +-1.23953937007874 + 20 +4.99859842519685 + 30 +0.0 + 10 +-1.25303937007874 + 20 +4.99859842519685 + 30 +0.0 + 10 +-1.263763779527559 + 20 +4.992874015748032 + 30 +0.0 + 10 +-1.271818897637795 + 20 +4.981488188976378 + 30 +0.0 + 10 +-1.271818897637795 + 20 +4.981488188976378 + 30 +0.0 + 10 +-1.281874015748032 + 20 +4.966988188976378 + 30 +0.0 + 10 +-1.286929133858268 + 20 +4.94009842519685 + 30 +0.0 + 10 +-1.286929133858268 + 20 +4.900929133858268 + 30 +0.0 + 0 +SPLINE + 5 +171 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.115874015748032 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.816653543307087 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.082484251968504 + 20 +4.770984251968504 + 30 +0.0 + 10 +-1.084649606299213 + 20 +4.761098425196851 + 30 +0.0 + 10 +-1.088984251968504 + 20 +4.753543307086614 + 30 +0.0 + 10 +-1.088984251968504 + 20 +4.753543307086614 + 30 +0.0 + 10 +-1.093374015748031 + 20 +4.746043307086614 + 30 +0.0 + 10 +-1.100263779527559 + 20 +4.740208661417323 + 30 +0.0 + 10 +-1.109649606299212 + 20 +4.736043307086614 + 30 +0.0 + 10 +-1.109649606299212 + 20 +4.736043307086614 + 30 +0.0 + 10 +-1.109649606299212 + 20 +4.736043307086614 + 30 +0.0 + 10 +-1.117818897637795 + 20 +4.74859842519685 + 30 +0.0 + 10 +-1.117818897637795 + 20 +4.74859842519685 + 30 +0.0 + 10 +-1.117818897637795 + 20 +4.74859842519685 + 30 +0.0 + 10 +-1.111649606299213 + 20 +4.751318897637796 + 30 +0.0 + 10 +-1.107094488188976 + 20 +4.755318897637795 + 30 +0.0 + 10 +-1.104149606299213 + 20 +4.760543307086614 + 30 +0.0 + 10 +-1.104149606299213 + 20 +4.760543307086614 + 30 +0.0 + 10 +-1.101204724409449 + 20 +4.765818897637796 + 30 +0.0 + 10 +-1.099594488188976 + 20 +4.773374015748032 + 30 +0.0 + 10 +-1.099263779527559 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.099263779527559 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.099263779527559 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.783263779527559 + 30 +0.0 + 10 +-1.115874015748032 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +172 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.9345433070866142 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.8445393700787401 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.8445393700787401 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.8445393700787401 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.8287086614173228 + 20 +5.021874015748032 + 30 +0.0 + 10 +-0.8165984251968504 + 20 +5.02109842519685 + 30 +0.0 + 10 +-0.808263779527559 + 20 +5.01959842519685 + 30 +0.0 + 10 +-0.808263779527559 + 20 +5.01959842519685 + 30 +0.0 + 10 +-0.7965393700787402 + 20 +5.017653543307087 + 30 +0.0 + 10 +-0.7867086614173229 + 20 +5.013933070866142 + 30 +0.0 + 10 +-0.778763779527559 + 20 +5.008433070866142 + 30 +0.0 + 10 +-0.778763779527559 + 20 +5.008433070866142 + 30 +0.0 + 10 +-0.7708740157480315 + 20 +5.002988188976378 + 30 +0.0 + 10 +-0.7644842519685039 + 20 +4.995263779527559 + 30 +0.0 + 10 +-0.7596535433070866 + 20 +4.985433070866142 + 30 +0.0 + 10 +-0.7596535433070866 + 20 +4.985433070866142 + 30 +0.0 + 10 +-0.7548188976377953 + 20 +4.975543307086614 + 30 +0.0 + 10 +-0.7524291338582677 + 20 +4.964708661417323 + 30 +0.0 + 10 +-0.7524291338582677 + 20 +4.952874015748032 + 30 +0.0 + 10 +-0.7524291338582677 + 20 +4.952874015748032 + 30 +0.0 + 10 +-0.7524291338582677 + 20 +4.932598425196851 + 30 +0.0 + 10 +-0.7588740157480315 + 20 +4.915374015748031 + 30 +0.0 + 10 +-0.771763779527559 + 20 +4.901318897637795 + 30 +0.0 + 10 +-0.771763779527559 + 20 +4.901318897637795 + 30 +0.0 + 10 +-0.7847086614173229 + 20 +4.887318897637796 + 30 +0.0 + 10 +-0.8080393700787402 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.8417637795275591 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.8417637795275591 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.8417637795275591 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.880263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.9345433070866142 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +173 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.902984251968504 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.841263779527559 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.841263779527559 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.841263779527559 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.8208740157480315 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.8063740157480315 + 20 +4.912208661417323 + 30 +0.0 + 10 +-0.7978188976377952 + 20 +4.919818897637795 + 30 +0.0 + 10 +-0.7978188976377952 + 20 +4.919818897637795 + 30 +0.0 + 10 +-0.7892637795275591 + 20 +4.927429133858268 + 30 +0.0 + 10 +-0.784984251968504 + 20 +4.93809842519685 + 30 +0.0 + 10 +-0.784984251968504 + 20 +4.951874015748031 + 30 +0.0 + 10 +-0.784984251968504 + 20 +4.951874015748031 + 30 +0.0 + 10 +-0.784984251968504 + 20 +4.961874015748031 + 30 +0.0 + 10 +-0.7874842519685039 + 20 +4.970433070866142 + 30 +0.0 + 10 +-0.7925393700787402 + 20 +4.977543307086614 + 30 +0.0 + 10 +-0.7925393700787402 + 20 +4.977543307086614 + 30 +0.0 + 10 +-0.7975984251968504 + 20 +4.984653543307086 + 30 +0.0 + 10 +-0.8042086614173228 + 20 +4.989318897637795 + 30 +0.0 + 10 +-0.8124842519685039 + 20 +4.991598425196851 + 30 +0.0 + 10 +-0.8124842519685039 + 20 +4.991598425196851 + 30 +0.0 + 10 +-0.8178188976377953 + 20 +4.992988188976378 + 30 +0.0 + 10 +-0.8275984251968503 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.8419291338582677 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.8419291338582677 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.8419291338582677 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.993708661417323 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.908429133858268 + 30 +0.0 + 10 +-0.902984251968504 + 20 +4.908429133858268 + 30 +0.0 + 0 +SPLINE + 5 +174 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7268740157480315 + 20 +4.869708661417323 + 30 +0.0 + 10 +-0.7268740157480315 + 20 +4.901708661417323 + 30 +0.0 + 10 +-0.7179842519685039 + 20 +4.925429133858268 + 30 +0.0 + 10 +-0.7001496062992126 + 20 +4.940818897637795 + 30 +0.0 + 10 +-0.7001496062992126 + 20 +4.940818897637795 + 30 +0.0 + 10 +-0.6853188976377953 + 20 +4.953598425196851 + 30 +0.0 + 10 +-0.6672047244094488 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.6220393700787401 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.6025944881889764 + 20 +4.952263779527559 + 30 +0.0 + 10 +-0.5875393700787401 + 20 +4.936653543307087 + 30 +0.0 + 10 +-0.5875393700787401 + 20 +4.936653543307087 + 30 +0.0 + 10 +-0.5724291338582678 + 20 +4.921098425196851 + 30 +0.0 + 10 +-0.5649291338582677 + 20 +4.89959842519685 + 30 +0.0 + 10 +-0.5649291338582677 + 20 +4.872153543307086 + 30 +0.0 + 10 +-0.5649291338582677 + 20 +4.872153543307086 + 30 +0.0 + 10 +-0.5649291338582677 + 20 +4.849874015748031 + 30 +0.0 + 10 +-0.5682598425196851 + 20 +4.832374015748032 + 30 +0.0 + 10 +-0.5749291338582677 + 20 +4.819653543307086 + 30 +0.0 + 10 +-0.5749291338582677 + 20 +4.819653543307086 + 30 +0.0 + 10 +-0.5815944881889764 + 20 +4.806874015748032 + 30 +0.0 + 10 +-0.5913188976377953 + 20 +4.796984251968504 + 30 +0.0 + 10 +-0.6040393700787402 + 20 +4.789929133858267 + 30 +0.0 + 10 +-0.6040393700787402 + 20 +4.789929133858267 + 30 +0.0 + 10 +-0.6168188976377953 + 20 +4.782874015748032 + 30 +0.0 + 10 +-0.6307047244094488 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.669984251968504 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.6895393700787401 + 20 +4.78709842519685 + 30 +0.0 + 10 +-0.704484251968504 + 20 +4.802653543307087 + 30 +0.0 + 10 +-0.704484251968504 + 20 +4.802653543307087 + 30 +0.0 + 10 +-0.7194291338582677 + 20 +4.818153543307087 + 30 +0.0 + 10 +-0.7268740157480315 + 20 +4.840488188976378 + 30 +0.0 + 10 +-0.7268740157480315 + 20 +4.869708661417323 + 30 +0.0 + 0 +SPLINE + 5 +175 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6967637795275591 + 20 +4.869708661417323 + 30 +0.0 + 10 +-0.6967637795275591 + 20 +4.847543307086614 + 30 +0.0 + 10 +-0.6919291338582677 + 20 +4.830984251968504 + 30 +0.0 + 10 +-0.682263779527559 + 20 +4.819984251968504 + 30 +0.0 + 10 +-0.682263779527559 + 20 +4.819984251968504 + 30 +0.0 + 10 +-0.6725944881889764 + 20 +4.808929133858268 + 30 +0.0 + 10 +-0.6604291338582677 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.6312637795275591 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.6191496062992126 + 20 +4.808984251968504 + 30 +0.0 + 10 +-0.609484251968504 + 20 +4.820043307086614 + 30 +0.0 + 10 +-0.609484251968504 + 20 +4.820043307086614 + 30 +0.0 + 10 +-0.5998740157480315 + 20 +4.83109842519685 + 30 +0.0 + 10 +-0.5950393700787402 + 20 +4.847988188976378 + 30 +0.0 + 10 +-0.5950393700787402 + 20 +4.870653543307086 + 30 +0.0 + 10 +-0.5950393700787402 + 20 +4.870653543307086 + 30 +0.0 + 10 +-0.5950393700787402 + 20 +4.892043307086614 + 30 +0.0 + 10 +-0.5998740157480315 + 20 +4.908263779527559 + 30 +0.0 + 10 +-0.6095944881889763 + 20 +4.919263779527559 + 30 +0.0 + 10 +-0.6095944881889763 + 20 +4.919263779527559 + 30 +0.0 + 10 +-0.6193188976377952 + 20 +4.930263779527559 + 30 +0.0 + 10 +-0.6313740157480315 + 20 +4.935763779527559 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.935763779527559 + 30 +0.0 + 10 +-0.6458188976377953 + 20 +4.935763779527559 + 30 +0.0 + 10 +-0.6604291338582677 + 20 +4.935763779527559 + 30 +0.0 + 10 +-0.6725944881889764 + 20 +4.930263779527559 + 30 +0.0 + 10 +-0.682263779527559 + 20 +4.919318897637795 + 30 +0.0 + 10 +-0.682263779527559 + 20 +4.919318897637795 + 30 +0.0 + 10 +-0.6919291338582677 + 20 +4.908374015748032 + 30 +0.0 + 10 +-0.6967637795275591 + 20 +4.891818897637795 + 30 +0.0 + 10 +-0.6967637795275591 + 20 +4.869708661417323 + 30 +0.0 + 0 +SPLINE + 5 +176 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4986496062992126 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4986496062992126 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.5515393700787402 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.5515393700787402 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.5515393700787402 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.5515393700787402 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.521259842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.521259842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.521259842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.521259842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.493759842519685 + 20 +4.856318897637795 + 30 +0.0 + 10 +-0.493759842519685 + 20 +4.856318897637795 + 30 +0.0 + 10 +-0.493759842519685 + 20 +4.856318897637795 + 30 +0.0 + 10 +-0.493759842519685 + 20 +4.856318897637795 + 30 +0.0 + 10 +-0.4835393700787401 + 20 +4.819208661417322 + 30 +0.0 + 10 +-0.4835393700787401 + 20 +4.819208661417322 + 30 +0.0 + 10 +-0.4835393700787401 + 20 +4.819208661417322 + 30 +0.0 + 10 +-0.4830944881889764 + 20 +4.82109842519685 + 30 +0.0 + 10 +-0.4800944881889764 + 20 +4.832984251968504 + 30 +0.0 + 10 +-0.4745944881889764 + 20 +4.854874015748032 + 30 +0.0 + 10 +-0.4745944881889764 + 20 +4.854874015748032 + 30 +0.0 + 10 +-0.4745944881889764 + 20 +4.854874015748032 + 30 +0.0 + 10 +-0.4470944881889764 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4470944881889764 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4470944881889764 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4470944881889764 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4169842519685039 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4169842519685039 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4169842519685039 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.4169842519685039 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3910944881889764 + 20 +4.855874015748031 + 30 +0.0 + 10 +-0.3910944881889764 + 20 +4.855874015748031 + 30 +0.0 + 10 +-0.3910944881889764 + 20 +4.855874015748031 + 30 +0.0 + 10 +-0.3910944881889764 + 20 +4.855874015748031 + 30 +0.0 + 10 +-0.3824291338582677 + 20 +4.822818897637795 + 30 +0.0 + 10 +-0.3824291338582677 + 20 +4.822818897637795 + 30 +0.0 + 10 +-0.3824291338582677 + 20 +4.822818897637795 + 30 +0.0 + 10 +-0.3824291338582677 + 20 +4.822818897637795 + 30 +0.0 + 10 +-0.3725393700787402 + 20 +4.856208661417323 + 30 +0.0 + 10 +-0.3725393700787402 + 20 +4.856208661417323 + 30 +0.0 + 10 +-0.3725393700787402 + 20 +4.856208661417323 + 30 +0.0 + 10 +-0.3725393700787402 + 20 +4.856208661417323 + 30 +0.0 + 10 +-0.3429291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3429291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3429291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3429291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3144291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3144291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3144291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3144291338582677 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.3684842519685039 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3684842519685039 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3684842519685039 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3684842519685039 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3988740157480315 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3988740157480315 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3988740157480315 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.3988740157480315 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4263740157480315 + 20 +4.886763779527559 + 30 +0.0 + 10 +-0.4263740157480315 + 20 +4.886763779527559 + 30 +0.0 + 10 +-0.4263740157480315 + 20 +4.886763779527559 + 30 +0.0 + 10 +-0.4263740157480315 + 20 +4.886763779527559 + 30 +0.0 + 10 +-0.4330944881889764 + 20 +4.916263779527559 + 30 +0.0 + 10 +-0.4330944881889764 + 20 +4.916263779527559 + 30 +0.0 + 10 +-0.4330944881889764 + 20 +4.916263779527559 + 30 +0.0 + 10 +-0.4330944881889764 + 20 +4.916263779527559 + 30 +0.0 + 10 +-0.4680393700787401 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4680393700787401 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4680393700787401 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4680393700787401 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4986496062992126 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.4986496062992126 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +177 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.1715354330708661 + 20 +4.838929133858268 + 30 +0.0 + 10 +-0.1715354330708661 + 20 +4.838929133858268 + 30 +0.0 + 10 +-0.141259842519685 + 20 +4.835208661417322 + 30 +0.0 + 10 +-0.141259842519685 + 20 +4.835208661417322 + 30 +0.0 + 10 +-0.141259842519685 + 20 +4.835208661417322 + 30 +0.0 + 10 +-0.1460354330708661 + 20 +4.817484251968504 + 30 +0.0 + 10 +-0.1548700787401575 + 20 +4.803763779527559 + 30 +0.0 + 10 +-0.167759842519685 + 20 +4.793984251968504 + 30 +0.0 + 10 +-0.167759842519685 + 20 +4.793984251968504 + 30 +0.0 + 10 +-0.1807047244094488 + 20 +4.784263779527559 + 30 +0.0 + 10 +-0.1972047244094488 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.217259842519685 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.217259842519685 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.2425354330708661 + 20 +4.779374015748031 + 30 +0.0 + 10 +-0.2625944881889764 + 20 +4.787153543307086 + 30 +0.0 + 10 +-0.2773700787401575 + 20 +4.802708661417323 + 30 +0.0 + 10 +-0.2773700787401575 + 20 +4.802708661417323 + 30 +0.0 + 10 +-0.2922047244094488 + 20 +4.818263779527559 + 30 +0.0 + 10 +-0.2995944881889764 + 20 +4.84009842519685 + 30 +0.0 + 10 +-0.2995944881889764 + 20 +4.868208661417323 + 30 +0.0 + 10 +-0.2995944881889764 + 20 +4.868208661417323 + 30 +0.0 + 10 +-0.2995944881889764 + 20 +4.897318897637795 + 30 +0.0 + 10 +-0.2920944881889764 + 20 +4.919874015748031 + 30 +0.0 + 10 +-0.2771496062992126 + 20 +4.935929133858267 + 30 +0.0 + 10 +-0.2771496062992126 + 20 +4.935929133858267 + 30 +0.0 + 10 +-0.2621496062992126 + 20 +4.951988188976378 + 30 +0.0 + 10 +-0.242759842519685 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.2188700787401575 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.2188700787401575 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.195759842519685 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.1768700787401575 + 20 +4.952153543307086 + 30 +0.0 + 10 +-0.162259842519685 + 20 +4.936429133858268 + 30 +0.0 + 10 +-0.162259842519685 + 20 +4.936429133858268 + 30 +0.0 + 10 +-0.1475905511811024 + 20 +4.920708661417323 + 30 +0.0 + 10 +-0.140259842519685 + 20 +4.898543307086614 + 30 +0.0 + 10 +-0.140259842519685 + 20 +4.870043307086614 + 30 +0.0 + 10 +-0.140259842519685 + 20 +4.870043307086614 + 30 +0.0 + 10 +-0.140259842519685 + 20 +4.868263779527559 + 30 +0.0 + 10 +-0.1403149606299213 + 20 +4.865653543307086 + 30 +0.0 + 10 +-0.1404251968503937 + 20 +4.862208661417323 + 30 +0.0 + 10 +-0.1404251968503937 + 20 +4.862208661417323 + 30 +0.0 + 10 +-0.1404251968503937 + 20 +4.862208661417323 + 30 +0.0 + 10 +-0.2693149606299213 + 20 +4.862208661417323 + 30 +0.0 + 10 +-0.2693149606299213 + 20 +4.862208661417323 + 30 +0.0 + 10 +-0.2693149606299213 + 20 +4.862208661417323 + 30 +0.0 + 10 +-0.268259842519685 + 20 +4.843208661417322 + 30 +0.0 + 10 +-0.2628700787401575 + 20 +4.828653543307087 + 30 +0.0 + 10 +-0.2532047244094488 + 20 +4.818598425196851 + 30 +0.0 + 10 +-0.2532047244094488 + 20 +4.818598425196851 + 30 +0.0 + 10 +-0.2435354330708661 + 20 +4.808484251968504 + 30 +0.0 + 10 +-0.2315354330708661 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.2170905511811024 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.2170905511811024 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.2063700787401575 + 20 +4.803429133858268 + 30 +0.0 + 10 +-0.1972047244094488 + 20 +4.806263779527559 + 30 +0.0 + 10 +-0.1895905511811024 + 20 +4.811929133858268 + 30 +0.0 + 10 +-0.1895905511811024 + 20 +4.811929133858268 + 30 +0.0 + 10 +-0.1819803149606299 + 20 +4.817543307086614 + 30 +0.0 + 10 +-0.1759803149606299 + 20 +4.826543307086614 + 30 +0.0 + 10 +-0.1715354330708661 + 20 +4.838929133858268 + 30 +0.0 + 0 +SPLINE + 5 +178 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2677047244094488 + 20 +4.886318897637795 + 30 +0.0 + 10 +-0.2677047244094488 + 20 +4.886318897637795 + 30 +0.0 + 10 +-0.1712047244094488 + 20 +4.886318897637795 + 30 +0.0 + 10 +-0.1712047244094488 + 20 +4.886318897637795 + 30 +0.0 + 10 +-0.1712047244094488 + 20 +4.886318897637795 + 30 +0.0 + 10 +-0.1724803149606299 + 20 +4.900818897637795 + 30 +0.0 + 10 +-0.1762047244094488 + 20 +4.911763779527559 + 30 +0.0 + 10 +-0.1822598425196851 + 20 +4.918988188976378 + 30 +0.0 + 10 +-0.1822598425196851 + 20 +4.918988188976378 + 30 +0.0 + 10 +-0.1915905511811024 + 20 +4.930263779527559 + 30 +0.0 + 10 +-0.2037047244094488 + 20 +4.935929133858267 + 30 +0.0 + 10 +-0.2185354330708661 + 20 +4.935929133858267 + 30 +0.0 + 10 +-0.2185354330708661 + 20 +4.935929133858267 + 30 +0.0 + 10 +-0.2319803149606299 + 20 +4.935929133858267 + 30 +0.0 + 10 +-0.2433149606299213 + 20 +4.931429133858268 + 30 +0.0 + 10 +-0.2524803149606299 + 20 +4.922429133858268 + 30 +0.0 + 10 +-0.2524803149606299 + 20 +4.922429133858268 + 30 +0.0 + 10 +-0.2616496062992126 + 20 +4.913429133858267 + 30 +0.0 + 10 +-0.2667047244094488 + 20 +4.901374015748032 + 30 +0.0 + 10 +-0.2677047244094488 + 20 +4.886318897637795 + 30 +0.0 + 0 +SPLINE + 5 +179 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.104759842519685 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.95609842519685 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.929929133858268 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.929929133858268 + 30 +0.0 + 10 +-0.0784251968503937 + 20 +4.929929133858268 + 30 +0.0 + 10 +-0.0717047244094488 + 20 +4.942153543307087 + 30 +0.0 + 10 +-0.0654803149606299 + 20 +4.950263779527559 + 30 +0.0 + 10 +-0.059759842519685 + 20 +4.954153543307086 + 30 +0.0 + 10 +-0.059759842519685 + 20 +4.954153543307086 + 30 +0.0 + 10 +-0.0540905511811024 + 20 +4.958043307086614 + 30 +0.0 + 10 +-0.0478149606299213 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.0409803149606299 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.0409803149606299 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.0310905511811024 + 20 +4.960043307086615 + 30 +0.0 + 10 +-0.0210905511811024 + 20 +4.956874015748031 + 30 +0.0 + 10 +-0.0108700787401575 + 20 +4.95059842519685 + 30 +0.0 + 10 +-0.0108700787401575 + 20 +4.95059842519685 + 30 +0.0 + 10 +-0.0108700787401575 + 20 +4.95059842519685 + 30 +0.0 + 10 +-0.0209803149606299 + 20 +4.923374015748031 + 30 +0.0 + 10 +-0.0209803149606299 + 20 +4.923374015748031 + 30 +0.0 + 10 +-0.0209803149606299 + 20 +4.923374015748031 + 30 +0.0 + 10 +-0.0280905511811024 + 20 +4.927653543307087 + 30 +0.0 + 10 +-0.035259842519685 + 20 +4.929763779527559 + 30 +0.0 + 10 +-0.0424251968503937 + 20 +4.929763779527559 + 30 +0.0 + 10 +-0.0424251968503937 + 20 +4.929763779527559 + 30 +0.0 + 10 +-0.0488700787401575 + 20 +4.929763779527559 + 30 +0.0 + 10 +-0.0545905511811024 + 20 +4.927818897637795 + 30 +0.0 + 10 +-0.0597007874015748 + 20 +4.923988188976378 + 30 +0.0 + 10 +-0.0597007874015748 + 20 +4.923988188976378 + 30 +0.0 + 10 +-0.0648149606299213 + 20 +4.92009842519685 + 30 +0.0 + 10 +-0.0684251968503937 + 20 +4.914763779527559 + 30 +0.0 + 10 +-0.0705905511811024 + 20 +4.907929133858268 + 30 +0.0 + 10 +-0.0705905511811024 + 20 +4.907929133858268 + 30 +0.0 + 10 +-0.0738700787401575 + 20 +4.897543307086615 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.886153543307087 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.873763779527559 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.873763779527559 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.873763779527559 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.0754803149606299 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.783263779527559 + 30 +0.0 + 10 +-0.104759842519685 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +17A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0954055118110236 + 20 +4.838429133858268 + 30 +0.0 + 10 +0.0954055118110236 + 20 +4.838429133858268 + 30 +0.0 + 10 +0.1235748031496063 + 20 +4.841043307086614 + 30 +0.0 + 10 +0.1235748031496063 + 20 +4.841043307086614 + 30 +0.0 + 10 +0.1235748031496063 + 20 +4.841043307086614 + 30 +0.0 + 10 +0.1259645669291339 + 20 +4.827818897637795 + 30 +0.0 + 10 +0.1305196850393701 + 20 +4.818208661417323 + 30 +0.0 + 10 +0.137240157480315 + 20 +4.812208661417323 + 30 +0.0 + 10 +0.137240157480315 + 20 +4.812208661417323 + 30 +0.0 + 10 +0.1439645669291339 + 20 +4.806263779527559 + 30 +0.0 + 10 +0.1525748031496063 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.1631299212598425 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.1631299212598425 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.1721299212598425 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.1800196850393701 + 20 +4.805318897637795 + 30 +0.0 + 10 +0.1867952755905512 + 20 +4.809484251968504 + 30 +0.0 + 10 +0.1867952755905512 + 20 +4.809484251968504 + 30 +0.0 + 10 +0.1935748031496063 + 20 +4.81359842519685 + 30 +0.0 + 10 +0.1991299212598425 + 20 +4.81909842519685 + 30 +0.0 + 10 +0.2034645669291339 + 20 +4.825984251968504 + 30 +0.0 + 10 +0.2034645669291339 + 20 +4.825984251968504 + 30 +0.0 + 10 +0.2078503937007874 + 20 +4.832874015748032 + 30 +0.0 + 10 +0.2114645669291338 + 20 +4.842208661417323 + 30 +0.0 + 10 +0.2144094488188976 + 20 +4.853874015748032 + 30 +0.0 + 10 +0.2144094488188976 + 20 +4.853874015748032 + 30 +0.0 + 10 +0.2172952755905512 + 20 +4.86559842519685 + 30 +0.0 + 10 +0.2187952755905512 + 20 +4.877543307086614 + 30 +0.0 + 10 +0.2187952755905512 + 20 +4.889708661417322 + 30 +0.0 + 10 +0.2187952755905512 + 20 +4.889708661417322 + 30 +0.0 + 10 +0.2187952755905512 + 20 +4.890988188976378 + 30 +0.0 + 10 +0.218740157480315 + 20 +4.892988188976378 + 30 +0.0 + 10 +0.2186299212598425 + 20 +4.895543307086614 + 30 +0.0 + 10 +0.2186299212598425 + 20 +4.895543307086614 + 30 +0.0 + 10 +0.212740157480315 + 20 +4.886263779527559 + 30 +0.0 + 10 +0.204740157480315 + 20 +4.878653543307086 + 30 +0.0 + 10 +0.1946299212598425 + 20 +4.872874015748032 + 30 +0.0 + 10 +0.1946299212598425 + 20 +4.872874015748032 + 30 +0.0 + 10 +0.1844645669291338 + 20 +4.867043307086615 + 30 +0.0 + 10 +0.1734645669291339 + 20 +4.864153543307086 + 30 +0.0 + 10 +0.1616850393700787 + 20 +4.864153543307086 + 30 +0.0 + 10 +0.1616850393700787 + 20 +4.864153543307086 + 30 +0.0 + 10 +0.1419094488188976 + 20 +4.864153543307086 + 30 +0.0 + 10 +0.1251850393700787 + 20 +4.871318897637796 + 30 +0.0 + 10 +0.1115196850393701 + 20 +4.885653543307087 + 30 +0.0 + 10 +0.1115196850393701 + 20 +4.885653543307087 + 30 +0.0 + 10 +0.0978503937007874 + 20 +4.899988188976378 + 30 +0.0 + 10 +0.0910196850393701 + 20 +4.918818897637795 + 30 +0.0 + 10 +0.0910196850393701 + 20 +4.942263779527559 + 30 +0.0 + 10 +0.0910196850393701 + 20 +4.942263779527559 + 30 +0.0 + 10 +0.0910196850393701 + 20 +4.966488188976378 + 30 +0.0 + 10 +0.0981299212598425 + 20 +4.985933070866142 + 30 +0.0 + 10 +0.1124055118110236 + 20 +5.000708661417323 + 30 +0.0 + 10 +0.1124055118110236 + 20 +5.000708661417323 + 30 +0.0 + 10 +0.1266850393700787 + 20 +5.015488188976378 + 30 +0.0 + 10 +0.1445748031496063 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.1660748031496063 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.1660748031496063 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.1815748031496063 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.195740157480315 + 20 +5.018653543307087 + 30 +0.0 + 10 +0.2086299212598425 + 20 +5.010318897637795 + 30 +0.0 + 10 +0.2086299212598425 + 20 +5.010318897637795 + 30 +0.0 + 10 +0.2214645669291339 + 20 +5.001988188976378 + 30 +0.0 + 10 +0.231240157480315 + 20 +4.990043307086614 + 30 +0.0 + 10 +0.2379094488188976 + 20 +4.97459842519685 + 30 +0.0 + 10 +0.2379094488188976 + 20 +4.97459842519685 + 30 +0.0 + 10 +0.2445748031496063 + 20 +4.959153543307087 + 30 +0.0 + 10 +0.2479094488188976 + 20 +4.936763779527559 + 30 +0.0 + 10 +0.2479094488188976 + 20 +4.907429133858268 + 30 +0.0 + 10 +0.2479094488188976 + 20 +4.907429133858268 + 30 +0.0 + 10 +0.2479094488188976 + 20 +4.876988188976378 + 30 +0.0 + 10 +0.2446299212598425 + 20 +4.852708661417322 + 30 +0.0 + 10 +0.2380196850393701 + 20 +4.834598425196851 + 30 +0.0 + 10 +0.2380196850393701 + 20 +4.834598425196851 + 30 +0.0 + 10 +0.2313503937007874 + 20 +4.816543307086614 + 30 +0.0 + 10 +0.2215196850393701 + 20 +4.802818897637795 + 30 +0.0 + 10 +0.2084645669291339 + 20 +4.793374015748031 + 30 +0.0 + 10 +0.2084645669291339 + 20 +4.793374015748031 + 30 +0.0 + 10 +0.1953503937007874 + 20 +4.783929133858268 + 30 +0.0 + 10 +0.1800748031496063 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.1624645669291339 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.1624645669291339 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.1437952755905512 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.1285748031496063 + 20 +4.784374015748032 + 30 +0.0 + 10 +0.116740157480315 + 20 +4.794763779527559 + 30 +0.0 + 10 +0.116740157480315 + 20 +4.794763779527559 + 30 +0.0 + 10 +0.1049055118110236 + 20 +4.80509842519685 + 30 +0.0 + 10 +0.0977952755905512 + 20 +4.819653543307086 + 30 +0.0 + 10 +0.0954055118110236 + 20 +4.838429133858268 + 30 +0.0 + 0 +SPLINE + 5 +17B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.2153503937007874 + 20 +4.943763779527559 + 30 +0.0 + 10 +0.2153503937007874 + 20 +4.960543307086614 + 30 +0.0 + 10 +0.2109094488188976 + 20 +4.973933070866142 + 30 +0.0 + 10 +0.2019645669291339 + 20 +4.983763779527559 + 30 +0.0 + 10 +0.2019645669291339 + 20 +4.983763779527559 + 30 +0.0 + 10 +0.1929645669291339 + 20 +4.993653543307087 + 30 +0.0 + 10 +0.182240157480315 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.1696299212598425 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.1696299212598425 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.1566299212598425 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.1452952755905512 + 20 +4.993263779527559 + 30 +0.0 + 10 +0.1356299212598425 + 20 +4.982653543307086 + 30 +0.0 + 10 +0.1356299212598425 + 20 +4.982653543307086 + 30 +0.0 + 10 +0.1259645669291339 + 20 +4.971988188976378 + 30 +0.0 + 10 +0.1211299212598425 + 20 +4.958208661417323 + 30 +0.0 + 10 +0.1211299212598425 + 20 +4.941318897637795 + 30 +0.0 + 10 +0.1211299212598425 + 20 +4.941318897637795 + 30 +0.0 + 10 +0.1211299212598425 + 20 +4.926098425196851 + 30 +0.0 + 10 +0.125740157480315 + 20 +4.913763779527559 + 30 +0.0 + 10 +0.1349094488188976 + 20 +4.904263779527559 + 30 +0.0 + 10 +0.1349094488188976 + 20 +4.904263779527559 + 30 +0.0 + 10 +0.1440748031496063 + 20 +4.894763779527559 + 30 +0.0 + 10 +0.1553503937007874 + 20 +4.890043307086614 + 30 +0.0 + 10 +0.1687952755905512 + 20 +4.890043307086614 + 30 +0.0 + 10 +0.1687952755905512 + 20 +4.890043307086614 + 30 +0.0 + 10 +0.1824094488188976 + 20 +4.890043307086614 + 30 +0.0 + 10 +0.1935196850393701 + 20 +4.894763779527559 + 30 +0.0 + 10 +0.202240157480315 + 20 +4.904263779527559 + 30 +0.0 + 10 +0.202240157480315 + 20 +4.904263779527559 + 30 +0.0 + 10 +0.2110196850393701 + 20 +4.913763779527559 + 30 +0.0 + 10 +0.2153503937007874 + 20 +4.926929133858268 + 30 +0.0 + 10 +0.2153503937007874 + 20 +4.943763779527559 + 30 +0.0 + 0 +SPLINE + 5 +17C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3702992125984252 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.2667952755905512 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3756850393700787 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3756850393700787 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3756850393700787 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3756850393700787 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3996299212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3996299212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3996299212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3996299212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.4318543307086614 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3996299212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.783263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +17D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3702992125984252 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.974818897637795 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.974818897637795 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.974818897637795 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.974818897637795 + 30 +0.0 + 10 +0.2956299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.2956299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.2956299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.2956299212598425 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.867263779527559 + 30 +0.0 + 10 +0.3702992125984252 + 20 +4.867263779527559 + 30 +0.0 + 0 +SPLINE + 5 +17E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.61851968503937 + 20 +4.713098425196851 + 30 +0.0 + 10 +0.6023543307086614 + 20 +4.733484251968504 + 30 +0.0 + 10 +0.5886850393700788 + 20 +4.757374015748032 + 30 +0.0 + 10 +0.5775196850393701 + 20 +4.784708661417323 + 30 +0.0 + 10 +0.5775196850393701 + 20 +4.784708661417323 + 30 +0.0 + 10 +0.5663543307086614 + 20 +4.812098425196851 + 30 +0.0 + 10 +0.5607401574803149 + 20 +4.840374015748031 + 30 +0.0 + 10 +0.5607401574803149 + 20 +4.869708661417323 + 30 +0.0 + 10 +0.5607401574803149 + 20 +4.869708661417323 + 30 +0.0 + 10 +0.5607401574803149 + 20 +4.895543307086614 + 30 +0.0 + 10 +0.5649094488188976 + 20 +4.920263779527559 + 30 +0.0 + 10 +0.5732952755905512 + 20 +4.943929133858267 + 30 +0.0 + 10 +0.5732952755905512 + 20 +4.943929133858267 + 30 +0.0 + 10 +0.5830748031496062 + 20 +4.971374015748031 + 30 +0.0 + 10 +0.5981299212598425 + 20 +4.998708661417322 + 30 +0.0 + 10 +0.61851968503937 + 20 +5.025933070866142 + 30 +0.0 + 10 +0.61851968503937 + 20 +5.025933070866142 + 30 +0.0 + 10 +0.61851968503937 + 20 +5.025933070866142 + 30 +0.0 + 10 +0.6395196850393701 + 20 +5.025933070866142 + 30 +0.0 + 10 +0.6395196850393701 + 20 +5.025933070866142 + 30 +0.0 + 10 +0.6395196850393701 + 20 +5.025933070866142 + 30 +0.0 + 10 +0.6264094488188976 + 20 +5.003374015748031 + 30 +0.0 + 10 +0.617740157480315 + 20 +4.987263779527559 + 30 +0.0 + 10 +0.61351968503937 + 20 +4.977598425196851 + 30 +0.0 + 10 +0.61351968503937 + 20 +4.977598425196851 + 30 +0.0 + 10 +0.6068543307086615 + 20 +4.962653543307087 + 30 +0.0 + 10 +0.6016850393700788 + 20 +4.946988188976378 + 30 +0.0 + 10 +0.5978543307086615 + 20 +4.930708661417323 + 30 +0.0 + 10 +0.5978543307086615 + 20 +4.930708661417323 + 30 +0.0 + 10 +0.5931850393700787 + 20 +4.910429133858267 + 30 +0.0 + 10 +0.5908543307086614 + 20 +4.890043307086614 + 30 +0.0 + 10 +0.5908543307086614 + 20 +4.869543307086614 + 30 +0.0 + 10 +0.5908543307086614 + 20 +4.869543307086614 + 30 +0.0 + 10 +0.5908543307086614 + 20 +4.817318897637795 + 30 +0.0 + 10 +0.6070748031496063 + 20 +4.765208661417323 + 30 +0.0 + 10 +0.6395196850393701 + 20 +4.713098425196851 + 30 +0.0 + 10 +0.6395196850393701 + 20 +4.713098425196851 + 30 +0.0 + 10 +0.6395196850393701 + 20 +4.713098425196851 + 30 +0.0 + 10 +0.61851968503937 + 20 +4.713098425196851 + 30 +0.0 + 10 +0.61851968503937 + 20 +4.713098425196851 + 30 +0.0 + 0 +SPLINE + 5 +17F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8174094488188977 + 20 +4.963433070866142 + 30 +0.0 + 10 +0.8174094488188977 + 20 +4.963433070866142 + 30 +0.0 + 10 +0.7882992125984252 + 20 +4.961153543307087 + 30 +0.0 + 10 +0.7882992125984252 + 20 +4.961153543307087 + 30 +0.0 + 10 +0.7882992125984252 + 20 +4.961153543307087 + 30 +0.0 + 10 +0.7856850393700787 + 20 +4.972653543307087 + 30 +0.0 + 10 +0.78201968503937 + 20 +4.981043307086614 + 30 +0.0 + 10 +0.7772401574803149 + 20 +4.986208661417323 + 30 +0.0 + 10 +0.7772401574803149 + 20 +4.986208661417323 + 30 +0.0 + 10 +0.7692992125984252 + 20 +4.99459842519685 + 30 +0.0 + 10 +0.7595196850393701 + 20 +4.998763779527559 + 30 +0.0 + 10 +0.7479094488188976 + 20 +4.998763779527559 + 30 +0.0 + 10 +0.7479094488188976 + 20 +4.998763779527559 + 30 +0.0 + 10 +0.7385748031496063 + 20 +4.998763779527559 + 30 +0.0 + 10 +0.7304094488188977 + 20 +4.996153543307087 + 30 +0.0 + 10 +0.7233543307086614 + 20 +4.990933070866141 + 30 +0.0 + 10 +0.7233543307086614 + 20 +4.990933070866141 + 30 +0.0 + 10 +0.7141299212598425 + 20 +4.984208661417322 + 30 +0.0 + 10 +0.7068543307086614 + 20 +4.974374015748031 + 30 +0.0 + 10 +0.7015196850393701 + 20 +4.961488188976378 + 30 +0.0 + 10 +0.7015196850393701 + 20 +4.961488188976378 + 30 +0.0 + 10 +0.696240157480315 + 20 +4.948598425196851 + 30 +0.0 + 10 +0.6934645669291338 + 20 +4.930208661417323 + 30 +0.0 + 10 +0.693240157480315 + 20 +4.906318897637795 + 30 +0.0 + 10 +0.693240157480315 + 20 +4.906318897637795 + 30 +0.0 + 10 +0.7002952755905512 + 20 +4.917043307086614 + 30 +0.0 + 10 +0.7089094488188976 + 20 +4.925043307086614 + 30 +0.0 + 10 +0.7191299212598425 + 20 +4.930263779527559 + 30 +0.0 + 10 +0.7191299212598425 + 20 +4.930263779527559 + 30 +0.0 + 10 +0.7292992125984252 + 20 +4.935429133858268 + 30 +0.0 + 10 +0.7400196850393701 + 20 +4.938043307086614 + 30 +0.0 + 10 +0.7511850393700787 + 20 +4.938043307086614 + 30 +0.0 + 10 +0.7511850393700787 + 20 +4.938043307086614 + 30 +0.0 + 10 +0.770740157480315 + 20 +4.938043307086614 + 30 +0.0 + 10 +0.7873543307086615 + 20 +4.930874015748032 + 30 +0.0 + 10 +0.8010748031496063 + 20 +4.916488188976378 + 30 +0.0 + 10 +0.8010748031496063 + 20 +4.916488188976378 + 30 +0.0 + 10 +0.8147992125984252 + 20 +4.902098425196851 + 30 +0.0 + 10 +0.8216850393700788 + 20 +4.883543307086614 + 30 +0.0 + 10 +0.8216850393700788 + 20 +4.860763779527559 + 30 +0.0 + 10 +0.8216850393700788 + 20 +4.860763779527559 + 30 +0.0 + 10 +0.8216850393700788 + 20 +4.845763779527559 + 30 +0.0 + 10 +0.8184094488188977 + 20 +4.831874015748031 + 30 +0.0 + 10 +0.8119645669291339 + 20 +4.818984251968504 + 30 +0.0 + 10 +0.8119645669291339 + 20 +4.818984251968504 + 30 +0.0 + 10 +0.8055196850393701 + 20 +4.806153543307087 + 30 +0.0 + 10 +0.7966299212598426 + 20 +4.796263779527559 + 30 +0.0 + 10 +0.7853543307086615 + 20 +4.789429133858268 + 30 +0.0 + 10 +0.7853543307086615 + 20 +4.789429133858268 + 30 +0.0 + 10 +0.7740748031496063 + 20 +4.78259842519685 + 30 +0.0 + 10 +0.7612992125984251 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.7469645669291338 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.7469645669291338 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.72251968503937 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.7026299212598425 + 20 +4.788153543307087 + 30 +0.0 + 10 +0.687240157480315 + 20 +4.806153543307087 + 30 +0.0 + 10 +0.687240157480315 + 20 +4.806153543307087 + 30 +0.0 + 10 +0.6717952755905512 + 20 +4.82409842519685 + 30 +0.0 + 10 +0.6641299212598425 + 20 +4.853708661417323 + 30 +0.0 + 10 +0.6641299212598425 + 20 +4.894929133858268 + 30 +0.0 + 10 +0.6641299212598425 + 20 +4.894929133858268 + 30 +0.0 + 10 +0.6641299212598425 + 20 +4.941043307086614 + 30 +0.0 + 10 +0.6726299212598426 + 20 +4.974543307086615 + 30 +0.0 + 10 +0.6896850393700787 + 20 +4.995488188976378 + 30 +0.0 + 10 +0.6896850393700787 + 20 +4.995488188976378 + 30 +0.0 + 10 +0.7045196850393701 + 20 +5.013708661417323 + 30 +0.0 + 10 +0.72451968503937 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.749740157480315 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.749740157480315 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.7684645669291339 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.7838543307086614 + 20 +5.017598425196851 + 30 +0.0 + 10 +0.7958543307086614 + 20 +5.007043307086614 + 30 +0.0 + 10 +0.7958543307086614 + 20 +5.007043307086614 + 30 +0.0 + 10 +0.8078543307086614 + 20 +4.996543307086614 + 30 +0.0 + 10 +0.8150196850393701 + 20 +4.981988188976378 + 30 +0.0 + 10 +0.8174094488188977 + 20 +4.963433070866142 + 30 +0.0 + 0 +SPLINE + 5 +180 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.6977952755905512 + 20 +4.860598425196851 + 30 +0.0 + 10 +0.6977952755905512 + 20 +4.850488188976378 + 30 +0.0 + 10 +0.6999645669291339 + 20 +4.840818897637796 + 30 +0.0 + 10 +0.704240157480315 + 20 +4.831598425196851 + 30 +0.0 + 10 +0.704240157480315 + 20 +4.831598425196851 + 30 +0.0 + 10 +0.7085196850393701 + 20 +4.822374015748031 + 30 +0.0 + 10 +0.7145196850393701 + 20 +4.815374015748032 + 30 +0.0 + 10 +0.7221850393700787 + 20 +4.810543307086614 + 30 +0.0 + 10 +0.7221850393700787 + 20 +4.810543307086614 + 30 +0.0 + 10 +0.7299094488188976 + 20 +4.805708661417323 + 30 +0.0 + 10 +0.7380196850393701 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.7464645669291339 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.7464645669291339 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.7588543307086614 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.7694645669291339 + 20 +4.808263779527559 + 30 +0.0 + 10 +0.7783543307086614 + 20 +4.818263779527559 + 30 +0.0 + 10 +0.7783543307086614 + 20 +4.818263779527559 + 30 +0.0 + 10 +0.787240157480315 + 20 +4.828263779527559 + 30 +0.0 + 10 +0.7916850393700787 + 20 +4.841818897637795 + 30 +0.0 + 10 +0.7916850393700787 + 20 +4.858929133858267 + 30 +0.0 + 10 +0.7916850393700787 + 20 +4.858929133858267 + 30 +0.0 + 10 +0.7916850393700787 + 20 +4.875429133858268 + 30 +0.0 + 10 +0.7872992125984252 + 20 +4.888429133858268 + 30 +0.0 + 10 +0.7785196850393701 + 20 +4.897929133858268 + 30 +0.0 + 10 +0.7785196850393701 + 20 +4.897929133858268 + 30 +0.0 + 10 +0.769740157480315 + 20 +4.907429133858268 + 30 +0.0 + 10 +0.7586850393700787 + 20 +4.912153543307086 + 30 +0.0 + 10 +0.7453543307086614 + 20 +4.912153543307086 + 30 +0.0 + 10 +0.7453543307086614 + 20 +4.912153543307086 + 30 +0.0 + 10 +0.7320748031496063 + 20 +4.912153543307086 + 30 +0.0 + 10 +0.7208543307086615 + 20 +4.907429133858268 + 30 +0.0 + 10 +0.7116299212598425 + 20 +4.897929133858268 + 30 +0.0 + 10 +0.7116299212598425 + 20 +4.897929133858268 + 30 +0.0 + 10 +0.7024094488188977 + 20 +4.888429133858268 + 30 +0.0 + 10 +0.6977952755905512 + 20 +4.875988188976378 + 30 +0.0 + 10 +0.6977952755905512 + 20 +4.860598425196851 + 30 +0.0 + 0 +SPLINE + 5 +181 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8507992125984252 + 20 +4.900929133858268 + 30 +0.0 + 10 +0.8507992125984252 + 20 +4.929153543307087 + 30 +0.0 + 10 +0.8536850393700788 + 20 +4.951874015748031 + 30 +0.0 + 10 +0.85951968503937 + 20 +4.969043307086614 + 30 +0.0 + 10 +0.85951968503937 + 20 +4.969043307086614 + 30 +0.0 + 10 +0.8652992125984252 + 20 +4.986263779527559 + 30 +0.0 + 10 +0.8739645669291338 + 20 +4.999543307086614 + 30 +0.0 + 10 +0.8854094488188976 + 20 +5.008874015748032 + 30 +0.0 + 10 +0.8854094488188976 + 20 +5.008874015748032 + 30 +0.0 + 10 +0.8968543307086614 + 20 +5.018208661417323 + 30 +0.0 + 10 +0.911244094488189 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.9285748031496063 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.9285748031496063 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.9414094488188977 + 20 +5.022874015748031 + 30 +0.0 + 10 +0.9526299212598425 + 20 +5.020263779527559 + 30 +0.0 + 10 +0.9622992125984252 + 20 +5.01509842519685 + 30 +0.0 + 10 +0.9622992125984252 + 20 +5.01509842519685 + 30 +0.0 + 10 +0.9719645669291339 + 20 +5.009988188976378 + 30 +0.0 + 10 +0.9799094488188976 + 20 +5.002543307086614 + 30 +0.0 + 10 +0.986244094488189 + 20 +4.992818897637795 + 30 +0.0 + 10 +0.986244094488189 + 20 +4.992818897637795 + 30 +0.0 + 10 +0.99251968503937 + 20 +4.98309842519685 + 30 +0.0 + 10 +0.9974645669291339 + 20 +4.971263779527559 + 30 +0.0 + 10 +1.00101968503937 + 20 +4.957318897637795 + 30 +0.0 + 10 +1.00101968503937 + 20 +4.957318897637795 + 30 +0.0 + 10 +1.004633858267717 + 20 +4.943374015748032 + 30 +0.0 + 10 +1.006409448818898 + 20 +4.924598425196851 + 30 +0.0 + 10 +1.006409448818898 + 20 +4.900929133858268 + 30 +0.0 + 10 +1.006409448818898 + 20 +4.900929133858268 + 30 +0.0 + 10 +1.006409448818898 + 20 +4.872929133858268 + 30 +0.0 + 10 +1.00351968503937 + 20 +4.850374015748032 + 30 +0.0 + 10 +0.9977992125984252 + 20 +4.833153543307087 + 30 +0.0 + 10 +0.9977992125984252 + 20 +4.833153543307087 + 30 +0.0 + 10 +0.9920196850393701 + 20 +4.815929133858268 + 30 +0.0 + 10 +0.9834094488188977 + 20 +4.802653543307087 + 30 +0.0 + 10 +0.9719645669291339 + 20 +4.793263779527559 + 30 +0.0 + 10 +0.9719645669291339 + 20 +4.793263779527559 + 30 +0.0 + 10 +0.9605196850393701 + 20 +4.783874015748031 + 30 +0.0 + 10 +0.9460748031496063 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.9285748031496063 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.9285748031496063 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.9055748031496063 + 20 +4.779208661417323 + 30 +0.0 + 10 +0.8875196850393701 + 20 +4.787429133858268 + 30 +0.0 + 10 +0.8744094488188976 + 20 +4.803929133858268 + 30 +0.0 + 10 +0.8744094488188976 + 20 +4.803929133858268 + 30 +0.0 + 10 +0.8586850393700788 + 20 +4.823763779527559 + 30 +0.0 + 10 +0.8507992125984252 + 20 +4.856153543307086 + 30 +0.0 + 10 +0.8507992125984252 + 20 +4.900929133858268 + 30 +0.0 + 0 +SPLINE + 5 +182 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8809094488188977 + 20 +4.900929133858268 + 30 +0.0 + 10 +0.8809094488188977 + 20 +4.861763779527559 + 30 +0.0 + 10 +0.8855196850393701 + 20 +4.835708661417323 + 30 +0.0 + 10 +0.8946889763779527 + 20 +4.822708661417323 + 30 +0.0 + 10 +0.8946889763779527 + 20 +4.822708661417323 + 30 +0.0 + 10 +0.9038543307086614 + 20 +4.809763779527559 + 30 +0.0 + 10 +0.9151299212598425 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.9285748031496063 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.9285748031496063 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.9420748031496063 + 20 +4.803263779527559 + 30 +0.0 + 10 +0.9533543307086614 + 20 +4.809818897637795 + 30 +0.0 + 10 +0.9625196850393701 + 20 +4.822818897637795 + 30 +0.0 + 10 +0.9625196850393701 + 20 +4.822818897637795 + 30 +0.0 + 10 +0.9716889763779527 + 20 +4.835818897637795 + 30 +0.0 + 10 +0.9762992125984252 + 20 +4.861874015748032 + 30 +0.0 + 10 +0.9762992125984252 + 20 +4.900929133858268 + 30 +0.0 + 10 +0.9762992125984252 + 20 +4.900929133858268 + 30 +0.0 + 10 +0.9762992125984252 + 20 +4.940208661417323 + 30 +0.0 + 10 +0.9716889763779527 + 20 +4.966318897637795 + 30 +0.0 + 10 +0.9625196850393701 + 20 +4.979208661417323 + 30 +0.0 + 10 +0.9625196850393701 + 20 +4.979208661417323 + 30 +0.0 + 10 +0.9533543307086614 + 20 +4.992153543307086 + 30 +0.0 + 10 +0.9419645669291339 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.9282992125984252 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.9282992125984252 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.9147992125984252 + 20 +4.99859842519685 + 30 +0.0 + 10 +0.9040748031496063 + 20 +4.992874015748032 + 30 +0.0 + 10 +0.8960196850393701 + 20 +4.981488188976378 + 30 +0.0 + 10 +0.8960196850393701 + 20 +4.981488188976378 + 30 +0.0 + 10 +0.8859645669291338 + 20 +4.966988188976378 + 30 +0.0 + 10 +0.8809094488188977 + 20 +4.94009842519685 + 30 +0.0 + 10 +0.8809094488188977 + 20 +4.900929133858268 + 30 +0.0 + 0 +SPLINE + 5 +183 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.089744094488189 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.089744094488189 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.026409448818898 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.026409448818898 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.026409448818898 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.026409448818898 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.058799212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.058799212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.058799212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.058799212598425 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.095133858267717 + 20 +4.865488188976378 + 30 +0.0 + 10 +1.095133858267717 + 20 +4.865488188976378 + 30 +0.0 + 10 +1.095133858267717 + 20 +4.865488188976378 + 30 +0.0 + 10 +1.09901968503937 + 20 +4.849098425196851 + 30 +0.0 + 10 +1.102354330708661 + 20 +4.832818897637796 + 30 +0.0 + 10 +1.105188976377953 + 20 +4.816653543307087 + 30 +0.0 + 10 +1.105188976377953 + 20 +4.816653543307087 + 30 +0.0 + 10 +1.111299212598425 + 20 +4.842153543307087 + 30 +0.0 + 10 +1.114854330708661 + 20 +4.856818897637795 + 30 +0.0 + 10 +1.115964566929134 + 20 +4.860763779527559 + 30 +0.0 + 10 +1.115964566929134 + 20 +4.860763779527559 + 30 +0.0 + 10 +1.115964566929134 + 20 +4.860763779527559 + 30 +0.0 + 10 +1.161354330708661 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.161354330708661 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.161354330708661 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.161354330708661 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.199464566929134 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.199464566929134 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.199464566929134 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.199464566929134 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.233633858267716 + 20 +4.90109842519685 + 30 +0.0 + 10 +1.233633858267716 + 20 +4.90109842519685 + 30 +0.0 + 10 +1.233633858267716 + 20 +4.90109842519685 + 30 +0.0 + 10 +1.242188976377953 + 20 +4.871153543307087 + 30 +0.0 + 10 +1.248354330708661 + 20 +4.842988188976378 + 30 +0.0 + 10 +1.252188976377953 + 20 +4.816653543307087 + 30 +0.0 + 10 +1.252188976377953 + 20 +4.816653543307087 + 30 +0.0 + 10 +1.255188976377953 + 20 +4.831708661417323 + 30 +0.0 + 10 +1.259188976377953 + 20 +4.849043307086614 + 30 +0.0 + 10 +1.26407874015748 + 20 +4.868543307086614 + 30 +0.0 + 10 +1.26407874015748 + 20 +4.868543307086614 + 30 +0.0 + 10 +1.26407874015748 + 20 +4.868543307086614 + 30 +0.0 + 10 +1.301468503937008 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.301468503937008 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.301468503937008 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.301468503937008 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.333244094488189 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.333244094488189 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.333244094488189 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.333244094488189 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.267799212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.267799212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.267799212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.267799212598425 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.237354330708661 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.237354330708661 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.237354330708661 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.237354330708661 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.18707874015748 + 20 +4.965043307086614 + 30 +0.0 + 10 +1.18707874015748 + 20 +4.965043307086614 + 30 +0.0 + 10 +1.18707874015748 + 20 +4.965043307086614 + 30 +0.0 + 10 +1.182854330708661 + 20 +4.980263779527559 + 30 +0.0 + 10 +1.180354330708661 + 20 +4.98959842519685 + 30 +0.0 + 10 +1.17957874015748 + 20 +4.993043307086614 + 30 +0.0 + 10 +1.17957874015748 + 20 +4.993043307086614 + 30 +0.0 + 10 +1.17707874015748 + 20 +4.982098425196851 + 30 +0.0 + 10 +1.174744094488189 + 20 +4.972763779527559 + 30 +0.0 + 10 +1.17257874015748 + 20 +4.965043307086614 + 30 +0.0 + 10 +1.17257874015748 + 20 +4.965043307086614 + 30 +0.0 + 10 +1.17257874015748 + 20 +4.965043307086614 + 30 +0.0 + 10 +1.121964566929134 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.121964566929134 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.121964566929134 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.121964566929134 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.089744094488189 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.089744094488189 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +184 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.450913385826772 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.450913385826772 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.450913385826772 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.450913385826772 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.450913385826772 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.450913385826772 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.480188976377953 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.480188976377953 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.480188976377953 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.480188976377953 + 20 +5.021874015748032 + 30 +0.0 + 10 +1.480188976377953 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.480188976377953 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.480188976377953 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.480188976377953 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.450913385826772 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.450913385826772 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +185 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.638413385826772 + 20 +4.804598425196851 + 30 +0.0 + 10 +1.627523622047244 + 20 +4.795374015748031 + 30 +0.0 + 10 +1.61707874015748 + 20 +4.788874015748031 + 30 +0.0 + 10 +1.60707874015748 + 20 +4.785043307086614 + 30 +0.0 + 10 +1.60707874015748 + 20 +4.785043307086614 + 30 +0.0 + 10 +1.597023622047244 + 20 +4.781263779527559 + 30 +0.0 + 10 +1.586244094488189 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.574744094488189 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.574744094488189 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.555744094488189 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.541188976377953 + 20 +4.783984251968504 + 30 +0.0 + 10 +1.530968503937008 + 20 +4.793263779527559 + 30 +0.0 + 10 +1.530968503937008 + 20 +4.793263779527559 + 30 +0.0 + 10 +1.520799212598425 + 20 +4.802543307086614 + 30 +0.0 + 10 +1.515688976377953 + 20 +4.814429133858268 + 30 +0.0 + 10 +1.515688976377953 + 20 +4.828818897637795 + 30 +0.0 + 10 +1.515688976377953 + 20 +4.828818897637795 + 30 +0.0 + 10 +1.515688976377953 + 20 +4.837318897637795 + 30 +0.0 + 10 +1.51757874015748 + 20 +4.845043307086614 + 30 +0.0 + 10 +1.521468503937008 + 20 +4.852043307086614 + 30 +0.0 + 10 +1.521468503937008 + 20 +4.852043307086614 + 30 +0.0 + 10 +1.525299212598425 + 20 +4.859043307086615 + 30 +0.0 + 10 +1.530354330708661 + 20 +4.864653543307087 + 30 +0.0 + 10 +1.53657874015748 + 20 +4.868874015748031 + 30 +0.0 + 10 +1.53657874015748 + 20 +4.868874015748031 + 30 +0.0 + 10 +1.542854330708662 + 20 +4.873098425196851 + 30 +0.0 + 10 +1.549854330708661 + 20 +4.876318897637796 + 30 +0.0 + 10 +1.557688976377953 + 20 +4.878488188976378 + 30 +0.0 + 10 +1.557688976377953 + 20 +4.878488188976378 + 30 +0.0 + 10 +1.563413385826772 + 20 +4.879988188976378 + 30 +0.0 + 10 +1.57207874015748 + 20 +4.881488188976378 + 30 +0.0 + 10 +1.583688976377953 + 20 +4.882874015748031 + 30 +0.0 + 10 +1.583688976377953 + 20 +4.882874015748031 + 30 +0.0 + 10 +1.607358267716535 + 20 +4.885708661417323 + 30 +0.0 + 10 +1.624799212598425 + 20 +4.889043307086614 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.892988188976378 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.892988188976378 + 30 +0.0 + 10 +1.63607874015748 + 20 +4.896988188976378 + 30 +0.0 + 10 +1.636133858267717 + 20 +4.899543307086614 + 30 +0.0 + 10 +1.636133858267717 + 20 +4.900598425196851 + 30 +0.0 + 10 +1.636133858267717 + 20 +4.900598425196851 + 30 +0.0 + 10 +1.636133858267717 + 20 +4.912543307086614 + 30 +0.0 + 10 +1.633358267716535 + 20 +4.920988188976378 + 30 +0.0 + 10 +1.627799212598425 + 20 +4.925818897637796 + 30 +0.0 + 10 +1.627799212598425 + 20 +4.925818897637796 + 30 +0.0 + 10 +1.620358267716535 + 20 +4.932488188976378 + 30 +0.0 + 10 +1.609188976377953 + 20 +4.935763779527559 + 30 +0.0 + 10 +1.594468503937008 + 20 +4.935763779527559 + 30 +0.0 + 10 +1.594468503937008 + 20 +4.935763779527559 + 30 +0.0 + 10 +1.580688976377953 + 20 +4.935763779527559 + 30 +0.0 + 10 +1.570523622047244 + 20 +4.933374015748032 + 30 +0.0 + 10 +1.563913385826772 + 20 +4.928543307086614 + 30 +0.0 + 10 +1.563913385826772 + 20 +4.928543307086614 + 30 +0.0 + 10 +1.557354330708661 + 20 +4.923708661417323 + 30 +0.0 + 10 +1.552523622047244 + 20 +4.915153543307087 + 30 +0.0 + 10 +1.549354330708661 + 20 +4.902874015748031 + 30 +0.0 + 10 +1.549354330708661 + 20 +4.902874015748031 + 30 +0.0 + 10 +1.549354330708661 + 20 +4.902874015748031 + 30 +0.0 + 10 +1.520744094488189 + 20 +4.906818897637796 + 30 +0.0 + 10 +1.520744094488189 + 20 +4.906818897637796 + 30 +0.0 + 10 +1.520744094488189 + 20 +4.906818897637796 + 30 +0.0 + 10 +1.523354330708661 + 20 +4.919043307086614 + 30 +0.0 + 10 +1.527633858267716 + 20 +4.928988188976378 + 30 +0.0 + 10 +1.53357874015748 + 20 +4.936488188976378 + 30 +0.0 + 10 +1.53357874015748 + 20 +4.936488188976378 + 30 +0.0 + 10 +1.539523622047244 + 20 +4.944043307086615 + 30 +0.0 + 10 +1.548188976377953 + 20 +4.949874015748032 + 30 +0.0 + 10 +1.559468503937008 + 20 +4.953933070866142 + 30 +0.0 + 10 +1.559468503937008 + 20 +4.953933070866142 + 30 +0.0 + 10 +1.570744094488189 + 20 +4.957988188976378 + 30 +0.0 + 10 +1.583799212598425 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.598688976377953 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.598688976377953 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.613468503937008 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.625413385826772 + 20 +4.958263779527559 + 30 +0.0 + 10 +1.634633858267716 + 20 +4.954818897637796 + 30 +0.0 + 10 +1.634633858267716 + 20 +4.954818897637796 + 30 +0.0 + 10 +1.643858267716535 + 20 +4.951318897637795 + 30 +0.0 + 10 +1.650633858267716 + 20 +4.946988188976378 + 30 +0.0 + 10 +1.655023622047244 + 20 +4.941708661417323 + 30 +0.0 + 10 +1.655023622047244 + 20 +4.941708661417323 + 30 +0.0 + 10 +1.659358267716535 + 20 +4.936429133858268 + 30 +0.0 + 10 +1.662358267716535 + 20 +4.929818897637795 + 30 +0.0 + 10 +1.664133858267717 + 20 +4.921763779527559 + 30 +0.0 + 10 +1.664133858267717 + 20 +4.921763779527559 + 30 +0.0 + 10 +1.66507874015748 + 20 +4.916763779527559 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.907763779527559 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.894763779527559 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.894763779527559 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.894763779527559 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.855708661417323 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.855708661417323 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.855708661417323 + 30 +0.0 + 10 +1.66557874015748 + 20 +4.828429133858267 + 30 +0.0 + 10 +1.666188976377953 + 20 +4.811208661417322 + 30 +0.0 + 10 +1.667468503937008 + 20 +4.804043307086614 + 30 +0.0 + 10 +1.667468503937008 + 20 +4.804043307086614 + 30 +0.0 + 10 +1.668688976377953 + 20 +4.796818897637795 + 30 +0.0 + 10 +1.671188976377953 + 20 +4.789874015748032 + 30 +0.0 + 10 +1.674858267716535 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.674858267716535 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.674858267716535 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.644244094488189 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.644244094488189 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.644244094488189 + 20 +4.783263779527559 + 30 +0.0 + 10 +1.641244094488189 + 20 +4.789318897637795 + 30 +0.0 + 10 +1.639244094488189 + 20 +4.796429133858267 + 30 +0.0 + 10 +1.638413385826772 + 20 +4.804598425196851 + 30 +0.0 + 0 +SPLINE + 5 +186 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.635968503937008 + 20 +4.870043307086614 + 30 +0.0 + 10 +1.625299212598425 + 20 +4.865653543307086 + 30 +0.0 + 10 +1.609358267716535 + 20 +4.861988188976378 + 30 +0.0 + 10 +1.588133858267716 + 20 +4.858929133858267 + 30 +0.0 + 10 +1.588133858267716 + 20 +4.858929133858267 + 30 +0.0 + 10 +1.57607874015748 + 20 +4.857208661417323 + 30 +0.0 + 10 +1.567523622047244 + 20 +4.855263779527559 + 30 +0.0 + 10 +1.56257874015748 + 20 +4.85309842519685 + 30 +0.0 + 10 +1.56257874015748 + 20 +4.85309842519685 + 30 +0.0 + 10 +1.55757874015748 + 20 +4.850929133858267 + 30 +0.0 + 10 +1.553688976377953 + 20 +4.847763779527559 + 30 +0.0 + 10 +1.551023622047244 + 20 +4.843543307086614 + 30 +0.0 + 10 +1.551023622047244 + 20 +4.843543307086614 + 30 +0.0 + 10 +1.548299212598425 + 20 +4.839374015748032 + 30 +0.0 + 10 +1.546913385826772 + 20 +4.834763779527559 + 30 +0.0 + 10 +1.546913385826772 + 20 +4.829653543307087 + 30 +0.0 + 10 +1.546913385826772 + 20 +4.829653543307087 + 30 +0.0 + 10 +1.546913385826772 + 20 +4.821818897637796 + 30 +0.0 + 10 +1.549913385826772 + 20 +4.815318897637796 + 30 +0.0 + 10 +1.555799212598425 + 20 +4.81009842519685 + 30 +0.0 + 10 +1.555799212598425 + 20 +4.81009842519685 + 30 +0.0 + 10 +1.561688976377953 + 20 +4.804929133858268 + 30 +0.0 + 10 +1.570358267716536 + 20 +4.802318897637795 + 30 +0.0 + 10 +1.581744094488189 + 20 +4.802318897637795 + 30 +0.0 + 10 +1.581744094488189 + 20 +4.802318897637795 + 30 +0.0 + 10 +1.593023622047244 + 20 +4.802318897637795 + 30 +0.0 + 10 +1.60307874015748 + 20 +4.804763779527559 + 30 +0.0 + 10 +1.611858267716535 + 20 +4.809708661417323 + 30 +0.0 + 10 +1.611858267716535 + 20 +4.809708661417323 + 30 +0.0 + 10 +1.620633858267716 + 20 +4.814653543307086 + 30 +0.0 + 10 +1.627133858267717 + 20 +4.821429133858268 + 30 +0.0 + 10 +1.631244094488189 + 20 +4.829984251968504 + 30 +0.0 + 10 +1.631244094488189 + 20 +4.829984251968504 + 30 +0.0 + 10 +1.634413385826772 + 20 +4.836598425196851 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.846374015748031 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.859263779527559 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.859263779527559 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.859263779527559 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.870043307086614 + 30 +0.0 + 10 +1.635968503937008 + 20 +4.870043307086614 + 30 +0.0 + 0 +SPLINE + 5 +187 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.699303149606299 + 20 +4.834874015748031 + 30 +0.0 + 10 +1.699303149606299 + 20 +4.834874015748031 + 30 +0.0 + 10 +1.728244094488189 + 20 +4.839429133858268 + 30 +0.0 + 10 +1.728244094488189 + 20 +4.839429133858268 + 30 +0.0 + 10 +1.728244094488189 + 20 +4.839429133858268 + 30 +0.0 + 10 +1.729858267716536 + 20 +4.827818897637795 + 30 +0.0 + 10 +1.734413385826772 + 20 +4.818929133858267 + 30 +0.0 + 10 +1.741858267716536 + 20 +4.812708661417322 + 30 +0.0 + 10 +1.741858267716536 + 20 +4.812708661417322 + 30 +0.0 + 10 +1.749248031496063 + 20 +4.806543307086614 + 30 +0.0 + 10 +1.759633858267716 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.773023622047244 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.773023622047244 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.786468503937008 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.796468503937008 + 20 +4.806208661417323 + 30 +0.0 + 10 +1.802968503937008 + 20 +4.811653543307087 + 30 +0.0 + 10 +1.802968503937008 + 20 +4.811653543307087 + 30 +0.0 + 10 +1.809468503937008 + 20 +4.817153543307087 + 30 +0.0 + 10 +1.812748031496063 + 20 +4.823598425196851 + 30 +0.0 + 10 +1.812748031496063 + 20 +4.830929133858268 + 30 +0.0 + 10 +1.812748031496063 + 20 +4.830929133858268 + 30 +0.0 + 10 +1.812748031496063 + 20 +4.83759842519685 + 30 +0.0 + 10 +1.809858267716535 + 20 +4.842763779527559 + 30 +0.0 + 10 +1.80407874015748 + 20 +4.84659842519685 + 30 +0.0 + 10 +1.80407874015748 + 20 +4.84659842519685 + 30 +0.0 + 10 +1.80007874015748 + 20 +4.849208661417323 + 30 +0.0 + 10 +1.79007874015748 + 20 +4.852488188976378 + 30 +0.0 + 10 +1.774133858267717 + 20 +4.856488188976378 + 30 +0.0 + 10 +1.774133858267717 + 20 +4.856488188976378 + 30 +0.0 + 10 +1.752688976377953 + 20 +4.861929133858268 + 30 +0.0 + 10 +1.737744094488189 + 20 +4.866598425196851 + 30 +0.0 + 10 +1.729468503937008 + 20 +4.87059842519685 + 30 +0.0 + 10 +1.729468503937008 + 20 +4.87059842519685 + 30 +0.0 + 10 +1.721188976377953 + 20 +4.874543307086614 + 30 +0.0 + 10 +1.714858267716535 + 20 +4.880043307086614 + 30 +0.0 + 10 +1.71057874015748 + 20 +4.887043307086614 + 30 +0.0 + 10 +1.71057874015748 + 20 +4.887043307086614 + 30 +0.0 + 10 +1.706303149606299 + 20 +4.894043307086614 + 30 +0.0 + 10 +1.704133858267717 + 20 +4.901763779527559 + 30 +0.0 + 10 +1.704133858267717 + 20 +4.910208661417323 + 30 +0.0 + 10 +1.704133858267717 + 20 +4.910208661417323 + 30 +0.0 + 10 +1.704133858267717 + 20 +4.917929133858268 + 30 +0.0 + 10 +1.705913385826772 + 20 +4.925043307086614 + 30 +0.0 + 10 +1.709468503937008 + 20 +4.93159842519685 + 30 +0.0 + 10 +1.709468503937008 + 20 +4.93159842519685 + 30 +0.0 + 10 +1.712968503937008 + 20 +4.938208661417323 + 30 +0.0 + 10 +1.717803149606299 + 20 +4.943653543307087 + 30 +0.0 + 10 +1.723858267716535 + 20 +4.947988188976378 + 30 +0.0 + 10 +1.723858267716535 + 20 +4.947988188976378 + 30 +0.0 + 10 +1.728413385826772 + 20 +4.951318897637795 + 30 +0.0 + 10 +1.734633858267717 + 20 +4.954208661417323 + 30 +0.0 + 10 +1.742468503937008 + 20 +4.956543307086614 + 30 +0.0 + 10 +1.742468503937008 + 20 +4.956543307086614 + 30 +0.0 + 10 +1.750358267716535 + 20 +4.958874015748031 + 30 +0.0 + 10 +1.758803149606299 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.767803149606299 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.767803149606299 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.781358267716535 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.793248031496063 + 20 +4.958043307086614 + 30 +0.0 + 10 +1.803523622047244 + 20 +4.954153543307086 + 30 +0.0 + 10 +1.803523622047244 + 20 +4.954153543307086 + 30 +0.0 + 10 +1.813803149606299 + 20 +4.950263779527559 + 30 +0.0 + 10 +1.821358267716535 + 20 +4.944988188976378 + 30 +0.0 + 10 +1.826248031496063 + 20 +4.938318897637795 + 30 +0.0 + 10 +1.826248031496063 + 20 +4.938318897637795 + 30 +0.0 + 10 +1.831133858267717 + 20 +4.93159842519685 + 30 +0.0 + 10 +1.834468503937008 + 20 +4.922708661417323 + 30 +0.0 + 10 +1.836303149606299 + 20 +4.911543307086614 + 30 +0.0 + 10 +1.836303149606299 + 20 +4.911543307086614 + 30 +0.0 + 10 +1.836303149606299 + 20 +4.911543307086614 + 30 +0.0 + 10 +1.807688976377953 + 20 +4.90759842519685 + 30 +0.0 + 10 +1.807688976377953 + 20 +4.90759842519685 + 30 +0.0 + 10 +1.807688976377953 + 20 +4.90759842519685 + 30 +0.0 + 10 +1.806358267716536 + 20 +4.916488188976378 + 30 +0.0 + 10 +1.80257874015748 + 20 +4.923429133858268 + 30 +0.0 + 10 +1.796358267716536 + 20 +4.928429133858268 + 30 +0.0 + 10 +1.796358267716536 + 20 +4.928429133858268 + 30 +0.0 + 10 +1.790133858267716 + 20 +4.933429133858268 + 30 +0.0 + 10 +1.781303149606299 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.769913385826772 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.769913385826772 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.756468503937008 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.746858267716535 + 20 +4.933708661417323 + 30 +0.0 + 10 +1.741133858267716 + 20 +4.929263779527559 + 30 +0.0 + 10 +1.741133858267716 + 20 +4.929263779527559 + 30 +0.0 + 10 +1.735358267716535 + 20 +4.924818897637795 + 30 +0.0 + 10 +1.732468503937008 + 20 +4.919598425196851 + 30 +0.0 + 10 +1.732468503937008 + 20 +4.913653543307086 + 30 +0.0 + 10 +1.732468503937008 + 20 +4.913653543307086 + 30 +0.0 + 10 +1.732468503937008 + 20 +4.909818897637796 + 30 +0.0 + 10 +1.733688976377953 + 20 +4.906429133858268 + 30 +0.0 + 10 +1.73607874015748 + 20 +4.903374015748032 + 30 +0.0 + 10 +1.73607874015748 + 20 +4.903374015748032 + 30 +0.0 + 10 +1.738468503937008 + 20 +4.900208661417323 + 30 +0.0 + 10 +1.742188976377953 + 20 +4.897653543307086 + 30 +0.0 + 10 +1.747303149606299 + 20 +4.895543307086614 + 30 +0.0 + 10 +1.747303149606299 + 20 +4.895543307086614 + 30 +0.0 + 10 +1.750248031496063 + 20 +4.894488188976378 + 30 +0.0 + 10 +1.758858267716535 + 20 +4.891988188976378 + 30 +0.0 + 10 +1.773188976377953 + 20 +4.88809842519685 + 30 +0.0 + 10 +1.773188976377953 + 20 +4.88809842519685 + 30 +0.0 + 10 +1.793913385826772 + 20 +4.882543307086614 + 30 +0.0 + 10 +1.808358267716536 + 20 +4.878043307086614 + 30 +0.0 + 10 +1.816523622047244 + 20 +4.874488188976378 + 30 +0.0 + 10 +1.816523622047244 + 20 +4.874488188976378 + 30 +0.0 + 10 +1.824748031496063 + 20 +4.870988188976378 + 30 +0.0 + 10 +1.831188976377953 + 20 +4.865818897637795 + 30 +0.0 + 10 +1.835858267716535 + 20 +4.859098425196851 + 30 +0.0 + 10 +1.835858267716535 + 20 +4.859098425196851 + 30 +0.0 + 10 +1.840523622047244 + 20 +4.852374015748032 + 30 +0.0 + 10 +1.842858267716535 + 20 +4.844043307086614 + 30 +0.0 + 10 +1.842858267716535 + 20 +4.834043307086614 + 30 +0.0 + 10 +1.842858267716535 + 20 +4.834043307086614 + 30 +0.0 + 10 +1.842858267716535 + 20 +4.824263779527559 + 30 +0.0 + 10 +1.839968503937008 + 20 +4.81509842519685 + 30 +0.0 + 10 +1.834303149606299 + 20 +4.806429133858268 + 30 +0.0 + 10 +1.834303149606299 + 20 +4.806429133858268 + 30 +0.0 + 10 +1.82857874015748 + 20 +4.797818897637796 + 30 +0.0 + 10 +1.820358267716536 + 20 +4.791153543307087 + 30 +0.0 + 10 +1.809633858267716 + 20 +4.786429133858268 + 30 +0.0 + 10 +1.809633858267716 + 20 +4.786429133858268 + 30 +0.0 + 10 +1.798913385826772 + 20 +4.781708661417323 + 30 +0.0 + 10 +1.786748031496063 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.773188976377953 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.773188976377953 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.750688976377953 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.73357874015748 + 20 +4.784043307086614 + 30 +0.0 + 10 +1.721803149606299 + 20 +4.793374015748031 + 30 +0.0 + 10 +1.721803149606299 + 20 +4.793374015748031 + 30 +0.0 + 10 +1.710023622047244 + 20 +4.802708661417323 + 30 +0.0 + 10 +1.702523622047244 + 20 +4.816543307086614 + 30 +0.0 + 10 +1.699303149606299 + 20 +4.834874015748031 + 30 +0.0 + 0 +SPLINE + 5 +188 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.995972440944882 + 20 +4.838929133858268 + 30 +0.0 + 10 +1.995972440944882 + 20 +4.838929133858268 + 30 +0.0 + 10 +2.026248031496063 + 20 +4.835208661417322 + 30 +0.0 + 10 +2.026248031496063 + 20 +4.835208661417322 + 30 +0.0 + 10 +2.026248031496063 + 20 +4.835208661417322 + 30 +0.0 + 10 +2.021472440944882 + 20 +4.817484251968504 + 30 +0.0 + 10 +2.012637795275591 + 20 +4.803763779527559 + 30 +0.0 + 10 +1.999748031496063 + 20 +4.793984251968504 + 30 +0.0 + 10 +1.999748031496063 + 20 +4.793984251968504 + 30 +0.0 + 10 +1.986803149606299 + 20 +4.784263779527559 + 30 +0.0 + 10 +1.970303149606299 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.950248031496063 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.950248031496063 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.924972440944882 + 20 +4.779374015748031 + 30 +0.0 + 10 +1.904913385826772 + 20 +4.787153543307086 + 30 +0.0 + 10 +1.89013779527559 + 20 +4.802708661417323 + 30 +0.0 + 10 +1.89013779527559 + 20 +4.802708661417323 + 30 +0.0 + 10 +1.875303149606299 + 20 +4.818263779527559 + 30 +0.0 + 10 +1.867913385826772 + 20 +4.84009842519685 + 30 +0.0 + 10 +1.867913385826772 + 20 +4.868208661417323 + 30 +0.0 + 10 +1.867913385826772 + 20 +4.868208661417323 + 30 +0.0 + 10 +1.867913385826772 + 20 +4.897318897637795 + 30 +0.0 + 10 +1.875413385826772 + 20 +4.919874015748031 + 30 +0.0 + 10 +1.890358267716535 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.890358267716535 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.905358267716535 + 20 +4.951988188976378 + 30 +0.0 + 10 +1.924748031496063 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.94863779527559 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.94863779527559 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.971748031496063 + 20 +4.960043307086615 + 30 +0.0 + 10 +1.99063779527559 + 20 +4.952153543307086 + 30 +0.0 + 10 +2.005248031496063 + 20 +4.936429133858268 + 30 +0.0 + 10 +2.005248031496063 + 20 +4.936429133858268 + 30 +0.0 + 10 +2.019917322834646 + 20 +4.920708661417323 + 30 +0.0 + 10 +2.027248031496063 + 20 +4.898543307086614 + 30 +0.0 + 10 +2.027248031496063 + 20 +4.870043307086614 + 30 +0.0 + 10 +2.027248031496063 + 20 +4.870043307086614 + 30 +0.0 + 10 +2.027248031496063 + 20 +4.868263779527559 + 30 +0.0 + 10 +2.027192913385827 + 20 +4.865653543307086 + 30 +0.0 + 10 +2.027082677165355 + 20 +4.862208661417323 + 30 +0.0 + 10 +2.027082677165355 + 20 +4.862208661417323 + 30 +0.0 + 10 +2.027082677165355 + 20 +4.862208661417323 + 30 +0.0 + 10 +1.898192913385827 + 20 +4.862208661417323 + 30 +0.0 + 10 +1.898192913385827 + 20 +4.862208661417323 + 30 +0.0 + 10 +1.898192913385827 + 20 +4.862208661417323 + 30 +0.0 + 10 +1.899248031496063 + 20 +4.843208661417322 + 30 +0.0 + 10 +1.904637795275591 + 20 +4.828653543307087 + 30 +0.0 + 10 +1.914303149606299 + 20 +4.818598425196851 + 30 +0.0 + 10 +1.914303149606299 + 20 +4.818598425196851 + 30 +0.0 + 10 +1.923972440944882 + 20 +4.808484251968504 + 30 +0.0 + 10 +1.935972440944882 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.950417322834646 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.950417322834646 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.961137795275591 + 20 +4.803429133858268 + 30 +0.0 + 10 +1.970303149606299 + 20 +4.806263779527559 + 30 +0.0 + 10 +1.977917322834646 + 20 +4.811929133858268 + 30 +0.0 + 10 +1.977917322834646 + 20 +4.811929133858268 + 30 +0.0 + 10 +1.985527559055118 + 20 +4.817543307086614 + 30 +0.0 + 10 +1.991527559055118 + 20 +4.826543307086614 + 30 +0.0 + 10 +1.995972440944882 + 20 +4.838929133858268 + 30 +0.0 + 0 +SPLINE + 5 +189 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.899803149606299 + 20 +4.886318897637795 + 30 +0.0 + 10 +1.899803149606299 + 20 +4.886318897637795 + 30 +0.0 + 10 +1.996303149606299 + 20 +4.886318897637795 + 30 +0.0 + 10 +1.996303149606299 + 20 +4.886318897637795 + 30 +0.0 + 10 +1.996303149606299 + 20 +4.886318897637795 + 30 +0.0 + 10 +1.995027559055118 + 20 +4.900818897637795 + 30 +0.0 + 10 +1.991303149606299 + 20 +4.911763779527559 + 30 +0.0 + 10 +1.985248031496063 + 20 +4.918988188976378 + 30 +0.0 + 10 +1.985248031496063 + 20 +4.918988188976378 + 30 +0.0 + 10 +1.975917322834646 + 20 +4.930263779527559 + 30 +0.0 + 10 +1.963803149606299 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.948972440944882 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.948972440944882 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.935527559055118 + 20 +4.935929133858267 + 30 +0.0 + 10 +1.924192913385827 + 20 +4.931429133858268 + 30 +0.0 + 10 +1.915027559055118 + 20 +4.922429133858268 + 30 +0.0 + 10 +1.915027559055118 + 20 +4.922429133858268 + 30 +0.0 + 10 +1.905858267716535 + 20 +4.913429133858267 + 30 +0.0 + 10 +1.900803149606299 + 20 +4.901374015748032 + 30 +0.0 + 10 +1.899803149606299 + 20 +4.886318897637795 + 30 +0.0 + 0 +SPLINE + 5 +18A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.062748031496063 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.95609842519685 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.929929133858268 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.929929133858268 + 30 +0.0 + 10 +2.089082677165354 + 20 +4.929929133858268 + 30 +0.0 + 10 +2.095803149606299 + 20 +4.942153543307087 + 30 +0.0 + 10 +2.102027559055118 + 20 +4.950263779527559 + 30 +0.0 + 10 +2.107748031496063 + 20 +4.954153543307086 + 30 +0.0 + 10 +2.107748031496063 + 20 +4.954153543307086 + 30 +0.0 + 10 +2.113417322834646 + 20 +4.958043307086614 + 30 +0.0 + 10 +2.119692913385827 + 20 +4.960043307086615 + 30 +0.0 + 10 +2.126527559055118 + 20 +4.960043307086615 + 30 +0.0 + 10 +2.126527559055118 + 20 +4.960043307086615 + 30 +0.0 + 10 +2.136417322834645 + 20 +4.960043307086615 + 30 +0.0 + 10 +2.146417322834646 + 20 +4.956874015748031 + 30 +0.0 + 10 +2.156637795275591 + 20 +4.95059842519685 + 30 +0.0 + 10 +2.156637795275591 + 20 +4.95059842519685 + 30 +0.0 + 10 +2.156637795275591 + 20 +4.95059842519685 + 30 +0.0 + 10 +2.146527559055118 + 20 +4.923374015748031 + 30 +0.0 + 10 +2.146527559055118 + 20 +4.923374015748031 + 30 +0.0 + 10 +2.146527559055118 + 20 +4.923374015748031 + 30 +0.0 + 10 +2.139417322834646 + 20 +4.927653543307087 + 30 +0.0 + 10 +2.132248031496063 + 20 +4.929763779527559 + 30 +0.0 + 10 +2.125082677165354 + 20 +4.929763779527559 + 30 +0.0 + 10 +2.125082677165354 + 20 +4.929763779527559 + 30 +0.0 + 10 +2.11863779527559 + 20 +4.929763779527559 + 30 +0.0 + 10 +2.112917322834646 + 20 +4.927818897637795 + 30 +0.0 + 10 +2.107807086614173 + 20 +4.923988188976378 + 30 +0.0 + 10 +2.107807086614173 + 20 +4.923988188976378 + 30 +0.0 + 10 +2.102692913385827 + 20 +4.92009842519685 + 30 +0.0 + 10 +2.099082677165354 + 20 +4.914763779527559 + 30 +0.0 + 10 +2.096917322834646 + 20 +4.907929133858268 + 30 +0.0 + 10 +2.096917322834646 + 20 +4.907929133858268 + 30 +0.0 + 10 +2.09363779527559 + 20 +4.897543307086615 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.886153543307087 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.873763779527559 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.873763779527559 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.873763779527559 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.092027559055118 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.783263779527559 + 30 +0.0 + 10 +2.062748031496063 + 20 +4.783263779527559 + 30 +0.0 + 0 +SPLINE + 5 +18B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.193248031496063 + 20 +4.713098425196851 + 30 +0.0 + 10 +2.193248031496063 + 20 +4.713098425196851 + 30 +0.0 + 10 +2.172248031496063 + 20 +4.713098425196851 + 30 +0.0 + 10 +2.172248031496063 + 20 +4.713098425196851 + 30 +0.0 + 10 +2.172248031496063 + 20 +4.713098425196851 + 30 +0.0 + 10 +2.204692913385827 + 20 +4.765208661417323 + 30 +0.0 + 10 +2.220917322834646 + 20 +4.817318897637795 + 30 +0.0 + 10 +2.220917322834646 + 20 +4.869543307086614 + 30 +0.0 + 10 +2.220917322834646 + 20 +4.869543307086614 + 30 +0.0 + 10 +2.220917322834646 + 20 +4.889929133858268 + 30 +0.0 + 10 +2.218582677165355 + 20 +4.910153543307087 + 30 +0.0 + 10 +2.213917322834646 + 20 +4.930263779527559 + 30 +0.0 + 10 +2.213917322834646 + 20 +4.930263779527559 + 30 +0.0 + 10 +2.210248031496063 + 20 +4.946488188976378 + 30 +0.0 + 10 +2.205082677165354 + 20 +4.962153543307086 + 30 +0.0 + 10 +2.198472440944882 + 20 +4.97709842519685 + 30 +0.0 + 10 +2.198472440944882 + 20 +4.97709842519685 + 30 +0.0 + 10 +2.194248031496063 + 20 +4.986874015748032 + 30 +0.0 + 10 +2.185527559055118 + 20 +5.003153543307087 + 30 +0.0 + 10 +2.172248031496063 + 20 +5.025933070866142 + 30 +0.0 + 10 +2.172248031496063 + 20 +5.025933070866142 + 30 +0.0 + 10 +2.172248031496063 + 20 +5.025933070866142 + 30 +0.0 + 10 +2.193248031496063 + 20 +5.025933070866142 + 30 +0.0 + 10 +2.193248031496063 + 20 +5.025933070866142 + 30 +0.0 + 10 +2.193248031496063 + 20 +5.025933070866142 + 30 +0.0 + 10 +2.213637795275591 + 20 +4.998708661417322 + 30 +0.0 + 10 +2.228748031496063 + 20 +4.971374015748031 + 30 +0.0 + 10 +2.238527559055118 + 20 +4.943929133858267 + 30 +0.0 + 10 +2.238527559055118 + 20 +4.943929133858267 + 30 +0.0 + 10 +2.24686220472441 + 20 +4.920263779527559 + 30 +0.0 + 10 +2.251027559055118 + 20 +4.895543307086614 + 30 +0.0 + 10 +2.251027559055118 + 20 +4.869708661417323 + 30 +0.0 + 10 +2.251027559055118 + 20 +4.869708661417323 + 30 +0.0 + 10 +2.251027559055118 + 20 +4.840374015748031 + 30 +0.0 + 10 +2.245417322834645 + 20 +4.812098425196851 + 30 +0.0 + 10 +2.234192913385827 + 20 +4.784708661417323 + 30 +0.0 + 10 +2.234192913385827 + 20 +4.784708661417323 + 30 +0.0 + 10 +2.222972440944882 + 20 +4.757374015748032 + 30 +0.0 + 10 +2.209307086614173 + 20 +4.733484251968504 + 30 +0.0 + 10 +2.193248031496063 + 20 +4.713098425196851 + 30 +0.0 + 0 +SPLINE + 5 +18C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.824870078740157 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.824870078740157 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.080086614173228 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.410106299212599 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.599082677165354 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.102149606299212 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.035220472440945 + 30 +0.0 + 10 +2.929102362204724 + 20 +3.035220472440945 + 30 +0.0 + 10 +3.184318897637795 + 20 +3.035220472440945 + 30 +0.0 + 10 +3.184318897637795 + 20 +3.035220472440945 + 30 +0.0 + 10 +3.184318897637795 + 20 +3.035220472440945 + 30 +0.0 + 10 +3.184318897637795 + 20 +3.035220472440945 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.832464566929134 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.554905511811024 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.365929133858268 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.251248031496063 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.184318897637795 + 20 +2.161204724409449 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.972228346456693 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.767503937007874 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.578527559055118 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.373803149606299 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.184318897637795 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.251248031496063 + 20 +1.184826771653543 + 30 +0.0 + 10 +3.251248031496063 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.251248031496063 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.251248031496063 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.251248031496063 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.907267716535433 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.704511811023622 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.704511811023622 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.704511811023622 + 30 +0.0 + 10 +3.184318897637795 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.929102362204724 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.599082677165354 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.410106299212599 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.6375826771653543 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.704511811023622 + 30 +0.0 + 10 +2.080086614173228 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.704511811023622 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.824870078740157 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.75794094488189 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.75794094488189 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.75794094488189 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.75794094488189 + 20 +0.907267716535433 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.184826771653543 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.373803149606299 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.578527559055118 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.767503937007874 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.75794094488189 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.824870078740157 + 20 +1.972228346456693 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.161204724409449 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.365929133858268 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.554905511811024 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.75794094488189 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.824870078740157 + 20 +2.832464566929134 + 30 +0.0 + 10 +1.824870078740157 + 20 +3.035220472440945 + 30 +0.0 + 10 +1.824870078740157 + 20 +3.035220472440945 + 30 +0.0 + 0 +ELLIPSE + 5 +18D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +2.505263779527559 + 20 +1.717251968503937 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +SPLINE + 5 +18E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.891992125984252 + 20 +3.459574803149606 + 30 +0.0 + 10 +1.891992125984252 + 20 +3.47938188976378 + 30 +0.0 + 10 +1.897299212598425 + 20 +3.494881889763779 + 30 +0.0 + 10 +1.907937007874016 + 20 +3.506074803149606 + 30 +0.0 + 10 +1.907937007874016 + 20 +3.506074803149606 + 30 +0.0 + 10 +1.918574803149606 + 20 +3.517267716535433 + 30 +0.0 + 10 +1.932299212598425 + 20 +3.522881889763779 + 30 +0.0 + 10 +1.949129921259843 + 20 +3.522881889763779 + 30 +0.0 + 10 +1.949129921259843 + 20 +3.522881889763779 + 30 +0.0 + 10 +1.960129921259842 + 20 +3.522881889763779 + 30 +0.0 + 10 +1.970074803149606 + 20 +3.520240157480315 + 30 +0.0 + 10 +1.978909448818898 + 20 +3.514992125984252 + 30 +0.0 + 10 +1.978909448818898 + 20 +3.514992125984252 + 30 +0.0 + 10 +1.987740157480315 + 20 +3.509712598425197 + 30 +0.0 + 10 +1.994492125984252 + 20 +3.50238188976378 + 30 +0.0 + 10 +1.999129921259843 + 20 +3.492964566929134 + 30 +0.0 + 10 +1.999129921259843 + 20 +3.492964566929134 + 30 +0.0 + 10 +2.003767716535433 + 20 +3.483574803149606 + 30 +0.0 + 10 +2.006074803149606 + 20 +3.47288188976378 + 30 +0.0 + 10 +2.006074803149606 + 20 +3.460964566929134 + 30 +0.0 + 10 +2.006074803149606 + 20 +3.460964566929134 + 30 +0.0 + 10 +2.006074803149606 + 20 +3.448854330708661 + 30 +0.0 + 10 +2.003657480314961 + 20 +3.43801968503937 + 30 +0.0 + 10 +1.998767716535433 + 20 +3.428492125984252 + 30 +0.0 + 10 +1.998767716535433 + 20 +3.428492125984252 + 30 +0.0 + 10 +1.99388188976378 + 20 +3.418937007874016 + 30 +0.0 + 10 +1.986964566929134 + 20 +3.411712598425197 + 30 +0.0 + 10 +1.97801968503937 + 20 +3.406799212598425 + 30 +0.0 + 10 +1.97801968503937 + 20 +3.406799212598425 + 30 +0.0 + 10 +1.969047244094488 + 20 +3.401881889763779 + 30 +0.0 + 10 +1.959409448818898 + 20 +3.399437007874016 + 30 +0.0 + 10 +1.949047244094488 + 20 +3.399437007874016 + 30 +0.0 + 10 +1.949047244094488 + 20 +3.399437007874016 + 30 +0.0 + 10 +1.937799212598425 + 20 +3.399437007874016 + 30 +0.0 + 10 +1.927771653543307 + 20 +3.402129921259843 + 30 +0.0 + 10 +1.918937007874016 + 20 +3.407574803149606 + 30 +0.0 + 10 +1.918937007874016 + 20 +3.407574803149606 + 30 +0.0 + 10 +1.910074803149606 + 20 +3.412992125984252 + 30 +0.0 + 10 +1.90338188976378 + 20 +3.420409448818898 + 30 +0.0 + 10 +1.898826771653543 + 20 +3.429799212598425 + 30 +0.0 + 10 +1.898826771653543 + 20 +3.429799212598425 + 30 +0.0 + 10 +1.894271653543307 + 20 +3.43915748031496 + 30 +0.0 + 10 +1.891992125984252 + 20 +3.449102362204724 + 30 +0.0 + 10 +1.891992125984252 + 20 +3.459574803149606 + 30 +0.0 + 0 +SPLINE + 5 +18F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.908271653543307 + 20 +3.459326771653543 + 30 +0.0 + 10 +1.908271653543307 + 20 +3.444937007874016 + 30 +0.0 + 10 +1.912129921259843 + 20 +3.433629921259842 + 30 +0.0 + 10 +1.919854330708662 + 20 +3.425354330708661 + 30 +0.0 + 10 +1.919854330708662 + 20 +3.425354330708661 + 30 +0.0 + 10 +1.927602362204724 + 20 +3.417074803149606 + 30 +0.0 + 10 +1.937299212598425 + 20 +3.412937007874016 + 30 +0.0 + 10 +1.948964566929134 + 20 +3.412937007874016 + 30 +0.0 + 10 +1.948964566929134 + 20 +3.412937007874016 + 30 +0.0 + 10 +1.960854330708661 + 20 +3.412937007874016 + 30 +0.0 + 10 +1.970629921259843 + 20 +3.417102362204724 + 30 +0.0 + 10 +1.978299212598425 + 20 +3.425464566929134 + 30 +0.0 + 10 +1.978299212598425 + 20 +3.425464566929134 + 30 +0.0 + 10 +1.985964566929134 + 20 +3.433826771653543 + 30 +0.0 + 10 +1.989826771653543 + 20 +3.445685039370079 + 30 +0.0 + 10 +1.989826771653543 + 20 +3.461047244094488 + 30 +0.0 + 10 +1.989826771653543 + 20 +3.461047244094488 + 30 +0.0 + 10 +1.989826771653543 + 20 +3.470740157480315 + 30 +0.0 + 10 +1.988157480314961 + 20 +3.479212598425197 + 30 +0.0 + 10 +1.984881889763779 + 20 +3.486464566929134 + 30 +0.0 + 10 +1.984881889763779 + 20 +3.486464566929134 + 30 +0.0 + 10 +1.981602362204724 + 20 +3.493712598425197 + 30 +0.0 + 10 +1.976799212598425 + 20 +3.499326771653543 + 30 +0.0 + 10 +1.970492125984252 + 20 +3.503326771653543 + 30 +0.0 + 10 +1.970492125984252 + 20 +3.503326771653543 + 30 +0.0 + 10 +1.964157480314961 + 20 +3.507295275590551 + 30 +0.0 + 10 +1.957074803149606 + 20 +3.509295275590551 + 30 +0.0 + 10 +1.949212598425197 + 20 +3.509295275590551 + 30 +0.0 + 10 +1.949212598425197 + 20 +3.509295275590551 + 30 +0.0 + 10 +1.93801968503937 + 20 +3.509295275590551 + 30 +0.0 + 10 +1.928409448818898 + 20 +3.505464566929134 + 30 +0.0 + 10 +1.920354330708661 + 20 +3.497767716535433 + 30 +0.0 + 10 +1.920354330708661 + 20 +3.497767716535433 + 30 +0.0 + 10 +1.912299212598425 + 20 +3.490102362204724 + 30 +0.0 + 10 +1.908271653543307 + 20 +3.477267716535433 + 30 +0.0 + 10 +1.908271653543307 + 20 +3.459326771653543 + 30 +0.0 + 0 +SPLINE + 5 +190 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 28 + 73 + 24 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.025767716535433 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.041574803149606 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.100322834645669 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.025767716535433 + 20 +3.401464566929134 + 30 +0.0 + 0 +SPLINE + 5 +191 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.11946062992126 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.205712598425197 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.470157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.201240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.456157480314961 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.135240157480315 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.208488188976378 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.11946062992126 + 20 +3.401464566929134 + 30 +0.0 + 0 +SPLINE + 5 +192 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.230295275590551 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.271377952755905 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.271377952755905 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.271377952755905 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.280653543307086 + 20 +3.520767716535433 + 30 +0.0 + 10 +2.287736220472441 + 20 +3.520185039370079 + 30 +0.0 + 10 +2.292625984251969 + 20 +3.519047244094488 + 30 +0.0 + 10 +2.292625984251969 + 20 +3.519047244094488 + 30 +0.0 + 10 +2.29946062992126 + 20 +3.517492125984252 + 30 +0.0 + 10 +2.305295275590551 + 20 +3.514629921259842 + 30 +0.0 + 10 +2.310125984251969 + 20 +3.51051968503937 + 30 +0.0 + 10 +2.310125984251969 + 20 +3.51051968503937 + 30 +0.0 + 10 +2.316405511811024 + 20 +3.505185039370079 + 30 +0.0 + 10 +2.321125984251969 + 20 +3.498409448818898 + 30 +0.0 + 10 +2.324236220472441 + 20 +3.490129921259843 + 30 +0.0 + 10 +2.324236220472441 + 20 +3.490129921259843 + 30 +0.0 + 10 +2.327377952755906 + 20 +3.481854330708662 + 30 +0.0 + 10 +2.328933070866142 + 20 +3.472409448818897 + 30 +0.0 + 10 +2.328933070866142 + 20 +3.461767716535433 + 30 +0.0 + 10 +2.328933070866142 + 20 +3.461767716535433 + 30 +0.0 + 10 +2.328933070866142 + 20 +3.452712598425197 + 30 +0.0 + 10 +2.327877952755906 + 20 +3.444685039370079 + 30 +0.0 + 10 +2.325736220472441 + 20 +3.437685039370079 + 30 +0.0 + 10 +2.325736220472441 + 20 +3.437685039370079 + 30 +0.0 + 10 +2.323625984251969 + 20 +3.430685039370079 + 30 +0.0 + 10 +2.320933070866142 + 20 +3.42488188976378 + 30 +0.0 + 10 +2.31759842519685 + 20 +3.420299212598425 + 30 +0.0 + 10 +2.31759842519685 + 20 +3.420299212598425 + 30 +0.0 + 10 +2.314295275590551 + 20 +3.415712598425197 + 30 +0.0 + 10 +2.310681102362205 + 20 +3.412102362204724 + 30 +0.0 + 10 +2.306736220472441 + 20 +3.409492125984252 + 30 +0.0 + 10 +2.306736220472441 + 20 +3.409492125984252 + 30 +0.0 + 10 +2.302822834645669 + 20 +3.406854330708661 + 30 +0.0 + 10 +2.298070866141732 + 20 +3.404854330708662 + 30 +0.0 + 10 +2.292515748031496 + 20 +3.403492125984252 + 30 +0.0 + 10 +2.292515748031496 + 20 +3.403492125984252 + 30 +0.0 + 10 +2.286933070866142 + 20 +3.402129921259843 + 30 +0.0 + 10 +2.280543307086614 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.273350393700787 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.273350393700787 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.273350393700787 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.401464566929134 + 30 +0.0 + 10 +2.230295275590551 + 20 +3.401464566929134 + 30 +0.0 + 0 +SPLINE + 5 +193 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.246070866141732 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.271543307086614 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.271543307086614 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.271543307086614 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.279405511811023 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.28559842519685 + 20 +3.416271653543307 + 30 +0.0 + 10 +2.290070866141732 + 20 +3.417744094488189 + 30 +0.0 + 10 +2.290070866141732 + 20 +3.417744094488189 + 30 +0.0 + 10 +2.294543307086614 + 20 +3.419212598425197 + 30 +0.0 + 10 +2.298098425196851 + 20 +3.421271653543307 + 30 +0.0 + 10 +2.300767716535433 + 20 +3.423937007874016 + 30 +0.0 + 10 +2.300767716535433 + 20 +3.423937007874016 + 30 +0.0 + 10 +2.304515748031496 + 20 +3.427657480314961 + 30 +0.0 + 10 +2.307433070866142 + 20 +3.432712598425197 + 30 +0.0 + 10 +2.309515748031496 + 20 +3.43901968503937 + 30 +0.0 + 10 +2.309515748031496 + 20 +3.43901968503937 + 30 +0.0 + 10 +2.31159842519685 + 20 +3.445354330708661 + 30 +0.0 + 10 +2.312653543307087 + 20 +3.452992125984252 + 30 +0.0 + 10 +2.312653543307087 + 20 +3.46201968503937 + 30 +0.0 + 10 +2.312653543307087 + 20 +3.46201968503937 + 30 +0.0 + 10 +2.312653543307087 + 20 +3.474492125984252 + 30 +0.0 + 10 +2.31059842519685 + 20 +3.484074803149606 + 30 +0.0 + 10 +2.306515748031496 + 20 +3.490767716535433 + 30 +0.0 + 10 +2.306515748031496 + 20 +3.490767716535433 + 30 +0.0 + 10 +2.302405511811024 + 20 +3.497492125984252 + 30 +0.0 + 10 +2.297433070866142 + 20 +3.501964566929134 + 30 +0.0 + 10 +2.291570866141732 + 20 +3.504240157480315 + 30 +0.0 + 10 +2.291570866141732 + 20 +3.504240157480315 + 30 +0.0 + 10 +2.287350393700788 + 20 +3.50588188976378 + 30 +0.0 + 10 +2.280515748031496 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.271153543307086 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.271153543307086 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.271153543307086 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.506685039370079 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.415547244094488 + 30 +0.0 + 10 +2.246070866141732 + 20 +3.415547244094488 + 30 +0.0 + 0 +SPLINE + 5 +194 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.922909448818898 + 20 +3.180188976377953 + 30 +0.0 + 10 +1.914826771653543 + 20 +3.190381889763779 + 30 +0.0 + 10 +1.907992125984252 + 20 +3.202326771653544 + 30 +0.0 + 10 +1.902409448818898 + 20 +3.215992125984252 + 30 +0.0 + 10 +1.902409448818898 + 20 +3.215992125984252 + 30 +0.0 + 10 +1.896826771653543 + 20 +3.229688976377953 + 30 +0.0 + 10 +1.89401968503937 + 20 +3.243826771653543 + 30 +0.0 + 10 +1.89401968503937 + 20 +3.258492125984252 + 30 +0.0 + 10 +1.89401968503937 + 20 +3.258492125984252 + 30 +0.0 + 10 +1.89401968503937 + 20 +3.271409448818898 + 30 +0.0 + 10 +1.896102362204724 + 20 +3.283771653543307 + 30 +0.0 + 10 +1.900299212598425 + 20 +3.295606299212599 + 30 +0.0 + 10 +1.900299212598425 + 20 +3.295606299212599 + 30 +0.0 + 10 +1.905185039370079 + 20 +3.309326771653543 + 30 +0.0 + 10 +1.912712598425197 + 20 +3.322992125984252 + 30 +0.0 + 10 +1.922909448818898 + 20 +3.336602362204725 + 30 +0.0 + 10 +1.922909448818898 + 20 +3.336602362204725 + 30 +0.0 + 10 +1.922909448818898 + 20 +3.336602362204725 + 30 +0.0 + 10 +1.933409448818898 + 20 +3.336602362204725 + 30 +0.0 + 10 +1.933409448818898 + 20 +3.336602362204725 + 30 +0.0 + 10 +1.933409448818898 + 20 +3.336602362204725 + 30 +0.0 + 10 +1.926854330708661 + 20 +3.325326771653543 + 30 +0.0 + 10 +1.92251968503937 + 20 +3.317271653543307 + 30 +0.0 + 10 +1.920409448818898 + 20 +3.312437007874016 + 30 +0.0 + 10 +1.920409448818898 + 20 +3.312437007874016 + 30 +0.0 + 10 +1.917074803149606 + 20 +3.304964566929134 + 30 +0.0 + 10 +1.914492125984252 + 20 +3.297133858267717 + 30 +0.0 + 10 +1.912574803149606 + 20 +3.288992125984252 + 30 +0.0 + 10 +1.912574803149606 + 20 +3.288992125984252 + 30 +0.0 + 10 +1.910244094488189 + 20 +3.278854330708661 + 30 +0.0 + 10 +1.909074803149606 + 20 +3.268661417322835 + 30 +0.0 + 10 +1.909074803149606 + 20 +3.258409448818897 + 30 +0.0 + 10 +1.909074803149606 + 20 +3.258409448818897 + 30 +0.0 + 10 +1.909074803149606 + 20 +3.232299212598425 + 30 +0.0 + 10 +1.917185039370079 + 20 +3.206244094488189 + 30 +0.0 + 10 +1.933409448818898 + 20 +3.180188976377953 + 30 +0.0 + 10 +1.933409448818898 + 20 +3.180188976377953 + 30 +0.0 + 10 +1.933409448818898 + 20 +3.180188976377953 + 30 +0.0 + 10 +1.922909448818898 + 20 +3.180188976377953 + 30 +0.0 + 10 +1.922909448818898 + 20 +3.180188976377953 + 30 +0.0 + 0 +SPLINE + 5 +195 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.982409448818898 + 20 +3.22838188976378 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.22838188976378 + 30 +0.0 + 10 +1.98451968503937 + 20 +3.215437007874016 + 30 +0.0 + 10 +1.98451968503937 + 20 +3.215437007874016 + 30 +0.0 + 10 +1.98451968503937 + 20 +3.215437007874016 + 30 +0.0 + 10 +1.980409448818898 + 20 +3.21457874015748 + 30 +0.0 + 10 +1.976712598425197 + 20 +3.214133858267716 + 30 +0.0 + 10 +1.973464566929134 + 20 +3.214133858267716 + 30 +0.0 + 10 +1.973464566929134 + 20 +3.214133858267716 + 30 +0.0 + 10 +1.968129921259842 + 20 +3.214133858267716 + 30 +0.0 + 10 +1.96401968503937 + 20 +3.214964566929134 + 30 +0.0 + 10 +1.961074803149606 + 20 +3.216661417322835 + 30 +0.0 + 10 +1.961074803149606 + 20 +3.216661417322835 + 30 +0.0 + 10 +1.958157480314961 + 20 +3.218326771653544 + 30 +0.0 + 10 +1.956102362204724 + 20 +3.220551181102362 + 30 +0.0 + 10 +1.954909448818898 + 20 +3.223299212598425 + 30 +0.0 + 10 +1.954909448818898 + 20 +3.223299212598425 + 30 +0.0 + 10 +1.953716535433071 + 20 +3.22601968503937 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.231799212598425 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.24057874015748 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.24057874015748 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.24057874015748 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.942354330708661 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.323102362204724 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.323102362204724 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.323102362204724 + 30 +0.0 + 10 +1.953102362204724 + 20 +3.323102362204724 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.33188188976378 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.33188188976378 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.33188188976378 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.33188188976378 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.290299212598425 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.239771653543307 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.239771653543307 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.239771653543307 + 30 +0.0 + 10 +1.967685039370079 + 20 +3.23557874015748 + 30 +0.0 + 10 +1.967937007874016 + 20 +3.232909448818898 + 30 +0.0 + 10 +1.968437007874016 + 20 +3.231716535433071 + 30 +0.0 + 10 +1.968437007874016 + 20 +3.231716535433071 + 30 +0.0 + 10 +1.968964566929134 + 20 +3.23051968503937 + 30 +0.0 + 10 +1.969799212598425 + 20 +3.22957874015748 + 30 +0.0 + 10 +1.970964566929134 + 20 +3.228854330708661 + 30 +0.0 + 10 +1.970964566929134 + 20 +3.228854330708661 + 30 +0.0 + 10 +1.972129921259842 + 20 +3.228161417322835 + 30 +0.0 + 10 +1.973799212598425 + 20 +3.227799212598425 + 30 +0.0 + 10 +1.975964566929134 + 20 +3.227799212598425 + 30 +0.0 + 10 +1.975964566929134 + 20 +3.227799212598425 + 30 +0.0 + 10 +1.977602362204725 + 20 +3.227799212598425 + 30 +0.0 + 10 +1.979744094488189 + 20 +3.227992125984252 + 30 +0.0 + 10 +1.982409448818898 + 20 +3.22838188976378 + 30 +0.0 + 0 +SPLINE + 5 +196 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.99657874015748 + 20 +3.215271653543307 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.215271653543307 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.301688976377953 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.288606299212598 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.288606299212598 + 30 +0.0 + 10 +2.009744094488189 + 20 +3.288606299212598 + 30 +0.0 + 10 +2.013106299212598 + 20 +3.294716535433071 + 30 +0.0 + 10 +2.016216535433071 + 20 +3.298771653543307 + 30 +0.0 + 10 +2.01907874015748 + 20 +3.300716535433071 + 30 +0.0 + 10 +2.01907874015748 + 20 +3.300716535433071 + 30 +0.0 + 10 +2.021909448818898 + 20 +3.302661417322835 + 30 +0.0 + 10 +2.025051181102362 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.028464566929134 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.028464566929134 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.033409448818898 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.038409448818898 + 20 +3.302074803149606 + 30 +0.0 + 10 +2.04351968503937 + 20 +3.298937007874016 + 30 +0.0 + 10 +2.04351968503937 + 20 +3.298937007874016 + 30 +0.0 + 10 +2.04351968503937 + 20 +3.298937007874016 + 30 +0.0 + 10 +2.038464566929134 + 20 +3.285326771653543 + 30 +0.0 + 10 +2.038464566929134 + 20 +3.285326771653543 + 30 +0.0 + 10 +2.038464566929134 + 20 +3.285326771653543 + 30 +0.0 + 10 +2.034909448818897 + 20 +3.287464566929134 + 30 +0.0 + 10 +2.031326771653543 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.027744094488189 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.027744094488189 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.02451968503937 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.021661417322834 + 20 +3.287547244094488 + 30 +0.0 + 10 +2.019106299212599 + 20 +3.285633858267717 + 30 +0.0 + 10 +2.019106299212599 + 20 +3.285633858267717 + 30 +0.0 + 10 +2.016551181102362 + 20 +3.283688976377953 + 30 +0.0 + 10 +2.014744094488189 + 20 +3.28101968503937 + 30 +0.0 + 10 +2.013661417322834 + 20 +3.277606299212598 + 30 +0.0 + 10 +2.013661417322834 + 20 +3.277606299212598 + 30 +0.0 + 10 +2.012023622047244 + 20 +3.272409448818898 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.266716535433071 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.26051968503937 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.26051968503937 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.26051968503937 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.011216535433071 + 20 +3.215271653543307 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.215271653543307 + 30 +0.0 + 10 +1.99657874015748 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +197 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.108633858267717 + 20 +3.225937007874016 + 30 +0.0 + 10 +2.103188976377953 + 20 +3.221326771653543 + 30 +0.0 + 10 +2.097964566929134 + 20 +3.21807874015748 + 30 +0.0 + 10 +2.092964566929134 + 20 +3.216161417322835 + 30 +0.0 + 10 +2.092964566929134 + 20 +3.216161417322835 + 30 +0.0 + 10 +2.087937007874016 + 20 +3.214271653543307 + 30 +0.0 + 10 +2.082551181102362 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.076799212598425 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.076799212598425 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.067299212598425 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.060023622047244 + 20 +3.215633858267716 + 30 +0.0 + 10 +2.054909448818897 + 20 +3.220271653543307 + 30 +0.0 + 10 +2.054909448818897 + 20 +3.220271653543307 + 30 +0.0 + 10 +2.049826771653543 + 20 +3.224909448818898 + 30 +0.0 + 10 +2.047271653543307 + 20 +3.230854330708661 + 30 +0.0 + 10 +2.047271653543307 + 20 +3.238051181102362 + 30 +0.0 + 10 +2.047271653543307 + 20 +3.238051181102362 + 30 +0.0 + 10 +2.047271653543307 + 20 +3.242299212598425 + 30 +0.0 + 10 +2.048216535433071 + 20 +3.246161417322835 + 30 +0.0 + 10 +2.050161417322835 + 20 +3.249661417322835 + 30 +0.0 + 10 +2.050161417322835 + 20 +3.249661417322835 + 30 +0.0 + 10 +2.05207874015748 + 20 +3.253161417322834 + 30 +0.0 + 10 +2.054606299212598 + 20 +3.255964566929134 + 30 +0.0 + 10 +2.057716535433071 + 20 +3.25807874015748 + 30 +0.0 + 10 +2.057716535433071 + 20 +3.25807874015748 + 30 +0.0 + 10 +2.060854330708661 + 20 +3.260188976377953 + 30 +0.0 + 10 +2.064354330708662 + 20 +3.261799212598425 + 30 +0.0 + 10 +2.068271653543307 + 20 +3.26288188976378 + 30 +0.0 + 10 +2.068271653543307 + 20 +3.26288188976378 + 30 +0.0 + 10 +2.071133858267717 + 20 +3.263633858267716 + 30 +0.0 + 10 +2.075464566929134 + 20 +3.26438188976378 + 30 +0.0 + 10 +2.081271653543307 + 20 +3.26507874015748 + 30 +0.0 + 10 +2.081271653543307 + 20 +3.26507874015748 + 30 +0.0 + 10 +2.093106299212598 + 20 +3.266492125984252 + 30 +0.0 + 10 +2.101826771653543 + 20 +3.268161417322835 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.270133858267716 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.270133858267716 + 30 +0.0 + 10 +2.107464566929134 + 20 +3.272133858267717 + 30 +0.0 + 10 +2.107492125984252 + 20 +3.273409448818898 + 30 +0.0 + 10 +2.107492125984252 + 20 +3.273937007874016 + 30 +0.0 + 10 +2.107492125984252 + 20 +3.273937007874016 + 30 +0.0 + 10 +2.107492125984252 + 20 +3.279909448818898 + 30 +0.0 + 10 +2.106106299212598 + 20 +3.284133858267717 + 30 +0.0 + 10 +2.103326771653543 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.103326771653543 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.099606299212598 + 20 +3.289881889763779 + 30 +0.0 + 10 +2.09401968503937 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.086661417322835 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.086661417322835 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.079771653543307 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.074688976377953 + 20 +3.290326771653543 + 30 +0.0 + 10 +2.07138188976378 + 20 +3.287909448818898 + 30 +0.0 + 10 +2.07138188976378 + 20 +3.287909448818898 + 30 +0.0 + 10 +2.068106299212598 + 20 +3.285492125984252 + 30 +0.0 + 10 +2.065688976377953 + 20 +3.281216535433071 + 30 +0.0 + 10 +2.064106299212598 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.064106299212598 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.064106299212598 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.049799212598425 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.049799212598425 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.049799212598425 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.051106299212599 + 20 +3.283161417322835 + 30 +0.0 + 10 +2.053244094488189 + 20 +3.288133858267717 + 30 +0.0 + 10 +2.056216535433071 + 20 +3.29188188976378 + 30 +0.0 + 10 +2.056216535433071 + 20 +3.29188188976378 + 30 +0.0 + 10 +2.059188976377953 + 20 +3.295661417322834 + 30 +0.0 + 10 +2.063523622047244 + 20 +3.298574803149606 + 30 +0.0 + 10 +2.069161417322835 + 20 +3.300602362204724 + 30 +0.0 + 10 +2.069161417322835 + 20 +3.300602362204724 + 30 +0.0 + 10 +2.074799212598425 + 20 +3.302633858267717 + 30 +0.0 + 10 +2.081326771653544 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.088771653543307 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.088771653543307 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.096161417322834 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.102133858267717 + 20 +3.302771653543307 + 30 +0.0 + 10 +2.106744094488189 + 20 +3.301047244094488 + 30 +0.0 + 10 +2.106744094488189 + 20 +3.301047244094488 + 30 +0.0 + 10 +2.111354330708661 + 20 +3.299299212598425 + 30 +0.0 + 10 +2.114744094488189 + 20 +3.297133858267717 + 30 +0.0 + 10 +2.116937007874016 + 20 +3.294492125984252 + 30 +0.0 + 10 +2.116937007874016 + 20 +3.294492125984252 + 30 +0.0 + 10 +2.119106299212599 + 20 +3.291854330708662 + 30 +0.0 + 10 +2.120606299212598 + 20 +3.288547244094488 + 30 +0.0 + 10 +2.121492125984252 + 20 +3.28451968503937 + 30 +0.0 + 10 +2.121492125984252 + 20 +3.28451968503937 + 30 +0.0 + 10 +2.121964566929134 + 20 +3.28201968503937 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.27751968503937 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.122216535433071 + 20 +3.237854330708661 + 30 +0.0 + 10 +2.12251968503937 + 20 +3.229244094488189 + 30 +0.0 + 10 +2.123161417322835 + 20 +3.225661417322835 + 30 +0.0 + 10 +2.123161417322835 + 20 +3.225661417322835 + 30 +0.0 + 10 +2.123771653543307 + 20 +3.222051181102362 + 30 +0.0 + 10 +2.12501968503937 + 20 +3.21857874015748 + 30 +0.0 + 10 +2.126854330708662 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.126854330708662 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.126854330708662 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.111547244094488 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.111547244094488 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.111547244094488 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.110047244094488 + 20 +3.218299212598425 + 30 +0.0 + 10 +2.109047244094488 + 20 +3.221854330708661 + 30 +0.0 + 10 +2.108633858267717 + 20 +3.225937007874016 + 30 +0.0 + 0 +SPLINE + 5 +198 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.107409448818898 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.10207874015748 + 20 +3.256464566929134 + 30 +0.0 + 10 +2.094106299212598 + 20 +3.254633858267717 + 30 +0.0 + 10 +2.083492125984252 + 20 +3.253106299212599 + 30 +0.0 + 10 +2.083492125984252 + 20 +3.253106299212599 + 30 +0.0 + 10 +2.077464566929134 + 20 +3.252244094488189 + 30 +0.0 + 10 +2.073188976377953 + 20 +3.251271653543307 + 30 +0.0 + 10 +2.070716535433071 + 20 +3.250188976377953 + 30 +0.0 + 10 +2.070716535433071 + 20 +3.250188976377953 + 30 +0.0 + 10 +2.068216535433071 + 20 +3.249106299212599 + 30 +0.0 + 10 +2.066271653543307 + 20 +3.24751968503937 + 30 +0.0 + 10 +2.064937007874016 + 20 +3.245409448818898 + 30 +0.0 + 10 +2.064937007874016 + 20 +3.245409448818898 + 30 +0.0 + 10 +2.06357874015748 + 20 +3.243326771653543 + 30 +0.0 + 10 +2.06288188976378 + 20 +3.24101968503937 + 30 +0.0 + 10 +2.06288188976378 + 20 +3.238464566929134 + 30 +0.0 + 10 +2.06288188976378 + 20 +3.238464566929134 + 30 +0.0 + 10 +2.06288188976378 + 20 +3.234551181102362 + 30 +0.0 + 10 +2.06438188976378 + 20 +3.231299212598425 + 30 +0.0 + 10 +2.067326771653543 + 20 +3.228688976377953 + 30 +0.0 + 10 +2.067326771653543 + 20 +3.228688976377953 + 30 +0.0 + 10 +2.070271653543307 + 20 +3.226106299212598 + 30 +0.0 + 10 +2.074606299212598 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.080299212598425 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.080299212598425 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.085937007874016 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.090964566929134 + 20 +3.22601968503937 + 30 +0.0 + 10 +2.095354330708661 + 20 +3.228492125984252 + 30 +0.0 + 10 +2.095354330708661 + 20 +3.228492125984252 + 30 +0.0 + 10 +2.099744094488189 + 20 +3.230964566929134 + 30 +0.0 + 10 +2.102992125984252 + 20 +3.234354330708662 + 30 +0.0 + 10 +2.105047244094488 + 20 +3.238633858267717 + 30 +0.0 + 10 +2.105047244094488 + 20 +3.238633858267717 + 30 +0.0 + 10 +2.106633858267716 + 20 +3.241937007874016 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.246826771653543 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.107409448818898 + 20 +3.258661417322835 + 30 +0.0 + 0 +SPLINE + 5 +199 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.144937007874016 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.289409448818898 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.289409448818898 + 30 +0.0 + 10 +2.158102362204724 + 20 +3.289409448818898 + 30 +0.0 + 10 +2.164464566929134 + 20 +3.298909448818898 + 30 +0.0 + 10 +2.173629921259843 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.185602362204724 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.185602362204724 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.190826771653543 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.195602362204724 + 20 +3.302716535433071 + 30 +0.0 + 10 +2.199964566929134 + 20 +3.300854330708662 + 30 +0.0 + 10 +2.199964566929134 + 20 +3.300854330708662 + 30 +0.0 + 10 +2.204354330708661 + 20 +3.298964566929134 + 30 +0.0 + 10 +2.207602362204724 + 20 +3.29651968503937 + 30 +0.0 + 10 +2.209771653543307 + 20 +3.293464566929134 + 30 +0.0 + 10 +2.209771653543307 + 20 +3.293464566929134 + 30 +0.0 + 10 +2.211964566929134 + 20 +3.290437007874016 + 30 +0.0 + 10 +2.213464566929134 + 20 +3.286826771653543 + 30 +0.0 + 10 +2.214354330708662 + 20 +3.282661417322835 + 30 +0.0 + 10 +2.214354330708662 + 20 +3.282661417322835 + 30 +0.0 + 10 +2.21488188976378 + 20 +3.279937007874016 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.275188976377953 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.268409448818898 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.268409448818898 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.268409448818898 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.215157480314961 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.267854330708662 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.267854330708662 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.267854330708662 + 30 +0.0 + 10 +2.200492125984252 + 20 +3.273799212598425 + 30 +0.0 + 10 +2.199937007874016 + 20 +3.278271653543307 + 30 +0.0 + 10 +2.198799212598425 + 20 +3.281244094488189 + 30 +0.0 + 10 +2.198799212598425 + 20 +3.281244094488189 + 30 +0.0 + 10 +2.197657480314961 + 20 +3.284188976377953 + 30 +0.0 + 10 +2.195629921259842 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.192740157480315 + 20 +3.288299212598425 + 30 +0.0 + 10 +2.192740157480315 + 20 +3.288299212598425 + 30 +0.0 + 10 +2.189826771653543 + 20 +3.290074803149606 + 30 +0.0 + 10 +2.186437007874016 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.18251968503937 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.18251968503937 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.176271653543307 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.170909448818898 + 20 +3.288964566929134 + 30 +0.0 + 10 +2.166354330708661 + 20 +3.28501968503937 + 30 +0.0 + 10 +2.166354330708661 + 20 +3.28501968503937 + 30 +0.0 + 10 +2.161826771653543 + 20 +3.281047244094488 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.273547244094488 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.262464566929134 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.262464566929134 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.262464566929134 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.159574803149606 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.144937007874016 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +19A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.231767716535433 + 20 +3.24107874015748 + 30 +0.0 + 10 +2.231767716535433 + 20 +3.24107874015748 + 30 +0.0 + 10 +2.246240157480315 + 20 +3.243354330708661 + 30 +0.0 + 10 +2.246240157480315 + 20 +3.243354330708661 + 30 +0.0 + 10 +2.246240157480315 + 20 +3.243354330708661 + 30 +0.0 + 10 +2.247047244094488 + 20 +3.237551181102362 + 30 +0.0 + 10 +2.249322834645669 + 20 +3.233106299212599 + 30 +0.0 + 10 +2.253047244094488 + 20 +3.229992125984252 + 30 +0.0 + 10 +2.253047244094488 + 20 +3.229992125984252 + 30 +0.0 + 10 +2.256740157480315 + 20 +3.226909448818898 + 30 +0.0 + 10 +2.261937007874016 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.268629921259842 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.268629921259842 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.275350393700788 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.280350393700787 + 20 +3.226744094488189 + 30 +0.0 + 10 +2.283602362204725 + 20 +3.229464566929134 + 30 +0.0 + 10 +2.283602362204725 + 20 +3.229464566929134 + 30 +0.0 + 10 +2.286850393700787 + 20 +3.232216535433071 + 30 +0.0 + 10 +2.288492125984252 + 20 +3.235437007874016 + 30 +0.0 + 10 +2.288492125984252 + 20 +3.239106299212598 + 30 +0.0 + 10 +2.288492125984252 + 20 +3.239106299212598 + 30 +0.0 + 10 +2.288492125984252 + 20 +3.242437007874016 + 30 +0.0 + 10 +2.287047244094488 + 20 +3.24501968503937 + 30 +0.0 + 10 +2.284157480314961 + 20 +3.246937007874016 + 30 +0.0 + 10 +2.284157480314961 + 20 +3.246937007874016 + 30 +0.0 + 10 +2.28215748031496 + 20 +3.248244094488189 + 30 +0.0 + 10 +2.277157480314961 + 20 +3.249881889763779 + 30 +0.0 + 10 +2.269185039370079 + 20 +3.25188188976378 + 30 +0.0 + 10 +2.269185039370079 + 20 +3.25188188976378 + 30 +0.0 + 10 +2.258464566929134 + 20 +3.254606299212599 + 30 +0.0 + 10 +2.250992125984252 + 20 +3.256937007874016 + 30 +0.0 + 10 +2.246850393700787 + 20 +3.258937007874016 + 30 +0.0 + 10 +2.246850393700787 + 20 +3.258937007874016 + 30 +0.0 + 10 +2.242712598425197 + 20 +3.260909448818897 + 30 +0.0 + 10 +2.239547244094488 + 20 +3.263661417322834 + 30 +0.0 + 10 +2.237409448818898 + 20 +3.267161417322835 + 30 +0.0 + 10 +2.237409448818898 + 20 +3.267161417322835 + 30 +0.0 + 10 +2.235267716535433 + 20 +3.270661417322835 + 30 +0.0 + 10 +2.234185039370079 + 20 +3.27451968503937 + 30 +0.0 + 10 +2.234185039370079 + 20 +3.278744094488189 + 30 +0.0 + 10 +2.234185039370079 + 20 +3.278744094488189 + 30 +0.0 + 10 +2.234185039370079 + 20 +3.282606299212599 + 30 +0.0 + 10 +2.235074803149606 + 20 +3.286161417322835 + 30 +0.0 + 10 +2.236850393700788 + 20 +3.289437007874016 + 30 +0.0 + 10 +2.236850393700788 + 20 +3.289437007874016 + 30 +0.0 + 10 +2.238602362204724 + 20 +3.292744094488189 + 30 +0.0 + 10 +2.24101968503937 + 20 +3.295464566929134 + 30 +0.0 + 10 +2.244047244094488 + 20 +3.297633858267717 + 30 +0.0 + 10 +2.244047244094488 + 20 +3.297633858267717 + 30 +0.0 + 10 +2.246322834645669 + 20 +3.299299212598425 + 30 +0.0 + 10 +2.249437007874016 + 20 +3.300744094488189 + 30 +0.0 + 10 +2.253350393700787 + 20 +3.301909448818898 + 30 +0.0 + 10 +2.253350393700787 + 20 +3.301909448818898 + 30 +0.0 + 10 +2.257295275590551 + 20 +3.303074803149606 + 30 +0.0 + 10 +2.26151968503937 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.26601968503937 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.26601968503937 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.272795275590551 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.278740157480315 + 20 +3.302661417322835 + 30 +0.0 + 10 +2.283877952755906 + 20 +3.300716535433071 + 30 +0.0 + 10 +2.283877952755906 + 20 +3.300716535433071 + 30 +0.0 + 10 +2.28901968503937 + 20 +3.298771653543307 + 30 +0.0 + 10 +2.292795275590551 + 20 +3.296133858267717 + 30 +0.0 + 10 +2.295240157480315 + 20 +3.292799212598425 + 30 +0.0 + 10 +2.295240157480315 + 20 +3.292799212598425 + 30 +0.0 + 10 +2.297685039370079 + 20 +3.289437007874016 + 30 +0.0 + 10 +2.299350393700788 + 20 +3.284992125984252 + 30 +0.0 + 10 +2.300267716535433 + 20 +3.279409448818898 + 30 +0.0 + 10 +2.300267716535433 + 20 +3.279409448818898 + 30 +0.0 + 10 +2.300267716535433 + 20 +3.279409448818898 + 30 +0.0 + 10 +2.285964566929134 + 20 +3.277437007874016 + 30 +0.0 + 10 +2.285964566929134 + 20 +3.277437007874016 + 30 +0.0 + 10 +2.285964566929134 + 20 +3.277437007874016 + 30 +0.0 + 10 +2.285295275590551 + 20 +3.281881889763779 + 30 +0.0 + 10 +2.283405511811023 + 20 +3.285354330708661 + 30 +0.0 + 10 +2.280295275590551 + 20 +3.287854330708662 + 30 +0.0 + 10 +2.280295275590551 + 20 +3.287854330708662 + 30 +0.0 + 10 +2.277185039370079 + 20 +3.290354330708662 + 30 +0.0 + 10 +2.272767716535433 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.267074803149606 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.267074803149606 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.260350393700787 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.255547244094488 + 20 +3.290492125984252 + 30 +0.0 + 10 +2.252685039370079 + 20 +3.288271653543307 + 30 +0.0 + 10 +2.252685039370079 + 20 +3.288271653543307 + 30 +0.0 + 10 +2.249795275590551 + 20 +3.286047244094488 + 30 +0.0 + 10 +2.248350393700787 + 20 +3.283437007874016 + 30 +0.0 + 10 +2.248350393700787 + 20 +3.280464566929134 + 30 +0.0 + 10 +2.248350393700787 + 20 +3.280464566929134 + 30 +0.0 + 10 +2.248350393700787 + 20 +3.278547244094488 + 30 +0.0 + 10 +2.248964566929134 + 20 +3.276854330708662 + 30 +0.0 + 10 +2.25015748031496 + 20 +3.275326771653543 + 30 +0.0 + 10 +2.25015748031496 + 20 +3.275326771653543 + 30 +0.0 + 10 +2.251350393700787 + 20 +3.273744094488189 + 30 +0.0 + 10 +2.253212598425197 + 20 +3.272464566929134 + 30 +0.0 + 10 +2.255767716535433 + 20 +3.271409448818898 + 30 +0.0 + 10 +2.255767716535433 + 20 +3.271409448818898 + 30 +0.0 + 10 +2.257240157480315 + 20 +3.27088188976378 + 30 +0.0 + 10 +2.261547244094488 + 20 +3.269633858267717 + 30 +0.0 + 10 +2.268712598425197 + 20 +3.267688976377953 + 30 +0.0 + 10 +2.268712598425197 + 20 +3.267688976377953 + 30 +0.0 + 10 +2.279074803149606 + 20 +3.264909448818897 + 30 +0.0 + 10 +2.286295275590551 + 20 +3.262661417322835 + 30 +0.0 + 10 +2.290377952755906 + 20 +3.260881889763779 + 30 +0.0 + 10 +2.290377952755906 + 20 +3.260881889763779 + 30 +0.0 + 10 +2.294492125984252 + 20 +3.259133858267717 + 30 +0.0 + 10 +2.297712598425197 + 20 +3.256547244094488 + 30 +0.0 + 10 +2.300047244094488 + 20 +3.253188976377953 + 30 +0.0 + 10 +2.300047244094488 + 20 +3.253188976377953 + 30 +0.0 + 10 +2.302377952755906 + 20 +3.249826771653543 + 30 +0.0 + 10 +2.303547244094488 + 20 +3.245661417322835 + 30 +0.0 + 10 +2.303547244094488 + 20 +3.240661417322835 + 30 +0.0 + 10 +2.303547244094488 + 20 +3.240661417322835 + 30 +0.0 + 10 +2.303547244094488 + 20 +3.235771653543307 + 30 +0.0 + 10 +2.302102362204725 + 20 +3.231188976377953 + 30 +0.0 + 10 +2.299267716535433 + 20 +3.226854330708661 + 30 +0.0 + 10 +2.299267716535433 + 20 +3.226854330708661 + 30 +0.0 + 10 +2.296405511811024 + 20 +3.222551181102362 + 30 +0.0 + 10 +2.292295275590551 + 20 +3.219216535433071 + 30 +0.0 + 10 +2.286933070866142 + 20 +3.216854330708661 + 30 +0.0 + 10 +2.286933070866142 + 20 +3.216854330708661 + 30 +0.0 + 10 +2.281574803149606 + 20 +3.214492125984252 + 30 +0.0 + 10 +2.275492125984252 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.268712598425197 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.268712598425197 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.257464566929134 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.248909448818897 + 20 +3.215661417322835 + 30 +0.0 + 10 +2.24301968503937 + 20 +3.220326771653543 + 30 +0.0 + 10 +2.24301968503937 + 20 +3.220326771653543 + 30 +0.0 + 10 +2.237129921259843 + 20 +3.224992125984252 + 30 +0.0 + 10 +2.233377952755906 + 20 +3.231909448818898 + 30 +0.0 + 10 +2.231767716535433 + 20 +3.24107874015748 + 30 +0.0 + 0 +SPLINE + 5 +19B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.320964566929134 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.290464566929134 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.290464566929134 + 30 +0.0 + 10 +2.334299212598425 + 20 +3.290464566929134 + 30 +0.0 + 10 +2.337437007874016 + 20 +3.294854330708661 + 30 +0.0 + 10 +2.340992125984252 + 20 +3.298161417322835 + 30 +0.0 + 10 +2.344964566929134 + 20 +3.300354330708661 + 30 +0.0 + 10 +2.344964566929134 + 20 +3.300354330708661 + 30 +0.0 + 10 +2.348909448818898 + 20 +3.302547244094488 + 30 +0.0 + 10 +2.353712598425197 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.359354330708662 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.359354330708662 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.366740157480315 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.373240157480315 + 20 +3.301744094488189 + 30 +0.0 + 10 +2.378881889763779 + 20 +3.297964566929134 + 30 +0.0 + 10 +2.378881889763779 + 20 +3.297964566929134 + 30 +0.0 + 10 +2.384547244094488 + 20 +3.294161417322835 + 30 +0.0 + 10 +2.388799212598425 + 20 +3.288799212598425 + 30 +0.0 + 10 +2.391657480314961 + 20 +3.281881889763779 + 30 +0.0 + 10 +2.391657480314961 + 20 +3.281881889763779 + 30 +0.0 + 10 +2.394547244094488 + 20 +3.274964566929134 + 30 +0.0 + 10 +2.395992125984252 + 20 +3.267381889763779 + 30 +0.0 + 10 +2.395992125984252 + 20 +3.259133858267717 + 30 +0.0 + 10 +2.395992125984252 + 20 +3.259133858267717 + 30 +0.0 + 10 +2.395992125984252 + 20 +3.250299212598425 + 30 +0.0 + 10 +2.394409448818898 + 20 +3.242326771653543 + 30 +0.0 + 10 +2.391212598425197 + 20 +3.235244094488189 + 30 +0.0 + 10 +2.391212598425197 + 20 +3.235244094488189 + 30 +0.0 + 10 +2.388047244094488 + 20 +3.228161417322835 + 30 +0.0 + 10 +2.383437007874016 + 20 +3.222744094488189 + 30 +0.0 + 10 +2.37738188976378 + 20 +3.218964566929134 + 30 +0.0 + 10 +2.37738188976378 + 20 +3.218964566929134 + 30 +0.0 + 10 +2.371326771653543 + 20 +3.215216535433071 + 30 +0.0 + 10 +2.364964566929134 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.358299212598425 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.358299212598425 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.353409448818898 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.349047244094488 + 20 +3.214354330708662 + 30 +0.0 + 10 +2.345157480314961 + 20 +3.216409448818898 + 30 +0.0 + 10 +2.345157480314961 + 20 +3.216409448818898 + 30 +0.0 + 10 +2.341271653543307 + 20 +3.218464566929134 + 30 +0.0 + 10 +2.338102362204725 + 20 +3.221078740157481 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.224216535433071 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.224216535433071 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.224216535433071 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.335602362204725 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.182161417322835 + 30 +0.0 + 10 +2.320964566929134 + 20 +3.182161417322835 + 30 +0.0 + 0 +SPLINE + 5 +19C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.334212598425197 + 20 +3.257992125984252 + 30 +0.0 + 10 +2.334212598425197 + 20 +3.24688188976378 + 30 +0.0 + 10 +2.336464566929134 + 20 +3.238661417322835 + 30 +0.0 + 10 +2.340964566929134 + 20 +3.233326771653543 + 30 +0.0 + 10 +2.340964566929134 + 20 +3.233326771653543 + 30 +0.0 + 10 +2.345464566929134 + 20 +3.22801968503937 + 30 +0.0 + 10 +2.350937007874016 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.357326771653543 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.357326771653543 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.363826771653543 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.369409448818898 + 20 +3.228106299212599 + 30 +0.0 + 10 +2.374047244094488 + 20 +3.233633858267717 + 30 +0.0 + 10 +2.374047244094488 + 20 +3.233633858267717 + 30 +0.0 + 10 +2.378685039370079 + 20 +3.239133858267717 + 30 +0.0 + 10 +2.38101968503937 + 20 +3.247661417322835 + 30 +0.0 + 10 +2.38101968503937 + 20 +3.259216535433071 + 30 +0.0 + 10 +2.38101968503937 + 20 +3.259216535433071 + 30 +0.0 + 10 +2.38101968503937 + 20 +3.270244094488189 + 30 +0.0 + 10 +2.378740157480315 + 20 +3.278464566929134 + 30 +0.0 + 10 +2.374212598425197 + 20 +3.283964566929134 + 30 +0.0 + 10 +2.374212598425197 + 20 +3.283964566929134 + 30 +0.0 + 10 +2.369685039370079 + 20 +3.289437007874016 + 30 +0.0 + 10 +2.364271653543307 + 20 +3.292188976377953 + 30 +0.0 + 10 +2.357992125984252 + 20 +3.292188976377953 + 30 +0.0 + 10 +2.357992125984252 + 20 +3.292188976377953 + 30 +0.0 + 10 +2.351740157480315 + 20 +3.292188976377953 + 30 +0.0 + 10 +2.346212598425197 + 20 +3.289271653543307 + 30 +0.0 + 10 +2.341409448818898 + 20 +3.283437007874016 + 30 +0.0 + 10 +2.341409448818898 + 20 +3.283437007874016 + 30 +0.0 + 10 +2.336602362204725 + 20 +3.277606299212598 + 30 +0.0 + 10 +2.334212598425197 + 20 +3.269106299212599 + 30 +0.0 + 10 +2.334212598425197 + 20 +3.257992125984252 + 30 +0.0 + 0 +SPLINE + 5 +19D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.470047244094488 + 20 +3.225937007874016 + 30 +0.0 + 10 +2.464602362204725 + 20 +3.221326771653543 + 30 +0.0 + 10 +2.459377952755906 + 20 +3.21807874015748 + 30 +0.0 + 10 +2.454377952755905 + 20 +3.216161417322835 + 30 +0.0 + 10 +2.454377952755905 + 20 +3.216161417322835 + 30 +0.0 + 10 +2.449350393700787 + 20 +3.214271653543307 + 30 +0.0 + 10 +2.443964566929134 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.438212598425197 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.438212598425197 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.428712598425197 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.421437007874016 + 20 +3.215633858267716 + 30 +0.0 + 10 +2.416322834645669 + 20 +3.220271653543307 + 30 +0.0 + 10 +2.416322834645669 + 20 +3.220271653543307 + 30 +0.0 + 10 +2.411240157480315 + 20 +3.224909448818898 + 30 +0.0 + 10 +2.408685039370079 + 20 +3.230854330708661 + 30 +0.0 + 10 +2.408685039370079 + 20 +3.238051181102362 + 30 +0.0 + 10 +2.408685039370079 + 20 +3.238051181102362 + 30 +0.0 + 10 +2.408685039370079 + 20 +3.242299212598425 + 30 +0.0 + 10 +2.409629921259842 + 20 +3.246161417322835 + 30 +0.0 + 10 +2.411574803149606 + 20 +3.249661417322835 + 30 +0.0 + 10 +2.411574803149606 + 20 +3.249661417322835 + 30 +0.0 + 10 +2.413492125984252 + 20 +3.253161417322834 + 30 +0.0 + 10 +2.41601968503937 + 20 +3.255964566929134 + 30 +0.0 + 10 +2.419129921259842 + 20 +3.25807874015748 + 30 +0.0 + 10 +2.419129921259842 + 20 +3.25807874015748 + 30 +0.0 + 10 +2.422267716535433 + 20 +3.260188976377953 + 30 +0.0 + 10 +2.425767716535433 + 20 +3.261799212598425 + 30 +0.0 + 10 +2.429685039370079 + 20 +3.26288188976378 + 30 +0.0 + 10 +2.429685039370079 + 20 +3.26288188976378 + 30 +0.0 + 10 +2.432547244094488 + 20 +3.263633858267716 + 30 +0.0 + 10 +2.436877952755906 + 20 +3.26438188976378 + 30 +0.0 + 10 +2.442685039370079 + 20 +3.26507874015748 + 30 +0.0 + 10 +2.442685039370079 + 20 +3.26507874015748 + 30 +0.0 + 10 +2.45451968503937 + 20 +3.266492125984252 + 30 +0.0 + 10 +2.463240157480315 + 20 +3.268161417322835 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.270133858267716 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.270133858267716 + 30 +0.0 + 10 +2.468877952755906 + 20 +3.272133858267717 + 30 +0.0 + 10 +2.468905511811024 + 20 +3.273409448818898 + 30 +0.0 + 10 +2.468905511811024 + 20 +3.273937007874016 + 30 +0.0 + 10 +2.468905511811024 + 20 +3.273937007874016 + 30 +0.0 + 10 +2.468905511811024 + 20 +3.279909448818898 + 30 +0.0 + 10 +2.46751968503937 + 20 +3.284133858267717 + 30 +0.0 + 10 +2.464740157480315 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.464740157480315 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.46101968503937 + 20 +3.289881889763779 + 30 +0.0 + 10 +2.455433070866142 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.448074803149606 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.448074803149606 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.441185039370079 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.436102362204724 + 20 +3.290326771653543 + 30 +0.0 + 10 +2.432795275590551 + 20 +3.287909448818898 + 30 +0.0 + 10 +2.432795275590551 + 20 +3.287909448818898 + 30 +0.0 + 10 +2.42951968503937 + 20 +3.285492125984252 + 30 +0.0 + 10 +2.427102362204725 + 20 +3.281216535433071 + 30 +0.0 + 10 +2.42551968503937 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.42551968503937 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.42551968503937 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.411212598425197 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.411212598425197 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.411212598425197 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.41251968503937 + 20 +3.283161417322835 + 30 +0.0 + 10 +2.414657480314961 + 20 +3.288133858267717 + 30 +0.0 + 10 +2.417629921259842 + 20 +3.29188188976378 + 30 +0.0 + 10 +2.417629921259842 + 20 +3.29188188976378 + 30 +0.0 + 10 +2.420602362204725 + 20 +3.295661417322834 + 30 +0.0 + 10 +2.424937007874016 + 20 +3.298574803149606 + 30 +0.0 + 10 +2.430574803149606 + 20 +3.300602362204724 + 30 +0.0 + 10 +2.430574803149606 + 20 +3.300602362204724 + 30 +0.0 + 10 +2.436212598425197 + 20 +3.302633858267717 + 30 +0.0 + 10 +2.442740157480315 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.450185039370079 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.450185039370079 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.457574803149606 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.463547244094488 + 20 +3.302771653543307 + 30 +0.0 + 10 +2.468157480314961 + 20 +3.301047244094488 + 30 +0.0 + 10 +2.468157480314961 + 20 +3.301047244094488 + 30 +0.0 + 10 +2.472767716535433 + 20 +3.299299212598425 + 30 +0.0 + 10 +2.47615748031496 + 20 +3.297133858267717 + 30 +0.0 + 10 +2.478350393700787 + 20 +3.294492125984252 + 30 +0.0 + 10 +2.478350393700787 + 20 +3.294492125984252 + 30 +0.0 + 10 +2.48051968503937 + 20 +3.291854330708662 + 30 +0.0 + 10 +2.48201968503937 + 20 +3.288547244094488 + 30 +0.0 + 10 +2.482905511811023 + 20 +3.28451968503937 + 30 +0.0 + 10 +2.482905511811023 + 20 +3.28451968503937 + 30 +0.0 + 10 +2.483377952755906 + 20 +3.28201968503937 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.27751968503937 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.483629921259843 + 20 +3.237854330708661 + 30 +0.0 + 10 +2.483933070866142 + 20 +3.229244094488189 + 30 +0.0 + 10 +2.484574803149606 + 20 +3.225661417322835 + 30 +0.0 + 10 +2.484574803149606 + 20 +3.225661417322835 + 30 +0.0 + 10 +2.485185039370079 + 20 +3.222051181102362 + 30 +0.0 + 10 +2.486433070866142 + 20 +3.21857874015748 + 30 +0.0 + 10 +2.488267716535433 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.488267716535433 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.488267716535433 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.47296062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.47296062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.47296062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.47146062992126 + 20 +3.218299212598425 + 30 +0.0 + 10 +2.47046062992126 + 20 +3.221854330708661 + 30 +0.0 + 10 +2.470047244094488 + 20 +3.225937007874016 + 30 +0.0 + 0 +SPLINE + 5 +19E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.468822834645669 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.463492125984252 + 20 +3.256464566929134 + 30 +0.0 + 10 +2.45551968503937 + 20 +3.254633858267717 + 30 +0.0 + 10 +2.444905511811024 + 20 +3.253106299212599 + 30 +0.0 + 10 +2.444905511811024 + 20 +3.253106299212599 + 30 +0.0 + 10 +2.438877952755905 + 20 +3.252244094488189 + 30 +0.0 + 10 +2.434602362204724 + 20 +3.251271653543307 + 30 +0.0 + 10 +2.432129921259842 + 20 +3.250188976377953 + 30 +0.0 + 10 +2.432129921259842 + 20 +3.250188976377953 + 30 +0.0 + 10 +2.429629921259842 + 20 +3.249106299212599 + 30 +0.0 + 10 +2.427685039370079 + 20 +3.24751968503937 + 30 +0.0 + 10 +2.426350393700787 + 20 +3.245409448818898 + 30 +0.0 + 10 +2.426350393700787 + 20 +3.245409448818898 + 30 +0.0 + 10 +2.424992125984252 + 20 +3.243326771653543 + 30 +0.0 + 10 +2.424295275590551 + 20 +3.24101968503937 + 30 +0.0 + 10 +2.424295275590551 + 20 +3.238464566929134 + 30 +0.0 + 10 +2.424295275590551 + 20 +3.238464566929134 + 30 +0.0 + 10 +2.424295275590551 + 20 +3.234551181102362 + 30 +0.0 + 10 +2.425795275590551 + 20 +3.231299212598425 + 30 +0.0 + 10 +2.428740157480315 + 20 +3.228688976377953 + 30 +0.0 + 10 +2.428740157480315 + 20 +3.228688976377953 + 30 +0.0 + 10 +2.431685039370079 + 20 +3.226106299212598 + 30 +0.0 + 10 +2.43601968503937 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.441712598425197 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.441712598425197 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.447350393700787 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.452377952755906 + 20 +3.22601968503937 + 30 +0.0 + 10 +2.456767716535433 + 20 +3.228492125984252 + 30 +0.0 + 10 +2.456767716535433 + 20 +3.228492125984252 + 30 +0.0 + 10 +2.461157480314961 + 20 +3.230964566929134 + 30 +0.0 + 10 +2.464405511811024 + 20 +3.234354330708662 + 30 +0.0 + 10 +2.46646062992126 + 20 +3.238633858267717 + 30 +0.0 + 10 +2.46646062992126 + 20 +3.238633858267717 + 30 +0.0 + 10 +2.468047244094488 + 20 +3.241937007874016 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.246826771653543 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.468822834645669 + 20 +3.258661417322835 + 30 +0.0 + 0 +SPLINE + 5 +19F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.506185039370079 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.288606299212598 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.288606299212598 + 30 +0.0 + 10 +2.519350393700787 + 20 +3.288606299212598 + 30 +0.0 + 10 +2.522712598425197 + 20 +3.294716535433071 + 30 +0.0 + 10 +2.525822834645669 + 20 +3.298771653543307 + 30 +0.0 + 10 +2.528685039370079 + 20 +3.300716535433071 + 30 +0.0 + 10 +2.528685039370079 + 20 +3.300716535433071 + 30 +0.0 + 10 +2.531515748031496 + 20 +3.302661417322835 + 30 +0.0 + 10 +2.53465748031496 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.538070866141732 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.538070866141732 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.543015748031496 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.548015748031496 + 20 +3.302074803149606 + 30 +0.0 + 10 +2.553125984251968 + 20 +3.298937007874016 + 30 +0.0 + 10 +2.553125984251968 + 20 +3.298937007874016 + 30 +0.0 + 10 +2.553125984251968 + 20 +3.298937007874016 + 30 +0.0 + 10 +2.548070866141732 + 20 +3.285326771653543 + 30 +0.0 + 10 +2.548070866141732 + 20 +3.285326771653543 + 30 +0.0 + 10 +2.548070866141732 + 20 +3.285326771653543 + 30 +0.0 + 10 +2.544515748031496 + 20 +3.287464566929134 + 30 +0.0 + 10 +2.540933070866142 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.537350393700788 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.537350393700788 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.534125984251968 + 20 +3.28851968503937 + 30 +0.0 + 10 +2.531267716535433 + 20 +3.287547244094488 + 30 +0.0 + 10 +2.528712598425197 + 20 +3.285633858267717 + 30 +0.0 + 10 +2.528712598425197 + 20 +3.285633858267717 + 30 +0.0 + 10 +2.526157480314961 + 20 +3.283688976377953 + 30 +0.0 + 10 +2.524350393700788 + 20 +3.28101968503937 + 30 +0.0 + 10 +2.523267716535433 + 20 +3.277606299212598 + 30 +0.0 + 10 +2.523267716535433 + 20 +3.277606299212598 + 30 +0.0 + 10 +2.521629921259843 + 20 +3.272409448818898 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.266716535433071 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.26051968503937 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.26051968503937 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.26051968503937 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.520822834645669 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.506185039370079 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +1A0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.620988188976378 + 20 +3.243106299212598 + 30 +0.0 + 10 +2.620988188976378 + 20 +3.243106299212598 + 30 +0.0 + 10 +2.636125984251969 + 20 +3.241244094488189 + 30 +0.0 + 10 +2.636125984251969 + 20 +3.241244094488189 + 30 +0.0 + 10 +2.636125984251969 + 20 +3.241244094488189 + 30 +0.0 + 10 +2.633740157480315 + 20 +3.23238188976378 + 30 +0.0 + 10 +2.629322834645669 + 20 +3.22551968503937 + 30 +0.0 + 10 +2.622877952755906 + 20 +3.220633858267717 + 30 +0.0 + 10 +2.622877952755906 + 20 +3.220633858267717 + 30 +0.0 + 10 +2.616405511811024 + 20 +3.215771653543307 + 30 +0.0 + 10 +2.608153543307087 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.598125984251968 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.598125984251968 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.585488188976378 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.57546062992126 + 20 +3.217216535433071 + 30 +0.0 + 10 +2.568070866141732 + 20 +3.224992125984252 + 30 +0.0 + 10 +2.568070866141732 + 20 +3.224992125984252 + 30 +0.0 + 10 +2.560657480314961 + 20 +3.232771653543307 + 30 +0.0 + 10 +2.55696062992126 + 20 +3.243688976377953 + 30 +0.0 + 10 +2.55696062992126 + 20 +3.257744094488189 + 30 +0.0 + 10 +2.55696062992126 + 20 +3.257744094488189 + 30 +0.0 + 10 +2.55696062992126 + 20 +3.272299212598425 + 30 +0.0 + 10 +2.560712598425197 + 20 +3.283574803149606 + 30 +0.0 + 10 +2.568185039370079 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.568185039370079 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.575685039370079 + 20 +3.299633858267716 + 30 +0.0 + 10 +2.585377952755906 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.597322834645669 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.597322834645669 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.608877952755905 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.61832283464567 + 20 +3.299716535433071 + 30 +0.0 + 10 +2.625625984251969 + 20 +3.291854330708662 + 30 +0.0 + 10 +2.625625984251969 + 20 +3.291854330708662 + 30 +0.0 + 10 +2.63296062992126 + 20 +3.283992125984252 + 30 +0.0 + 10 +2.636625984251968 + 20 +3.272909448818897 + 30 +0.0 + 10 +2.636625984251968 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.636625984251968 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.636625984251968 + 20 +3.257771653543307 + 30 +0.0 + 10 +2.63659842519685 + 20 +3.256464566929134 + 30 +0.0 + 10 +2.636543307086614 + 20 +3.254744094488189 + 30 +0.0 + 10 +2.636543307086614 + 20 +3.254744094488189 + 30 +0.0 + 10 +2.636543307086614 + 20 +3.254744094488189 + 30 +0.0 + 10 +2.572098425196851 + 20 +3.254744094488189 + 30 +0.0 + 10 +2.572098425196851 + 20 +3.254744094488189 + 30 +0.0 + 10 +2.572098425196851 + 20 +3.254744094488189 + 30 +0.0 + 10 +2.572629921259843 + 20 +3.245244094488189 + 30 +0.0 + 10 +2.575322834645669 + 20 +3.237964566929134 + 30 +0.0 + 10 +2.580157480314961 + 20 +3.232937007874016 + 30 +0.0 + 10 +2.580157480314961 + 20 +3.232937007874016 + 30 +0.0 + 10 +2.584988188976378 + 20 +3.22788188976378 + 30 +0.0 + 10 +2.590988188976378 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.598212598425197 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.598212598425197 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.603570866141732 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.608153543307087 + 20 +3.226771653543307 + 30 +0.0 + 10 +2.61196062992126 + 20 +3.229606299212598 + 30 +0.0 + 10 +2.61196062992126 + 20 +3.229606299212598 + 30 +0.0 + 10 +2.615767716535433 + 20 +3.232409448818898 + 30 +0.0 + 10 +2.618767716535433 + 20 +3.236909448818897 + 30 +0.0 + 10 +2.620988188976378 + 20 +3.243106299212598 + 30 +0.0 + 0 +SPLINE + 5 +1A1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.572905511811024 + 20 +3.266799212598425 + 30 +0.0 + 10 +2.572905511811024 + 20 +3.266799212598425 + 30 +0.0 + 10 +2.621153543307086 + 20 +3.266799212598425 + 30 +0.0 + 10 +2.621153543307086 + 20 +3.266799212598425 + 30 +0.0 + 10 +2.621153543307086 + 20 +3.266799212598425 + 30 +0.0 + 10 +2.620515748031496 + 20 +3.274047244094488 + 30 +0.0 + 10 +2.618653543307087 + 20 +3.27951968503937 + 30 +0.0 + 10 +2.615625984251968 + 20 +3.283133858267717 + 30 +0.0 + 10 +2.615625984251968 + 20 +3.283133858267717 + 30 +0.0 + 10 +2.61096062992126 + 20 +3.288771653543307 + 30 +0.0 + 10 +2.604905511811024 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.597488188976378 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.597488188976378 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.590767716535433 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.585098425196851 + 20 +3.289354330708661 + 30 +0.0 + 10 +2.580515748031496 + 20 +3.284854330708662 + 30 +0.0 + 10 +2.580515748031496 + 20 +3.284854330708662 + 30 +0.0 + 10 +2.575933070866142 + 20 +3.280354330708661 + 30 +0.0 + 10 +2.573405511811024 + 20 +3.274326771653543 + 30 +0.0 + 10 +2.572905511811024 + 20 +3.266799212598425 + 30 +0.0 + 0 +SPLINE + 5 +1A2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.654543307086614 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.289409448818898 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.289409448818898 + 30 +0.0 + 10 +2.667708661417323 + 20 +3.289409448818898 + 30 +0.0 + 10 +2.674070866141733 + 20 +3.298909448818898 + 30 +0.0 + 10 +2.683236220472441 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.695208661417323 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.695208661417323 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.700433070866142 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.705208661417323 + 20 +3.302716535433071 + 30 +0.0 + 10 +2.709570866141732 + 20 +3.300854330708662 + 30 +0.0 + 10 +2.709570866141732 + 20 +3.300854330708662 + 30 +0.0 + 10 +2.71396062992126 + 20 +3.298964566929134 + 30 +0.0 + 10 +2.717208661417323 + 20 +3.29651968503937 + 30 +0.0 + 10 +2.719377952755905 + 20 +3.293464566929134 + 30 +0.0 + 10 +2.719377952755905 + 20 +3.293464566929134 + 30 +0.0 + 10 +2.721570866141732 + 20 +3.290437007874016 + 30 +0.0 + 10 +2.723070866141732 + 20 +3.286826771653543 + 30 +0.0 + 10 +2.72396062992126 + 20 +3.282661417322835 + 30 +0.0 + 10 +2.72396062992126 + 20 +3.282661417322835 + 30 +0.0 + 10 +2.724488188976378 + 20 +3.279937007874016 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.275188976377953 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.268409448818898 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.268409448818898 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.268409448818898 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.724763779527559 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.267854330708662 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.267854330708662 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.267854330708662 + 30 +0.0 + 10 +2.710098425196851 + 20 +3.273799212598425 + 30 +0.0 + 10 +2.709543307086614 + 20 +3.278271653543307 + 30 +0.0 + 10 +2.708405511811024 + 20 +3.281244094488189 + 30 +0.0 + 10 +2.708405511811024 + 20 +3.281244094488189 + 30 +0.0 + 10 +2.707263779527559 + 20 +3.284188976377953 + 30 +0.0 + 10 +2.705236220472441 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.702346456692913 + 20 +3.288299212598425 + 30 +0.0 + 10 +2.702346456692913 + 20 +3.288299212598425 + 30 +0.0 + 10 +2.699433070866142 + 20 +3.290074803149606 + 30 +0.0 + 10 +2.696043307086614 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.692125984251969 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.692125984251969 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.685877952755905 + 20 +3.290964566929134 + 30 +0.0 + 10 +2.680515748031496 + 20 +3.288964566929134 + 30 +0.0 + 10 +2.67596062992126 + 20 +3.28501968503937 + 30 +0.0 + 10 +2.67596062992126 + 20 +3.28501968503937 + 30 +0.0 + 10 +2.671433070866142 + 20 +3.281047244094488 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.273547244094488 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.262464566929134 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.262464566929134 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.262464566929134 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.669181102362205 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.654543307086614 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +1A3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.779208661417323 + 20 +3.22838188976378 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.22838188976378 + 30 +0.0 + 10 +2.781318897637795 + 20 +3.215437007874016 + 30 +0.0 + 10 +2.781318897637795 + 20 +3.215437007874016 + 30 +0.0 + 10 +2.781318897637795 + 20 +3.215437007874016 + 30 +0.0 + 10 +2.777208661417323 + 20 +3.21457874015748 + 30 +0.0 + 10 +2.773511811023622 + 20 +3.214133858267716 + 30 +0.0 + 10 +2.770263779527559 + 20 +3.214133858267716 + 30 +0.0 + 10 +2.770263779527559 + 20 +3.214133858267716 + 30 +0.0 + 10 +2.764929133858268 + 20 +3.214133858267716 + 30 +0.0 + 10 +2.760818897637795 + 20 +3.214964566929134 + 30 +0.0 + 10 +2.757874015748031 + 20 +3.216661417322835 + 30 +0.0 + 10 +2.757874015748031 + 20 +3.216661417322835 + 30 +0.0 + 10 +2.754956692913386 + 20 +3.218326771653544 + 30 +0.0 + 10 +2.75290157480315 + 20 +3.220551181102362 + 30 +0.0 + 10 +2.751708661417323 + 20 +3.223299212598425 + 30 +0.0 + 10 +2.751708661417323 + 20 +3.223299212598425 + 30 +0.0 + 10 +2.750515748031496 + 20 +3.22601968503937 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.231799212598425 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.24057874015748 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.24057874015748 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.24057874015748 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.739153543307087 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.323102362204724 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.323102362204724 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.323102362204724 + 30 +0.0 + 10 +2.749901574803149 + 20 +3.323102362204724 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.33188188976378 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.33188188976378 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.33188188976378 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.33188188976378 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.301688976377953 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.290299212598425 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.239771653543307 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.239771653543307 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.239771653543307 + 30 +0.0 + 10 +2.764484251968504 + 20 +3.23557874015748 + 30 +0.0 + 10 +2.764736220472441 + 20 +3.232909448818898 + 30 +0.0 + 10 +2.765236220472441 + 20 +3.231716535433071 + 30 +0.0 + 10 +2.765236220472441 + 20 +3.231716535433071 + 30 +0.0 + 10 +2.765763779527559 + 20 +3.23051968503937 + 30 +0.0 + 10 +2.76659842519685 + 20 +3.22957874015748 + 30 +0.0 + 10 +2.767763779527559 + 20 +3.228854330708661 + 30 +0.0 + 10 +2.767763779527559 + 20 +3.228854330708661 + 30 +0.0 + 10 +2.768929133858268 + 20 +3.228161417322835 + 30 +0.0 + 10 +2.77059842519685 + 20 +3.227799212598425 + 30 +0.0 + 10 +2.772763779527559 + 20 +3.227799212598425 + 30 +0.0 + 10 +2.772763779527559 + 20 +3.227799212598425 + 30 +0.0 + 10 +2.77440157480315 + 20 +3.227799212598425 + 30 +0.0 + 10 +2.776543307086614 + 20 +3.227992125984252 + 30 +0.0 + 10 +2.779208661417323 + 20 +3.22838188976378 + 30 +0.0 + 0 +SPLINE + 5 +1A4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.896240157480315 + 20 +3.225937007874016 + 30 +0.0 + 10 +2.890795275590551 + 20 +3.221326771653543 + 30 +0.0 + 10 +2.885570866141732 + 20 +3.21807874015748 + 30 +0.0 + 10 +2.880570866141732 + 20 +3.216161417322835 + 30 +0.0 + 10 +2.880570866141732 + 20 +3.216161417322835 + 30 +0.0 + 10 +2.875543307086614 + 20 +3.214271653543307 + 30 +0.0 + 10 +2.870157480314961 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.864405511811023 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.864405511811023 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.854905511811024 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.847629921259843 + 20 +3.215633858267716 + 30 +0.0 + 10 +2.842515748031496 + 20 +3.220271653543307 + 30 +0.0 + 10 +2.842515748031496 + 20 +3.220271653543307 + 30 +0.0 + 10 +2.837433070866142 + 20 +3.224909448818898 + 30 +0.0 + 10 +2.834877952755905 + 20 +3.230854330708661 + 30 +0.0 + 10 +2.834877952755905 + 20 +3.238051181102362 + 30 +0.0 + 10 +2.834877952755905 + 20 +3.238051181102362 + 30 +0.0 + 10 +2.834877952755905 + 20 +3.242299212598425 + 30 +0.0 + 10 +2.835822834645669 + 20 +3.246161417322835 + 30 +0.0 + 10 +2.837767716535433 + 20 +3.249661417322835 + 30 +0.0 + 10 +2.837767716535433 + 20 +3.249661417322835 + 30 +0.0 + 10 +2.839685039370079 + 20 +3.253161417322834 + 30 +0.0 + 10 +2.842212598425197 + 20 +3.255964566929134 + 30 +0.0 + 10 +2.845322834645669 + 20 +3.25807874015748 + 30 +0.0 + 10 +2.845322834645669 + 20 +3.25807874015748 + 30 +0.0 + 10 +2.84846062992126 + 20 +3.260188976377953 + 30 +0.0 + 10 +2.85196062992126 + 20 +3.261799212598425 + 30 +0.0 + 10 +2.855877952755906 + 20 +3.26288188976378 + 30 +0.0 + 10 +2.855877952755906 + 20 +3.26288188976378 + 30 +0.0 + 10 +2.858740157480315 + 20 +3.263633858267716 + 30 +0.0 + 10 +2.863070866141732 + 20 +3.26438188976378 + 30 +0.0 + 10 +2.868877952755906 + 20 +3.26507874015748 + 30 +0.0 + 10 +2.868877952755906 + 20 +3.26507874015748 + 30 +0.0 + 10 +2.880712598425197 + 20 +3.266492125984252 + 30 +0.0 + 10 +2.889433070866142 + 20 +3.268161417322835 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.270133858267716 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.270133858267716 + 30 +0.0 + 10 +2.895070866141732 + 20 +3.272133858267717 + 30 +0.0 + 10 +2.895098425196851 + 20 +3.273409448818898 + 30 +0.0 + 10 +2.895098425196851 + 20 +3.273937007874016 + 30 +0.0 + 10 +2.895098425196851 + 20 +3.273937007874016 + 30 +0.0 + 10 +2.895098425196851 + 20 +3.279909448818898 + 30 +0.0 + 10 +2.893712598425197 + 20 +3.284133858267717 + 30 +0.0 + 10 +2.890933070866142 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.890933070866142 + 20 +3.286547244094488 + 30 +0.0 + 10 +2.887212598425197 + 20 +3.289881889763779 + 30 +0.0 + 10 +2.881625984251968 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.874267716535433 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.874267716535433 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.867377952755906 + 20 +3.29151968503937 + 30 +0.0 + 10 +2.862295275590551 + 20 +3.290326771653543 + 30 +0.0 + 10 +2.858988188976378 + 20 +3.287909448818898 + 30 +0.0 + 10 +2.858988188976378 + 20 +3.287909448818898 + 30 +0.0 + 10 +2.855712598425197 + 20 +3.285492125984252 + 30 +0.0 + 10 +2.853295275590551 + 20 +3.281216535433071 + 30 +0.0 + 10 +2.851712598425197 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.851712598425197 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.851712598425197 + 20 +3.275074803149606 + 30 +0.0 + 10 +2.837405511811024 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.837405511811024 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.837405511811024 + 20 +3.277047244094488 + 30 +0.0 + 10 +2.838712598425197 + 20 +3.283161417322835 + 30 +0.0 + 10 +2.840850393700787 + 20 +3.288133858267717 + 30 +0.0 + 10 +2.843822834645669 + 20 +3.29188188976378 + 30 +0.0 + 10 +2.843822834645669 + 20 +3.29188188976378 + 30 +0.0 + 10 +2.846795275590551 + 20 +3.295661417322834 + 30 +0.0 + 10 +2.851129921259842 + 20 +3.298574803149606 + 30 +0.0 + 10 +2.856767716535433 + 20 +3.300602362204724 + 30 +0.0 + 10 +2.856767716535433 + 20 +3.300602362204724 + 30 +0.0 + 10 +2.862405511811024 + 20 +3.302633858267717 + 30 +0.0 + 10 +2.868933070866142 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.876377952755905 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.876377952755905 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.883767716535433 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.889740157480315 + 20 +3.302771653543307 + 30 +0.0 + 10 +2.894350393700787 + 20 +3.301047244094488 + 30 +0.0 + 10 +2.894350393700787 + 20 +3.301047244094488 + 30 +0.0 + 10 +2.89896062992126 + 20 +3.299299212598425 + 30 +0.0 + 10 +2.902350393700787 + 20 +3.297133858267717 + 30 +0.0 + 10 +2.904543307086614 + 20 +3.294492125984252 + 30 +0.0 + 10 +2.904543307086614 + 20 +3.294492125984252 + 30 +0.0 + 10 +2.906712598425197 + 20 +3.291854330708662 + 30 +0.0 + 10 +2.908212598425197 + 20 +3.288547244094488 + 30 +0.0 + 10 +2.90909842519685 + 20 +3.28451968503937 + 30 +0.0 + 10 +2.90909842519685 + 20 +3.28451968503937 + 30 +0.0 + 10 +2.909570866141732 + 20 +3.28201968503937 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.27751968503937 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.27101968503937 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.251492125984252 + 30 +0.0 + 10 +2.909822834645669 + 20 +3.237854330708661 + 30 +0.0 + 10 +2.910125984251969 + 20 +3.229244094488189 + 30 +0.0 + 10 +2.910767716535433 + 20 +3.225661417322835 + 30 +0.0 + 10 +2.910767716535433 + 20 +3.225661417322835 + 30 +0.0 + 10 +2.911377952755906 + 20 +3.222051181102362 + 30 +0.0 + 10 +2.912625984251969 + 20 +3.21857874015748 + 30 +0.0 + 10 +2.91446062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.91446062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.91446062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.899153543307087 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.899153543307087 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.899153543307087 + 20 +3.215271653543307 + 30 +0.0 + 10 +2.897653543307086 + 20 +3.218299212598425 + 30 +0.0 + 10 +2.896653543307087 + 20 +3.221854330708661 + 30 +0.0 + 10 +2.896240157480315 + 20 +3.225937007874016 + 30 +0.0 + 0 +SPLINE + 5 +1A5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.895015748031496 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.889685039370079 + 20 +3.256464566929134 + 30 +0.0 + 10 +2.881712598425197 + 20 +3.254633858267717 + 30 +0.0 + 10 +2.871098425196851 + 20 +3.253106299212599 + 30 +0.0 + 10 +2.871098425196851 + 20 +3.253106299212599 + 30 +0.0 + 10 +2.865070866141732 + 20 +3.252244094488189 + 30 +0.0 + 10 +2.860795275590551 + 20 +3.251271653543307 + 30 +0.0 + 10 +2.858322834645669 + 20 +3.250188976377953 + 30 +0.0 + 10 +2.858322834645669 + 20 +3.250188976377953 + 30 +0.0 + 10 +2.855822834645669 + 20 +3.249106299212599 + 30 +0.0 + 10 +2.853877952755906 + 20 +3.24751968503937 + 30 +0.0 + 10 +2.852543307086614 + 20 +3.245409448818898 + 30 +0.0 + 10 +2.852543307086614 + 20 +3.245409448818898 + 30 +0.0 + 10 +2.851185039370079 + 20 +3.243326771653543 + 30 +0.0 + 10 +2.850488188976378 + 20 +3.24101968503937 + 30 +0.0 + 10 +2.850488188976378 + 20 +3.238464566929134 + 30 +0.0 + 10 +2.850488188976378 + 20 +3.238464566929134 + 30 +0.0 + 10 +2.850488188976378 + 20 +3.234551181102362 + 30 +0.0 + 10 +2.851988188976378 + 20 +3.231299212598425 + 30 +0.0 + 10 +2.854933070866142 + 20 +3.228688976377953 + 30 +0.0 + 10 +2.854933070866142 + 20 +3.228688976377953 + 30 +0.0 + 10 +2.857877952755906 + 20 +3.226106299212598 + 30 +0.0 + 10 +2.862212598425197 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.867905511811024 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.867905511811024 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.873543307086614 + 20 +3.224799212598425 + 30 +0.0 + 10 +2.878570866141732 + 20 +3.22601968503937 + 30 +0.0 + 10 +2.88296062992126 + 20 +3.228492125984252 + 30 +0.0 + 10 +2.88296062992126 + 20 +3.228492125984252 + 30 +0.0 + 10 +2.887350393700788 + 20 +3.230964566929134 + 30 +0.0 + 10 +2.89059842519685 + 20 +3.234354330708662 + 30 +0.0 + 10 +2.892653543307087 + 20 +3.238633858267717 + 30 +0.0 + 10 +2.892653543307087 + 20 +3.238633858267717 + 30 +0.0 + 10 +2.894240157480315 + 20 +3.241937007874016 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.246826771653543 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.253271653543307 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.258661417322835 + 30 +0.0 + 10 +2.895015748031496 + 20 +3.258661417322835 + 30 +0.0 + 0 +SPLINE + 5 +1A6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.988933070866142 + 20 +3.246937007874016 + 30 +0.0 + 10 +2.988933070866142 + 20 +3.246937007874016 + 30 +0.0 + 10 +3.003318897637795 + 20 +3.245047244094488 + 30 +0.0 + 10 +3.003318897637795 + 20 +3.245047244094488 + 30 +0.0 + 10 +3.003318897637795 + 20 +3.245047244094488 + 30 +0.0 + 10 +3.001763779527559 + 20 +3.235133858267717 + 30 +0.0 + 10 +2.997736220472441 + 20 +3.227354330708661 + 30 +0.0 + 10 +2.991236220472441 + 20 +3.221744094488189 + 30 +0.0 + 10 +2.991236220472441 + 20 +3.221744094488189 + 30 +0.0 + 10 +2.984763779527559 + 20 +3.216133858267717 + 30 +0.0 + 10 +2.976791338582677 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.967350393700787 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.967350393700787 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.955543307086614 + 20 +3.213326771653543 + 30 +0.0 + 10 +2.946015748031496 + 20 +3.217188976377953 + 30 +0.0 + 10 +2.938850393700787 + 20 +3.224909448818898 + 30 +0.0 + 10 +2.938850393700787 + 20 +3.224909448818898 + 30 +0.0 + 10 +2.931653543307087 + 20 +3.232633858267716 + 30 +0.0 + 10 +2.928043307086614 + 20 +3.243716535433071 + 30 +0.0 + 10 +2.928043307086614 + 20 +3.258161417322835 + 30 +0.0 + 10 +2.928043307086614 + 20 +3.258161417322835 + 30 +0.0 + 10 +2.928043307086614 + 20 +3.267492125984252 + 30 +0.0 + 10 +2.929598425196851 + 20 +3.275661417322834 + 30 +0.0 + 10 +2.932681102362205 + 20 +3.282661417322835 + 30 +0.0 + 10 +2.932681102362205 + 20 +3.282661417322835 + 30 +0.0 + 10 +2.935791338582677 + 20 +3.289661417322835 + 30 +0.0 + 10 +2.940488188976378 + 20 +3.294909448818898 + 30 +0.0 + 10 +2.946822834645669 + 20 +3.298409448818898 + 30 +0.0 + 10 +2.946822834645669 + 20 +3.298409448818898 + 30 +0.0 + 10 +2.953125984251968 + 20 +3.301909448818898 + 30 +0.0 + 10 +2.960015748031496 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.967433070866142 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.967433070866142 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.976818897637795 + 20 +3.303661417322834 + 30 +0.0 + 10 +2.984515748031496 + 20 +3.301271653543307 + 30 +0.0 + 10 +2.99046062992126 + 20 +3.29651968503937 + 30 +0.0 + 10 +2.99046062992126 + 20 +3.29651968503937 + 30 +0.0 + 10 +2.996433070866142 + 20 +3.291771653543307 + 30 +0.0 + 10 +3.000263779527559 + 20 +3.285047244094488 + 30 +0.0 + 10 +3.00196062992126 + 20 +3.276299212598425 + 30 +0.0 + 10 +3.00196062992126 + 20 +3.276299212598425 + 30 +0.0 + 10 +3.00196062992126 + 20 +3.276299212598425 + 30 +0.0 + 10 +2.987708661417323 + 20 +3.274106299212598 + 30 +0.0 + 10 +2.987708661417323 + 20 +3.274106299212598 + 30 +0.0 + 10 +2.987708661417323 + 20 +3.274106299212598 + 30 +0.0 + 10 +2.986346456692913 + 20 +3.279909448818898 + 30 +0.0 + 10 +2.98396062992126 + 20 +3.284271653543307 + 30 +0.0 + 10 +2.980515748031496 + 20 +3.287216535433071 + 30 +0.0 + 10 +2.980515748031496 + 20 +3.287216535433071 + 30 +0.0 + 10 +2.977070866141732 + 20 +3.290133858267716 + 30 +0.0 + 10 +2.972905511811024 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.968015748031496 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.968015748031496 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.960625984251969 + 20 +3.291606299212599 + 30 +0.0 + 10 +2.954625984251968 + 20 +3.288964566929134 + 30 +0.0 + 10 +2.950015748031496 + 20 +3.283661417322834 + 30 +0.0 + 10 +2.950015748031496 + 20 +3.283661417322834 + 30 +0.0 + 10 +2.945405511811024 + 20 +3.27838188976378 + 30 +0.0 + 10 +2.943098425196851 + 20 +3.27001968503937 + 30 +0.0 + 10 +2.943098425196851 + 20 +3.25857874015748 + 30 +0.0 + 10 +2.943098425196851 + 20 +3.25857874015748 + 30 +0.0 + 10 +2.943098425196851 + 20 +3.246964566929134 + 30 +0.0 + 10 +2.945322834645669 + 20 +3.23851968503937 + 30 +0.0 + 10 +2.949791338582677 + 20 +3.233244094488189 + 30 +0.0 + 10 +2.949791338582677 + 20 +3.233244094488189 + 30 +0.0 + 10 +2.954236220472441 + 20 +3.227992125984252 + 30 +0.0 + 10 +2.960043307086614 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.967208661417323 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.967208661417323 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.97296062992126 + 20 +3.225354330708662 + 30 +0.0 + 10 +2.977736220472441 + 20 +3.227133858267717 + 30 +0.0 + 10 +2.981598425196851 + 20 +3.230661417322835 + 30 +0.0 + 10 +2.981598425196851 + 20 +3.230661417322835 + 30 +0.0 + 10 +2.98546062992126 + 20 +3.234188976377953 + 30 +0.0 + 10 +2.987905511811024 + 20 +3.239606299212598 + 30 +0.0 + 10 +2.988933070866142 + 20 +3.246937007874016 + 30 +0.0 + 0 +SPLINE + 5 +1A7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.015712598425197 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.288606299212598 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.288606299212598 + 30 +0.0 + 10 +3.028877952755905 + 20 +3.288606299212598 + 30 +0.0 + 10 +3.032240157480315 + 20 +3.294716535433071 + 30 +0.0 + 10 +3.035350393700787 + 20 +3.298771653543307 + 30 +0.0 + 10 +3.038212598425197 + 20 +3.300716535433071 + 30 +0.0 + 10 +3.038212598425197 + 20 +3.300716535433071 + 30 +0.0 + 10 +3.041043307086614 + 20 +3.302661417322835 + 30 +0.0 + 10 +3.044185039370079 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.04759842519685 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.04759842519685 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.052543307086614 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.057543307086614 + 20 +3.302074803149606 + 30 +0.0 + 10 +3.062653543307087 + 20 +3.298937007874016 + 30 +0.0 + 10 +3.062653543307087 + 20 +3.298937007874016 + 30 +0.0 + 10 +3.062653543307087 + 20 +3.298937007874016 + 30 +0.0 + 10 +3.05759842519685 + 20 +3.285326771653543 + 30 +0.0 + 10 +3.05759842519685 + 20 +3.285326771653543 + 30 +0.0 + 10 +3.05759842519685 + 20 +3.285326771653543 + 30 +0.0 + 10 +3.054043307086614 + 20 +3.287464566929134 + 30 +0.0 + 10 +3.05046062992126 + 20 +3.28851968503937 + 30 +0.0 + 10 +3.046877952755906 + 20 +3.28851968503937 + 30 +0.0 + 10 +3.046877952755906 + 20 +3.28851968503937 + 30 +0.0 + 10 +3.043653543307087 + 20 +3.28851968503937 + 30 +0.0 + 10 +3.040795275590551 + 20 +3.287547244094488 + 30 +0.0 + 10 +3.038240157480315 + 20 +3.285633858267717 + 30 +0.0 + 10 +3.038240157480315 + 20 +3.285633858267717 + 30 +0.0 + 10 +3.035685039370079 + 20 +3.283688976377953 + 30 +0.0 + 10 +3.033877952755906 + 20 +3.28101968503937 + 30 +0.0 + 10 +3.032795275590551 + 20 +3.277606299212598 + 30 +0.0 + 10 +3.032795275590551 + 20 +3.277606299212598 + 30 +0.0 + 10 +3.031157480314961 + 20 +3.272409448818898 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.266716535433071 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.26051968503937 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.26051968503937 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.26051968503937 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.030350393700787 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.015712598425197 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +1A8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.070712598425197 + 20 +3.181996062992126 + 30 +0.0 + 10 +3.070712598425197 + 20 +3.181996062992126 + 30 +0.0 + 10 +3.069070866141732 + 20 +3.195744094488189 + 30 +0.0 + 10 +3.069070866141732 + 20 +3.195744094488189 + 30 +0.0 + 10 +3.069070866141732 + 20 +3.195744094488189 + 30 +0.0 + 10 +3.072295275590551 + 20 +3.19488188976378 + 30 +0.0 + 10 +3.075070866141732 + 20 +3.194437007874016 + 30 +0.0 + 10 +3.07746062992126 + 20 +3.194437007874016 + 30 +0.0 + 10 +3.07746062992126 + 20 +3.194437007874016 + 30 +0.0 + 10 +3.080712598425197 + 20 +3.194437007874016 + 30 +0.0 + 10 +3.083322834645669 + 20 +3.194992125984252 + 30 +0.0 + 10 +3.085267716535433 + 20 +3.19607874015748 + 30 +0.0 + 10 +3.085267716535433 + 20 +3.19607874015748 + 30 +0.0 + 10 +3.087240157480315 + 20 +3.197161417322834 + 30 +0.0 + 10 +3.088822834645669 + 20 +3.198661417322834 + 30 +0.0 + 10 +3.090070866141732 + 20 +3.200633858267717 + 30 +0.0 + 10 +3.090070866141732 + 20 +3.200633858267717 + 30 +0.0 + 10 +3.091015748031496 + 20 +3.20207874015748 + 30 +0.0 + 10 +3.092488188976378 + 20 +3.205716535433071 + 30 +0.0 + 10 +3.094543307086614 + 20 +3.211523622047244 + 30 +0.0 + 10 +3.094543307086614 + 20 +3.211523622047244 + 30 +0.0 + 10 +3.094822834645669 + 20 +3.212354330708661 + 30 +0.0 + 10 +3.095267716535433 + 20 +3.213523622047244 + 30 +0.0 + 10 +3.095850393700788 + 20 +3.215106299212598 + 30 +0.0 + 10 +3.095850393700788 + 20 +3.215106299212598 + 30 +0.0 + 10 +3.095850393700788 + 20 +3.215106299212598 + 30 +0.0 + 10 +3.063070866141732 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.063070866141732 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.063070866141732 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.063070866141732 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.078850393700788 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.078850393700788 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.078850393700788 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.078850393700788 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.096850393700787 + 20 +3.251661417322834 + 30 +0.0 + 10 +3.096850393700787 + 20 +3.251661417322834 + 30 +0.0 + 10 +3.096850393700787 + 20 +3.251661417322834 + 30 +0.0 + 10 +3.099153543307087 + 20 +3.245299212598425 + 30 +0.0 + 10 +3.101267716535433 + 20 +3.238633858267717 + 30 +0.0 + 10 +3.10309842519685 + 20 +3.231633858267716 + 30 +0.0 + 10 +3.10309842519685 + 20 +3.231633858267716 + 30 +0.0 + 10 +3.104795275590551 + 20 +3.238354330708662 + 30 +0.0 + 10 +3.106795275590551 + 20 +3.244909448818897 + 30 +0.0 + 10 +3.109125984251969 + 20 +3.251326771653543 + 30 +0.0 + 10 +3.109125984251969 + 20 +3.251326771653543 + 30 +0.0 + 10 +3.109125984251969 + 20 +3.251326771653543 + 30 +0.0 + 10 +3.12759842519685 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.12759842519685 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.12759842519685 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.12759842519685 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.142240157480315 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.142240157480315 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.142240157480315 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.142240157480315 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.109377952755906 + 20 +3.213799212598425 + 30 +0.0 + 10 +3.109377952755906 + 20 +3.213799212598425 + 30 +0.0 + 10 +3.109377952755906 + 20 +3.213799212598425 + 30 +0.0 + 10 +3.105850393700787 + 20 +3.204299212598425 + 30 +0.0 + 10 +3.10309842519685 + 20 +3.197771653543307 + 30 +0.0 + 10 +3.101153543307086 + 20 +3.194188976377953 + 30 +0.0 + 10 +3.101153543307086 + 20 +3.194188976377953 + 30 +0.0 + 10 +3.098543307086614 + 20 +3.189354330708662 + 30 +0.0 + 10 +3.095570866141732 + 20 +3.185826771653543 + 30 +0.0 + 10 +3.092212598425197 + 20 +3.18357874015748 + 30 +0.0 + 10 +3.092212598425197 + 20 +3.18357874015748 + 30 +0.0 + 10 +3.088822834645669 + 20 +3.181326771653543 + 30 +0.0 + 10 +3.084822834645669 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.080157480314961 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.080157480314961 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.077322834645669 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.074185039370079 + 20 +3.180799212598425 + 30 +0.0 + 10 +3.070712598425197 + 20 +3.181996062992126 + 30 +0.0 + 0 +SPLINE + 5 +1A9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.154377952755905 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.16901968503937 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.154377952755905 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +1AA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.191795275590551 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.334574803149606 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.317716535433071 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.317716535433071 + 30 +0.0 + 0 +SPLINE + 5 +1AB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.191795275590551 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.301688976377953 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.20646062992126 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.215271653543307 + 30 +0.0 + 10 +3.191795275590551 + 20 +3.215271653543307 + 30 +0.0 + 0 +SPLINE + 5 +1AC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.285157480314961 + 20 +3.246937007874016 + 30 +0.0 + 10 +3.285157480314961 + 20 +3.246937007874016 + 30 +0.0 + 10 +3.299543307086614 + 20 +3.245047244094488 + 30 +0.0 + 10 +3.299543307086614 + 20 +3.245047244094488 + 30 +0.0 + 10 +3.299543307086614 + 20 +3.245047244094488 + 30 +0.0 + 10 +3.297988188976378 + 20 +3.235133858267717 + 30 +0.0 + 10 +3.29396062992126 + 20 +3.227354330708661 + 30 +0.0 + 10 +3.28746062992126 + 20 +3.221744094488189 + 30 +0.0 + 10 +3.28746062992126 + 20 +3.221744094488189 + 30 +0.0 + 10 +3.280988188976378 + 20 +3.216133858267717 + 30 +0.0 + 10 +3.273015748031496 + 20 +3.213326771653543 + 30 +0.0 + 10 +3.263574803149606 + 20 +3.213326771653543 + 30 +0.0 + 10 +3.263574803149606 + 20 +3.213326771653543 + 30 +0.0 + 10 +3.251767716535433 + 20 +3.213326771653543 + 30 +0.0 + 10 +3.242240157480315 + 20 +3.217188976377953 + 30 +0.0 + 10 +3.235074803149606 + 20 +3.224909448818898 + 30 +0.0 + 10 +3.235074803149606 + 20 +3.224909448818898 + 30 +0.0 + 10 +3.227877952755906 + 20 +3.232633858267716 + 30 +0.0 + 10 +3.224267716535433 + 20 +3.243716535433071 + 30 +0.0 + 10 +3.224267716535433 + 20 +3.258161417322835 + 30 +0.0 + 10 +3.224267716535433 + 20 +3.258161417322835 + 30 +0.0 + 10 +3.224267716535433 + 20 +3.267492125984252 + 30 +0.0 + 10 +3.225822834645669 + 20 +3.275661417322834 + 30 +0.0 + 10 +3.228905511811023 + 20 +3.282661417322835 + 30 +0.0 + 10 +3.228905511811023 + 20 +3.282661417322835 + 30 +0.0 + 10 +3.232015748031496 + 20 +3.289661417322835 + 30 +0.0 + 10 +3.236712598425197 + 20 +3.294909448818898 + 30 +0.0 + 10 +3.243047244094488 + 20 +3.298409448818898 + 30 +0.0 + 10 +3.243047244094488 + 20 +3.298409448818898 + 30 +0.0 + 10 +3.249350393700787 + 20 +3.301909448818898 + 30 +0.0 + 10 +3.256240157480315 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.263657480314961 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.263657480314961 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.273043307086614 + 20 +3.303661417322834 + 30 +0.0 + 10 +3.280740157480315 + 20 +3.301271653543307 + 30 +0.0 + 10 +3.286685039370079 + 20 +3.29651968503937 + 30 +0.0 + 10 +3.286685039370079 + 20 +3.29651968503937 + 30 +0.0 + 10 +3.29265748031496 + 20 +3.291771653543307 + 30 +0.0 + 10 +3.296488188976378 + 20 +3.285047244094488 + 30 +0.0 + 10 +3.298185039370079 + 20 +3.276299212598425 + 30 +0.0 + 10 +3.298185039370079 + 20 +3.276299212598425 + 30 +0.0 + 10 +3.298185039370079 + 20 +3.276299212598425 + 30 +0.0 + 10 +3.283933070866142 + 20 +3.274106299212598 + 30 +0.0 + 10 +3.283933070866142 + 20 +3.274106299212598 + 30 +0.0 + 10 +3.283933070866142 + 20 +3.274106299212598 + 30 +0.0 + 10 +3.282570866141732 + 20 +3.279909448818898 + 30 +0.0 + 10 +3.280185039370079 + 20 +3.284271653543307 + 30 +0.0 + 10 +3.276740157480315 + 20 +3.287216535433071 + 30 +0.0 + 10 +3.276740157480315 + 20 +3.287216535433071 + 30 +0.0 + 10 +3.273295275590551 + 20 +3.290133858267716 + 30 +0.0 + 10 +3.269129921259843 + 20 +3.291606299212599 + 30 +0.0 + 10 +3.264240157480315 + 20 +3.291606299212599 + 30 +0.0 + 10 +3.264240157480315 + 20 +3.291606299212599 + 30 +0.0 + 10 +3.256850393700788 + 20 +3.291606299212599 + 30 +0.0 + 10 +3.250850393700787 + 20 +3.288964566929134 + 30 +0.0 + 10 +3.246240157480315 + 20 +3.283661417322834 + 30 +0.0 + 10 +3.246240157480315 + 20 +3.283661417322834 + 30 +0.0 + 10 +3.241629921259843 + 20 +3.27838188976378 + 30 +0.0 + 10 +3.23932283464567 + 20 +3.27001968503937 + 30 +0.0 + 10 +3.23932283464567 + 20 +3.25857874015748 + 30 +0.0 + 10 +3.23932283464567 + 20 +3.25857874015748 + 30 +0.0 + 10 +3.23932283464567 + 20 +3.246964566929134 + 30 +0.0 + 10 +3.241547244094488 + 20 +3.23851968503937 + 30 +0.0 + 10 +3.246015748031496 + 20 +3.233244094488189 + 30 +0.0 + 10 +3.246015748031496 + 20 +3.233244094488189 + 30 +0.0 + 10 +3.25046062992126 + 20 +3.227992125984252 + 30 +0.0 + 10 +3.256267716535433 + 20 +3.225354330708662 + 30 +0.0 + 10 +3.263433070866142 + 20 +3.225354330708662 + 30 +0.0 + 10 +3.263433070866142 + 20 +3.225354330708662 + 30 +0.0 + 10 +3.269185039370079 + 20 +3.225354330708662 + 30 +0.0 + 10 +3.27396062992126 + 20 +3.227133858267717 + 30 +0.0 + 10 +3.277822834645669 + 20 +3.230661417322835 + 30 +0.0 + 10 +3.277822834645669 + 20 +3.230661417322835 + 30 +0.0 + 10 +3.281685039370079 + 20 +3.234188976377953 + 30 +0.0 + 10 +3.284129921259843 + 20 +3.239606299212598 + 30 +0.0 + 10 +3.285157480314961 + 20 +3.246937007874016 + 30 +0.0 + 0 +SPLINE + 5 +1AD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.321685039370079 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.321685039370079 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.311185039370079 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.311185039370079 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.311185039370079 + 20 +3.180188976377953 + 30 +0.0 + 10 +3.327409448818897 + 20 +3.206244094488189 + 30 +0.0 + 10 +3.33551968503937 + 20 +3.232299212598425 + 30 +0.0 + 10 +3.33551968503937 + 20 +3.258409448818897 + 30 +0.0 + 10 +3.33551968503937 + 20 +3.258409448818897 + 30 +0.0 + 10 +3.33551968503937 + 20 +3.268606299212598 + 30 +0.0 + 10 +3.334350393700787 + 20 +3.278716535433071 + 30 +0.0 + 10 +3.33201968503937 + 20 +3.288771653543307 + 30 +0.0 + 10 +3.33201968503937 + 20 +3.288771653543307 + 30 +0.0 + 10 +3.330185039370079 + 20 +3.296881889763779 + 30 +0.0 + 10 +3.327602362204725 + 20 +3.304716535433071 + 30 +0.0 + 10 +3.324295275590551 + 20 +3.312188976377953 + 30 +0.0 + 10 +3.324295275590551 + 20 +3.312188976377953 + 30 +0.0 + 10 +3.322185039370079 + 20 +3.317074803149606 + 30 +0.0 + 10 +3.317822834645669 + 20 +3.325216535433071 + 30 +0.0 + 10 +3.311185039370079 + 20 +3.336602362204725 + 30 +0.0 + 10 +3.311185039370079 + 20 +3.336602362204725 + 30 +0.0 + 10 +3.311185039370079 + 20 +3.336602362204725 + 30 +0.0 + 10 +3.321685039370079 + 20 +3.336602362204725 + 30 +0.0 + 10 +3.321685039370079 + 20 +3.336602362204725 + 30 +0.0 + 10 +3.321685039370079 + 20 +3.336602362204725 + 30 +0.0 + 10 +3.331877952755906 + 20 +3.322992125984252 + 30 +0.0 + 10 +3.339437007874016 + 20 +3.309326771653543 + 30 +0.0 + 10 +3.344322834645669 + 20 +3.295606299212599 + 30 +0.0 + 10 +3.344322834645669 + 20 +3.295606299212599 + 30 +0.0 + 10 +3.348492125984252 + 20 +3.283771653543307 + 30 +0.0 + 10 +3.350574803149606 + 20 +3.271409448818898 + 30 +0.0 + 10 +3.350574803149606 + 20 +3.258492125984252 + 30 +0.0 + 10 +3.350574803149606 + 20 +3.258492125984252 + 30 +0.0 + 10 +3.350574803149606 + 20 +3.243826771653543 + 30 +0.0 + 10 +3.347767716535433 + 20 +3.229688976377953 + 30 +0.0 + 10 +3.342157480314961 + 20 +3.215992125984252 + 30 +0.0 + 10 +3.342157480314961 + 20 +3.215992125984252 + 30 +0.0 + 10 +3.336547244094488 + 20 +3.202326771653544 + 30 +0.0 + 10 +3.329712598425197 + 20 +3.190381889763779 + 30 +0.0 + 10 +3.321685039370079 + 20 +3.180188976377953 + 30 +0.0 + 0 +SPLINE + 5 +1AE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 0 +SPLINE + 5 +1AF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 0 +SPLINE + 5 +1B0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1B1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 0 +SPLINE + 5 +1B2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.1161417322834646 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1B3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 0 +SPLINE + 5 +1B4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 0 +SPLINE + 5 +1B5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 0 +SPLINE + 5 +1B6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0868976377952756 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291299212598425 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118110236220472 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118110236220472 + 30 +0.0 + 0 +SPLINE + 5 +1B7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304212598425197 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 0 +SPLINE + 5 +1B8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 0 +SPLINE + 5 +1B9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 0 +SPLINE + 5 +1BA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 0 +SPLINE + 5 +1BB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 0 +SPLINE + 5 +1BC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869015748031496 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118070866141732 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118070866141732 + 30 +0.0 + 0 +SPLINE + 5 +1BD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304251968503937 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291338582677166 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1BE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1BF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1C0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1C1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1C2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1C3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869055118110236 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0118031496062992 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0118031496062992 + 30 +0.0 + 0 +SPLINE + 5 +1C4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304291338582677 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291377952755905 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 0 +SPLINE + 5 +1C5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 0 +SPLINE + 5 +1C6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 0 +SPLINE + 5 +1C7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.5570826771653543 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.4583740157480315 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +-0.4291417322834646 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.3304330708661417 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.1161417322834646 + 20 +-0.0869094488188976 + 30 +0.0 + 10 +-0.2148503937007874 + 20 +0.0117992125984252 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +0.0117992125984252 + 30 +0.0 + 0 +SPLINE + 5 +1C8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201755905511811 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155590551181102 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1C9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1CA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1CB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1CC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1CD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1CE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1CF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1D0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1D1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1D2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1D3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1D4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1D5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1D6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1D7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1D8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1D9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1DA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1DB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1DC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1DD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1DE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1DF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1E0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1E1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2017716535433071 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2532834645669291 + 20 +-0.2155748031496063 + 30 +0.0 + 10 +-0.2476889763779528 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2338818897637795 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2155748031496063 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.2282834645669291 + 20 +-0.2017716535433071 + 30 +0.0 + 10 +-0.2338779527559055 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.2407834645669291 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1E2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201755905511811 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155590551181102 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1E3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1E4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1E5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1E6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1E7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1E8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1E9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1EA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086574803149606 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961614173228347 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961614173228347 + 30 +0.0 + 0 +SPLINE + 5 +1EB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1EC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1ED +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155629921259843 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.201759842519685 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1EE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1EF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1F0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086614173228346 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961653543307087 + 30 +0.0 + 0 +SPLINE + 5 +1F1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155669291338583 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017637795275591 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086653543307087 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961692913385827 + 30 +0.0 + 0 +SPLINE + 5 +1F8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1F9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1FA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155708661417323 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017677165354331 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1FB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2017716535433071 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4449409448818898 + 20 +-0.2155748031496063 + 30 +0.0 + 10 +-0.4393464566929134 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4255393700787402 + 20 +-0.2211692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2155748031496063 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2086692913385827 + 30 +0.0 + 10 +-0.4199409448818898 + 20 +-0.2017716535433071 + 30 +0.0 + 10 +-0.4255354330708662 + 20 +-0.1961732283464567 + 30 +0.0 + 10 +-0.4324409448818898 + 20 +-0.1961732283464567 + 30 +0.0 + 0 +SPLINE + 5 +1FC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.3491102362204724 + 20 +-0.1128307086614173 + 30 +0.0 + 10 +-0.3491102362204724 + 20 +-0.1059251968503937 + 30 +0.0 + 10 +-0.343515748031496 + 20 +-0.1003307086614173 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.1003307086614173 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.1003307086614173 + 30 +0.0 + 10 +-0.3297086614173229 + 20 +-0.1003307086614173 + 30 +0.0 + 10 +-0.3241141732283465 + 20 +-0.1059251968503937 + 30 +0.0 + 10 +-0.3241141732283465 + 20 +-0.1128307086614173 + 30 +0.0 + 10 +-0.3241141732283465 + 20 +-0.1128307086614173 + 30 +0.0 + 10 +-0.3241141732283465 + 20 +-0.119736220472441 + 30 +0.0 + 10 +-0.3297086614173229 + 20 +-0.1253307086614173 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.1253307086614173 + 30 +0.0 + 10 +-0.3366141732283465 + 20 +-0.1253307086614173 + 30 +0.0 + 10 +-0.343515748031496 + 20 +-0.1253307086614173 + 30 +0.0 + 10 +-0.3491102362204724 + 20 +-0.119736220472441 + 30 +0.0 + 10 +-0.3491102362204724 + 20 +-0.1128307086614173 + 30 +0.0 + 0 +SPLINE + 5 +1FD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.1064291338582677 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.1964330708661417 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.1964330708661417 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.1964330708661417 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.2122637795275591 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +0.2243740157480315 + 20 +-0.0778307086614173 + 30 +0.0 + 10 +0.2327086614173228 + 20 +-0.0793307086614173 + 30 +0.0 + 10 +0.2327086614173228 + 20 +-0.0793307086614173 + 30 +0.0 + 10 +0.2444330708661417 + 20 +-0.0812755905511811 + 30 +0.0 + 10 +0.2542637795275591 + 20 +-0.084996062992126 + 30 +0.0 + 10 +0.2622086614173229 + 20 +-0.090496062992126 + 30 +0.0 + 10 +0.2622086614173229 + 20 +-0.090496062992126 + 30 +0.0 + 10 +0.2700984251968504 + 20 +-0.0959409448818898 + 30 +0.0 + 10 +0.2764881889763779 + 20 +-0.1036653543307087 + 30 +0.0 + 10 +0.2813188976377953 + 20 +-0.113496062992126 + 30 +0.0 + 10 +0.2813188976377953 + 20 +-0.113496062992126 + 30 +0.0 + 10 +0.2861535433070866 + 20 +-0.1233858267716535 + 30 +0.0 + 10 +0.2885433070866142 + 20 +-0.1342204724409449 + 30 +0.0 + 10 +0.2885433070866142 + 20 +-0.1460551181102362 + 30 +0.0 + 10 +0.2885433070866142 + 20 +-0.1460551181102362 + 30 +0.0 + 10 +0.2885433070866142 + 20 +-0.1663307086614173 + 30 +0.0 + 10 +0.2820984251968504 + 20 +-0.1835551181102362 + 30 +0.0 + 10 +0.2692086614173229 + 20 +-0.1976102362204724 + 30 +0.0 + 10 +0.2692086614173229 + 20 +-0.1976102362204724 + 30 +0.0 + 10 +0.2562637795275591 + 20 +-0.2116102362204725 + 30 +0.0 + 10 +0.2329330708661417 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.1992086614173228 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.1992086614173228 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.1992086614173228 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.1064291338582677 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +1FE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.137988188976378 + 20 +-0.1905 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1905 + 30 +0.0 + 10 +0.1997086614173228 + 20 +-0.1905 + 30 +0.0 + 10 +0.1997086614173228 + 20 +-0.1905 + 30 +0.0 + 10 +0.1997086614173228 + 20 +-0.1905 + 30 +0.0 + 10 +0.2200984251968504 + 20 +-0.1905 + 30 +0.0 + 10 +0.2345984251968504 + 20 +-0.1867204724409449 + 30 +0.0 + 10 +0.2431535433070866 + 20 +-0.1791102362204725 + 30 +0.0 + 10 +0.2431535433070866 + 20 +-0.1791102362204725 + 30 +0.0 + 10 +0.2517086614173228 + 20 +-0.1715 + 30 +0.0 + 10 +0.2559881889763779 + 20 +-0.1608307086614173 + 30 +0.0 + 10 +0.2559881889763779 + 20 +-0.1470551181102362 + 30 +0.0 + 10 +0.2559881889763779 + 20 +-0.1470551181102362 + 30 +0.0 + 10 +0.2559881889763779 + 20 +-0.1370551181102362 + 30 +0.0 + 10 +0.2534881889763779 + 20 +-0.128496062992126 + 30 +0.0 + 10 +0.2484330708661417 + 20 +-0.1213858267716535 + 30 +0.0 + 10 +0.2484330708661417 + 20 +-0.1213858267716535 + 30 +0.0 + 10 +0.2433740157480315 + 20 +-0.1142755905511811 + 30 +0.0 + 10 +0.2367637795275591 + 20 +-0.1096102362204724 + 30 +0.0 + 10 +0.228488188976378 + 20 +-0.1073307086614173 + 30 +0.0 + 10 +0.228488188976378 + 20 +-0.1073307086614173 + 30 +0.0 + 10 +0.2231535433070866 + 20 +-0.1059409448818898 + 30 +0.0 + 10 +0.2133740157480315 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.1990433070866142 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.1990433070866142 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.1990433070866142 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1905 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.1905 + 30 +0.0 + 0 +SPLINE + 5 +1FF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4378228346456693 + 20 +-0.2943307086614173 + 30 +0.0 + 10 +0.4269330708661417 + 20 +-0.3035551181102362 + 30 +0.0 + 10 +0.416488188976378 + 20 +-0.3100551181102362 + 30 +0.0 + 10 +0.406488188976378 + 20 +-0.3138858267716536 + 30 +0.0 + 10 +0.406488188976378 + 20 +-0.3138858267716536 + 30 +0.0 + 10 +0.3964330708661417 + 20 +-0.3176653543307086 + 30 +0.0 + 10 +0.3856535433070866 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.3741535433070866 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.3741535433070866 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.3551535433070866 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.3405984251968504 + 20 +-0.3149448818897638 + 30 +0.0 + 10 +0.3303779527559055 + 20 +-0.3056653543307087 + 30 +0.0 + 10 +0.3303779527559055 + 20 +-0.3056653543307087 + 30 +0.0 + 10 +0.3202086614173228 + 20 +-0.2963858267716535 + 30 +0.0 + 10 +0.3150984251968504 + 20 +-0.2845 + 30 +0.0 + 10 +0.3150984251968504 + 20 +-0.2701102362204724 + 30 +0.0 + 10 +0.3150984251968504 + 20 +-0.2701102362204724 + 30 +0.0 + 10 +0.3150984251968504 + 20 +-0.2616102362204724 + 30 +0.0 + 10 +0.3169881889763779 + 20 +-0.2538858267716536 + 30 +0.0 + 10 +0.3208779527559055 + 20 +-0.2468858267716535 + 30 +0.0 + 10 +0.3208779527559055 + 20 +-0.2468858267716535 + 30 +0.0 + 10 +0.3247086614173229 + 20 +-0.2398858267716535 + 30 +0.0 + 10 +0.329763779527559 + 20 +-0.2342755905511811 + 30 +0.0 + 10 +0.3359881889763779 + 20 +-0.2300551181102362 + 30 +0.0 + 10 +0.3359881889763779 + 20 +-0.2300551181102362 + 30 +0.0 + 10 +0.342263779527559 + 20 +-0.2258307086614173 + 30 +0.0 + 10 +0.349263779527559 + 20 +-0.2226102362204724 + 30 +0.0 + 10 +0.3570984251968504 + 20 +-0.2204409448818898 + 30 +0.0 + 10 +0.3570984251968504 + 20 +-0.2204409448818898 + 30 +0.0 + 10 +0.3628228346456693 + 20 +-0.2189409448818898 + 30 +0.0 + 10 +0.371488188976378 + 20 +-0.2174409448818898 + 30 +0.0 + 10 +0.3830984251968504 + 20 +-0.2160551181102362 + 30 +0.0 + 10 +0.3830984251968504 + 20 +-0.2160551181102362 + 30 +0.0 + 10 +0.4067677165354331 + 20 +-0.2132204724409449 + 30 +0.0 + 10 +0.4242086614173228 + 20 +-0.2098858267716535 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2059409448818898 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2059409448818898 + 30 +0.0 + 10 +0.435488188976378 + 20 +-0.2019409448818898 + 30 +0.0 + 10 +0.4355433070866142 + 20 +-0.1993858267716535 + 30 +0.0 + 10 +0.4355433070866142 + 20 +-0.1983307086614173 + 30 +0.0 + 10 +0.4355433070866142 + 20 +-0.1983307086614173 + 30 +0.0 + 10 +0.4355433070866142 + 20 +-0.1863858267716536 + 30 +0.0 + 10 +0.4327677165354331 + 20 +-0.1779409448818898 + 30 +0.0 + 10 +0.4272086614173228 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +0.4272086614173228 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +0.419767716535433 + 20 +-0.1664409448818898 + 30 +0.0 + 10 +0.4085984251968504 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.3938779527559055 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.3938779527559055 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.3800984251968504 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.3699330708661417 + 20 +-0.1655551181102362 + 30 +0.0 + 10 +0.3633228346456693 + 20 +-0.1703858267716535 + 30 +0.0 + 10 +0.3633228346456693 + 20 +-0.1703858267716535 + 30 +0.0 + 10 +0.3567637795275591 + 20 +-0.1752204724409449 + 30 +0.0 + 10 +0.3519330708661417 + 20 +-0.1837755905511811 + 30 +0.0 + 10 +0.348763779527559 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +0.348763779527559 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +0.348763779527559 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +0.3201535433070866 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +0.3201535433070866 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +0.3201535433070866 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +0.3227637795275591 + 20 +-0.1798858267716535 + 30 +0.0 + 10 +0.3270433070866142 + 20 +-0.1699409448818898 + 30 +0.0 + 10 +0.3329881889763779 + 20 +-0.1624409448818898 + 30 +0.0 + 10 +0.3329881889763779 + 20 +-0.1624409448818898 + 30 +0.0 + 10 +0.3389330708661417 + 20 +-0.1548858267716536 + 30 +0.0 + 10 +0.3475984251968504 + 20 +-0.1490551181102362 + 30 +0.0 + 10 +0.3588779527559055 + 20 +-0.144996062992126 + 30 +0.0 + 10 +0.3588779527559055 + 20 +-0.144996062992126 + 30 +0.0 + 10 +0.3701535433070866 + 20 +-0.1409409448818898 + 30 +0.0 + 10 +0.3832086614173228 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.3980984251968504 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.3980984251968504 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.4128779527559055 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.4248228346456693 + 20 +-0.1406653543307087 + 30 +0.0 + 10 +0.4340433070866141 + 20 +-0.1441102362204724 + 30 +0.0 + 10 +0.4340433070866141 + 20 +-0.1441102362204724 + 30 +0.0 + 10 +0.4432677165354331 + 20 +-0.1476102362204725 + 30 +0.0 + 10 +0.4500433070866142 + 20 +-0.1519409448818898 + 30 +0.0 + 10 +0.4544330708661417 + 20 +-0.1572204724409449 + 30 +0.0 + 10 +0.4544330708661417 + 20 +-0.1572204724409449 + 30 +0.0 + 10 +0.4587677165354331 + 20 +-0.1625 + 30 +0.0 + 10 +0.4617677165354331 + 20 +-0.1691102362204724 + 30 +0.0 + 10 +0.4635433070866142 + 20 +-0.1771653543307087 + 30 +0.0 + 10 +0.4635433070866142 + 20 +-0.1771653543307087 + 30 +0.0 + 10 +0.4644881889763779 + 20 +-0.1821653543307087 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.1911653543307087 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +0.4649881889763779 + 20 +-0.2705 + 30 +0.0 + 10 +0.4655984251968504 + 20 +-0.2877204724409449 + 30 +0.0 + 10 +0.4668779527559055 + 20 +-0.2948858267716535 + 30 +0.0 + 10 +0.4668779527559055 + 20 +-0.2948858267716535 + 30 +0.0 + 10 +0.4680984251968504 + 20 +-0.3021102362204725 + 30 +0.0 + 10 +0.4705984251968504 + 20 +-0.3090551181102362 + 30 +0.0 + 10 +0.4742677165354331 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.4742677165354331 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.4742677165354331 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.4436535433070866 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.4436535433070866 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.4436535433070866 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.4406535433070866 + 20 +-0.3096102362204725 + 30 +0.0 + 10 +0.4386535433070866 + 20 +-0.3025 + 30 +0.0 + 10 +0.4378228346456693 + 20 +-0.2943307086614173 + 30 +0.0 + 0 +SPLINE + 5 +200 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4353779527559055 + 20 +-0.2288858267716535 + 30 +0.0 + 10 +0.4247086614173228 + 20 +-0.2332755905511811 + 30 +0.0 + 10 +0.4087677165354331 + 20 +-0.2369409448818898 + 30 +0.0 + 10 +0.3875433070866142 + 20 +-0.24 + 30 +0.0 + 10 +0.3875433070866142 + 20 +-0.24 + 30 +0.0 + 10 +0.375488188976378 + 20 +-0.2417204724409449 + 30 +0.0 + 10 +0.3669330708661417 + 20 +-0.2436653543307087 + 30 +0.0 + 10 +0.361988188976378 + 20 +-0.2458307086614173 + 30 +0.0 + 10 +0.361988188976378 + 20 +-0.2458307086614173 + 30 +0.0 + 10 +0.356988188976378 + 20 +-0.248 + 30 +0.0 + 10 +0.3530984251968504 + 20 +-0.2511653543307086 + 30 +0.0 + 10 +0.3504330708661417 + 20 +-0.2553858267716536 + 30 +0.0 + 10 +0.3504330708661417 + 20 +-0.2553858267716536 + 30 +0.0 + 10 +0.3477086614173228 + 20 +-0.2595551181102362 + 30 +0.0 + 10 +0.3463228346456693 + 20 +-0.2641653543307086 + 30 +0.0 + 10 +0.3463228346456693 + 20 +-0.2692755905511811 + 30 +0.0 + 10 +0.3463228346456693 + 20 +-0.2692755905511811 + 30 +0.0 + 10 +0.3463228346456693 + 20 +-0.2771102362204724 + 30 +0.0 + 10 +0.3493228346456693 + 20 +-0.2836102362204724 + 30 +0.0 + 10 +0.3552086614173228 + 20 +-0.2888307086614173 + 30 +0.0 + 10 +0.3552086614173228 + 20 +-0.2888307086614173 + 30 +0.0 + 10 +0.3610984251968504 + 20 +-0.294 + 30 +0.0 + 10 +0.3697677165354331 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.3811535433070866 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.3811535433070866 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.3924330708661417 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.4024881889763779 + 20 +-0.2941653543307087 + 30 +0.0 + 10 +0.4112677165354331 + 20 +-0.2892204724409449 + 30 +0.0 + 10 +0.4112677165354331 + 20 +-0.2892204724409449 + 30 +0.0 + 10 +0.4200433070866142 + 20 +-0.2842755905511811 + 30 +0.0 + 10 +0.4265433070866142 + 20 +-0.2775 + 30 +0.0 + 10 +0.4306535433070866 + 20 +-0.2689448818897638 + 30 +0.0 + 10 +0.4306535433070866 + 20 +-0.2689448818897638 + 30 +0.0 + 10 +0.4338228346456693 + 20 +-0.2623307086614173 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2525551181102362 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2288858267716535 + 30 +0.0 + 10 +0.4353779527559055 + 20 +-0.2288858267716535 + 30 +0.0 + 0 +SPLINE + 5 +201 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.5104330708661418 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +0.5367677165354331 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +0.549488188976378 + 20 +-0.1483858267716535 + 30 +0.0 + 10 +0.5678228346456693 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.591767716535433 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.591767716535433 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.6022125984251968 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.611767716535433 + 20 +-0.1407755905511811 + 30 +0.0 + 10 +0.6204881889763779 + 20 +-0.144496062992126 + 30 +0.0 + 10 +0.6204881889763779 + 20 +-0.144496062992126 + 30 +0.0 + 10 +0.6292677165354331 + 20 +-0.1482755905511811 + 30 +0.0 + 10 +0.6357677165354331 + 20 +-0.1531653543307087 + 30 +0.0 + 10 +0.6400984251968503 + 20 +-0.1592755905511811 + 30 +0.0 + 10 +0.6400984251968503 + 20 +-0.1592755905511811 + 30 +0.0 + 10 +0.6444881889763779 + 20 +-0.1653307086614173 + 30 +0.0 + 10 +0.6474881889763779 + 20 +-0.1725551181102362 + 30 +0.0 + 10 +0.649267716535433 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +0.649267716535433 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +0.6503228346456693 + 20 +-0.1863307086614173 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.1958307086614173 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6508779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.2105 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.2105 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.2105 + 30 +0.0 + 10 +0.6215433070866142 + 20 +-0.1986102362204724 + 30 +0.0 + 10 +0.6204330708661417 + 20 +-0.1896653543307087 + 30 +0.0 + 10 +0.6181574803149607 + 20 +-0.1837204724409449 + 30 +0.0 + 10 +0.6181574803149607 + 20 +-0.1837204724409449 + 30 +0.0 + 10 +0.6158779527559055 + 20 +-0.1778307086614173 + 30 +0.0 + 10 +0.6118228346456693 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +0.6060433070866141 + 20 +-0.1696102362204724 + 30 +0.0 + 10 +0.6060433070866141 + 20 +-0.1696102362204724 + 30 +0.0 + 10 +0.6002125984251968 + 20 +-0.1660551181102362 + 30 +0.0 + 10 +0.5934330708661417 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +0.5855984251968503 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +0.5855984251968503 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +0.5730984251968504 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +0.5623779527559055 + 20 +-0.1682755905511811 + 30 +0.0 + 10 +0.553267716535433 + 20 +-0.1761653543307087 + 30 +0.0 + 10 +0.553267716535433 + 20 +-0.1761653543307087 + 30 +0.0 + 10 +0.5442125984251969 + 20 +-0.1841102362204724 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.1991102362204724 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5397125984251968 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.5104330708661418 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +202 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8086023622047244 + 20 +-0.2943307086614173 + 30 +0.0 + 10 +0.7977125984251968 + 20 +-0.3035551181102362 + 30 +0.0 + 10 +0.787267716535433 + 20 +-0.3100551181102362 + 30 +0.0 + 10 +0.777267716535433 + 20 +-0.3138858267716536 + 30 +0.0 + 10 +0.777267716535433 + 20 +-0.3138858267716536 + 30 +0.0 + 10 +0.7672125984251968 + 20 +-0.3176653543307086 + 30 +0.0 + 10 +0.7564330708661418 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.7449330708661417 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.7449330708661417 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.7259330708661418 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.7113779527559055 + 20 +-0.3149448818897638 + 30 +0.0 + 10 +0.7011574803149606 + 20 +-0.3056653543307087 + 30 +0.0 + 10 +0.7011574803149606 + 20 +-0.3056653543307087 + 30 +0.0 + 10 +0.6909881889763779 + 20 +-0.2963858267716535 + 30 +0.0 + 10 +0.6858779527559055 + 20 +-0.2845 + 30 +0.0 + 10 +0.6858779527559055 + 20 +-0.2701102362204724 + 30 +0.0 + 10 +0.6858779527559055 + 20 +-0.2701102362204724 + 30 +0.0 + 10 +0.6858779527559055 + 20 +-0.2616102362204724 + 30 +0.0 + 10 +0.6877677165354331 + 20 +-0.2538858267716536 + 30 +0.0 + 10 +0.6916574803149607 + 20 +-0.2468858267716535 + 30 +0.0 + 10 +0.6916574803149607 + 20 +-0.2468858267716535 + 30 +0.0 + 10 +0.695488188976378 + 20 +-0.2398858267716535 + 30 +0.0 + 10 +0.7005433070866142 + 20 +-0.2342755905511811 + 30 +0.0 + 10 +0.706767716535433 + 20 +-0.2300551181102362 + 30 +0.0 + 10 +0.706767716535433 + 20 +-0.2300551181102362 + 30 +0.0 + 10 +0.7130433070866141 + 20 +-0.2258307086614173 + 30 +0.0 + 10 +0.7200433070866141 + 20 +-0.2226102362204724 + 30 +0.0 + 10 +0.7278779527559055 + 20 +-0.2204409448818898 + 30 +0.0 + 10 +0.7278779527559055 + 20 +-0.2204409448818898 + 30 +0.0 + 10 +0.7336023622047244 + 20 +-0.2189409448818898 + 30 +0.0 + 10 +0.7422677165354331 + 20 +-0.2174409448818898 + 30 +0.0 + 10 +0.7538779527559055 + 20 +-0.2160551181102362 + 30 +0.0 + 10 +0.7538779527559055 + 20 +-0.2160551181102362 + 30 +0.0 + 10 +0.7775472440944882 + 20 +-0.2132204724409449 + 30 +0.0 + 10 +0.7949881889763779 + 20 +-0.2098858267716535 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2059409448818898 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2059409448818898 + 30 +0.0 + 10 +0.806267716535433 + 20 +-0.2019409448818898 + 30 +0.0 + 10 +0.8063228346456693 + 20 +-0.1993858267716535 + 30 +0.0 + 10 +0.8063228346456693 + 20 +-0.1983307086614173 + 30 +0.0 + 10 +0.8063228346456693 + 20 +-0.1983307086614173 + 30 +0.0 + 10 +0.8063228346456693 + 20 +-0.1863858267716536 + 30 +0.0 + 10 +0.8035472440944882 + 20 +-0.1779409448818898 + 30 +0.0 + 10 +0.7979881889763779 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +0.7979881889763779 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +0.7905472440944882 + 20 +-0.1664409448818898 + 30 +0.0 + 10 +0.7793779527559055 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.7646574803149606 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.7646574803149606 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.7508779527559055 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +0.7407125984251969 + 20 +-0.1655551181102362 + 30 +0.0 + 10 +0.7341023622047244 + 20 +-0.1703858267716535 + 30 +0.0 + 10 +0.7341023622047244 + 20 +-0.1703858267716535 + 30 +0.0 + 10 +0.7275433070866142 + 20 +-0.1752204724409449 + 30 +0.0 + 10 +0.7227125984251969 + 20 +-0.1837755905511811 + 30 +0.0 + 10 +0.7195433070866142 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +0.7195433070866142 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +0.7195433070866142 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +0.6909330708661418 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +0.6909330708661418 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +0.6909330708661418 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +0.6935433070866142 + 20 +-0.1798858267716535 + 30 +0.0 + 10 +0.6978228346456693 + 20 +-0.1699409448818898 + 30 +0.0 + 10 +0.703767716535433 + 20 +-0.1624409448818898 + 30 +0.0 + 10 +0.703767716535433 + 20 +-0.1624409448818898 + 30 +0.0 + 10 +0.7097125984251969 + 20 +-0.1548858267716536 + 30 +0.0 + 10 +0.7183779527559055 + 20 +-0.1490551181102362 + 30 +0.0 + 10 +0.7296574803149606 + 20 +-0.144996062992126 + 30 +0.0 + 10 +0.7296574803149606 + 20 +-0.144996062992126 + 30 +0.0 + 10 +0.7409330708661417 + 20 +-0.1409409448818898 + 30 +0.0 + 10 +0.753988188976378 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.7688779527559055 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.7688779527559055 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.7836574803149606 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.7956023622047244 + 20 +-0.1406653543307087 + 30 +0.0 + 10 +0.8048228346456693 + 20 +-0.1441102362204724 + 30 +0.0 + 10 +0.8048228346456693 + 20 +-0.1441102362204724 + 30 +0.0 + 10 +0.8140472440944881 + 20 +-0.1476102362204725 + 30 +0.0 + 10 +0.8208228346456693 + 20 +-0.1519409448818898 + 30 +0.0 + 10 +0.8252125984251969 + 20 +-0.1572204724409449 + 30 +0.0 + 10 +0.8252125984251969 + 20 +-0.1572204724409449 + 30 +0.0 + 10 +0.8295472440944882 + 20 +-0.1625 + 30 +0.0 + 10 +0.8325472440944882 + 20 +-0.1691102362204724 + 30 +0.0 + 10 +0.8343228346456693 + 20 +-0.1771653543307087 + 30 +0.0 + 10 +0.8343228346456693 + 20 +-0.1771653543307087 + 30 +0.0 + 10 +0.8352677165354331 + 20 +-0.1821653543307087 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.1911653543307087 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +0.835767716535433 + 20 +-0.2705 + 30 +0.0 + 10 +0.8363779527559055 + 20 +-0.2877204724409449 + 30 +0.0 + 10 +0.8376574803149607 + 20 +-0.2948858267716535 + 30 +0.0 + 10 +0.8376574803149607 + 20 +-0.2948858267716535 + 30 +0.0 + 10 +0.8388779527559055 + 20 +-0.3021102362204725 + 30 +0.0 + 10 +0.8413779527559055 + 20 +-0.3090551181102362 + 30 +0.0 + 10 +0.8450472440944882 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.8450472440944882 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.8450472440944882 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.8144330708661417 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.8144330708661417 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.8144330708661417 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +0.8114330708661417 + 20 +-0.3096102362204725 + 30 +0.0 + 10 +0.8094330708661417 + 20 +-0.3025 + 30 +0.0 + 10 +0.8086023622047244 + 20 +-0.2943307086614173 + 30 +0.0 + 0 +SPLINE + 5 +203 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8061574803149606 + 20 +-0.2288858267716535 + 30 +0.0 + 10 +0.795488188976378 + 20 +-0.2332755905511811 + 30 +0.0 + 10 +0.7795472440944882 + 20 +-0.2369409448818898 + 30 +0.0 + 10 +0.7583228346456693 + 20 +-0.24 + 30 +0.0 + 10 +0.7583228346456693 + 20 +-0.24 + 30 +0.0 + 10 +0.7462677165354331 + 20 +-0.2417204724409449 + 30 +0.0 + 10 +0.7377125984251969 + 20 +-0.2436653543307087 + 30 +0.0 + 10 +0.732767716535433 + 20 +-0.2458307086614173 + 30 +0.0 + 10 +0.732767716535433 + 20 +-0.2458307086614173 + 30 +0.0 + 10 +0.727767716535433 + 20 +-0.248 + 30 +0.0 + 10 +0.7238779527559055 + 20 +-0.2511653543307086 + 30 +0.0 + 10 +0.7212125984251968 + 20 +-0.2553858267716536 + 30 +0.0 + 10 +0.7212125984251968 + 20 +-0.2553858267716536 + 30 +0.0 + 10 +0.718488188976378 + 20 +-0.2595551181102362 + 30 +0.0 + 10 +0.7171023622047245 + 20 +-0.2641653543307086 + 30 +0.0 + 10 +0.7171023622047245 + 20 +-0.2692755905511811 + 30 +0.0 + 10 +0.7171023622047245 + 20 +-0.2692755905511811 + 30 +0.0 + 10 +0.7171023622047245 + 20 +-0.2771102362204724 + 30 +0.0 + 10 +0.7201023622047245 + 20 +-0.2836102362204724 + 30 +0.0 + 10 +0.725988188976378 + 20 +-0.2888307086614173 + 30 +0.0 + 10 +0.725988188976378 + 20 +-0.2888307086614173 + 30 +0.0 + 10 +0.7318779527559055 + 20 +-0.294 + 30 +0.0 + 10 +0.7405472440944882 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.7519330708661417 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.7519330708661417 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.7632125984251968 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +0.773267716535433 + 20 +-0.2941653543307087 + 30 +0.0 + 10 +0.7820472440944882 + 20 +-0.2892204724409449 + 30 +0.0 + 10 +0.7820472440944882 + 20 +-0.2892204724409449 + 30 +0.0 + 10 +0.7908228346456693 + 20 +-0.2842755905511811 + 30 +0.0 + 10 +0.7973228346456693 + 20 +-0.2775 + 30 +0.0 + 10 +0.8014330708661417 + 20 +-0.2689448818897638 + 30 +0.0 + 10 +0.8014330708661417 + 20 +-0.2689448818897638 + 30 +0.0 + 10 +0.8046023622047244 + 20 +-0.2623307086614173 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2525551181102362 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2288858267716535 + 30 +0.0 + 10 +0.8061574803149606 + 20 +-0.2288858267716535 + 30 +0.0 + 0 +SPLINE + 5 +204 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.869492125984252 + 20 +-0.2640551181102362 + 30 +0.0 + 10 +0.869492125984252 + 20 +-0.2640551181102362 + 30 +0.0 + 10 +0.8984330708661418 + 20 +-0.2595 + 30 +0.0 + 10 +0.8984330708661418 + 20 +-0.2595 + 30 +0.0 + 10 +0.8984330708661418 + 20 +-0.2595 + 30 +0.0 + 10 +0.9000472440944882 + 20 +-0.2711102362204724 + 30 +0.0 + 10 +0.9046023622047245 + 20 +-0.28 + 30 +0.0 + 10 +0.9120472440944882 + 20 +-0.2862204724409449 + 30 +0.0 + 10 +0.9120472440944882 + 20 +-0.2862204724409449 + 30 +0.0 + 10 +0.9194370078740157 + 20 +-0.2923858267716535 + 30 +0.0 + 10 +0.9298228346456693 + 20 +-0.2955 + 30 +0.0 + 10 +0.9432125984251969 + 20 +-0.2955 + 30 +0.0 + 10 +0.9432125984251969 + 20 +-0.2955 + 30 +0.0 + 10 +0.9566574803149607 + 20 +-0.2955 + 30 +0.0 + 10 +0.9666574803149607 + 20 +-0.2927204724409449 + 30 +0.0 + 10 +0.9731574803149606 + 20 +-0.2872755905511811 + 30 +0.0 + 10 +0.9731574803149606 + 20 +-0.2872755905511811 + 30 +0.0 + 10 +0.9796574803149606 + 20 +-0.2817755905511811 + 30 +0.0 + 10 +0.9829370078740157 + 20 +-0.2753307086614173 + 30 +0.0 + 10 +0.9829370078740157 + 20 +-0.268 + 30 +0.0 + 10 +0.9829370078740157 + 20 +-0.268 + 30 +0.0 + 10 +0.9829370078740157 + 20 +-0.2613307086614173 + 30 +0.0 + 10 +0.9800472440944882 + 20 +-0.2561653543307086 + 30 +0.0 + 10 +0.9742677165354331 + 20 +-0.2523307086614173 + 30 +0.0 + 10 +0.9742677165354331 + 20 +-0.2523307086614173 + 30 +0.0 + 10 +0.9702677165354331 + 20 +-0.2497204724409449 + 30 +0.0 + 10 +0.9602677165354331 + 20 +-0.2464409448818898 + 30 +0.0 + 10 +0.9443228346456692 + 20 +-0.2424409448818898 + 30 +0.0 + 10 +0.9443228346456692 + 20 +-0.2424409448818898 + 30 +0.0 + 10 +0.9228779527559056 + 20 +-0.237 + 30 +0.0 + 10 +0.9079330708661417 + 20 +-0.2323307086614173 + 30 +0.0 + 10 +0.8996574803149606 + 20 +-0.2283307086614173 + 30 +0.0 + 10 +0.8996574803149606 + 20 +-0.2283307086614173 + 30 +0.0 + 10 +0.8913779527559055 + 20 +-0.2243858267716536 + 30 +0.0 + 10 +0.8850472440944882 + 20 +-0.2188858267716536 + 30 +0.0 + 10 +0.8807677165354331 + 20 +-0.2118858267716535 + 30 +0.0 + 10 +0.8807677165354331 + 20 +-0.2118858267716535 + 30 +0.0 + 10 +0.876492125984252 + 20 +-0.2048858267716535 + 30 +0.0 + 10 +0.8743228346456693 + 20 +-0.1971653543307087 + 30 +0.0 + 10 +0.8743228346456693 + 20 +-0.1887204724409449 + 30 +0.0 + 10 +0.8743228346456693 + 20 +-0.1887204724409449 + 30 +0.0 + 10 +0.8743228346456693 + 20 +-0.181 + 30 +0.0 + 10 +0.8761023622047244 + 20 +-0.1738858267716535 + 30 +0.0 + 10 +0.8796574803149606 + 20 +-0.1673307086614173 + 30 +0.0 + 10 +0.8796574803149606 + 20 +-0.1673307086614173 + 30 +0.0 + 10 +0.8831574803149607 + 20 +-0.1607204724409449 + 30 +0.0 + 10 +0.8879921259842519 + 20 +-0.1552755905511811 + 30 +0.0 + 10 +0.8940472440944882 + 20 +-0.1509409448818898 + 30 +0.0 + 10 +0.8940472440944882 + 20 +-0.1509409448818898 + 30 +0.0 + 10 +0.8986023622047244 + 20 +-0.1476102362204725 + 30 +0.0 + 10 +0.9048228346456693 + 20 +-0.1447204724409449 + 30 +0.0 + 10 +0.9126574803149606 + 20 +-0.1423858267716535 + 30 +0.0 + 10 +0.9126574803149606 + 20 +-0.1423858267716535 + 30 +0.0 + 10 +0.9205472440944882 + 20 +-0.1400551181102362 + 30 +0.0 + 10 +0.928992125984252 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.937992125984252 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.937992125984252 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.9515472440944882 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +0.9634370078740158 + 20 +-0.1408858267716535 + 30 +0.0 + 10 +0.9737125984251969 + 20 +-0.1447755905511811 + 30 +0.0 + 10 +0.9737125984251969 + 20 +-0.1447755905511811 + 30 +0.0 + 10 +0.983992125984252 + 20 +-0.1486653543307087 + 30 +0.0 + 10 +0.9915472440944881 + 20 +-0.1539409448818898 + 30 +0.0 + 10 +0.9964370078740158 + 20 +-0.1606102362204724 + 30 +0.0 + 10 +0.9964370078740158 + 20 +-0.1606102362204724 + 30 +0.0 + 10 +1.001322834645669 + 20 +-0.1673307086614173 + 30 +0.0 + 10 +1.004657480314961 + 20 +-0.1762204724409449 + 30 +0.0 + 10 +1.006492125984252 + 20 +-0.1873858267716536 + 30 +0.0 + 10 +1.006492125984252 + 20 +-0.1873858267716536 + 30 +0.0 + 10 +1.006492125984252 + 20 +-0.1873858267716536 + 30 +0.0 + 10 +0.9778779527559055 + 20 +-0.1913307086614173 + 30 +0.0 + 10 +0.9778779527559055 + 20 +-0.1913307086614173 + 30 +0.0 + 10 +0.9778779527559055 + 20 +-0.1913307086614173 + 30 +0.0 + 10 +0.9765472440944882 + 20 +-0.1824409448818898 + 30 +0.0 + 10 +0.972767716535433 + 20 +-0.1755 + 30 +0.0 + 10 +0.9665472440944882 + 20 +-0.1705 + 30 +0.0 + 10 +0.9665472440944882 + 20 +-0.1705 + 30 +0.0 + 10 +0.9603228346456693 + 20 +-0.1655 + 30 +0.0 + 10 +0.9514921259842519 + 20 +-0.163 + 30 +0.0 + 10 +0.9401023622047244 + 20 +-0.163 + 30 +0.0 + 10 +0.9401023622047244 + 20 +-0.163 + 30 +0.0 + 10 +0.9266574803149606 + 20 +-0.163 + 30 +0.0 + 10 +0.9170472440944882 + 20 +-0.1652204724409449 + 30 +0.0 + 10 +0.9113228346456693 + 20 +-0.1696653543307087 + 30 +0.0 + 10 +0.9113228346456693 + 20 +-0.1696653543307087 + 30 +0.0 + 10 +0.9055472440944882 + 20 +-0.1741102362204724 + 30 +0.0 + 10 +0.9026574803149606 + 20 +-0.1793307086614173 + 30 +0.0 + 10 +0.9026574803149606 + 20 +-0.1852755905511811 + 30 +0.0 + 10 +0.9026574803149606 + 20 +-0.1852755905511811 + 30 +0.0 + 10 +0.9026574803149606 + 20 +-0.1891102362204724 + 30 +0.0 + 10 +0.9038779527559055 + 20 +-0.1925 + 30 +0.0 + 10 +0.906267716535433 + 20 +-0.1955551181102362 + 30 +0.0 + 10 +0.906267716535433 + 20 +-0.1955551181102362 + 30 +0.0 + 10 +0.9086574803149606 + 20 +-0.1987204724409449 + 30 +0.0 + 10 +0.9123779527559055 + 20 +-0.2012755905511811 + 30 +0.0 + 10 +0.917492125984252 + 20 +-0.2033858267716535 + 30 +0.0 + 10 +0.917492125984252 + 20 +-0.2033858267716535 + 30 +0.0 + 10 +0.9204370078740157 + 20 +-0.2044409448818898 + 30 +0.0 + 10 +0.9290472440944881 + 20 +-0.2069409448818898 + 30 +0.0 + 10 +0.9433779527559055 + 20 +-0.2108307086614173 + 30 +0.0 + 10 +0.9433779527559055 + 20 +-0.2108307086614173 + 30 +0.0 + 10 +0.9641023622047245 + 20 +-0.2163858267716535 + 30 +0.0 + 10 +0.9785472440944882 + 20 +-0.2208858267716536 + 30 +0.0 + 10 +0.9867125984251969 + 20 +-0.2244409448818898 + 30 +0.0 + 10 +0.9867125984251969 + 20 +-0.2244409448818898 + 30 +0.0 + 10 +0.9949370078740157 + 20 +-0.2279409448818898 + 30 +0.0 + 10 +1.001377952755905 + 20 +-0.2331102362204724 + 30 +0.0 + 10 +1.006047244094488 + 20 +-0.2398307086614173 + 30 +0.0 + 10 +1.006047244094488 + 20 +-0.2398307086614173 + 30 +0.0 + 10 +1.010712598425197 + 20 +-0.2465551181102362 + 30 +0.0 + 10 +1.013047244094488 + 20 +-0.2548858267716536 + 30 +0.0 + 10 +1.013047244094488 + 20 +-0.2648858267716536 + 30 +0.0 + 10 +1.013047244094488 + 20 +-0.2648858267716536 + 30 +0.0 + 10 +1.013047244094488 + 20 +-0.2746653543307087 + 30 +0.0 + 10 +1.010157480314961 + 20 +-0.2838307086614173 + 30 +0.0 + 10 +1.004492125984252 + 20 +-0.2925 + 30 +0.0 + 10 +1.004492125984252 + 20 +-0.2925 + 30 +0.0 + 10 +0.9987677165354331 + 20 +-0.3011102362204724 + 30 +0.0 + 10 +0.9905472440944882 + 20 +-0.3077755905511811 + 30 +0.0 + 10 +0.9798228346456693 + 20 +-0.3125 + 30 +0.0 + 10 +0.9798228346456693 + 20 +-0.3125 + 30 +0.0 + 10 +0.9691023622047245 + 20 +-0.3172204724409449 + 30 +0.0 + 10 +0.9569370078740157 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.9433779527559055 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.9433779527559055 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.9208779527559056 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +0.9037677165354331 + 20 +-0.3148858267716536 + 30 +0.0 + 10 +0.8919921259842519 + 20 +-0.3055551181102362 + 30 +0.0 + 10 +0.8919921259842519 + 20 +-0.3055551181102362 + 30 +0.0 + 10 +0.8802125984251968 + 20 +-0.2962204724409449 + 30 +0.0 + 10 +0.8727125984251969 + 20 +-0.2823858267716535 + 30 +0.0 + 10 +0.869492125984252 + 20 +-0.2640551181102362 + 30 +0.0 + 0 +SPLINE + 5 +205 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.036937007874016 + 20 +-0.2292204724409449 + 30 +0.0 + 10 +1.036937007874016 + 20 +-0.1972204724409449 + 30 +0.0 + 10 +1.045826771653543 + 20 +-0.1735 + 30 +0.0 + 10 +1.063661417322835 + 20 +-0.1581102362204724 + 30 +0.0 + 10 +1.063661417322835 + 20 +-0.1581102362204724 + 30 +0.0 + 10 +1.078492125984252 + 20 +-0.1453307086614173 + 30 +0.0 + 10 +1.096606299212598 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.141771653543307 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.161216535433071 + 20 +-0.1466653543307087 + 30 +0.0 + 10 +1.176271653543307 + 20 +-0.1622755905511811 + 30 +0.0 + 10 +1.176271653543307 + 20 +-0.1622755905511811 + 30 +0.0 + 10 +1.19138188976378 + 20 +-0.1778307086614173 + 30 +0.0 + 10 +1.19888188976378 + 20 +-0.1993307086614173 + 30 +0.0 + 10 +1.19888188976378 + 20 +-0.2267755905511811 + 30 +0.0 + 10 +1.19888188976378 + 20 +-0.2267755905511811 + 30 +0.0 + 10 +1.19888188976378 + 20 +-0.2490551181102362 + 30 +0.0 + 10 +1.195551181102362 + 20 +-0.2665551181102362 + 30 +0.0 + 10 +1.18888188976378 + 20 +-0.2792755905511811 + 30 +0.0 + 10 +1.18888188976378 + 20 +-0.2792755905511811 + 30 +0.0 + 10 +1.182216535433071 + 20 +-0.2920551181102362 + 30 +0.0 + 10 +1.172492125984252 + 20 +-0.3019448818897638 + 30 +0.0 + 10 +1.159771653543307 + 20 +-0.309 + 30 +0.0 + 10 +1.159771653543307 + 20 +-0.309 + 30 +0.0 + 10 +1.146992125984252 + 20 +-0.3160551181102362 + 30 +0.0 + 10 +1.133106299212598 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.093826771653543 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.074271653543307 + 20 +-0.3118307086614173 + 30 +0.0 + 10 +1.059326771653543 + 20 +-0.2962755905511811 + 30 +0.0 + 10 +1.059326771653543 + 20 +-0.2962755905511811 + 30 +0.0 + 10 +1.04438188976378 + 20 +-0.2807755905511811 + 30 +0.0 + 10 +1.036937007874016 + 20 +-0.2584409448818898 + 30 +0.0 + 10 +1.036937007874016 + 20 +-0.2292204724409449 + 30 +0.0 + 0 +SPLINE + 5 +206 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.067047244094488 + 20 +-0.2292204724409449 + 30 +0.0 + 10 +1.067047244094488 + 20 +-0.2513858267716536 + 30 +0.0 + 10 +1.07188188976378 + 20 +-0.2679448818897638 + 30 +0.0 + 10 +1.081547244094488 + 20 +-0.2789448818897638 + 30 +0.0 + 10 +1.081547244094488 + 20 +-0.2789448818897638 + 30 +0.0 + 10 +1.091216535433071 + 20 +-0.29 + 30 +0.0 + 10 +1.103381889763779 + 20 +-0.2955 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.2955 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.2955 + 30 +0.0 + 10 +1.132547244094488 + 20 +-0.2955 + 30 +0.0 + 10 +1.144661417322835 + 20 +-0.2899448818897638 + 30 +0.0 + 10 +1.154326771653543 + 20 +-0.2788858267716535 + 30 +0.0 + 10 +1.154326771653543 + 20 +-0.2788858267716535 + 30 +0.0 + 10 +1.163937007874016 + 20 +-0.2678307086614173 + 30 +0.0 + 10 +1.168771653543307 + 20 +-0.2509409448818898 + 30 +0.0 + 10 +1.168771653543307 + 20 +-0.2282755905511811 + 30 +0.0 + 10 +1.168771653543307 + 20 +-0.2282755905511811 + 30 +0.0 + 10 +1.168771653543307 + 20 +-0.2068858267716535 + 30 +0.0 + 10 +1.163937007874016 + 20 +-0.1906653543307087 + 30 +0.0 + 10 +1.154216535433071 + 20 +-0.1796653543307087 + 30 +0.0 + 10 +1.154216535433071 + 20 +-0.1796653543307087 + 30 +0.0 + 10 +1.144492125984252 + 20 +-0.1686653543307087 + 30 +0.0 + 10 +1.132437007874016 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +1.117992125984252 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +1.103381889763779 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +1.091216535433071 + 20 +-0.1686653543307087 + 30 +0.0 + 10 +1.081547244094488 + 20 +-0.1796102362204725 + 30 +0.0 + 10 +1.081547244094488 + 20 +-0.1796102362204725 + 30 +0.0 + 10 +1.07188188976378 + 20 +-0.1905551181102362 + 30 +0.0 + 10 +1.067047244094488 + 20 +-0.2071102362204724 + 30 +0.0 + 10 +1.067047244094488 + 20 +-0.2292204724409449 + 30 +0.0 + 0 +SPLINE + 5 +207 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.233271653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +1.259606299212598 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +1.272326771653543 + 20 +-0.1483858267716535 + 30 +0.0 + 10 +1.290661417322835 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.314606299212598 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.314606299212598 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.325051181102362 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.334606299212598 + 20 +-0.1407755905511811 + 30 +0.0 + 10 +1.343326771653543 + 20 +-0.144496062992126 + 30 +0.0 + 10 +1.343326771653543 + 20 +-0.144496062992126 + 30 +0.0 + 10 +1.352106299212599 + 20 +-0.1482755905511811 + 30 +0.0 + 10 +1.358606299212598 + 20 +-0.1531653543307087 + 30 +0.0 + 10 +1.362937007874016 + 20 +-0.1592755905511811 + 30 +0.0 + 10 +1.362937007874016 + 20 +-0.1592755905511811 + 30 +0.0 + 10 +1.367326771653543 + 20 +-0.1653307086614173 + 30 +0.0 + 10 +1.370326771653543 + 20 +-0.1725551181102362 + 30 +0.0 + 10 +1.372106299212599 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +1.372106299212599 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +1.373161417322835 + 20 +-0.1863307086614173 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.1958307086614173 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.373716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.2105 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.2105 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.2105 + 30 +0.0 + 10 +1.34438188976378 + 20 +-0.1986102362204724 + 30 +0.0 + 10 +1.343271653543307 + 20 +-0.1896653543307087 + 30 +0.0 + 10 +1.340996062992126 + 20 +-0.1837204724409449 + 30 +0.0 + 10 +1.340996062992126 + 20 +-0.1837204724409449 + 30 +0.0 + 10 +1.338716535433071 + 20 +-0.1778307086614173 + 30 +0.0 + 10 +1.334661417322835 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +1.32888188976378 + 20 +-0.1696102362204724 + 30 +0.0 + 10 +1.32888188976378 + 20 +-0.1696102362204724 + 30 +0.0 + 10 +1.323051181102362 + 20 +-0.1660551181102362 + 30 +0.0 + 10 +1.316271653543307 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +1.308437007874016 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +1.308437007874016 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +1.295937007874016 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +1.285216535433071 + 20 +-0.1682755905511811 + 30 +0.0 + 10 +1.276106299212598 + 20 +-0.1761653543307087 + 30 +0.0 + 10 +1.276106299212598 + 20 +-0.1761653543307087 + 30 +0.0 + 10 +1.267051181102362 + 20 +-0.1841102362204724 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.1991102362204724 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.262551181102362 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.233271653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +208 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.418771653543307 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1107755905511811 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1107755905511811 + 30 +0.0 + 0 +SPLINE + 5 +209 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.418771653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.448106299212598 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.418771653543307 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +20A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.605496062992126 + 20 +-0.2523307086614173 + 30 +0.0 + 10 +1.605496062992126 + 20 +-0.2523307086614173 + 30 +0.0 + 10 +1.634271653543307 + 20 +-0.2561102362204725 + 30 +0.0 + 10 +1.634271653543307 + 20 +-0.2561102362204725 + 30 +0.0 + 10 +1.634271653543307 + 20 +-0.2561102362204725 + 30 +0.0 + 10 +1.631161417322835 + 20 +-0.2759448818897638 + 30 +0.0 + 10 +1.623106299212598 + 20 +-0.2915 + 30 +0.0 + 10 +1.610106299212599 + 20 +-0.3027204724409449 + 30 +0.0 + 10 +1.610106299212599 + 20 +-0.3027204724409449 + 30 +0.0 + 10 +1.597161417322835 + 20 +-0.3139448818897638 + 30 +0.0 + 10 +1.581216535433071 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.562326771653543 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.562326771653543 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.538716535433071 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +1.519661417322835 + 20 +-0.3118307086614173 + 30 +0.0 + 10 +1.505326771653543 + 20 +-0.2963858267716535 + 30 +0.0 + 10 +1.505326771653543 + 20 +-0.2963858267716535 + 30 +0.0 + 10 +1.490937007874016 + 20 +-0.2809448818897638 + 30 +0.0 + 10 +1.483716535433071 + 20 +-0.2587755905511811 + 30 +0.0 + 10 +1.483716535433071 + 20 +-0.2298858267716535 + 30 +0.0 + 10 +1.483716535433071 + 20 +-0.2298858267716535 + 30 +0.0 + 10 +1.483716535433071 + 20 +-0.2112204724409449 + 30 +0.0 + 10 +1.486826771653543 + 20 +-0.1948858267716535 + 30 +0.0 + 10 +1.492996062992126 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +1.492996062992126 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +1.499216535433071 + 20 +-0.1668858267716535 + 30 +0.0 + 10 +1.508606299212598 + 20 +-0.1563858267716536 + 30 +0.0 + 10 +1.521271653543307 + 20 +-0.1493858267716535 + 30 +0.0 + 10 +1.521271653543307 + 20 +-0.1493858267716535 + 30 +0.0 + 10 +1.53388188976378 + 20 +-0.1423858267716535 + 30 +0.0 + 10 +1.547661417322835 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.562496062992126 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.562496062992126 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.581271653543307 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +1.596661417322835 + 20 +-0.1436653543307087 + 30 +0.0 + 10 +1.608551181102362 + 20 +-0.1531653543307087 + 30 +0.0 + 10 +1.608551181102362 + 20 +-0.1531653543307087 + 30 +0.0 + 10 +1.620496062992126 + 20 +-0.1626653543307087 + 30 +0.0 + 10 +1.628161417322835 + 20 +-0.1761102362204724 + 30 +0.0 + 10 +1.631551181102362 + 20 +-0.1936102362204724 + 30 +0.0 + 10 +1.631551181102362 + 20 +-0.1936102362204724 + 30 +0.0 + 10 +1.631551181102362 + 20 +-0.1936102362204724 + 30 +0.0 + 10 +1.603051181102362 + 20 +-0.198 + 30 +0.0 + 10 +1.603051181102362 + 20 +-0.198 + 30 +0.0 + 10 +1.603051181102362 + 20 +-0.198 + 30 +0.0 + 10 +1.600326771653543 + 20 +-0.1863858267716536 + 30 +0.0 + 10 +1.595551181102362 + 20 +-0.1776653543307087 + 30 +0.0 + 10 +1.588661417322835 + 20 +-0.1717755905511811 + 30 +0.0 + 10 +1.588661417322835 + 20 +-0.1717755905511811 + 30 +0.0 + 10 +1.581771653543307 + 20 +-0.1659409448818898 + 30 +0.0 + 10 +1.57344094488189 + 20 +-0.163 + 30 +0.0 + 10 +1.563661417322835 + 20 +-0.163 + 30 +0.0 + 10 +1.563661417322835 + 20 +-0.163 + 30 +0.0 + 10 +1.548881889763779 + 20 +-0.163 + 30 +0.0 + 10 +1.536881889763779 + 20 +-0.1682755905511811 + 30 +0.0 + 10 +1.527661417322835 + 20 +-0.1788858267716535 + 30 +0.0 + 10 +1.527661417322835 + 20 +-0.1788858267716535 + 30 +0.0 + 10 +1.518437007874016 + 20 +-0.1894409448818898 + 30 +0.0 + 10 +1.513826771653543 + 20 +-0.2061653543307087 + 30 +0.0 + 10 +1.513826771653543 + 20 +-0.2290551181102362 + 30 +0.0 + 10 +1.513826771653543 + 20 +-0.2290551181102362 + 30 +0.0 + 10 +1.513826771653543 + 20 +-0.2522755905511811 + 30 +0.0 + 10 +1.518271653543307 + 20 +-0.2691653543307087 + 30 +0.0 + 10 +1.527216535433071 + 20 +-0.2797204724409449 + 30 +0.0 + 10 +1.527216535433071 + 20 +-0.2797204724409449 + 30 +0.0 + 10 +1.536106299212598 + 20 +-0.2902204724409449 + 30 +0.0 + 10 +1.547716535433071 + 20 +-0.2955 + 30 +0.0 + 10 +1.562051181102362 + 20 +-0.2955 + 30 +0.0 + 10 +1.562051181102362 + 20 +-0.2955 + 30 +0.0 + 10 +1.573551181102362 + 20 +-0.2955 + 30 +0.0 + 10 +1.583106299212598 + 20 +-0.2919448818897638 + 30 +0.0 + 10 +1.590826771653543 + 20 +-0.2848858267716535 + 30 +0.0 + 10 +1.590826771653543 + 20 +-0.2848858267716535 + 30 +0.0 + 10 +1.598551181102362 + 20 +-0.2778307086614173 + 30 +0.0 + 10 +1.60344094488189 + 20 +-0.267 + 30 +0.0 + 10 +1.605496062992126 + 20 +-0.2523307086614173 + 30 +0.0 + 0 +SPLINE + 5 +20B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.755716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.845720472440945 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.845720472440945 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.845720472440945 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.861551181102362 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.873661417322835 + 20 +-0.0778307086614173 + 30 +0.0 + 10 +1.881996062992126 + 20 +-0.0793307086614173 + 30 +0.0 + 10 +1.881996062992126 + 20 +-0.0793307086614173 + 30 +0.0 + 10 +1.893720472440945 + 20 +-0.0812755905511811 + 30 +0.0 + 10 +1.903551181102362 + 20 +-0.084996062992126 + 30 +0.0 + 10 +1.911496062992126 + 20 +-0.090496062992126 + 30 +0.0 + 10 +1.911496062992126 + 20 +-0.090496062992126 + 30 +0.0 + 10 +1.919385826771653 + 20 +-0.0959409448818898 + 30 +0.0 + 10 +1.925775590551181 + 20 +-0.1036653543307087 + 30 +0.0 + 10 +1.930606299212599 + 20 +-0.113496062992126 + 30 +0.0 + 10 +1.930606299212599 + 20 +-0.113496062992126 + 30 +0.0 + 10 +1.93544094488189 + 20 +-0.1233858267716535 + 30 +0.0 + 10 +1.937830708661417 + 20 +-0.1342204724409449 + 30 +0.0 + 10 +1.937830708661417 + 20 +-0.1460551181102362 + 30 +0.0 + 10 +1.937830708661417 + 20 +-0.1460551181102362 + 30 +0.0 + 10 +1.937830708661417 + 20 +-0.1663307086614173 + 30 +0.0 + 10 +1.931385826771653 + 20 +-0.1835551181102362 + 30 +0.0 + 10 +1.918496062992126 + 20 +-0.1976102362204724 + 30 +0.0 + 10 +1.918496062992126 + 20 +-0.1976102362204724 + 30 +0.0 + 10 +1.905551181102362 + 20 +-0.2116102362204725 + 30 +0.0 + 10 +1.882220472440945 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.848496062992126 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.848496062992126 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.848496062992126 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.2186653543307087 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.755716535433071 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +20C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.787275590551181 + 20 +-0.1905 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1905 + 30 +0.0 + 10 +1.848996062992126 + 20 +-0.1905 + 30 +0.0 + 10 +1.848996062992126 + 20 +-0.1905 + 30 +0.0 + 10 +1.848996062992126 + 20 +-0.1905 + 30 +0.0 + 10 +1.869385826771653 + 20 +-0.1905 + 30 +0.0 + 10 +1.883885826771654 + 20 +-0.1867204724409449 + 30 +0.0 + 10 +1.89244094488189 + 20 +-0.1791102362204725 + 30 +0.0 + 10 +1.89244094488189 + 20 +-0.1791102362204725 + 30 +0.0 + 10 +1.900996062992126 + 20 +-0.1715 + 30 +0.0 + 10 +1.905275590551181 + 20 +-0.1608307086614173 + 30 +0.0 + 10 +1.905275590551181 + 20 +-0.1470551181102362 + 30 +0.0 + 10 +1.905275590551181 + 20 +-0.1470551181102362 + 30 +0.0 + 10 +1.905275590551181 + 20 +-0.1370551181102362 + 30 +0.0 + 10 +1.902775590551181 + 20 +-0.128496062992126 + 30 +0.0 + 10 +1.897720472440945 + 20 +-0.1213858267716535 + 30 +0.0 + 10 +1.897720472440945 + 20 +-0.1213858267716535 + 30 +0.0 + 10 +1.892661417322835 + 20 +-0.1142755905511811 + 30 +0.0 + 10 +1.886051181102362 + 20 +-0.1096102362204724 + 30 +0.0 + 10 +1.877775590551181 + 20 +-0.1073307086614173 + 30 +0.0 + 10 +1.877775590551181 + 20 +-0.1073307086614173 + 30 +0.0 + 10 +1.87244094488189 + 20 +-0.1059409448818898 + 30 +0.0 + 10 +1.862661417322835 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.848330708661417 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.848330708661417 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.848330708661417 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1052204724409449 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1905 + 30 +0.0 + 10 +1.787275590551181 + 20 +-0.1905 + 30 +0.0 + 0 +SPLINE + 5 +20D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.98344094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.014996062992126 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +1.98344094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +20E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.071161417322835 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.17694094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.17694094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.17694094488189 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.198220472440945 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +2.214385826771653 + 20 +-0.0792204724409449 + 30 +0.0 + 10 +2.22544094488189 + 20 +-0.083496062992126 + 30 +0.0 + 10 +2.22544094488189 + 20 +-0.083496062992126 + 30 +0.0 + 10 +2.236496062992126 + 20 +-0.0877755905511811 + 30 +0.0 + 10 +2.245330708661417 + 20 +-0.0953307086614173 + 30 +0.0 + 10 +2.251996062992126 + 20 +-0.1061653543307087 + 30 +0.0 + 10 +2.251996062992126 + 20 +-0.1061653543307087 + 30 +0.0 + 10 +2.258610236220473 + 20 +-0.1170551181102362 + 30 +0.0 + 10 +2.261885826771654 + 20 +-0.1290551181102362 + 30 +0.0 + 10 +2.261885826771654 + 20 +-0.1421653543307086 + 30 +0.0 + 10 +2.261885826771654 + 20 +-0.1421653543307086 + 30 +0.0 + 10 +2.261885826771654 + 20 +-0.1591102362204724 + 30 +0.0 + 10 +2.25644094488189 + 20 +-0.1733307086614173 + 30 +0.0 + 10 +2.24544094488189 + 20 +-0.1849409448818898 + 30 +0.0 + 10 +2.24544094488189 + 20 +-0.1849409448818898 + 30 +0.0 + 10 +2.234496062992126 + 20 +-0.1965551181102362 + 30 +0.0 + 10 +2.217551181102362 + 20 +-0.2039409448818898 + 30 +0.0 + 10 +2.194665354330709 + 20 +-0.2071102362204724 + 30 +0.0 + 10 +2.194665354330709 + 20 +-0.2071102362204724 + 30 +0.0 + 10 +2.203051181102362 + 20 +-0.2111102362204725 + 30 +0.0 + 10 +2.209385826771654 + 20 +-0.2150551181102362 + 30 +0.0 + 10 +2.213720472440945 + 20 +-0.219 + 30 +0.0 + 10 +2.213720472440945 + 20 +-0.219 + 30 +0.0 + 10 +2.22294094488189 + 20 +-0.2274409448818898 + 30 +0.0 + 10 +2.231665354330709 + 20 +-0.2380551181102362 + 30 +0.0 + 10 +2.23994094488189 + 20 +-0.2507204724409449 + 30 +0.0 + 10 +2.23994094488189 + 20 +-0.2507204724409449 + 30 +0.0 + 10 +2.23994094488189 + 20 +-0.2507204724409449 + 30 +0.0 + 10 +2.28144094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.28144094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.28144094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.28144094488189 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.241720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.241720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.241720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.241720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.210165354330709 + 20 +-0.266 + 30 +0.0 + 10 +2.210165354330709 + 20 +-0.266 + 30 +0.0 + 10 +2.210165354330709 + 20 +-0.266 + 30 +0.0 + 10 +2.20094094488189 + 20 +-0.2517204724409449 + 30 +0.0 + 10 +2.193330708661417 + 20 +-0.2407204724409449 + 30 +0.0 + 10 +2.187330708661417 + 20 +-0.2331653543307087 + 30 +0.0 + 10 +2.187330708661417 + 20 +-0.2331653543307087 + 30 +0.0 + 10 +2.181385826771653 + 20 +-0.2255551181102362 + 30 +0.0 + 10 +2.176051181102362 + 20 +-0.2202204724409449 + 30 +0.0 + 10 +2.171330708661417 + 20 +-0.2172204724409449 + 30 +0.0 + 10 +2.171330708661417 + 20 +-0.2172204724409449 + 30 +0.0 + 10 +2.166606299212599 + 20 +-0.2141653543307087 + 30 +0.0 + 10 +2.161830708661417 + 20 +-0.2120551181102362 + 30 +0.0 + 10 +2.15694094488189 + 20 +-0.2108307086614173 + 30 +0.0 + 10 +2.15694094488189 + 20 +-0.2108307086614173 + 30 +0.0 + 10 +2.153330708661418 + 20 +-0.2101102362204725 + 30 +0.0 + 10 +2.147496062992126 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.139330708661417 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.139330708661417 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.139330708661417 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.2097204724409449 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.071161417322835 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +20F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.102720472440945 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.170606299212599 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.170606299212599 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.170606299212599 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.184996062992126 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.196330708661417 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +2.20444094488189 + 20 +-0.1778858267716535 + 30 +0.0 + 10 +2.20444094488189 + 20 +-0.1778858267716535 + 30 +0.0 + 10 +2.212610236220472 + 20 +-0.1748858267716535 + 30 +0.0 + 10 +2.218775590551181 + 20 +-0.1701102362204724 + 30 +0.0 + 10 +2.222996062992126 + 20 +-0.1635551181102362 + 30 +0.0 + 10 +2.222996062992126 + 20 +-0.1635551181102362 + 30 +0.0 + 10 +2.227220472440945 + 20 +-0.157 + 30 +0.0 + 10 +2.229330708661417 + 20 +-0.1498858267716535 + 30 +0.0 + 10 +2.229330708661417 + 20 +-0.1421653543307086 + 30 +0.0 + 10 +2.229330708661417 + 20 +-0.1421653543307086 + 30 +0.0 + 10 +2.229330708661417 + 20 +-0.1308858267716535 + 30 +0.0 + 10 +2.225275590551181 + 20 +-0.1216102362204724 + 30 +0.0 + 10 +2.217051181102362 + 20 +-0.1143307086614173 + 30 +0.0 + 10 +2.217051181102362 + 20 +-0.1143307086614173 + 30 +0.0 + 10 +2.208885826771653 + 20 +-0.1070551181102362 + 30 +0.0 + 10 +2.19594094488189 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.178220472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.178220472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.178220472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1034409448818898 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1823858267716535 + 30 +0.0 + 10 +2.102720472440945 + 20 +-0.1823858267716535 + 30 +0.0 + 0 +SPLINE + 5 +210 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.388555118110236 + 20 +-0.2640551181102362 + 30 +0.0 + 10 +2.388555118110236 + 20 +-0.2640551181102362 + 30 +0.0 + 10 +2.417496062992126 + 20 +-0.2595 + 30 +0.0 + 10 +2.417496062992126 + 20 +-0.2595 + 30 +0.0 + 10 +2.417496062992126 + 20 +-0.2595 + 30 +0.0 + 10 +2.419110236220472 + 20 +-0.2711102362204724 + 30 +0.0 + 10 +2.423665354330709 + 20 +-0.28 + 30 +0.0 + 10 +2.431110236220472 + 20 +-0.2862204724409449 + 30 +0.0 + 10 +2.431110236220472 + 20 +-0.2862204724409449 + 30 +0.0 + 10 +2.4385 + 20 +-0.2923858267716535 + 30 +0.0 + 10 +2.448885826771654 + 20 +-0.2955 + 30 +0.0 + 10 +2.462275590551181 + 20 +-0.2955 + 30 +0.0 + 10 +2.462275590551181 + 20 +-0.2955 + 30 +0.0 + 10 +2.475720472440945 + 20 +-0.2955 + 30 +0.0 + 10 +2.485720472440945 + 20 +-0.2927204724409449 + 30 +0.0 + 10 +2.492220472440945 + 20 +-0.2872755905511811 + 30 +0.0 + 10 +2.492220472440945 + 20 +-0.2872755905511811 + 30 +0.0 + 10 +2.498720472440945 + 20 +-0.2817755905511811 + 30 +0.0 + 10 +2.502 + 20 +-0.2753307086614173 + 30 +0.0 + 10 +2.502 + 20 +-0.268 + 30 +0.0 + 10 +2.502 + 20 +-0.268 + 30 +0.0 + 10 +2.502 + 20 +-0.2613307086614173 + 30 +0.0 + 10 +2.499110236220472 + 20 +-0.2561653543307086 + 30 +0.0 + 10 +2.493330708661417 + 20 +-0.2523307086614173 + 30 +0.0 + 10 +2.493330708661417 + 20 +-0.2523307086614173 + 30 +0.0 + 10 +2.489330708661417 + 20 +-0.2497204724409449 + 30 +0.0 + 10 +2.479330708661417 + 20 +-0.2464409448818898 + 30 +0.0 + 10 +2.463385826771654 + 20 +-0.2424409448818898 + 30 +0.0 + 10 +2.463385826771654 + 20 +-0.2424409448818898 + 30 +0.0 + 10 +2.44194094488189 + 20 +-0.237 + 30 +0.0 + 10 +2.426996062992126 + 20 +-0.2323307086614173 + 30 +0.0 + 10 +2.418720472440945 + 20 +-0.2283307086614173 + 30 +0.0 + 10 +2.418720472440945 + 20 +-0.2283307086614173 + 30 +0.0 + 10 +2.41044094488189 + 20 +-0.2243858267716536 + 30 +0.0 + 10 +2.404110236220472 + 20 +-0.2188858267716536 + 30 +0.0 + 10 +2.399830708661417 + 20 +-0.2118858267716535 + 30 +0.0 + 10 +2.399830708661417 + 20 +-0.2118858267716535 + 30 +0.0 + 10 +2.395555118110236 + 20 +-0.2048858267716535 + 30 +0.0 + 10 +2.393385826771654 + 20 +-0.1971653543307087 + 30 +0.0 + 10 +2.393385826771654 + 20 +-0.1887204724409449 + 30 +0.0 + 10 +2.393385826771654 + 20 +-0.1887204724409449 + 30 +0.0 + 10 +2.393385826771654 + 20 +-0.181 + 30 +0.0 + 10 +2.395165354330709 + 20 +-0.1738858267716535 + 30 +0.0 + 10 +2.398720472440945 + 20 +-0.1673307086614173 + 30 +0.0 + 10 +2.398720472440945 + 20 +-0.1673307086614173 + 30 +0.0 + 10 +2.402220472440945 + 20 +-0.1607204724409449 + 30 +0.0 + 10 +2.407055118110236 + 20 +-0.1552755905511811 + 30 +0.0 + 10 +2.413110236220473 + 20 +-0.1509409448818898 + 30 +0.0 + 10 +2.413110236220473 + 20 +-0.1509409448818898 + 30 +0.0 + 10 +2.417665354330709 + 20 +-0.1476102362204725 + 30 +0.0 + 10 +2.423885826771654 + 20 +-0.1447204724409449 + 30 +0.0 + 10 +2.431720472440945 + 20 +-0.1423858267716535 + 30 +0.0 + 10 +2.431720472440945 + 20 +-0.1423858267716535 + 30 +0.0 + 10 +2.439610236220473 + 20 +-0.1400551181102362 + 30 +0.0 + 10 +2.448055118110236 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.457055118110236 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.457055118110236 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.470610236220472 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.4825 + 20 +-0.1408858267716535 + 30 +0.0 + 10 +2.492775590551181 + 20 +-0.1447755905511811 + 30 +0.0 + 10 +2.492775590551181 + 20 +-0.1447755905511811 + 30 +0.0 + 10 +2.503055118110236 + 20 +-0.1486653543307087 + 30 +0.0 + 10 +2.510610236220472 + 20 +-0.1539409448818898 + 30 +0.0 + 10 +2.5155 + 20 +-0.1606102362204724 + 30 +0.0 + 10 +2.5155 + 20 +-0.1606102362204724 + 30 +0.0 + 10 +2.520385826771653 + 20 +-0.1673307086614173 + 30 +0.0 + 10 +2.523720472440945 + 20 +-0.1762204724409449 + 30 +0.0 + 10 +2.525555118110236 + 20 +-0.1873858267716536 + 30 +0.0 + 10 +2.525555118110236 + 20 +-0.1873858267716536 + 30 +0.0 + 10 +2.525555118110236 + 20 +-0.1873858267716536 + 30 +0.0 + 10 +2.49694094488189 + 20 +-0.1913307086614173 + 30 +0.0 + 10 +2.49694094488189 + 20 +-0.1913307086614173 + 30 +0.0 + 10 +2.49694094488189 + 20 +-0.1913307086614173 + 30 +0.0 + 10 +2.495610236220473 + 20 +-0.1824409448818898 + 30 +0.0 + 10 +2.491830708661417 + 20 +-0.1755 + 30 +0.0 + 10 +2.485610236220472 + 20 +-0.1705 + 30 +0.0 + 10 +2.485610236220472 + 20 +-0.1705 + 30 +0.0 + 10 +2.479385826771654 + 20 +-0.1655 + 30 +0.0 + 10 +2.470555118110236 + 20 +-0.163 + 30 +0.0 + 10 +2.459165354330709 + 20 +-0.163 + 30 +0.0 + 10 +2.459165354330709 + 20 +-0.163 + 30 +0.0 + 10 +2.445720472440945 + 20 +-0.163 + 30 +0.0 + 10 +2.436110236220472 + 20 +-0.1652204724409449 + 30 +0.0 + 10 +2.430385826771654 + 20 +-0.1696653543307087 + 30 +0.0 + 10 +2.430385826771654 + 20 +-0.1696653543307087 + 30 +0.0 + 10 +2.424610236220472 + 20 +-0.1741102362204724 + 30 +0.0 + 10 +2.421720472440945 + 20 +-0.1793307086614173 + 30 +0.0 + 10 +2.421720472440945 + 20 +-0.1852755905511811 + 30 +0.0 + 10 +2.421720472440945 + 20 +-0.1852755905511811 + 30 +0.0 + 10 +2.421720472440945 + 20 +-0.1891102362204724 + 30 +0.0 + 10 +2.42294094488189 + 20 +-0.1925 + 30 +0.0 + 10 +2.425330708661417 + 20 +-0.1955551181102362 + 30 +0.0 + 10 +2.425330708661417 + 20 +-0.1955551181102362 + 30 +0.0 + 10 +2.427720472440945 + 20 +-0.1987204724409449 + 30 +0.0 + 10 +2.43144094488189 + 20 +-0.2012755905511811 + 30 +0.0 + 10 +2.436555118110236 + 20 +-0.2033858267716535 + 30 +0.0 + 10 +2.436555118110236 + 20 +-0.2033858267716535 + 30 +0.0 + 10 +2.4395 + 20 +-0.2044409448818898 + 30 +0.0 + 10 +2.448110236220472 + 20 +-0.2069409448818898 + 30 +0.0 + 10 +2.46244094488189 + 20 +-0.2108307086614173 + 30 +0.0 + 10 +2.46244094488189 + 20 +-0.2108307086614173 + 30 +0.0 + 10 +2.483165354330709 + 20 +-0.2163858267716535 + 30 +0.0 + 10 +2.497610236220472 + 20 +-0.2208858267716536 + 30 +0.0 + 10 +2.505775590551181 + 20 +-0.2244409448818898 + 30 +0.0 + 10 +2.505775590551181 + 20 +-0.2244409448818898 + 30 +0.0 + 10 +2.514 + 20 +-0.2279409448818898 + 30 +0.0 + 10 +2.52044094488189 + 20 +-0.2331102362204724 + 30 +0.0 + 10 +2.525110236220472 + 20 +-0.2398307086614173 + 30 +0.0 + 10 +2.525110236220472 + 20 +-0.2398307086614173 + 30 +0.0 + 10 +2.529775590551181 + 20 +-0.2465551181102362 + 30 +0.0 + 10 +2.532110236220472 + 20 +-0.2548858267716536 + 30 +0.0 + 10 +2.532110236220472 + 20 +-0.2648858267716536 + 30 +0.0 + 10 +2.532110236220472 + 20 +-0.2648858267716536 + 30 +0.0 + 10 +2.532110236220472 + 20 +-0.2746653543307087 + 30 +0.0 + 10 +2.529220472440945 + 20 +-0.2838307086614173 + 30 +0.0 + 10 +2.523555118110236 + 20 +-0.2925 + 30 +0.0 + 10 +2.523555118110236 + 20 +-0.2925 + 30 +0.0 + 10 +2.517830708661417 + 20 +-0.3011102362204724 + 30 +0.0 + 10 +2.509610236220472 + 20 +-0.3077755905511811 + 30 +0.0 + 10 +2.498885826771653 + 20 +-0.3125 + 30 +0.0 + 10 +2.498885826771653 + 20 +-0.3125 + 30 +0.0 + 10 +2.488165354330709 + 20 +-0.3172204724409449 + 30 +0.0 + 10 +2.476 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.46244094488189 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.46244094488189 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.43994094488189 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.422830708661417 + 20 +-0.3148858267716536 + 30 +0.0 + 10 +2.411055118110236 + 20 +-0.3055551181102362 + 30 +0.0 + 10 +2.411055118110236 + 20 +-0.3055551181102362 + 30 +0.0 + 10 +2.399275590551181 + 20 +-0.2962204724409449 + 30 +0.0 + 10 +2.391775590551181 + 20 +-0.2823858267716535 + 30 +0.0 + 10 +2.388555118110236 + 20 +-0.2640551181102362 + 30 +0.0 + 0 +SPLINE + 5 +211 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.630889763779527 + 20 +-0.2894448818897638 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.2894448818897638 + 30 +0.0 + 10 +2.635110236220473 + 20 +-0.3153307086614173 + 30 +0.0 + 10 +2.635110236220473 + 20 +-0.3153307086614173 + 30 +0.0 + 10 +2.635110236220473 + 20 +-0.3153307086614173 + 30 +0.0 + 10 +2.626889763779527 + 20 +-0.3170551181102362 + 30 +0.0 + 10 +2.6195 + 20 +-0.3179448818897638 + 30 +0.0 + 10 +2.613 + 20 +-0.3179448818897638 + 30 +0.0 + 10 +2.613 + 20 +-0.3179448818897638 + 30 +0.0 + 10 +2.602334645669291 + 20 +-0.3179448818897638 + 30 +0.0 + 10 +2.594110236220473 + 20 +-0.3162755905511811 + 30 +0.0 + 10 +2.588224409448819 + 20 +-0.3128858267716536 + 30 +0.0 + 10 +2.588224409448819 + 20 +-0.3128858267716536 + 30 +0.0 + 10 +2.582389763779528 + 20 +-0.3095551181102362 + 30 +0.0 + 10 +2.578279527559055 + 20 +-0.3051102362204725 + 30 +0.0 + 10 +2.575889763779528 + 20 +-0.2996102362204724 + 30 +0.0 + 10 +2.575889763779528 + 20 +-0.2996102362204724 + 30 +0.0 + 10 +2.5735 + 20 +-0.2941653543307087 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.2826102362204724 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.2650551181102362 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.2650551181102362 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.2650551181102362 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.550779527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.099996062992126 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.099996062992126 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.099996062992126 + 30 +0.0 + 10 +2.572279527559055 + 20 +-0.099996062992126 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.0824409448818898 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.0824409448818898 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.0824409448818898 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.0824409448818898 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.2666653543307086 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.2666653543307086 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.2666653543307086 + 30 +0.0 + 10 +2.601444881889764 + 20 +-0.2750551181102362 + 30 +0.0 + 10 +2.601944881889764 + 20 +-0.2803858267716535 + 30 +0.0 + 10 +2.602944881889764 + 20 +-0.2827755905511811 + 30 +0.0 + 10 +2.602944881889764 + 20 +-0.2827755905511811 + 30 +0.0 + 10 +2.604 + 20 +-0.2851653543307087 + 30 +0.0 + 10 +2.605669291338583 + 20 +-0.2870551181102362 + 30 +0.0 + 10 +2.608 + 20 +-0.2885 + 30 +0.0 + 10 +2.608 + 20 +-0.2885 + 30 +0.0 + 10 +2.610334645669291 + 20 +-0.2898858267716535 + 30 +0.0 + 10 +2.613669291338583 + 20 +-0.2906102362204724 + 30 +0.0 + 10 +2.618 + 20 +-0.2906102362204724 + 30 +0.0 + 10 +2.618 + 20 +-0.2906102362204724 + 30 +0.0 + 10 +2.621279527559055 + 20 +-0.2906102362204724 + 30 +0.0 + 10 +2.625555118110236 + 20 +-0.2902204724409449 + 30 +0.0 + 10 +2.630889763779527 + 20 +-0.2894448818897638 + 30 +0.0 + 0 +SPLINE + 5 +212 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.772334645669291 + 20 +-0.2943307086614173 + 30 +0.0 + 10 +2.761444881889764 + 20 +-0.3035551181102362 + 30 +0.0 + 10 +2.751 + 20 +-0.3100551181102362 + 30 +0.0 + 10 +2.741 + 20 +-0.3138858267716536 + 30 +0.0 + 10 +2.741 + 20 +-0.3138858267716536 + 30 +0.0 + 10 +2.730944881889764 + 20 +-0.3176653543307086 + 30 +0.0 + 10 +2.720165354330708 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.708665354330709 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.708665354330709 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.689665354330709 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +2.675110236220473 + 20 +-0.3149448818897638 + 30 +0.0 + 10 +2.664889763779528 + 20 +-0.3056653543307087 + 30 +0.0 + 10 +2.664889763779528 + 20 +-0.3056653543307087 + 30 +0.0 + 10 +2.654720472440945 + 20 +-0.2963858267716535 + 30 +0.0 + 10 +2.649610236220473 + 20 +-0.2845 + 30 +0.0 + 10 +2.649610236220473 + 20 +-0.2701102362204724 + 30 +0.0 + 10 +2.649610236220473 + 20 +-0.2701102362204724 + 30 +0.0 + 10 +2.649610236220473 + 20 +-0.2616102362204724 + 30 +0.0 + 10 +2.6515 + 20 +-0.2538858267716536 + 30 +0.0 + 10 +2.655389763779528 + 20 +-0.2468858267716535 + 30 +0.0 + 10 +2.655389763779528 + 20 +-0.2468858267716535 + 30 +0.0 + 10 +2.659220472440945 + 20 +-0.2398858267716535 + 30 +0.0 + 10 +2.664275590551181 + 20 +-0.2342755905511811 + 30 +0.0 + 10 +2.6705 + 20 +-0.2300551181102362 + 30 +0.0 + 10 +2.6705 + 20 +-0.2300551181102362 + 30 +0.0 + 10 +2.676775590551181 + 20 +-0.2258307086614173 + 30 +0.0 + 10 +2.683775590551181 + 20 +-0.2226102362204724 + 30 +0.0 + 10 +2.691610236220472 + 20 +-0.2204409448818898 + 30 +0.0 + 10 +2.691610236220472 + 20 +-0.2204409448818898 + 30 +0.0 + 10 +2.697334645669291 + 20 +-0.2189409448818898 + 30 +0.0 + 10 +2.706 + 20 +-0.2174409448818898 + 30 +0.0 + 10 +2.717610236220473 + 20 +-0.2160551181102362 + 30 +0.0 + 10 +2.717610236220473 + 20 +-0.2160551181102362 + 30 +0.0 + 10 +2.741279527559055 + 20 +-0.2132204724409449 + 30 +0.0 + 10 +2.758720472440945 + 20 +-0.2098858267716535 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2059409448818898 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2059409448818898 + 30 +0.0 + 10 +2.77 + 20 +-0.2019409448818898 + 30 +0.0 + 10 +2.770055118110236 + 20 +-0.1993858267716535 + 30 +0.0 + 10 +2.770055118110236 + 20 +-0.1983307086614173 + 30 +0.0 + 10 +2.770055118110236 + 20 +-0.1983307086614173 + 30 +0.0 + 10 +2.770055118110236 + 20 +-0.1863858267716536 + 30 +0.0 + 10 +2.767279527559055 + 20 +-0.1779409448818898 + 30 +0.0 + 10 +2.761720472440945 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +2.761720472440945 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +2.754279527559055 + 20 +-0.1664409448818898 + 30 +0.0 + 10 +2.743110236220472 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +2.728389763779528 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +2.728389763779528 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +2.714610236220472 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +2.704444881889764 + 20 +-0.1655551181102362 + 30 +0.0 + 10 +2.697834645669291 + 20 +-0.1703858267716535 + 30 +0.0 + 10 +2.697834645669291 + 20 +-0.1703858267716535 + 30 +0.0 + 10 +2.691275590551181 + 20 +-0.1752204724409449 + 30 +0.0 + 10 +2.686444881889764 + 20 +-0.1837755905511811 + 30 +0.0 + 10 +2.683275590551181 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +2.683275590551181 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +2.683275590551181 + 20 +-0.1960551181102362 + 30 +0.0 + 10 +2.654665354330709 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +2.654665354330709 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +2.654665354330709 + 20 +-0.1921102362204724 + 30 +0.0 + 10 +2.657275590551181 + 20 +-0.1798858267716535 + 30 +0.0 + 10 +2.661555118110236 + 20 +-0.1699409448818898 + 30 +0.0 + 10 +2.6675 + 20 +-0.1624409448818898 + 30 +0.0 + 10 +2.6675 + 20 +-0.1624409448818898 + 30 +0.0 + 10 +2.673444881889764 + 20 +-0.1548858267716536 + 30 +0.0 + 10 +2.682110236220472 + 20 +-0.1490551181102362 + 30 +0.0 + 10 +2.693389763779527 + 20 +-0.144996062992126 + 30 +0.0 + 10 +2.693389763779527 + 20 +-0.144996062992126 + 30 +0.0 + 10 +2.704665354330709 + 20 +-0.1409409448818898 + 30 +0.0 + 10 +2.717720472440945 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.732610236220472 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.732610236220472 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.747389763779528 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.759334645669291 + 20 +-0.1406653543307087 + 30 +0.0 + 10 +2.768555118110236 + 20 +-0.1441102362204724 + 30 +0.0 + 10 +2.768555118110236 + 20 +-0.1441102362204724 + 30 +0.0 + 10 +2.777779527559055 + 20 +-0.1476102362204725 + 30 +0.0 + 10 +2.784555118110236 + 20 +-0.1519409448818898 + 30 +0.0 + 10 +2.788944881889764 + 20 +-0.1572204724409449 + 30 +0.0 + 10 +2.788944881889764 + 20 +-0.1572204724409449 + 30 +0.0 + 10 +2.793279527559055 + 20 +-0.1625 + 30 +0.0 + 10 +2.796279527559055 + 20 +-0.1691102362204724 + 30 +0.0 + 10 +2.798055118110236 + 20 +-0.1771653543307087 + 30 +0.0 + 10 +2.798055118110236 + 20 +-0.1771653543307087 + 30 +0.0 + 10 +2.799 + 20 +-0.1821653543307087 + 30 +0.0 + 10 +2.7995 + 20 +-0.1911653543307087 + 30 +0.0 + 10 +2.7995 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +2.7995 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +2.7995 + 20 +-0.2041653543307086 + 30 +0.0 + 10 +2.7995 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +2.7995 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +2.7995 + 20 +-0.2432204724409449 + 30 +0.0 + 10 +2.7995 + 20 +-0.2705 + 30 +0.0 + 10 +2.800110236220473 + 20 +-0.2877204724409449 + 30 +0.0 + 10 +2.801389763779528 + 20 +-0.2948858267716535 + 30 +0.0 + 10 +2.801389763779528 + 20 +-0.2948858267716535 + 30 +0.0 + 10 +2.802610236220473 + 20 +-0.3021102362204725 + 30 +0.0 + 10 +2.805110236220473 + 20 +-0.3090551181102362 + 30 +0.0 + 10 +2.808779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.808779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.808779527559055 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.778165354330709 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.778165354330709 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.778165354330709 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.775165354330709 + 20 +-0.3096102362204725 + 30 +0.0 + 10 +2.773165354330709 + 20 +-0.3025 + 30 +0.0 + 10 +2.772334645669291 + 20 +-0.2943307086614173 + 30 +0.0 + 0 +SPLINE + 5 +213 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.769889763779528 + 20 +-0.2288858267716535 + 30 +0.0 + 10 +2.759220472440945 + 20 +-0.2332755905511811 + 30 +0.0 + 10 +2.743279527559055 + 20 +-0.2369409448818898 + 30 +0.0 + 10 +2.722055118110236 + 20 +-0.24 + 30 +0.0 + 10 +2.722055118110236 + 20 +-0.24 + 30 +0.0 + 10 +2.71 + 20 +-0.2417204724409449 + 30 +0.0 + 10 +2.701444881889764 + 20 +-0.2436653543307087 + 30 +0.0 + 10 +2.6965 + 20 +-0.2458307086614173 + 30 +0.0 + 10 +2.6965 + 20 +-0.2458307086614173 + 30 +0.0 + 10 +2.6915 + 20 +-0.248 + 30 +0.0 + 10 +2.687610236220472 + 20 +-0.2511653543307086 + 30 +0.0 + 10 +2.684944881889764 + 20 +-0.2553858267716536 + 30 +0.0 + 10 +2.684944881889764 + 20 +-0.2553858267716536 + 30 +0.0 + 10 +2.682220472440945 + 20 +-0.2595551181102362 + 30 +0.0 + 10 +2.680834645669291 + 20 +-0.2641653543307086 + 30 +0.0 + 10 +2.680834645669291 + 20 +-0.2692755905511811 + 30 +0.0 + 10 +2.680834645669291 + 20 +-0.2692755905511811 + 30 +0.0 + 10 +2.680834645669291 + 20 +-0.2771102362204724 + 30 +0.0 + 10 +2.683834645669291 + 20 +-0.2836102362204724 + 30 +0.0 + 10 +2.689720472440945 + 20 +-0.2888307086614173 + 30 +0.0 + 10 +2.689720472440945 + 20 +-0.2888307086614173 + 30 +0.0 + 10 +2.695610236220472 + 20 +-0.294 + 30 +0.0 + 10 +2.704279527559055 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +2.715665354330709 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +2.715665354330709 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +2.726944881889764 + 20 +-0.2966102362204724 + 30 +0.0 + 10 +2.737 + 20 +-0.2941653543307087 + 30 +0.0 + 10 +2.745779527559055 + 20 +-0.2892204724409449 + 30 +0.0 + 10 +2.745779527559055 + 20 +-0.2892204724409449 + 30 +0.0 + 10 +2.754555118110236 + 20 +-0.2842755905511811 + 30 +0.0 + 10 +2.761055118110236 + 20 +-0.2775 + 30 +0.0 + 10 +2.765165354330709 + 20 +-0.2689448818897638 + 30 +0.0 + 10 +2.765165354330709 + 20 +-0.2689448818897638 + 30 +0.0 + 10 +2.768334645669291 + 20 +-0.2623307086614173 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2525551181102362 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2396653543307087 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2288858267716535 + 30 +0.0 + 10 +2.769889763779528 + 20 +-0.2288858267716535 + 30 +0.0 + 0 +SPLINE + 5 +214 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.844944881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +2.871279527559055 + 20 +-0.1673858267716535 + 30 +0.0 + 10 +2.884 + 20 +-0.1483858267716535 + 30 +0.0 + 10 +2.902334645669292 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.926279527559055 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.926279527559055 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.936724409448819 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +2.946279527559055 + 20 +-0.1407755905511811 + 30 +0.0 + 10 +2.955 + 20 +-0.144496062992126 + 30 +0.0 + 10 +2.955 + 20 +-0.144496062992126 + 30 +0.0 + 10 +2.963779527559055 + 20 +-0.1482755905511811 + 30 +0.0 + 10 +2.970279527559055 + 20 +-0.1531653543307087 + 30 +0.0 + 10 +2.974610236220472 + 20 +-0.1592755905511811 + 30 +0.0 + 10 +2.974610236220472 + 20 +-0.1592755905511811 + 30 +0.0 + 10 +2.979 + 20 +-0.1653307086614173 + 30 +0.0 + 10 +2.982 + 20 +-0.1725551181102362 + 30 +0.0 + 10 +2.983779527559055 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +2.983779527559055 + 20 +-0.1808858267716535 + 30 +0.0 + 10 +2.984834645669291 + 20 +-0.1863307086614173 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.1958307086614173 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.2093858267716535 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.985389763779528 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.2105 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.2105 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.2105 + 30 +0.0 + 10 +2.956055118110236 + 20 +-0.1986102362204724 + 30 +0.0 + 10 +2.954944881889764 + 20 +-0.1896653543307087 + 30 +0.0 + 10 +2.952669291338583 + 20 +-0.1837204724409449 + 30 +0.0 + 10 +2.952669291338583 + 20 +-0.1837204724409449 + 30 +0.0 + 10 +2.950389763779528 + 20 +-0.1778307086614173 + 30 +0.0 + 10 +2.946334645669291 + 20 +-0.1731102362204724 + 30 +0.0 + 10 +2.940555118110236 + 20 +-0.1696102362204724 + 30 +0.0 + 10 +2.940555118110236 + 20 +-0.1696102362204724 + 30 +0.0 + 10 +2.934724409448819 + 20 +-0.1660551181102362 + 30 +0.0 + 10 +2.927944881889764 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +2.920110236220472 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +2.920110236220472 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +2.907610236220473 + 20 +-0.1642755905511811 + 30 +0.0 + 10 +2.896889763779527 + 20 +-0.1682755905511811 + 30 +0.0 + 10 +2.887779527559055 + 20 +-0.1761653543307087 + 30 +0.0 + 10 +2.887779527559055 + 20 +-0.1761653543307087 + 30 +0.0 + 10 +2.878724409448819 + 20 +-0.1841102362204724 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.1991102362204724 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.2212755905511811 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.874224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +2.844944881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +215 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.142444881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.142444881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.142444881889764 + 20 +-0.2938307086614173 + 30 +0.0 + 10 +3.142444881889764 + 20 +-0.2938307086614173 + 30 +0.0 + 10 +3.142444881889764 + 20 +-0.2938307086614173 + 30 +0.0 + 10 +3.1315 + 20 +-0.311 + 30 +0.0 + 10 +3.115389763779528 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.094114173228347 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.094114173228347 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.080334645669291 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.067669291338583 + 20 +-0.3157755905511811 + 30 +0.0 + 10 +3.056114173228346 + 20 +-0.3081653543307087 + 30 +0.0 + 10 +3.056114173228346 + 20 +-0.3081653543307087 + 30 +0.0 + 10 +3.044555118110236 + 20 +-0.3006102362204724 + 30 +0.0 + 10 +3.035614173228347 + 20 +-0.29 + 30 +0.0 + 10 +3.029224409448819 + 20 +-0.2763307086614173 + 30 +0.0 + 10 +3.029224409448819 + 20 +-0.2763307086614173 + 30 +0.0 + 10 +3.022889763779527 + 20 +-0.2627204724409449 + 30 +0.0 + 10 +3.019724409448819 + 20 +-0.2471102362204724 + 30 +0.0 + 10 +3.019724409448819 + 20 +-0.2293858267716535 + 30 +0.0 + 10 +3.019724409448819 + 20 +-0.2293858267716535 + 30 +0.0 + 10 +3.019724409448819 + 20 +-0.2121653543307087 + 30 +0.0 + 10 +3.022614173228346 + 20 +-0.1965 + 30 +0.0 + 10 +3.028334645669291 + 20 +-0.1824409448818898 + 30 +0.0 + 10 +3.028334645669291 + 20 +-0.1824409448818898 + 30 +0.0 + 10 +3.034114173228347 + 20 +-0.1683858267716535 + 30 +0.0 + 10 +3.042724409448819 + 20 +-0.1576102362204724 + 30 +0.0 + 10 +3.054224409448819 + 20 +-0.1501653543307087 + 30 +0.0 + 10 +3.054224409448819 + 20 +-0.1501653543307087 + 30 +0.0 + 10 +3.065724409448819 + 20 +-0.1426653543307086 + 30 +0.0 + 10 +3.078614173228346 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.092834645669291 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.092834645669291 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.103224409448819 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.1125 + 20 +-0.1411102362204724 + 30 +0.0 + 10 +3.120614173228347 + 20 +-0.145496062992126 + 30 +0.0 + 10 +3.120614173228347 + 20 +-0.145496062992126 + 30 +0.0 + 10 +3.128779527559055 + 20 +-0.1498858267716535 + 30 +0.0 + 10 +3.135389763779528 + 20 +-0.1556102362204724 + 30 +0.0 + 10 +3.1405 + 20 +-0.1626653543307087 + 30 +0.0 + 10 +3.1405 + 20 +-0.1626653543307087 + 30 +0.0 + 10 +3.1405 + 20 +-0.1626653543307087 + 30 +0.0 + 10 +3.1405 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.1405 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.1405 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.1405 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.0770551181102362 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.169614173228346 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.142444881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.142444881889764 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +216 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.049834645669292 + 20 +-0.2293858267716535 + 30 +0.0 + 10 +3.049834645669292 + 20 +-0.2515551181102362 + 30 +0.0 + 10 +3.0545 + 20 +-0.2681102362204724 + 30 +0.0 + 10 +3.063834645669291 + 20 +-0.2790551181102362 + 30 +0.0 + 10 +3.063834645669291 + 20 +-0.2790551181102362 + 30 +0.0 + 10 +3.073169291338583 + 20 +-0.29 + 30 +0.0 + 10 +3.084169291338583 + 20 +-0.2955 + 30 +0.0 + 10 +3.096889763779528 + 20 +-0.2955 + 30 +0.0 + 10 +3.096889763779528 + 20 +-0.2955 + 30 +0.0 + 10 +3.109669291338583 + 20 +-0.2955 + 30 +0.0 + 10 +3.12055905511811 + 20 +-0.2902204724409449 + 30 +0.0 + 10 +3.1295 + 20 +-0.2797755905511811 + 30 +0.0 + 10 +3.1295 + 20 +-0.2797755905511811 + 30 +0.0 + 10 +3.138444881889764 + 20 +-0.2693307086614173 + 30 +0.0 + 10 +3.142944881889764 + 20 +-0.2533307086614173 + 30 +0.0 + 10 +3.142944881889764 + 20 +-0.2318307086614173 + 30 +0.0 + 10 +3.142944881889764 + 20 +-0.2318307086614173 + 30 +0.0 + 10 +3.142944881889764 + 20 +-0.2081653543307087 + 30 +0.0 + 10 +3.138389763779528 + 20 +-0.1908307086614173 + 30 +0.0 + 10 +3.129279527559055 + 20 +-0.1797755905511811 + 30 +0.0 + 10 +3.129279527559055 + 20 +-0.1797755905511811 + 30 +0.0 + 10 +3.120169291338583 + 20 +-0.1686653543307087 + 30 +0.0 + 10 +3.108944881889764 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.09555905511811 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.09555905511811 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.08255905511811 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.071669291338583 + 20 +-0.1685 + 30 +0.0 + 10 +3.062944881889764 + 20 +-0.1791102362204725 + 30 +0.0 + 10 +3.062944881889764 + 20 +-0.1791102362204725 + 30 +0.0 + 10 +3.054224409448819 + 20 +-0.1897204724409449 + 30 +0.0 + 10 +3.049834645669292 + 20 +-0.2065 + 30 +0.0 + 10 +3.049834645669292 + 20 +-0.2293858267716535 + 30 +0.0 + 0 +SPLINE + 5 +217 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.204779527559055 + 20 +-0.2292204724409449 + 30 +0.0 + 10 +3.204779527559055 + 20 +-0.1972204724409449 + 30 +0.0 + 10 +3.213669291338582 + 20 +-0.1735 + 30 +0.0 + 10 +3.231503937007874 + 20 +-0.1581102362204724 + 30 +0.0 + 10 +3.231503937007874 + 20 +-0.1581102362204724 + 30 +0.0 + 10 +3.246334645669291 + 20 +-0.1453307086614173 + 30 +0.0 + 10 +3.264448818897638 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.309614173228347 + 20 +-0.1388858267716535 + 30 +0.0 + 10 +3.32905905511811 + 20 +-0.1466653543307087 + 30 +0.0 + 10 +3.344114173228347 + 20 +-0.1622755905511811 + 30 +0.0 + 10 +3.344114173228347 + 20 +-0.1622755905511811 + 30 +0.0 + 10 +3.359224409448819 + 20 +-0.1778307086614173 + 30 +0.0 + 10 +3.366724409448819 + 20 +-0.1993307086614173 + 30 +0.0 + 10 +3.366724409448819 + 20 +-0.2267755905511811 + 30 +0.0 + 10 +3.366724409448819 + 20 +-0.2267755905511811 + 30 +0.0 + 10 +3.366724409448819 + 20 +-0.2490551181102362 + 30 +0.0 + 10 +3.363393700787402 + 20 +-0.2665551181102362 + 30 +0.0 + 10 +3.356724409448819 + 20 +-0.2792755905511811 + 30 +0.0 + 10 +3.356724409448819 + 20 +-0.2792755905511811 + 30 +0.0 + 10 +3.35005905511811 + 20 +-0.2920551181102362 + 30 +0.0 + 10 +3.340334645669291 + 20 +-0.3019448818897638 + 30 +0.0 + 10 +3.327614173228346 + 20 +-0.309 + 30 +0.0 + 10 +3.327614173228346 + 20 +-0.309 + 30 +0.0 + 10 +3.314834645669291 + 20 +-0.3160551181102362 + 30 +0.0 + 10 +3.300948818897638 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.261669291338583 + 20 +-0.3195551181102362 + 30 +0.0 + 10 +3.242114173228346 + 20 +-0.3118307086614173 + 30 +0.0 + 10 +3.227169291338583 + 20 +-0.2962755905511811 + 30 +0.0 + 10 +3.227169291338583 + 20 +-0.2962755905511811 + 30 +0.0 + 10 +3.212224409448819 + 20 +-0.2807755905511811 + 30 +0.0 + 10 +3.204779527559055 + 20 +-0.2584409448818898 + 30 +0.0 + 10 +3.204779527559055 + 20 +-0.2292204724409449 + 30 +0.0 + 0 +SPLINE + 5 +218 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.234889763779528 + 20 +-0.2292204724409449 + 30 +0.0 + 10 +3.234889763779528 + 20 +-0.2513858267716536 + 30 +0.0 + 10 +3.239724409448819 + 20 +-0.2679448818897638 + 30 +0.0 + 10 +3.249389763779527 + 20 +-0.2789448818897638 + 30 +0.0 + 10 +3.249389763779527 + 20 +-0.2789448818897638 + 30 +0.0 + 10 +3.25905905511811 + 20 +-0.29 + 30 +0.0 + 10 +3.271224409448819 + 20 +-0.2955 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.2955 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.2955 + 30 +0.0 + 10 +3.300389763779528 + 20 +-0.2955 + 30 +0.0 + 10 +3.312503937007874 + 20 +-0.2899448818897638 + 30 +0.0 + 10 +3.322169291338583 + 20 +-0.2788858267716535 + 30 +0.0 + 10 +3.322169291338583 + 20 +-0.2788858267716535 + 30 +0.0 + 10 +3.331779527559055 + 20 +-0.2678307086614173 + 30 +0.0 + 10 +3.336614173228346 + 20 +-0.2509409448818898 + 30 +0.0 + 10 +3.336614173228346 + 20 +-0.2282755905511811 + 30 +0.0 + 10 +3.336614173228346 + 20 +-0.2282755905511811 + 30 +0.0 + 10 +3.336614173228346 + 20 +-0.2068858267716535 + 30 +0.0 + 10 +3.331779527559055 + 20 +-0.1906653543307087 + 30 +0.0 + 10 +3.32205905511811 + 20 +-0.1796653543307087 + 30 +0.0 + 10 +3.32205905511811 + 20 +-0.1796653543307087 + 30 +0.0 + 10 +3.312334645669291 + 20 +-0.1686653543307087 + 30 +0.0 + 10 +3.300279527559055 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.285834645669291 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.271224409448819 + 20 +-0.1631653543307087 + 30 +0.0 + 10 +3.25905905511811 + 20 +-0.1686653543307087 + 30 +0.0 + 10 +3.249389763779527 + 20 +-0.1796102362204725 + 30 +0.0 + 10 +3.249389763779527 + 20 +-0.1796102362204725 + 30 +0.0 + 10 +3.239724409448819 + 20 +-0.1905551181102362 + 30 +0.0 + 10 +3.234889763779528 + 20 +-0.2071102362204724 + 30 +0.0 + 10 +3.234889763779528 + 20 +-0.2292204724409449 + 30 +0.0 + 0 +SPLINE + 5 +219 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.40805905511811 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.382224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1244409448818898 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1244409448818898 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1244409448818898 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.1128307086614173 + 30 +0.0 + 10 +3.409114173228347 + 20 +-0.1041653543307087 + 30 +0.0 + 10 +3.411169291338583 + 20 +-0.0985551181102362 + 30 +0.0 + 10 +3.411169291338583 + 20 +-0.0985551181102362 + 30 +0.0 + 10 +3.414003937007874 + 20 +-0.0909409448818898 + 30 +0.0 + 10 +3.418948818897638 + 20 +-0.0847755905511811 + 30 +0.0 + 10 +3.42605905511811 + 20 +-0.0800551181102362 + 30 +0.0 + 10 +3.42605905511811 + 20 +-0.0800551181102362 + 30 +0.0 + 10 +3.433169291338583 + 20 +-0.0753307086614173 + 30 +0.0 + 10 +3.443114173228346 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.455948818897638 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.455948818897638 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.464169291338583 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.473279527559055 + 20 +-0.0739409448818898 + 30 +0.0 + 10 +3.483279527559055 + 20 +-0.0759409448818898 + 30 +0.0 + 10 +3.483279527559055 + 20 +-0.0759409448818898 + 30 +0.0 + 10 +3.483279527559055 + 20 +-0.0759409448818898 + 30 +0.0 + 10 +3.478893700787402 + 20 +-0.101496062992126 + 30 +0.0 + 10 +3.478893700787402 + 20 +-0.101496062992126 + 30 +0.0 + 10 +3.478893700787402 + 20 +-0.101496062992126 + 30 +0.0 + 10 +3.472838582677165 + 20 +-0.1003858267716535 + 30 +0.0 + 10 +3.46705905511811 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.461614173228346 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.461614173228346 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.452724409448819 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.446448818897638 + 20 +-0.1017204724409449 + 30 +0.0 + 10 +3.442779527559055 + 20 +-0.1055551181102362 + 30 +0.0 + 10 +3.442779527559055 + 20 +-0.1055551181102362 + 30 +0.0 + 10 +3.43905905511811 + 20 +-0.1093307086614173 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1164409448818898 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1268858267716536 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1268858267716536 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1268858267716536 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.470893700787402 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.437224409448819 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.40805905511811 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +21A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.494669291338583 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.468834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1244409448818898 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1244409448818898 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1244409448818898 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.1128307086614173 + 30 +0.0 + 10 +3.495724409448819 + 20 +-0.1041653543307087 + 30 +0.0 + 10 +3.497779527559055 + 20 +-0.0985551181102362 + 30 +0.0 + 10 +3.497779527559055 + 20 +-0.0985551181102362 + 30 +0.0 + 10 +3.500614173228346 + 20 +-0.0909409448818898 + 30 +0.0 + 10 +3.50555905511811 + 20 +-0.0847755905511811 + 30 +0.0 + 10 +3.512669291338583 + 20 +-0.0800551181102362 + 30 +0.0 + 10 +3.512669291338583 + 20 +-0.0800551181102362 + 30 +0.0 + 10 +3.519779527559055 + 20 +-0.0753307086614173 + 30 +0.0 + 10 +3.529724409448819 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.54255905511811 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.54255905511811 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.550779527559055 + 20 +-0.072996062992126 + 30 +0.0 + 10 +3.559889763779528 + 20 +-0.0739409448818898 + 30 +0.0 + 10 +3.569889763779527 + 20 +-0.0759409448818898 + 30 +0.0 + 10 +3.569889763779527 + 20 +-0.0759409448818898 + 30 +0.0 + 10 +3.569889763779527 + 20 +-0.0759409448818898 + 30 +0.0 + 10 +3.565503937007874 + 20 +-0.101496062992126 + 30 +0.0 + 10 +3.565503937007874 + 20 +-0.101496062992126 + 30 +0.0 + 10 +3.565503937007874 + 20 +-0.101496062992126 + 30 +0.0 + 10 +3.559448818897638 + 20 +-0.1003858267716535 + 30 +0.0 + 10 +3.553669291338583 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.548224409448819 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.548224409448819 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.539334645669291 + 20 +-0.0998307086614173 + 30 +0.0 + 10 +3.53305905511811 + 20 +-0.1017204724409449 + 30 +0.0 + 10 +3.529389763779528 + 20 +-0.1055551181102362 + 30 +0.0 + 10 +3.529389763779528 + 20 +-0.1055551181102362 + 30 +0.0 + 10 +3.525669291338583 + 20 +-0.1093307086614173 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1164409448818898 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1268858267716536 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1268858267716536 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1268858267716536 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1428307086614173 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.557503937007874 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.1656102362204724 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.523834645669291 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.3156653543307086 + 30 +0.0 + 10 +3.494669291338583 + 20 +-0.3156653543307086 + 30 +0.0 + 0 +SPLINE + 5 +21B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.1586535433070866 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +0.142488188976378 + 20 +-0.7378346456692914 + 30 +0.0 + 10 +0.1288188976377953 + 20 +-0.7139448818897638 + 30 +0.0 + 10 +0.1176535433070866 + 20 +-0.6866102362204725 + 30 +0.0 + 10 +0.1176535433070866 + 20 +-0.6866102362204725 + 30 +0.0 + 10 +0.1064881889763779 + 20 +-0.6592204724409448 + 30 +0.0 + 10 +0.1008740157480315 + 20 +-0.6309448818897638 + 30 +0.0 + 10 +0.1008740157480315 + 20 +-0.6016102362204725 + 30 +0.0 + 10 +0.1008740157480315 + 20 +-0.6016102362204725 + 30 +0.0 + 10 +0.1008740157480315 + 20 +-0.5757755905511811 + 30 +0.0 + 10 +0.1050433070866142 + 20 +-0.5510551181102362 + 30 +0.0 + 10 +0.1134291338582677 + 20 +-0.5273897637795275 + 30 +0.0 + 10 +0.1134291338582677 + 20 +-0.5273897637795275 + 30 +0.0 + 10 +0.1232086614173228 + 20 +-0.4999448818897638 + 30 +0.0 + 10 +0.1382637795275591 + 20 +-0.4726102362204724 + 30 +0.0 + 10 +0.1586535433070866 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.1586535433070866 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.1586535433070866 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.1796535433070866 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.1796535433070866 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.1796535433070866 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.1665433070866142 + 20 +-0.4679448818897638 + 30 +0.0 + 10 +0.1578740157480315 + 20 +-0.4840551181102362 + 30 +0.0 + 10 +0.1536535433070866 + 20 +-0.4937204724409449 + 30 +0.0 + 10 +0.1536535433070866 + 20 +-0.4937204724409449 + 30 +0.0 + 10 +0.1469881889763779 + 20 +-0.5086653543307087 + 30 +0.0 + 10 +0.1418188976377953 + 20 +-0.5243307086614173 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.5406102362204724 + 30 +0.0 + 10 +0.137988188976378 + 20 +-0.5406102362204724 + 30 +0.0 + 10 +0.1333188976377953 + 20 +-0.5608897637795276 + 30 +0.0 + 10 +0.130988188976378 + 20 +-0.581275590551181 + 30 +0.0 + 10 +0.130988188976378 + 20 +-0.6017755905511811 + 30 +0.0 + 10 +0.130988188976378 + 20 +-0.6017755905511811 + 30 +0.0 + 10 +0.130988188976378 + 20 +-0.654 + 30 +0.0 + 10 +0.1472086614173228 + 20 +-0.7061102362204724 + 30 +0.0 + 10 +0.1796535433070866 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +0.1796535433070866 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +0.1796535433070866 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +0.1586535433070866 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +0.1586535433070866 + 20 +-0.7582204724409449 + 30 +0.0 + 0 +SPLINE + 5 +21C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3264881889763779 + 20 +-0.6247204724409449 + 30 +0.0 + 10 +0.3264881889763779 + 20 +-0.6247204724409449 + 30 +0.0 + 10 +0.3552637795275591 + 20 +-0.6285 + 30 +0.0 + 10 +0.3552637795275591 + 20 +-0.6285 + 30 +0.0 + 10 +0.3552637795275591 + 20 +-0.6285 + 30 +0.0 + 10 +0.3521535433070866 + 20 +-0.6483346456692913 + 30 +0.0 + 10 +0.3440984251968504 + 20 +-0.6638897637795276 + 30 +0.0 + 10 +0.3310984251968504 + 20 +-0.6751102362204724 + 30 +0.0 + 10 +0.3310984251968504 + 20 +-0.6751102362204724 + 30 +0.0 + 10 +0.3181535433070866 + 20 +-0.6863346456692914 + 30 +0.0 + 10 +0.3022086614173228 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.2833188976377953 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.2833188976377953 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.2597086614173229 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.2406535433070866 + 20 +-0.6842204724409449 + 30 +0.0 + 10 +0.2263188976377953 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +0.2263188976377953 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +0.2119291338582677 + 20 +-0.6533346456692913 + 30 +0.0 + 10 +0.2047086614173228 + 20 +-0.6311653543307086 + 30 +0.0 + 10 +0.2047086614173228 + 20 +-0.6022755905511811 + 30 +0.0 + 10 +0.2047086614173228 + 20 +-0.6022755905511811 + 30 +0.0 + 10 +0.2047086614173228 + 20 +-0.5836102362204725 + 30 +0.0 + 10 +0.2078188976377953 + 20 +-0.5672755905511812 + 30 +0.0 + 10 +0.2139881889763779 + 20 +-0.5532755905511811 + 30 +0.0 + 10 +0.2139881889763779 + 20 +-0.5532755905511811 + 30 +0.0 + 10 +0.2202086614173228 + 20 +-0.5392755905511811 + 30 +0.0 + 10 +0.2295984251968504 + 20 +-0.5287755905511811 + 30 +0.0 + 10 +0.2422637795275591 + 20 +-0.5217755905511811 + 30 +0.0 + 10 +0.2422637795275591 + 20 +-0.5217755905511811 + 30 +0.0 + 10 +0.2548740157480315 + 20 +-0.514775590551181 + 30 +0.0 + 10 +0.2686535433070866 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.283488188976378 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.283488188976378 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.3022637795275591 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.3176535433070866 + 20 +-0.5160551181102362 + 30 +0.0 + 10 +0.3295433070866142 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +0.3295433070866142 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +0.3414881889763779 + 20 +-0.5350551181102362 + 30 +0.0 + 10 +0.3491535433070866 + 20 +-0.5485 + 30 +0.0 + 10 +0.3525433070866142 + 20 +-0.566 + 30 +0.0 + 10 +0.3525433070866142 + 20 +-0.566 + 30 +0.0 + 10 +0.3525433070866142 + 20 +-0.566 + 30 +0.0 + 10 +0.3240433070866142 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +0.3240433070866142 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +0.3240433070866142 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +0.3213188976377953 + 20 +-0.5587755905511811 + 30 +0.0 + 10 +0.3165433070866142 + 20 +-0.5500551181102362 + 30 +0.0 + 10 +0.3096535433070866 + 20 +-0.5441653543307087 + 30 +0.0 + 10 +0.3096535433070866 + 20 +-0.5441653543307087 + 30 +0.0 + 10 +0.3027637795275591 + 20 +-0.5383307086614173 + 30 +0.0 + 10 +0.2944330708661417 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +0.2846535433070866 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +0.2846535433070866 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +0.2698740157480315 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +0.2578740157480315 + 20 +-0.5406653543307086 + 30 +0.0 + 10 +0.2486535433070866 + 20 +-0.5512755905511811 + 30 +0.0 + 10 +0.2486535433070866 + 20 +-0.5512755905511811 + 30 +0.0 + 10 +0.2394291338582677 + 20 +-0.5618307086614174 + 30 +0.0 + 10 +0.2348188976377953 + 20 +-0.5785551181102362 + 30 +0.0 + 10 +0.2348188976377953 + 20 +-0.6014448818897637 + 30 +0.0 + 10 +0.2348188976377953 + 20 +-0.6014448818897637 + 30 +0.0 + 10 +0.2348188976377953 + 20 +-0.6246653543307087 + 30 +0.0 + 10 +0.2392637795275591 + 20 +-0.6415551181102362 + 30 +0.0 + 10 +0.2482086614173228 + 20 +-0.6521102362204725 + 30 +0.0 + 10 +0.2482086614173228 + 20 +-0.6521102362204725 + 30 +0.0 + 10 +0.2570984251968504 + 20 +-0.6626102362204724 + 30 +0.0 + 10 +0.2687086614173229 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +0.2830433070866142 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +0.2830433070866142 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +0.2945433070866142 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +0.3040984251968504 + 20 +-0.6643346456692913 + 30 +0.0 + 10 +0.3118188976377953 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +0.3118188976377953 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +0.3195433070866142 + 20 +-0.6502204724409448 + 30 +0.0 + 10 +0.3244330708661418 + 20 +-0.6393897637795276 + 30 +0.0 + 10 +0.3264881889763779 + 20 +-0.6247204724409449 + 30 +0.0 + 0 +SPLINE + 5 +21D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.4936574803149607 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.4936574803149607 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.4936574803149607 + 20 +-0.6626653543307086 + 30 +0.0 + 10 +0.4936574803149607 + 20 +-0.6626653543307086 + 30 +0.0 + 10 +0.4936574803149607 + 20 +-0.6626653543307086 + 30 +0.0 + 10 +0.4801574803149606 + 20 +-0.6822204724409449 + 30 +0.0 + 10 +0.4618779527559055 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.4387677165354331 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.4387677165354331 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.4286023622047244 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.4190433070866142 + 20 +-0.69 + 30 +0.0 + 10 +0.4102125984251969 + 20 +-0.6861102362204724 + 30 +0.0 + 10 +0.4102125984251969 + 20 +-0.6861102362204724 + 30 +0.0 + 10 +0.4013779527559055 + 20 +-0.6822204724409449 + 30 +0.0 + 10 +0.3948228346456693 + 20 +-0.6772755905511811 + 30 +0.0 + 10 +0.3905433070866142 + 20 +-0.6713897637795275 + 30 +0.0 + 10 +0.3905433070866142 + 20 +-0.6713897637795275 + 30 +0.0 + 10 +0.3862125984251968 + 20 +-0.6654448818897638 + 30 +0.0 + 10 +0.3832125984251968 + 20 +-0.6582204724409448 + 30 +0.0 + 10 +0.3814881889763779 + 20 +-0.6496653543307087 + 30 +0.0 + 10 +0.3814881889763779 + 20 +-0.6496653543307087 + 30 +0.0 + 10 +0.3803228346456693 + 20 +-0.6438897637795276 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.6347755905511812 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.6222755905511811 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.6222755905511811 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.6222755905511811 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.3797125984251968 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.6110551181102363 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.6110551181102363 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.6110551181102363 + 30 +0.0 + 10 +0.408988188976378 + 20 +-0.6263897637795276 + 30 +0.0 + 10 +0.4095984251968504 + 20 +-0.6366653543307087 + 30 +0.0 + 10 +0.4107677165354331 + 20 +-0.642 + 30 +0.0 + 10 +0.4107677165354331 + 20 +-0.642 + 30 +0.0 + 10 +0.4126574803149606 + 20 +-0.6497204724409449 + 30 +0.0 + 10 +0.4165433070866142 + 20 +-0.6557204724409449 + 30 +0.0 + 10 +0.422488188976378 + 20 +-0.6601653543307087 + 30 +0.0 + 10 +0.422488188976378 + 20 +-0.6601653543307087 + 30 +0.0 + 10 +0.428488188976378 + 20 +-0.6645551181102363 + 30 +0.0 + 10 +0.4358779527559055 + 20 +-0.6667204724409449 + 30 +0.0 + 10 +0.4446574803149606 + 20 +-0.6667204724409449 + 30 +0.0 + 10 +0.4446574803149606 + 20 +-0.6667204724409449 + 30 +0.0 + 10 +0.4534330708661417 + 20 +-0.6667204724409449 + 30 +0.0 + 10 +0.4616574803149606 + 20 +-0.6645 + 30 +0.0 + 10 +0.4693779527559055 + 20 +-0.66 + 30 +0.0 + 10 +0.4693779527559055 + 20 +-0.66 + 30 +0.0 + 10 +0.4771023622047244 + 20 +-0.6555 + 30 +0.0 + 10 +0.4825433070866142 + 20 +-0.6493346456692913 + 30 +0.0 + 10 +0.4857125984251969 + 20 +-0.6416102362204724 + 30 +0.0 + 10 +0.4857125984251969 + 20 +-0.6416102362204724 + 30 +0.0 + 10 +0.4889330708661417 + 20 +-0.6338346456692914 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.6225551181102362 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.6078307086614173 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.6078307086614173 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.6078307086614173 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.4905433070866142 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.5198228346456693 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.4936574803149607 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.4936574803149607 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +21E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.6297125984251969 + 20 +-0.6618346456692913 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.6618346456692913 + 30 +0.0 + 10 +0.6339330708661417 + 20 +-0.6877204724409449 + 30 +0.0 + 10 +0.6339330708661417 + 20 +-0.6877204724409449 + 30 +0.0 + 10 +0.6339330708661417 + 20 +-0.6877204724409449 + 30 +0.0 + 10 +0.6257125984251969 + 20 +-0.6894448818897638 + 30 +0.0 + 10 +0.6183228346456693 + 20 +-0.6903346456692914 + 30 +0.0 + 10 +0.6118228346456693 + 20 +-0.6903346456692914 + 30 +0.0 + 10 +0.6118228346456693 + 20 +-0.6903346456692914 + 30 +0.0 + 10 +0.6011574803149606 + 20 +-0.6903346456692914 + 30 +0.0 + 10 +0.5929330708661418 + 20 +-0.6886653543307086 + 30 +0.0 + 10 +0.5870472440944882 + 20 +-0.6852755905511811 + 30 +0.0 + 10 +0.5870472440944882 + 20 +-0.6852755905511811 + 30 +0.0 + 10 +0.5812125984251969 + 20 +-0.6819448818897638 + 30 +0.0 + 10 +0.5771023622047244 + 20 +-0.6775 + 30 +0.0 + 10 +0.5747125984251968 + 20 +-0.672 + 30 +0.0 + 10 +0.5747125984251968 + 20 +-0.672 + 30 +0.0 + 10 +0.5723228346456692 + 20 +-0.6665551181102363 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.655 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.6374448818897638 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.6374448818897638 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.6374448818897638 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.538 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5496023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.4723858267716535 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.4723858267716535 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.4723858267716535 + 30 +0.0 + 10 +0.5711023622047244 + 20 +-0.4723858267716535 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.4548307086614173 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.4548307086614173 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.4548307086614173 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.4548307086614173 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.538 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.538 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.538 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.538 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.6390551181102362 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.6390551181102362 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.6390551181102362 + 30 +0.0 + 10 +0.6002677165354331 + 20 +-0.6474448818897638 + 30 +0.0 + 10 +0.600767716535433 + 20 +-0.6527755905511811 + 30 +0.0 + 10 +0.601767716535433 + 20 +-0.6551653543307087 + 30 +0.0 + 10 +0.601767716535433 + 20 +-0.6551653543307087 + 30 +0.0 + 10 +0.6028228346456693 + 20 +-0.6575551181102363 + 30 +0.0 + 10 +0.604492125984252 + 20 +-0.6594448818897638 + 30 +0.0 + 10 +0.6068228346456693 + 20 +-0.6608897637795276 + 30 +0.0 + 10 +0.6068228346456693 + 20 +-0.6608897637795276 + 30 +0.0 + 10 +0.6091574803149606 + 20 +-0.6622755905511811 + 30 +0.0 + 10 +0.612492125984252 + 20 +-0.663 + 30 +0.0 + 10 +0.6168228346456693 + 20 +-0.663 + 30 +0.0 + 10 +0.6168228346456693 + 20 +-0.663 + 30 +0.0 + 10 +0.6201023622047244 + 20 +-0.663 + 30 +0.0 + 10 +0.6243779527559055 + 20 +-0.6626102362204724 + 30 +0.0 + 10 +0.6297125984251969 + 20 +-0.6618346456692913 + 30 +0.0 + 0 +SPLINE + 5 +21F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.7579330708661417 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.538 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.538 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.538 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.538 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7320984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.4968307086614173 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.4968307086614173 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.4968307086614173 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.4852204724409449 + 30 +0.0 + 10 +0.758988188976378 + 20 +-0.4765551181102362 + 30 +0.0 + 10 +0.7610433070866142 + 20 +-0.4709448818897638 + 30 +0.0 + 10 +0.7610433070866142 + 20 +-0.4709448818897638 + 30 +0.0 + 10 +0.7638779527559055 + 20 +-0.4633307086614173 + 30 +0.0 + 10 +0.7688228346456693 + 20 +-0.4571653543307087 + 30 +0.0 + 10 +0.7759330708661417 + 20 +-0.4524448818897638 + 30 +0.0 + 10 +0.7759330708661417 + 20 +-0.4524448818897638 + 30 +0.0 + 10 +0.7830433070866142 + 20 +-0.4477204724409449 + 30 +0.0 + 10 +0.7929881889763779 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.8058228346456693 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.8058228346456693 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.8140433070866142 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +0.8231535433070866 + 20 +-0.4463307086614173 + 30 +0.0 + 10 +0.8331535433070866 + 20 +-0.4483307086614173 + 30 +0.0 + 10 +0.8331535433070866 + 20 +-0.4483307086614173 + 30 +0.0 + 10 +0.8331535433070866 + 20 +-0.4483307086614173 + 30 +0.0 + 10 +0.828767716535433 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +0.828767716535433 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +0.828767716535433 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +0.8227125984251968 + 20 +-0.4727755905511811 + 30 +0.0 + 10 +0.8169330708661418 + 20 +-0.4722204724409449 + 30 +0.0 + 10 +0.811488188976378 + 20 +-0.4722204724409449 + 30 +0.0 + 10 +0.811488188976378 + 20 +-0.4722204724409449 + 30 +0.0 + 10 +0.8025984251968504 + 20 +-0.4722204724409449 + 30 +0.0 + 10 +0.7963228346456693 + 20 +-0.4741102362204724 + 30 +0.0 + 10 +0.7926535433070866 + 20 +-0.4779448818897638 + 30 +0.0 + 10 +0.7926535433070866 + 20 +-0.4779448818897638 + 30 +0.0 + 10 +0.7889330708661417 + 20 +-0.4817204724409449 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.4888307086614173 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.4992755905511811 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.4992755905511811 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.4992755905511811 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.8207677165354331 + 20 +-0.538 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.538 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7870984251968504 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.7579330708661417 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +220 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.843263779527559 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +0.8695984251968504 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +0.8763188976377952 + 20 +-0.5291653543307087 + 30 +0.0 + 10 +0.8825433070866142 + 20 +-0.5210551181102362 + 30 +0.0 + 10 +0.8882637795275591 + 20 +-0.5171653543307086 + 30 +0.0 + 10 +0.8882637795275591 + 20 +-0.5171653543307086 + 30 +0.0 + 10 +0.8939330708661417 + 20 +-0.5132755905511811 + 30 +0.0 + 10 +0.9002086614173228 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.9070433070866142 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.9070433070866142 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.9169330708661417 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +0.9269330708661417 + 20 +-0.5144448818897638 + 30 +0.0 + 10 +0.9371535433070867 + 20 +-0.5207204724409449 + 30 +0.0 + 10 +0.9371535433070867 + 20 +-0.5207204724409449 + 30 +0.0 + 10 +0.9371535433070867 + 20 +-0.5207204724409449 + 30 +0.0 + 10 +0.9270433070866142 + 20 +-0.5479448818897638 + 30 +0.0 + 10 +0.9270433070866142 + 20 +-0.5479448818897638 + 30 +0.0 + 10 +0.9270433070866142 + 20 +-0.5479448818897638 + 30 +0.0 + 10 +0.9199330708661417 + 20 +-0.5436653543307086 + 30 +0.0 + 10 +0.912763779527559 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +0.9055984251968504 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +0.9055984251968504 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +0.8991535433070866 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +0.8934330708661418 + 20 +-0.5435 + 30 +0.0 + 10 +0.8883228346456693 + 20 +-0.5473307086614173 + 30 +0.0 + 10 +0.8883228346456693 + 20 +-0.5473307086614173 + 30 +0.0 + 10 +0.8832086614173228 + 20 +-0.5512204724409449 + 30 +0.0 + 10 +0.8795984251968504 + 20 +-0.5565551181102362 + 30 +0.0 + 10 +0.8774330708661418 + 20 +-0.5633897637795275 + 30 +0.0 + 10 +0.8774330708661418 + 20 +-0.5633897637795275 + 30 +0.0 + 10 +0.8741535433070866 + 20 +-0.5737755905511811 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.5851653543307087 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.5975551181102362 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.5975551181102362 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.5975551181102362 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.8725433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +0.843263779527559 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +221 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9436535433070866 + 20 +-0.6016102362204725 + 30 +0.0 + 10 +0.9436535433070866 + 20 +-0.5696102362204725 + 30 +0.0 + 10 +0.9525433070866142 + 20 +-0.5458897637795276 + 30 +0.0 + 10 +0.9703779527559055 + 20 +-0.5305 + 30 +0.0 + 10 +0.9703779527559055 + 20 +-0.5305 + 30 +0.0 + 10 +0.9852086614173229 + 20 +-0.5177204724409449 + 30 +0.0 + 10 +1.003322834645669 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.048488188976378 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.067933070866142 + 20 +-0.5190551181102362 + 30 +0.0 + 10 +1.082988188976378 + 20 +-0.5346653543307086 + 30 +0.0 + 10 +1.082988188976378 + 20 +-0.5346653543307086 + 30 +0.0 + 10 +1.09809842519685 + 20 +-0.5502204724409449 + 30 +0.0 + 10 +1.10559842519685 + 20 +-0.5717204724409449 + 30 +0.0 + 10 +1.10559842519685 + 20 +-0.5991653543307086 + 30 +0.0 + 10 +1.10559842519685 + 20 +-0.5991653543307086 + 30 +0.0 + 10 +1.10559842519685 + 20 +-0.6214448818897638 + 30 +0.0 + 10 +1.102267716535433 + 20 +-0.6389448818897637 + 30 +0.0 + 10 +1.09559842519685 + 20 +-0.6516653543307087 + 30 +0.0 + 10 +1.09559842519685 + 20 +-0.6516653543307087 + 30 +0.0 + 10 +1.088933070866142 + 20 +-0.6644448818897638 + 30 +0.0 + 10 +1.079208661417323 + 20 +-0.6743346456692914 + 30 +0.0 + 10 +1.066488188976378 + 20 +-0.6813897637795275 + 30 +0.0 + 10 +1.066488188976378 + 20 +-0.6813897637795275 + 30 +0.0 + 10 +1.053708661417323 + 20 +-0.6884448818897638 + 30 +0.0 + 10 +1.039822834645669 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +1.000543307086614 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +0.980988188976378 + 20 +-0.6842204724409449 + 30 +0.0 + 10 +0.9660433070866141 + 20 +-0.6686653543307086 + 30 +0.0 + 10 +0.9660433070866141 + 20 +-0.6686653543307086 + 30 +0.0 + 10 +0.9510984251968504 + 20 +-0.6531653543307087 + 30 +0.0 + 10 +0.9436535433070866 + 20 +-0.6308307086614173 + 30 +0.0 + 10 +0.9436535433070866 + 20 +-0.6016102362204725 + 30 +0.0 + 0 +SPLINE + 5 +222 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.9737637795275591 + 20 +-0.6016102362204725 + 30 +0.0 + 10 +0.9737637795275591 + 20 +-0.6237755905511811 + 30 +0.0 + 10 +0.9785984251968504 + 20 +-0.6403346456692913 + 30 +0.0 + 10 +0.9882637795275591 + 20 +-0.6513346456692913 + 30 +0.0 + 10 +0.9882637795275591 + 20 +-0.6513346456692913 + 30 +0.0 + 10 +0.9979330708661417 + 20 +-0.6623897637795275 + 30 +0.0 + 10 +1.01009842519685 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +1.039263779527559 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +1.051377952755906 + 20 +-0.6623346456692913 + 30 +0.0 + 10 +1.061043307086614 + 20 +-0.6512755905511811 + 30 +0.0 + 10 +1.061043307086614 + 20 +-0.6512755905511811 + 30 +0.0 + 10 +1.070653543307087 + 20 +-0.6402204724409449 + 30 +0.0 + 10 +1.075488188976378 + 20 +-0.6233307086614174 + 30 +0.0 + 10 +1.075488188976378 + 20 +-0.6006653543307087 + 30 +0.0 + 10 +1.075488188976378 + 20 +-0.6006653543307087 + 30 +0.0 + 10 +1.075488188976378 + 20 +-0.579275590551181 + 30 +0.0 + 10 +1.070653543307087 + 20 +-0.5630551181102362 + 30 +0.0 + 10 +1.060933070866142 + 20 +-0.5520551181102362 + 30 +0.0 + 10 +1.060933070866142 + 20 +-0.5520551181102362 + 30 +0.0 + 10 +1.051208661417323 + 20 +-0.5410551181102362 + 30 +0.0 + 10 +1.039153543307087 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +1.024708661417323 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +1.01009842519685 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +0.9979330708661417 + 20 +-0.5410551181102362 + 30 +0.0 + 10 +0.9882637795275591 + 20 +-0.552 + 30 +0.0 + 10 +0.9882637795275591 + 20 +-0.552 + 30 +0.0 + 10 +0.9785984251968504 + 20 +-0.5629448818897638 + 30 +0.0 + 10 +0.9737637795275591 + 20 +-0.5795 + 30 +0.0 + 10 +0.9737637795275591 + 20 +-0.6016102362204725 + 30 +0.0 + 0 +SPLINE + 5 +223 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.139988188976378 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5394448818897638 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5394448818897638 + 30 +0.0 + 10 +1.166153543307087 + 20 +-0.5394448818897638 + 30 +0.0 + 10 +1.17159842519685 + 20 +-0.531 + 30 +0.0 + 10 +1.178822834645669 + 20 +-0.5241653543307087 + 30 +0.0 + 10 +1.187822834645669 + 20 +-0.5190551181102362 + 30 +0.0 + 10 +1.187822834645669 + 20 +-0.5190551181102362 + 30 +0.0 + 10 +1.196822834645669 + 20 +-0.5138858267716535 + 30 +0.0 + 10 +1.20709842519685 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.21859842519685 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.21859842519685 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.231377952755905 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.241877952755905 + 20 +-0.5139448818897637 + 30 +0.0 + 10 +1.250043307086614 + 20 +-0.5192755905511811 + 30 +0.0 + 10 +1.250043307086614 + 20 +-0.5192755905511811 + 30 +0.0 + 10 +1.258267716535433 + 20 +-0.5246102362204724 + 30 +0.0 + 10 +1.264043307086614 + 20 +-0.532 + 30 +0.0 + 10 +1.267377952755905 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +1.267377952755905 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +1.28109842519685 + 20 +-0.5213858267716536 + 30 +0.0 + 10 +1.298877952755906 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.320767716535433 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.320767716535433 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.337933070866142 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +1.35109842519685 + 20 +-0.5160551181102362 + 30 +0.0 + 10 +1.360322834645669 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +1.360322834645669 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +1.369543307086614 + 20 +-0.5350551181102362 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.5496653543307086 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.5693897637795275 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.5693897637795275 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.5693897637795275 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.374157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.5791653543307087 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.5791653543307087 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.5791653543307087 + 30 +0.0 + 10 +1.345043307086614 + 20 +-0.5674448818897638 + 30 +0.0 + 10 +1.34409842519685 + 20 +-0.559 + 30 +0.0 + 10 +1.342212598425197 + 20 +-0.5538307086614174 + 30 +0.0 + 10 +1.342212598425197 + 20 +-0.5538307086614174 + 30 +0.0 + 10 +1.340267716535433 + 20 +-0.5487204724409449 + 30 +0.0 + 10 +1.336822834645669 + 20 +-0.5445551181102363 + 30 +0.0 + 10 +1.331877952755905 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +1.331877952755905 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +1.326877952755906 + 20 +-0.5382755905511811 + 30 +0.0 + 10 +1.320988188976378 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.314267716535433 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.314267716535433 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.30209842519685 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.292043307086614 + 20 +-0.5407204724409449 + 30 +0.0 + 10 +1.283988188976378 + 20 +-0.5488307086614174 + 30 +0.0 + 10 +1.283988188976378 + 20 +-0.5488307086614174 + 30 +0.0 + 10 +1.275988188976378 + 20 +-0.5568897637795276 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.5698307086614173 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.5876102362204725 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.5876102362204725 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.5876102362204725 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.271933070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.5757755905511811 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.5757755905511811 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.5757755905511811 + 30 +0.0 + 10 +1.242653543307087 + 20 +-0.5627204724409449 + 30 +0.0 + 10 +1.240267716535433 + 20 +-0.5529448818897638 + 30 +0.0 + 10 +1.235488188976378 + 20 +-0.5464448818897638 + 30 +0.0 + 10 +1.235488188976378 + 20 +-0.5464448818897638 + 30 +0.0 + 10 +1.230712598425197 + 20 +-0.5399448818897638 + 30 +0.0 + 10 +1.222933070866142 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.212043307086614 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.212043307086614 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.203822834645669 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.196212598425197 + 20 +-0.5388307086614174 + 30 +0.0 + 10 +1.189212598425197 + 20 +-0.5432204724409448 + 30 +0.0 + 10 +1.189212598425197 + 20 +-0.5432204724409448 + 30 +0.0 + 10 +1.182212598425197 + 20 +-0.5475551181102363 + 30 +0.0 + 10 +1.17709842519685 + 20 +-0.5538897637795276 + 30 +0.0 + 10 +1.173988188976378 + 20 +-0.5622204724409449 + 30 +0.0 + 10 +1.173988188976378 + 20 +-0.5622204724409449 + 30 +0.0 + 10 +1.170822834645669 + 20 +-0.5706102362204725 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.5826653543307087 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.5983897637795276 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.5983897637795276 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.5983897637795276 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.169267716535433 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.139988188976378 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +224 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.612433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.5013858267716536 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.5013858267716536 + 30 +0.0 + 10 +1.583157480314961 + 20 +-0.5013858267716536 + 30 +0.0 + 10 +1.576102362204724 + 20 +-0.5081102362204725 + 30 +0.0 + 10 +1.566877952755906 + 20 +-0.5148307086614173 + 30 +0.0 + 10 +1.555433070866142 + 20 +-0.5215551181102362 + 30 +0.0 + 10 +1.555433070866142 + 20 +-0.5215551181102362 + 30 +0.0 + 10 +1.543933070866142 + 20 +-0.5282755905511811 + 30 +0.0 + 10 +1.533657480314961 + 20 +-0.5333307086614173 + 30 +0.0 + 10 +1.524547244094488 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.524547244094488 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.524547244094488 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.524547244094488 + 20 +-0.5083858267716536 + 30 +0.0 + 10 +1.524547244094488 + 20 +-0.5083858267716536 + 30 +0.0 + 10 +1.524547244094488 + 20 +-0.5083858267716536 + 30 +0.0 + 10 +1.540933070866142 + 20 +-0.5006653543307087 + 30 +0.0 + 10 +1.555267716535433 + 20 +-0.4913307086614173 + 30 +0.0 + 10 +1.567547244094488 + 20 +-0.4803858267716535 + 30 +0.0 + 10 +1.567547244094488 + 20 +-0.4803858267716535 + 30 +0.0 + 10 +1.579767716535433 + 20 +-0.4693858267716535 + 30 +0.0 + 10 +1.588492125984252 + 20 +-0.4587755905511811 + 30 +0.0 + 10 +1.593602362204724 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.593602362204724 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.593602362204724 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +1.612433070866142 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +225 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.673657480314961 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.673657480314961 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.742822834645669 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.742822834645669 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.742822834645669 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.742822834645669 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.766267716535433 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.766267716535433 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.766267716535433 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.766267716535433 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +1.697267716535433 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.697267716535433 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.697267716535433 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.697267716535433 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.673657480314961 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.673657480314961 + 20 +-0.6921102362204724 + 30 +0.0 + 0 +SPLINE + 5 +226 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.825212598425197 + 20 +-0.5586653543307086 + 30 +0.0 + 10 +1.813047244094488 + 20 +-0.5542204724409449 + 30 +0.0 + 10 +1.804047244094488 + 20 +-0.5478897637795276 + 30 +0.0 + 10 +1.798157480314961 + 20 +-0.5396102362204724 + 30 +0.0 + 10 +1.798157480314961 + 20 +-0.5396102362204724 + 30 +0.0 + 10 +1.792322834645669 + 20 +-0.5313897637795275 + 30 +0.0 + 10 +1.789377952755905 + 20 +-0.5215 + 30 +0.0 + 10 +1.789377952755905 + 20 +-0.51 + 30 +0.0 + 10 +1.789377952755905 + 20 +-0.51 + 30 +0.0 + 10 +1.789377952755905 + 20 +-0.4926102362204725 + 30 +0.0 + 10 +1.795602362204724 + 20 +-0.4780551181102362 + 30 +0.0 + 10 +1.808102362204724 + 20 +-0.4662204724409449 + 30 +0.0 + 10 +1.808102362204724 + 20 +-0.4662204724409449 + 30 +0.0 + 10 +1.820602362204724 + 20 +-0.4543858267716536 + 30 +0.0 + 10 +1.837157480314961 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.857877952755906 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.857877952755906 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.878712598425197 + 20 +-0.4484448818897638 + 30 +0.0 + 10 +1.895492125984252 + 20 +-0.4545 + 30 +0.0 + 10 +1.908212598425197 + 20 +-0.4666102362204724 + 30 +0.0 + 10 +1.908212598425197 + 20 +-0.4666102362204724 + 30 +0.0 + 10 +1.920877952755905 + 20 +-0.4787204724409449 + 30 +0.0 + 10 +1.927212598425197 + 20 +-0.4934448818897638 + 30 +0.0 + 10 +1.927212598425197 + 20 +-0.5108307086614173 + 30 +0.0 + 10 +1.927212598425197 + 20 +-0.5108307086614173 + 30 +0.0 + 10 +1.927212598425197 + 20 +-0.5218897637795276 + 30 +0.0 + 10 +1.924322834645669 + 20 +-0.5315 + 30 +0.0 + 10 +1.918547244094488 + 20 +-0.5397204724409449 + 30 +0.0 + 10 +1.918547244094488 + 20 +-0.5397204724409449 + 30 +0.0 + 10 +1.912712598425197 + 20 +-0.5478897637795276 + 30 +0.0 + 10 +1.903933070866142 + 20 +-0.5542204724409449 + 30 +0.0 + 10 +1.892102362204724 + 20 +-0.5586653543307086 + 30 +0.0 + 10 +1.892102362204724 + 20 +-0.5586653543307086 + 30 +0.0 + 10 +1.906712598425197 + 20 +-0.5634448818897638 + 30 +0.0 + 10 +1.917877952755906 + 20 +-0.5711102362204724 + 30 +0.0 + 10 +1.925547244094488 + 20 +-0.5817755905511811 + 30 +0.0 + 10 +1.925547244094488 + 20 +-0.5817755905511811 + 30 +0.0 + 10 +1.933157480314961 + 20 +-0.5923897637795276 + 30 +0.0 + 10 +1.936992125984252 + 20 +-0.6051102362204724 + 30 +0.0 + 10 +1.936992125984252 + 20 +-0.6198307086614173 + 30 +0.0 + 10 +1.936992125984252 + 20 +-0.6198307086614173 + 30 +0.0 + 10 +1.936992125984252 + 20 +-0.6402755905511811 + 30 +0.0 + 10 +1.929767716535433 + 20 +-0.6573897637795275 + 30 +0.0 + 10 +1.915377952755906 + 20 +-0.6712755905511811 + 30 +0.0 + 10 +1.915377952755906 + 20 +-0.6712755905511811 + 30 +0.0 + 10 +1.900933070866142 + 20 +-0.6851653543307087 + 30 +0.0 + 10 +1.881933070866142 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.858377952755905 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.858377952755905 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.834822834645669 + 20 +-0.6921102362204724 + 30 +0.0 + 10 +1.815877952755905 + 20 +-0.6851653543307087 + 30 +0.0 + 10 +1.801433070866142 + 20 +-0.6712204724409448 + 30 +0.0 + 10 +1.801433070866142 + 20 +-0.6712204724409448 + 30 +0.0 + 10 +1.786988188976378 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +1.779767716535433 + 20 +-0.6398897637795276 + 30 +0.0 + 10 +1.779767716535433 + 20 +-0.6190551181102362 + 30 +0.0 + 10 +1.779767716535433 + 20 +-0.6190551181102362 + 30 +0.0 + 10 +1.779767716535433 + 20 +-0.6035551181102362 + 30 +0.0 + 10 +1.783712598425197 + 20 +-0.5905551181102362 + 30 +0.0 + 10 +1.791602362204724 + 20 +-0.5800551181102362 + 30 +0.0 + 10 +1.791602362204724 + 20 +-0.5800551181102362 + 30 +0.0 + 10 +1.799433070866142 + 20 +-0.5696102362204725 + 30 +0.0 + 10 +1.810657480314961 + 20 +-0.5624448818897638 + 30 +0.0 + 10 +1.825212598425197 + 20 +-0.5586653543307086 + 30 +0.0 + 0 +SPLINE + 5 +227 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.819322834645669 + 20 +-0.509 + 30 +0.0 + 10 +1.819322834645669 + 20 +-0.5202755905511811 + 30 +0.0 + 10 +1.822992125984252 + 20 +-0.5295 + 30 +0.0 + 10 +1.830212598425197 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.830212598425197 + 20 +-0.5366653543307086 + 30 +0.0 + 10 +1.837492125984252 + 20 +-0.5438307086614174 + 30 +0.0 + 10 +1.846933070866142 + 20 +-0.5474448818897638 + 30 +0.0 + 10 +1.858547244094488 + 20 +-0.5474448818897638 + 30 +0.0 + 10 +1.858547244094488 + 20 +-0.5474448818897638 + 30 +0.0 + 10 +1.869822834645669 + 20 +-0.5474448818897638 + 30 +0.0 + 10 +1.879102362204724 + 20 +-0.5438897637795276 + 30 +0.0 + 10 +1.886322834645669 + 20 +-0.5367755905511811 + 30 +0.0 + 10 +1.886322834645669 + 20 +-0.5367755905511811 + 30 +0.0 + 10 +1.893547244094488 + 20 +-0.5296653543307087 + 30 +0.0 + 10 +1.897102362204725 + 20 +-0.5209448818897637 + 30 +0.0 + 10 +1.897102362204725 + 20 +-0.5106653543307087 + 30 +0.0 + 10 +1.897102362204725 + 20 +-0.5106653543307087 + 30 +0.0 + 10 +1.897102362204725 + 20 +-0.4998858267716536 + 30 +0.0 + 10 +1.893433070866142 + 20 +-0.4908858267716535 + 30 +0.0 + 10 +1.885992125984252 + 20 +-0.4835551181102362 + 30 +0.0 + 10 +1.885992125984252 + 20 +-0.4835551181102362 + 30 +0.0 + 10 +1.878547244094488 + 20 +-0.4762204724409449 + 30 +0.0 + 10 +1.869322834645669 + 20 +-0.4725551181102362 + 30 +0.0 + 10 +1.858212598425197 + 20 +-0.4725551181102362 + 30 +0.0 + 10 +1.858212598425197 + 20 +-0.4725551181102362 + 30 +0.0 + 10 +1.847047244094488 + 20 +-0.4725551181102362 + 30 +0.0 + 10 +1.837767716535433 + 20 +-0.4761653543307087 + 30 +0.0 + 10 +1.830377952755905 + 20 +-0.4832755905511811 + 30 +0.0 + 10 +1.830377952755905 + 20 +-0.4832755905511811 + 30 +0.0 + 10 +1.822992125984252 + 20 +-0.4904448818897638 + 30 +0.0 + 10 +1.819322834645669 + 20 +-0.4990551181102362 + 30 +0.0 + 10 +1.819322834645669 + 20 +-0.509 + 30 +0.0 + 0 +SPLINE + 5 +228 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.809877952755905 + 20 +-0.6192204724409449 + 30 +0.0 + 10 +1.809877952755905 + 20 +-0.6275551181102362 + 30 +0.0 + 10 +1.811877952755905 + 20 +-0.6356653543307087 + 30 +0.0 + 10 +1.815822834645669 + 20 +-0.6434448818897638 + 30 +0.0 + 10 +1.815822834645669 + 20 +-0.6434448818897638 + 30 +0.0 + 10 +1.819767716535433 + 20 +-0.6512755905511811 + 30 +0.0 + 10 +1.825657480314961 + 20 +-0.6573346456692913 + 30 +0.0 + 10 +1.833492125984252 + 20 +-0.6616102362204724 + 30 +0.0 + 10 +1.833492125984252 + 20 +-0.6616102362204724 + 30 +0.0 + 10 +1.841322834645669 + 20 +-0.6658897637795276 + 30 +0.0 + 10 +1.849712598425197 + 20 +-0.6680551181102362 + 30 +0.0 + 10 +1.858712598425197 + 20 +-0.6680551181102362 + 30 +0.0 + 10 +1.858712598425197 + 20 +-0.6680551181102362 + 30 +0.0 + 10 +1.872712598425197 + 20 +-0.6680551181102362 + 30 +0.0 + 10 +1.884267716535433 + 20 +-0.6635551181102363 + 30 +0.0 + 10 +1.893377952755906 + 20 +-0.6545 + 30 +0.0 + 10 +1.893377952755906 + 20 +-0.6545 + 30 +0.0 + 10 +1.902492125984252 + 20 +-0.6455 + 30 +0.0 + 10 +1.907047244094488 + 20 +-0.6340551181102362 + 30 +0.0 + 10 +1.907047244094488 + 20 +-0.6201653543307086 + 30 +0.0 + 10 +1.907047244094488 + 20 +-0.6201653543307086 + 30 +0.0 + 10 +1.907047244094488 + 20 +-0.6060551181102363 + 30 +0.0 + 10 +1.902377952755905 + 20 +-0.5943897637795276 + 30 +0.0 + 10 +1.892992125984252 + 20 +-0.5851653543307087 + 30 +0.0 + 10 +1.892992125984252 + 20 +-0.5851653543307087 + 30 +0.0 + 10 +1.883602362204724 + 20 +-0.5759448818897638 + 30 +0.0 + 10 +1.871822834645669 + 20 +-0.5713307086614173 + 30 +0.0 + 10 +1.857712598425197 + 20 +-0.5713307086614173 + 30 +0.0 + 10 +1.857712598425197 + 20 +-0.5713307086614173 + 30 +0.0 + 10 +1.843933070866142 + 20 +-0.5713307086614173 + 30 +0.0 + 10 +1.832547244094488 + 20 +-0.5758897637795276 + 30 +0.0 + 10 +1.823492125984252 + 20 +-0.585 + 30 +0.0 + 10 +1.823492125984252 + 20 +-0.585 + 30 +0.0 + 10 +1.814433070866142 + 20 +-0.5941653543307086 + 30 +0.0 + 10 +1.809877952755905 + 20 +-0.6055551181102362 + 30 +0.0 + 10 +1.809877952755905 + 20 +-0.6192204724409449 + 30 +0.0 + 0 +SPLINE + 5 +229 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.965822834645669 + 20 +-0.481 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.481 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.447 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.447 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.447 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.447 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.447 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.447 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.447 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.447 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +1.997212598425197 + 20 +-0.4883858267716535 + 30 +0.0 + 10 +1.995547244094488 + 20 +-0.4988858267716536 + 30 +0.0 + 10 +1.992212598425197 + 20 +-0.5052755905511811 + 30 +0.0 + 10 +1.992212598425197 + 20 +-0.5052755905511811 + 30 +0.0 + 10 +1.987547244094488 + 20 +-0.5140551181102362 + 30 +0.0 + 10 +1.980267716535433 + 20 +-0.5206653543307087 + 30 +0.0 + 10 +1.970377952755906 + 20 +-0.5251102362204725 + 30 +0.0 + 10 +1.970377952755906 + 20 +-0.5251102362204725 + 30 +0.0 + 10 +1.970377952755906 + 20 +-0.5251102362204725 + 30 +0.0 + 10 +1.963212598425197 + 20 +-0.5135551181102362 + 30 +0.0 + 10 +1.963212598425197 + 20 +-0.5135551181102362 + 30 +0.0 + 10 +1.963212598425197 + 20 +-0.5135551181102362 + 30 +0.0 + 10 +1.969047244094488 + 20 +-0.5111653543307086 + 30 +0.0 + 10 +1.973437007874016 + 20 +-0.5074448818897638 + 30 +0.0 + 10 +1.976322834645669 + 20 +-0.5022755905511811 + 30 +0.0 + 10 +1.976322834645669 + 20 +-0.5022755905511811 + 30 +0.0 + 10 +1.979212598425197 + 20 +-0.4971102362204725 + 30 +0.0 + 10 +1.980767716535433 + 20 +-0.4900551181102362 + 30 +0.0 + 10 +1.981102362204724 + 20 +-0.481 + 30 +0.0 + 10 +1.981102362204724 + 20 +-0.481 + 30 +0.0 + 10 +1.981102362204724 + 20 +-0.481 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.481 + 30 +0.0 + 10 +1.965822834645669 + 20 +-0.481 + 30 +0.0 + 0 +SPLINE + 5 +22A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.016267716535433 + 20 +-0.481 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.481 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.447 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.447 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.447 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.447 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.447 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.447 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.447 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.447 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.4738858267716535 + 30 +0.0 + 10 +2.047712598425197 + 20 +-0.4883858267716535 + 30 +0.0 + 10 +2.045992125984252 + 20 +-0.4988858267716536 + 30 +0.0 + 10 +2.04265748031496 + 20 +-0.5052755905511811 + 30 +0.0 + 10 +2.04265748031496 + 20 +-0.5052755905511811 + 30 +0.0 + 10 +2.037992125984252 + 20 +-0.5140551181102362 + 30 +0.0 + 10 +2.030712598425197 + 20 +-0.5206653543307087 + 30 +0.0 + 10 +2.020822834645669 + 20 +-0.5251102362204725 + 30 +0.0 + 10 +2.020822834645669 + 20 +-0.5251102362204725 + 30 +0.0 + 10 +2.020822834645669 + 20 +-0.5251102362204725 + 30 +0.0 + 10 +2.013657480314961 + 20 +-0.5135551181102362 + 30 +0.0 + 10 +2.013657480314961 + 20 +-0.5135551181102362 + 30 +0.0 + 10 +2.013657480314961 + 20 +-0.5135551181102362 + 30 +0.0 + 10 +2.019547244094488 + 20 +-0.5111653543307086 + 30 +0.0 + 10 +2.023881889763779 + 20 +-0.5074448818897638 + 30 +0.0 + 10 +2.026767716535433 + 20 +-0.5022755905511811 + 30 +0.0 + 10 +2.026767716535433 + 20 +-0.5022755905511811 + 30 +0.0 + 10 +2.029657480314961 + 20 +-0.4971102362204725 + 30 +0.0 + 10 +2.031267716535433 + 20 +-0.4900551181102362 + 30 +0.0 + 10 +2.031547244094488 + 20 +-0.481 + 30 +0.0 + 10 +2.031547244094488 + 20 +-0.481 + 30 +0.0 + 10 +2.031547244094488 + 20 +-0.481 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.481 + 30 +0.0 + 10 +2.016267716535433 + 20 +-0.481 + 30 +0.0 + 0 +SPLINE + 5 +22B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.290047244094488 + 20 +-0.6667204724409449 + 30 +0.0 + 10 +2.279157480314961 + 20 +-0.6759448818897638 + 30 +0.0 + 10 +2.268712598425197 + 20 +-0.6824448818897638 + 30 +0.0 + 10 +2.258712598425197 + 20 +-0.6862755905511811 + 30 +0.0 + 10 +2.258712598425197 + 20 +-0.6862755905511811 + 30 +0.0 + 10 +2.248657480314961 + 20 +-0.6900551181102362 + 30 +0.0 + 10 +2.237877952755905 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.226377952755906 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.226377952755906 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.207377952755905 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.192822834645669 + 20 +-0.6873346456692914 + 30 +0.0 + 10 +2.182602362204725 + 20 +-0.6780551181102362 + 30 +0.0 + 10 +2.182602362204725 + 20 +-0.6780551181102362 + 30 +0.0 + 10 +2.172433070866142 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +2.167322834645669 + 20 +-0.6568897637795276 + 30 +0.0 + 10 +2.167322834645669 + 20 +-0.6425 + 30 +0.0 + 10 +2.167322834645669 + 20 +-0.6425 + 30 +0.0 + 10 +2.167322834645669 + 20 +-0.634 + 30 +0.0 + 10 +2.169212598425197 + 20 +-0.6262755905511811 + 30 +0.0 + 10 +2.173102362204725 + 20 +-0.6192755905511811 + 30 +0.0 + 10 +2.173102362204725 + 20 +-0.6192755905511811 + 30 +0.0 + 10 +2.176933070866142 + 20 +-0.6122755905511811 + 30 +0.0 + 10 +2.181988188976378 + 20 +-0.6066653543307087 + 30 +0.0 + 10 +2.188212598425197 + 20 +-0.6024448818897638 + 30 +0.0 + 10 +2.188212598425197 + 20 +-0.6024448818897638 + 30 +0.0 + 10 +2.194488188976378 + 20 +-0.5982204724409449 + 30 +0.0 + 10 +2.201488188976378 + 20 +-0.595 + 30 +0.0 + 10 +2.209322834645669 + 20 +-0.5928307086614173 + 30 +0.0 + 10 +2.209322834645669 + 20 +-0.5928307086614173 + 30 +0.0 + 10 +2.215047244094488 + 20 +-0.5913307086614173 + 30 +0.0 + 10 +2.223712598425197 + 20 +-0.5898307086614173 + 30 +0.0 + 10 +2.235322834645669 + 20 +-0.5884448818897637 + 30 +0.0 + 10 +2.235322834645669 + 20 +-0.5884448818897637 + 30 +0.0 + 10 +2.258992125984252 + 20 +-0.5856102362204725 + 30 +0.0 + 10 +2.276433070866142 + 20 +-0.582275590551181 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.5783307086614173 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.5783307086614173 + 30 +0.0 + 10 +2.287712598425197 + 20 +-0.5743307086614173 + 30 +0.0 + 10 +2.287767716535433 + 20 +-0.5717755905511811 + 30 +0.0 + 10 +2.287767716535433 + 20 +-0.5707204724409449 + 30 +0.0 + 10 +2.287767716535433 + 20 +-0.5707204724409449 + 30 +0.0 + 10 +2.287767716535433 + 20 +-0.5587755905511811 + 30 +0.0 + 10 +2.284992125984252 + 20 +-0.5503307086614173 + 30 +0.0 + 10 +2.279433070866142 + 20 +-0.5455 + 30 +0.0 + 10 +2.279433070866142 + 20 +-0.5455 + 30 +0.0 + 10 +2.271992125984252 + 20 +-0.5388307086614174 + 30 +0.0 + 10 +2.260822834645669 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +2.246102362204724 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +2.246102362204724 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +2.232322834645669 + 20 +-0.5355551181102363 + 30 +0.0 + 10 +2.22215748031496 + 20 +-0.5379448818897637 + 30 +0.0 + 10 +2.215547244094488 + 20 +-0.5427755905511811 + 30 +0.0 + 10 +2.215547244094488 + 20 +-0.5427755905511811 + 30 +0.0 + 10 +2.208988188976378 + 20 +-0.5476102362204724 + 30 +0.0 + 10 +2.204157480314961 + 20 +-0.5561653543307087 + 30 +0.0 + 10 +2.200988188976378 + 20 +-0.5684448818897638 + 30 +0.0 + 10 +2.200988188976378 + 20 +-0.5684448818897638 + 30 +0.0 + 10 +2.200988188976378 + 20 +-0.5684448818897638 + 30 +0.0 + 10 +2.172377952755906 + 20 +-0.5645 + 30 +0.0 + 10 +2.172377952755906 + 20 +-0.5645 + 30 +0.0 + 10 +2.172377952755906 + 20 +-0.5645 + 30 +0.0 + 10 +2.174988188976378 + 20 +-0.5522755905511811 + 30 +0.0 + 10 +2.179267716535433 + 20 +-0.5423307086614173 + 30 +0.0 + 10 +2.185212598425197 + 20 +-0.5348307086614174 + 30 +0.0 + 10 +2.185212598425197 + 20 +-0.5348307086614174 + 30 +0.0 + 10 +2.191157480314961 + 20 +-0.5272755905511811 + 30 +0.0 + 10 +2.199822834645669 + 20 +-0.5214448818897638 + 30 +0.0 + 10 +2.211102362204724 + 20 +-0.5173858267716536 + 30 +0.0 + 10 +2.211102362204724 + 20 +-0.5173858267716536 + 30 +0.0 + 10 +2.222377952755906 + 20 +-0.5133307086614173 + 30 +0.0 + 10 +2.235433070866142 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.250322834645669 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.250322834645669 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.265102362204725 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.277047244094488 + 20 +-0.5130551181102362 + 30 +0.0 + 10 +2.286267716535433 + 20 +-0.5165 + 30 +0.0 + 10 +2.286267716535433 + 20 +-0.5165 + 30 +0.0 + 10 +2.295492125984252 + 20 +-0.52 + 30 +0.0 + 10 +2.302267716535433 + 20 +-0.5243307086614173 + 30 +0.0 + 10 +2.306657480314961 + 20 +-0.5296102362204724 + 30 +0.0 + 10 +2.306657480314961 + 20 +-0.5296102362204724 + 30 +0.0 + 10 +2.310992125984252 + 20 +-0.5348897637795276 + 30 +0.0 + 10 +2.313992125984252 + 20 +-0.5415 + 30 +0.0 + 10 +2.315767716535433 + 20 +-0.5495551181102363 + 30 +0.0 + 10 +2.315767716535433 + 20 +-0.5495551181102363 + 30 +0.0 + 10 +2.316712598425197 + 20 +-0.5545551181102362 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.5635551181102362 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.5765551181102362 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.5765551181102362 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.5765551181102362 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.6156102362204724 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.6156102362204724 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.6156102362204724 + 30 +0.0 + 10 +2.317212598425197 + 20 +-0.6428897637795276 + 30 +0.0 + 10 +2.317822834645669 + 20 +-0.6601102362204725 + 30 +0.0 + 10 +2.319102362204724 + 20 +-0.6672755905511811 + 30 +0.0 + 10 +2.319102362204724 + 20 +-0.6672755905511811 + 30 +0.0 + 10 +2.320322834645669 + 20 +-0.6745 + 30 +0.0 + 10 +2.322822834645669 + 20 +-0.6814448818897638 + 30 +0.0 + 10 +2.326492125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.326492125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.326492125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.295877952755906 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.295877952755906 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.295877952755906 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.292877952755906 + 20 +-0.682 + 30 +0.0 + 10 +2.290877952755905 + 20 +-0.6748897637795276 + 30 +0.0 + 10 +2.290047244094488 + 20 +-0.6667204724409449 + 30 +0.0 + 0 +SPLINE + 5 +22C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.287602362204725 + 20 +-0.6012755905511811 + 30 +0.0 + 10 +2.276933070866142 + 20 +-0.6056653543307087 + 30 +0.0 + 10 +2.260992125984252 + 20 +-0.6093307086614174 + 30 +0.0 + 10 +2.239767716535433 + 20 +-0.6123897637795276 + 30 +0.0 + 10 +2.239767716535433 + 20 +-0.6123897637795276 + 30 +0.0 + 10 +2.227712598425197 + 20 +-0.6141102362204724 + 30 +0.0 + 10 +2.219157480314961 + 20 +-0.6160551181102362 + 30 +0.0 + 10 +2.214212598425197 + 20 +-0.6182204724409449 + 30 +0.0 + 10 +2.214212598425197 + 20 +-0.6182204724409449 + 30 +0.0 + 10 +2.209212598425197 + 20 +-0.6203897637795276 + 30 +0.0 + 10 +2.205322834645669 + 20 +-0.6235551181102362 + 30 +0.0 + 10 +2.202657480314961 + 20 +-0.6277755905511812 + 30 +0.0 + 10 +2.202657480314961 + 20 +-0.6277755905511812 + 30 +0.0 + 10 +2.199933070866142 + 20 +-0.6319448818897638 + 30 +0.0 + 10 +2.198547244094488 + 20 +-0.6365551181102362 + 30 +0.0 + 10 +2.198547244094488 + 20 +-0.6416653543307087 + 30 +0.0 + 10 +2.198547244094488 + 20 +-0.6416653543307087 + 30 +0.0 + 10 +2.198547244094488 + 20 +-0.6495 + 30 +0.0 + 10 +2.201547244094488 + 20 +-0.656 + 30 +0.0 + 10 +2.207433070866142 + 20 +-0.6612204724409448 + 30 +0.0 + 10 +2.207433070866142 + 20 +-0.6612204724409448 + 30 +0.0 + 10 +2.213322834645669 + 20 +-0.6663897637795275 + 30 +0.0 + 10 +2.221992125984252 + 20 +-0.669 + 30 +0.0 + 10 +2.233377952755906 + 20 +-0.669 + 30 +0.0 + 10 +2.233377952755906 + 20 +-0.669 + 30 +0.0 + 10 +2.244657480314961 + 20 +-0.669 + 30 +0.0 + 10 +2.254712598425197 + 20 +-0.6665551181102363 + 30 +0.0 + 10 +2.263492125984252 + 20 +-0.6616102362204724 + 30 +0.0 + 10 +2.263492125984252 + 20 +-0.6616102362204724 + 30 +0.0 + 10 +2.272267716535433 + 20 +-0.6566653543307086 + 30 +0.0 + 10 +2.278767716535433 + 20 +-0.6498897637795276 + 30 +0.0 + 10 +2.282877952755905 + 20 +-0.6413346456692913 + 30 +0.0 + 10 +2.282877952755905 + 20 +-0.6413346456692913 + 30 +0.0 + 10 +2.286047244094488 + 20 +-0.6347204724409449 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.6249448818897638 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.6120551181102363 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.6120551181102363 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.6120551181102363 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.6012755905511811 + 30 +0.0 + 10 +2.287602362204725 + 20 +-0.6012755905511811 + 30 +0.0 + 0 +SPLINE + 5 +22D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.475437007874016 + 20 +-0.6247204724409449 + 30 +0.0 + 10 +2.475437007874016 + 20 +-0.6247204724409449 + 30 +0.0 + 10 +2.504212598425197 + 20 +-0.6285 + 30 +0.0 + 10 +2.504212598425197 + 20 +-0.6285 + 30 +0.0 + 10 +2.504212598425197 + 20 +-0.6285 + 30 +0.0 + 10 +2.501102362204724 + 20 +-0.6483346456692913 + 30 +0.0 + 10 +2.493047244094488 + 20 +-0.6638897637795276 + 30 +0.0 + 10 +2.480047244094488 + 20 +-0.6751102362204724 + 30 +0.0 + 10 +2.480047244094488 + 20 +-0.6751102362204724 + 30 +0.0 + 10 +2.467102362204725 + 20 +-0.6863346456692914 + 30 +0.0 + 10 +2.451157480314961 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.432267716535433 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.432267716535433 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.408657480314961 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.389602362204724 + 20 +-0.6842204724409449 + 30 +0.0 + 10 +2.375267716535433 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +2.375267716535433 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +2.360877952755906 + 20 +-0.6533346456692913 + 30 +0.0 + 10 +2.353657480314961 + 20 +-0.6311653543307086 + 30 +0.0 + 10 +2.353657480314961 + 20 +-0.6022755905511811 + 30 +0.0 + 10 +2.353657480314961 + 20 +-0.6022755905511811 + 30 +0.0 + 10 +2.353657480314961 + 20 +-0.5836102362204725 + 30 +0.0 + 10 +2.356767716535433 + 20 +-0.5672755905511812 + 30 +0.0 + 10 +2.362937007874016 + 20 +-0.5532755905511811 + 30 +0.0 + 10 +2.362937007874016 + 20 +-0.5532755905511811 + 30 +0.0 + 10 +2.369157480314961 + 20 +-0.5392755905511811 + 30 +0.0 + 10 +2.378547244094488 + 20 +-0.5287755905511811 + 30 +0.0 + 10 +2.391212598425197 + 20 +-0.5217755905511811 + 30 +0.0 + 10 +2.391212598425197 + 20 +-0.5217755905511811 + 30 +0.0 + 10 +2.403822834645669 + 20 +-0.514775590551181 + 30 +0.0 + 10 +2.417602362204724 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.432437007874016 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.432437007874016 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.451212598425197 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.466602362204724 + 20 +-0.5160551181102362 + 30 +0.0 + 10 +2.478492125984252 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +2.478492125984252 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +2.490437007874016 + 20 +-0.5350551181102362 + 30 +0.0 + 10 +2.498102362204724 + 20 +-0.5485 + 30 +0.0 + 10 +2.501492125984252 + 20 +-0.566 + 30 +0.0 + 10 +2.501492125984252 + 20 +-0.566 + 30 +0.0 + 10 +2.501492125984252 + 20 +-0.566 + 30 +0.0 + 10 +2.472992125984252 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +2.472992125984252 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +2.472992125984252 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +2.470267716535433 + 20 +-0.5587755905511811 + 30 +0.0 + 10 +2.465492125984252 + 20 +-0.5500551181102362 + 30 +0.0 + 10 +2.458602362204724 + 20 +-0.5441653543307087 + 30 +0.0 + 10 +2.458602362204724 + 20 +-0.5441653543307087 + 30 +0.0 + 10 +2.451712598425197 + 20 +-0.5383307086614173 + 30 +0.0 + 10 +2.44338188976378 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +2.433602362204724 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +2.433602362204724 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +2.418822834645669 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +2.406822834645669 + 20 +-0.5406653543307086 + 30 +0.0 + 10 +2.397602362204724 + 20 +-0.5512755905511811 + 30 +0.0 + 10 +2.397602362204724 + 20 +-0.5512755905511811 + 30 +0.0 + 10 +2.388377952755905 + 20 +-0.5618307086614174 + 30 +0.0 + 10 +2.383767716535433 + 20 +-0.5785551181102362 + 30 +0.0 + 10 +2.383767716535433 + 20 +-0.6014448818897637 + 30 +0.0 + 10 +2.383767716535433 + 20 +-0.6014448818897637 + 30 +0.0 + 10 +2.383767716535433 + 20 +-0.6246653543307087 + 30 +0.0 + 10 +2.388212598425197 + 20 +-0.6415551181102362 + 30 +0.0 + 10 +2.397157480314961 + 20 +-0.6521102362204725 + 30 +0.0 + 10 +2.397157480314961 + 20 +-0.6521102362204725 + 30 +0.0 + 10 +2.406047244094488 + 20 +-0.6626102362204724 + 30 +0.0 + 10 +2.41765748031496 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +2.431992125984252 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +2.431992125984252 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +2.443492125984252 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +2.453047244094488 + 20 +-0.6643346456692913 + 30 +0.0 + 10 +2.460767716535433 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +2.460767716535433 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +2.468492125984252 + 20 +-0.6502204724409448 + 30 +0.0 + 10 +2.473381889763779 + 20 +-0.6393897637795276 + 30 +0.0 + 10 +2.475437007874016 + 20 +-0.6247204724409449 + 30 +0.0 + 0 +SPLINE + 5 +22E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.528992125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +2.555326771653543 + 20 +-0.5413897637795275 + 30 +0.0 + 10 +2.562047244094488 + 20 +-0.5291653543307087 + 30 +0.0 + 10 +2.568271653543307 + 20 +-0.5210551181102362 + 30 +0.0 + 10 +2.573992125984252 + 20 +-0.5171653543307086 + 30 +0.0 + 10 +2.573992125984252 + 20 +-0.5171653543307086 + 30 +0.0 + 10 +2.579661417322835 + 20 +-0.5132755905511811 + 30 +0.0 + 10 +2.585937007874016 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.592771653543307 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.592771653543307 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.602661417322835 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +2.612661417322835 + 20 +-0.5144448818897638 + 30 +0.0 + 10 +2.62288188976378 + 20 +-0.5207204724409449 + 30 +0.0 + 10 +2.62288188976378 + 20 +-0.5207204724409449 + 30 +0.0 + 10 +2.62288188976378 + 20 +-0.5207204724409449 + 30 +0.0 + 10 +2.612771653543307 + 20 +-0.5479448818897638 + 30 +0.0 + 10 +2.612771653543307 + 20 +-0.5479448818897638 + 30 +0.0 + 10 +2.612771653543307 + 20 +-0.5479448818897638 + 30 +0.0 + 10 +2.605661417322835 + 20 +-0.5436653543307086 + 30 +0.0 + 10 +2.598492125984252 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +2.591326771653543 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +2.591326771653543 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +2.584881889763779 + 20 +-0.5415551181102363 + 30 +0.0 + 10 +2.579161417322835 + 20 +-0.5435 + 30 +0.0 + 10 +2.574051181102362 + 20 +-0.5473307086614173 + 30 +0.0 + 10 +2.574051181102362 + 20 +-0.5473307086614173 + 30 +0.0 + 10 +2.568937007874016 + 20 +-0.5512204724409449 + 30 +0.0 + 10 +2.565326771653544 + 20 +-0.5565551181102362 + 30 +0.0 + 10 +2.563161417322835 + 20 +-0.5633897637795275 + 30 +0.0 + 10 +2.563161417322835 + 20 +-0.5633897637795275 + 30 +0.0 + 10 +2.559881889763779 + 20 +-0.5737755905511811 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.5851653543307087 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.5975551181102362 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.5975551181102362 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.5975551181102362 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.558271653543307 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.528992125984252 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +22F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.638992125984252 + 20 +-0.7546102362204724 + 30 +0.0 + 10 +2.638992125984252 + 20 +-0.7546102362204724 + 30 +0.0 + 10 +2.635716535433071 + 20 +-0.7271102362204724 + 30 +0.0 + 10 +2.635716535433071 + 20 +-0.7271102362204724 + 30 +0.0 + 10 +2.635716535433071 + 20 +-0.7271102362204724 + 30 +0.0 + 10 +2.642161417322835 + 20 +-0.7288346456692913 + 30 +0.0 + 10 +2.647716535433071 + 20 +-0.7297204724409448 + 30 +0.0 + 10 +2.652492125984252 + 20 +-0.7297204724409448 + 30 +0.0 + 10 +2.652492125984252 + 20 +-0.7297204724409448 + 30 +0.0 + 10 +2.658992125984252 + 20 +-0.7297204724409448 + 30 +0.0 + 10 +2.664216535433071 + 20 +-0.7286102362204725 + 30 +0.0 + 10 +2.668106299212599 + 20 +-0.7264448818897637 + 30 +0.0 + 10 +2.668106299212599 + 20 +-0.7264448818897637 + 30 +0.0 + 10 +2.672047244094488 + 20 +-0.7242755905511811 + 30 +0.0 + 10 +2.675216535433071 + 20 +-0.7212755905511811 + 30 +0.0 + 10 +2.677716535433071 + 20 +-0.7173346456692914 + 30 +0.0 + 10 +2.677716535433071 + 20 +-0.7173346456692914 + 30 +0.0 + 10 +2.679606299212598 + 20 +-0.7144448818897637 + 30 +0.0 + 10 +2.682551181102362 + 20 +-0.7071653543307087 + 30 +0.0 + 10 +2.686661417322834 + 20 +-0.6955551181102362 + 30 +0.0 + 10 +2.686661417322834 + 20 +-0.6955551181102362 + 30 +0.0 + 10 +2.687216535433071 + 20 +-0.6938897637795276 + 30 +0.0 + 10 +2.688106299212599 + 20 +-0.6915551181102362 + 30 +0.0 + 10 +2.689271653543307 + 20 +-0.6883897637795275 + 30 +0.0 + 10 +2.689271653543307 + 20 +-0.6883897637795275 + 30 +0.0 + 10 +2.689271653543307 + 20 +-0.6883897637795275 + 30 +0.0 + 10 +2.623716535433071 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.623716535433071 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.623716535433071 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.623716535433071 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.655271653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.655271653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.655271653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.655271653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.691271653543307 + 20 +-0.6152755905511811 + 30 +0.0 + 10 +2.691271653543307 + 20 +-0.6152755905511811 + 30 +0.0 + 10 +2.691271653543307 + 20 +-0.6152755905511811 + 30 +0.0 + 10 +2.69588188976378 + 20 +-0.628 + 30 +0.0 + 10 +2.700106299212599 + 20 +-0.6413346456692913 + 30 +0.0 + 10 +2.703771653543307 + 20 +-0.6553346456692913 + 30 +0.0 + 10 +2.703771653543307 + 20 +-0.6553346456692913 + 30 +0.0 + 10 +2.707161417322835 + 20 +-0.6418897637795276 + 30 +0.0 + 10 +2.711161417322835 + 20 +-0.6287755905511812 + 30 +0.0 + 10 +2.715826771653543 + 20 +-0.6159448818897638 + 30 +0.0 + 10 +2.715826771653543 + 20 +-0.6159448818897638 + 30 +0.0 + 10 +2.715826771653543 + 20 +-0.6159448818897638 + 30 +0.0 + 10 +2.752771653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.752771653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.752771653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.752771653543307 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.782051181102362 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.782051181102362 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.782051181102362 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.782051181102362 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.716326771653543 + 20 +-0.691 + 30 +0.0 + 10 +2.716326771653543 + 20 +-0.691 + 30 +0.0 + 10 +2.716326771653543 + 20 +-0.691 + 30 +0.0 + 10 +2.709271653543307 + 20 +-0.71 + 30 +0.0 + 10 +2.703771653543307 + 20 +-0.7230551181102363 + 30 +0.0 + 10 +2.69988188976378 + 20 +-0.7302204724409449 + 30 +0.0 + 10 +2.69988188976378 + 20 +-0.7302204724409449 + 30 +0.0 + 10 +2.694661417322834 + 20 +-0.7398897637795275 + 30 +0.0 + 10 +2.688716535433071 + 20 +-0.7469448818897638 + 30 +0.0 + 10 +2.681992125984252 + 20 +-0.7514448818897638 + 30 +0.0 + 10 +2.681992125984252 + 20 +-0.7514448818897638 + 30 +0.0 + 10 +2.675216535433071 + 20 +-0.7559448818897638 + 30 +0.0 + 10 +2.667216535433071 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +2.65788188976378 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +2.65788188976378 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +2.652216535433071 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +2.645937007874016 + 20 +-0.757 + 30 +0.0 + 10 +2.638992125984252 + 20 +-0.7546102362204724 + 30 +0.0 + 0 +SPLINE + 5 +230 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.806330708661418 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.835606299212599 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.806330708661418 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +231 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.881161417322835 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4494448818897638 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4831653543307087 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.4831653543307087 + 30 +0.0 + 0 +SPLINE + 5 +232 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +2.881161417322835 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.5152204724409449 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.910496062992126 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.6880551181102362 + 30 +0.0 + 10 +2.881161417322835 + 20 +-0.6880551181102362 + 30 +0.0 + 0 +SPLINE + 5 +233 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.067885826771653 + 20 +-0.6247204724409449 + 30 +0.0 + 10 +3.067885826771653 + 20 +-0.6247204724409449 + 30 +0.0 + 10 +3.096661417322835 + 20 +-0.6285 + 30 +0.0 + 10 +3.096661417322835 + 20 +-0.6285 + 30 +0.0 + 10 +3.096661417322835 + 20 +-0.6285 + 30 +0.0 + 10 +3.093551181102362 + 20 +-0.6483346456692913 + 30 +0.0 + 10 +3.085496062992126 + 20 +-0.6638897637795276 + 30 +0.0 + 10 +3.072496062992126 + 20 +-0.6751102362204724 + 30 +0.0 + 10 +3.072496062992126 + 20 +-0.6751102362204724 + 30 +0.0 + 10 +3.059551181102362 + 20 +-0.6863346456692914 + 30 +0.0 + 10 +3.043606299212598 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +3.024716535433071 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +3.024716535433071 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +3.001106299212598 + 20 +-0.6919448818897638 + 30 +0.0 + 10 +2.982051181102362 + 20 +-0.6842204724409449 + 30 +0.0 + 10 +2.967716535433071 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +2.967716535433071 + 20 +-0.6687755905511811 + 30 +0.0 + 10 +2.953326771653543 + 20 +-0.6533346456692913 + 30 +0.0 + 10 +2.946106299212599 + 20 +-0.6311653543307086 + 30 +0.0 + 10 +2.946106299212599 + 20 +-0.6022755905511811 + 30 +0.0 + 10 +2.946106299212599 + 20 +-0.6022755905511811 + 30 +0.0 + 10 +2.946106299212599 + 20 +-0.5836102362204725 + 30 +0.0 + 10 +2.949216535433071 + 20 +-0.5672755905511812 + 30 +0.0 + 10 +2.955385826771654 + 20 +-0.5532755905511811 + 30 +0.0 + 10 +2.955385826771654 + 20 +-0.5532755905511811 + 30 +0.0 + 10 +2.961606299212598 + 20 +-0.5392755905511811 + 30 +0.0 + 10 +2.970996062992126 + 20 +-0.5287755905511811 + 30 +0.0 + 10 +2.983661417322835 + 20 +-0.5217755905511811 + 30 +0.0 + 10 +2.983661417322835 + 20 +-0.5217755905511811 + 30 +0.0 + 10 +2.996271653543307 + 20 +-0.514775590551181 + 30 +0.0 + 10 +3.010051181102362 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +3.024885826771654 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +3.024885826771654 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +3.043661417322835 + 20 +-0.5112755905511811 + 30 +0.0 + 10 +3.059051181102362 + 20 +-0.5160551181102362 + 30 +0.0 + 10 +3.07094094488189 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +3.07094094488189 + 20 +-0.5255551181102363 + 30 +0.0 + 10 +3.082885826771653 + 20 +-0.5350551181102362 + 30 +0.0 + 10 +3.090551181102362 + 20 +-0.5485 + 30 +0.0 + 10 +3.09394094488189 + 20 +-0.566 + 30 +0.0 + 10 +3.09394094488189 + 20 +-0.566 + 30 +0.0 + 10 +3.09394094488189 + 20 +-0.566 + 30 +0.0 + 10 +3.06544094488189 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +3.06544094488189 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +3.06544094488189 + 20 +-0.5703897637795275 + 30 +0.0 + 10 +3.062716535433071 + 20 +-0.5587755905511811 + 30 +0.0 + 10 +3.05794094488189 + 20 +-0.5500551181102362 + 30 +0.0 + 10 +3.051051181102362 + 20 +-0.5441653543307087 + 30 +0.0 + 10 +3.051051181102362 + 20 +-0.5441653543307087 + 30 +0.0 + 10 +3.044161417322835 + 20 +-0.5383307086614173 + 30 +0.0 + 10 +3.035830708661417 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +3.026051181102362 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +3.026051181102362 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +3.011271653543307 + 20 +-0.5353897637795275 + 30 +0.0 + 10 +2.999271653543307 + 20 +-0.5406653543307086 + 30 +0.0 + 10 +2.990051181102362 + 20 +-0.5512755905511811 + 30 +0.0 + 10 +2.990051181102362 + 20 +-0.5512755905511811 + 30 +0.0 + 10 +2.980826771653543 + 20 +-0.5618307086614174 + 30 +0.0 + 10 +2.976216535433071 + 20 +-0.5785551181102362 + 30 +0.0 + 10 +2.976216535433071 + 20 +-0.6014448818897637 + 30 +0.0 + 10 +2.976216535433071 + 20 +-0.6014448818897637 + 30 +0.0 + 10 +2.976216535433071 + 20 +-0.6246653543307087 + 30 +0.0 + 10 +2.980661417322835 + 20 +-0.6415551181102362 + 30 +0.0 + 10 +2.989606299212598 + 20 +-0.6521102362204725 + 30 +0.0 + 10 +2.989606299212598 + 20 +-0.6521102362204725 + 30 +0.0 + 10 +2.998496062992126 + 20 +-0.6626102362204724 + 30 +0.0 + 10 +3.010106299212599 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +3.02444094488189 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +3.02444094488189 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +3.03594094488189 + 20 +-0.6678897637795276 + 30 +0.0 + 10 +3.045496062992126 + 20 +-0.6643346456692913 + 30 +0.0 + 10 +3.053216535433071 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +3.053216535433071 + 20 +-0.6572755905511811 + 30 +0.0 + 10 +3.06094094488189 + 20 +-0.6502204724409448 + 30 +0.0 + 10 +3.065830708661417 + 20 +-0.6393897637795276 + 30 +0.0 + 10 +3.067885826771653 + 20 +-0.6247204724409449 + 30 +0.0 + 0 +SPLINE + 5 +234 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +3.14094094488189 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +3.14094094488189 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +3.11994094488189 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +3.11994094488189 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +3.11994094488189 + 20 +-0.7582204724409449 + 30 +0.0 + 10 +3.152385826771654 + 20 +-0.7061102362204724 + 30 +0.0 + 10 +3.168610236220472 + 20 +-0.654 + 30 +0.0 + 10 +3.168610236220472 + 20 +-0.6017755905511811 + 30 +0.0 + 10 +3.168610236220472 + 20 +-0.6017755905511811 + 30 +0.0 + 10 +3.168610236220472 + 20 +-0.5813897637795276 + 30 +0.0 + 10 +3.166275590551181 + 20 +-0.5611653543307087 + 30 +0.0 + 10 +3.161610236220473 + 20 +-0.5410551181102362 + 30 +0.0 + 10 +3.161610236220473 + 20 +-0.5410551181102362 + 30 +0.0 + 10 +3.15794094488189 + 20 +-0.5248307086614173 + 30 +0.0 + 10 +3.152775590551181 + 20 +-0.5091653543307086 + 30 +0.0 + 10 +3.146165354330709 + 20 +-0.4942204724409449 + 30 +0.0 + 10 +3.146165354330709 + 20 +-0.4942204724409449 + 30 +0.0 + 10 +3.14194094488189 + 20 +-0.4844448818897638 + 30 +0.0 + 10 +3.133220472440945 + 20 +-0.4681653543307087 + 30 +0.0 + 10 +3.11994094488189 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +3.11994094488189 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +3.11994094488189 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +3.14094094488189 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +3.14094094488189 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +3.14094094488189 + 20 +-0.4453858267716536 + 30 +0.0 + 10 +3.161330708661418 + 20 +-0.4726102362204724 + 30 +0.0 + 10 +3.17644094488189 + 20 +-0.4999448818897638 + 30 +0.0 + 10 +3.186220472440945 + 20 +-0.5273897637795275 + 30 +0.0 + 10 +3.186220472440945 + 20 +-0.5273897637795275 + 30 +0.0 + 10 +3.194555118110236 + 20 +-0.5510551181102362 + 30 +0.0 + 10 +3.198720472440945 + 20 +-0.5757755905511811 + 30 +0.0 + 10 +3.198720472440945 + 20 +-0.6016102362204725 + 30 +0.0 + 10 +3.198720472440945 + 20 +-0.6016102362204725 + 30 +0.0 + 10 +3.198720472440945 + 20 +-0.6309448818897638 + 30 +0.0 + 10 +3.193110236220472 + 20 +-0.6592204724409448 + 30 +0.0 + 10 +3.181885826771654 + 20 +-0.6866102362204725 + 30 +0.0 + 10 +3.181885826771654 + 20 +-0.6866102362204725 + 30 +0.0 + 10 +3.170665354330709 + 20 +-0.7139448818897638 + 30 +0.0 + 10 +3.157 + 20 +-0.7378346456692914 + 30 +0.0 + 10 +3.14094094488189 + 20 +-0.7582204724409449 + 30 +0.0 + 0 +ELLIPSE + 5 +235 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +10.8153031496063 + 20 +2.244531496062992 + 30 +0.0 + 11 +0.0 + 21 +0.4035551181102362 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +236 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +9.245866141732284 + 20 +2.252413385826772 + 30 +0.0 + 11 +0.0 + 21 +0.1929173228346457 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +237 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +7.686645669291338 + 20 +2.632637795275591 + 30 +0.0 + 11 +0.0 + 21 +0.453003937007874 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +238 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +10.3083937007874 + 20 +1.847877952755905 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +239 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +9.248295275590552 + 20 +1.847877952755905 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +SPLINE + 5 +23A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.523334645669292 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.438074803149607 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.438074803149607 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.438074803149607 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.438074803149607 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.397744094488189 + 20 +-4.600232283464567 + 30 +0.0 + 10 +7.397744094488189 + 20 +-4.600232283464567 + 30 +0.0 + 10 +7.397744094488189 + 20 +-4.600232283464567 + 30 +0.0 + 10 +7.397744094488189 + 20 +-4.600232283464567 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.599692913385827 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.599692913385827 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.599692913385827 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.599692913385827 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.868858267716536 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.868858267716536 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.868858267716536 + 30 +0.0 + 10 +7.352814960629921 + 20 +-4.868858267716536 + 30 +0.0 + 10 +7.399161417322834 + 20 +-4.868992125984252 + 30 +0.0 + 10 +7.399161417322834 + 20 +-4.868992125984252 + 30 +0.0 + 10 +7.399161417322834 + 20 +-4.868992125984252 + 30 +0.0 + 10 +7.399161417322834 + 20 +-4.868992125984252 + 30 +0.0 + 10 +7.435818897637795 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.435818897637795 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.435818897637795 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.435818897637795 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.88840157480315 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.735555118110236 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.735555118110236 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.735555118110236 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.735555118110236 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.582708661417323 + 30 +0.0 + 10 +7.523334645669292 + 20 +-4.582708661417323 + 30 +0.0 + 0 +SPLINE + 5 +23B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.517393700787402 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.517393700787402 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.517393700787402 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.517393700787402 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.517393700787402 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.517393700787402 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.517393700787402 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.517393700787402 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.407157480314961 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.407157480314961 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.407157480314961 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.407157480314961 + 20 +-5.910688976377953 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 10 +7.407157480314961 + 20 +-6.108515748031496 + 30 +0.0 + 0 +SPLINE + 5 +23C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.487830708661417 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.487830708661417 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.48784251968504 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.48784251968504 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.48784251968504 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.497464566929134 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.486161417322835 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.476535433070866 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.476535433070866 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.476535433070866 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.062866141732283 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.062866141732283 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.062866141732283 + 30 +0.0 + 10 +7.505338582677165 + 20 +-2.053240157480315 + 30 +0.0 + 10 +7.497464566929134 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.48784251968504 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.48784251968504 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.48784251968504 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.487830708661417 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.487830708661417 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.487830708661417 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.478208661417323 + 20 +-2.045370078740158 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.053240157480315 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.062866141732283 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.062866141732283 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.062866141732283 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.476535433070866 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.476535433070866 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.476535433070866 + 30 +0.0 + 10 +7.470338582677165 + 20 +-2.486161417322835 + 30 +0.0 + 10 +7.478208661417323 + 20 +-2.494031496062992 + 30 +0.0 + 10 +7.487830708661417 + 20 +-2.494031496062992 + 30 +0.0 + 0 +SPLINE + 5 +23D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.405637795275591 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.405637795275591 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.405649606299213 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.405649606299213 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.405649606299213 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.415271653543307 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.43703937007874 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.423145669291339 + 20 +-2.102362204724409 + 30 +0.0 + 10 +7.415271653543307 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.405649606299213 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.405649606299213 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.405649606299213 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.405637795275591 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.405637795275591 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.405637795275591 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.396015748031496 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.102362204724409 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.388145669291339 + 20 +-2.43703937007874 + 30 +0.0 + 10 +7.396015748031496 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.405637795275591 + 20 +-2.444909448818898 + 30 +0.0 + 0 +SPLINE + 5 +23E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.574944881889763 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.574944881889763 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.574956692913386 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.574956692913386 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.574956692913386 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.584578740157481 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.43703937007874 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.592452755905512 + 20 +-2.102362204724409 + 30 +0.0 + 10 +7.584578740157481 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.574956692913386 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.574956692913386 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.574956692913386 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.574944881889763 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.574944881889763 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.574944881889763 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.565322834645669 + 20 +-2.094488188976378 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.102362204724409 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.111988188976378 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.427413385826771 + 30 +0.0 + 10 +7.557452755905512 + 20 +-2.43703937007874 + 30 +0.0 + 10 +7.565322834645669 + 20 +-2.444909448818898 + 30 +0.0 + 10 +7.574944881889763 + 20 +-2.444909448818898 + 30 +0.0 + 0 +SPLINE + 5 +23F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.653964566929134 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.653964566929134 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.653976377952756 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.653976377952756 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.653976377952756 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.663598425196851 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.369523622047244 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.671472440944882 + 20 +-2.169877952755905 + 30 +0.0 + 10 +7.663598425196851 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.653976377952756 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.653976377952756 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.653976377952756 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.653964566929134 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.653964566929134 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.653964566929134 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.644342519685039 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.169877952755905 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.636472440944882 + 20 +-2.369523622047244 + 30 +0.0 + 10 +7.644342519685039 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.653964566929134 + 20 +-2.377393700787402 + 30 +0.0 + 0 +SPLINE + 5 +240 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.322295275590551 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.322295275590551 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.322307086614173 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.322307086614173 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.322307086614173 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.331929133858267 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.369523622047244 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.3398031496063 + 20 +-2.169877952755905 + 30 +0.0 + 10 +7.331929133858267 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.322307086614173 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.322307086614173 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.322307086614173 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.322295275590551 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.322295275590551 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.322295275590551 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.312673228346457 + 20 +-2.162007874015748 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.169877952755905 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.179503937007874 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.359897637795275 + 30 +0.0 + 10 +7.3048031496063 + 20 +-2.369523622047244 + 30 +0.0 + 10 +7.312673228346457 + 20 +-2.377393700787402 + 30 +0.0 + 10 +7.322295275590551 + 20 +-2.377393700787402 + 30 +0.0 + 0 +SPLINE + 5 +241 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.363897637795276 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.363897637795276 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.363897637795276 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.363897637795276 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.363897637795276 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.363897637795276 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.363897637795276 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.363897637795276 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.321826771653543 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.321826771653543 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.321826771653543 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.321826771653543 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 10 +8.321826771653543 + 20 +-1.029425196850394 + 30 +0.0 + 0 +SPLINE + 5 +242 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.04494094488189 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.04494094488189 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.04494094488189 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.04494094488189 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.04494094488189 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.04494094488189 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.04494094488189 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.04494094488189 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.002870078740157 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.002870078740157 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.002870078740157 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.002870078740157 + 20 +-0.9856456692913386 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 10 +7.002870078740157 + 20 +-1.029425196850394 + 30 +0.0 + 0 +ELLIPSE + 5 +243 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +7.513346456692913 + 20 +-5.412956692913386 + 30 +0.0 + 11 +0.0 + 21 +0.075 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +ELLIPSE + 5 +244 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +7.686657480314961 + 20 +1.847877952755905 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +SPLINE + 5 +245 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.606700787401575 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.606700787401575 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.606700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.606700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.606700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.606700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.150996062992126 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.767700787401575 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.122830708661417 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.04894094488189 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.75025590551181 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.638311023622046 + 20 +4.020775590551181 + 30 +0.0 + 10 +8.638311023622046 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.638311023622046 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.638311023622046 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.638311023622046 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.606700787401575 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.606700787401575 + 20 +3.912385826771653 + 30 +0.0 + 0 +SPLINE + 5 +246 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.917755905511811 + 20 +3.933720472440945 + 30 +0.0 + 10 +8.906866141732284 + 20 +3.924496062992126 + 30 +0.0 + 10 +8.89642125984252 + 20 +3.917996062992126 + 30 +0.0 + 10 +8.88642125984252 + 20 +3.914165354330708 + 30 +0.0 + 10 +8.88642125984252 + 20 +3.914165354330708 + 30 +0.0 + 10 +8.876366141732284 + 20 +3.910385826771654 + 30 +0.0 + 10 +8.865586614173228 + 20 +3.908496062992126 + 30 +0.0 + 10 +8.854086614173228 + 20 +3.908496062992126 + 30 +0.0 + 10 +8.854086614173228 + 20 +3.908496062992126 + 30 +0.0 + 10 +8.835086614173228 + 20 +3.908496062992126 + 30 +0.0 + 10 +8.820531496062992 + 20 +3.913106299212598 + 30 +0.0 + 10 +8.810311023622047 + 20 +3.922385826771654 + 30 +0.0 + 10 +8.810311023622047 + 20 +3.922385826771654 + 30 +0.0 + 10 +8.800141732283464 + 20 +3.931665354330709 + 30 +0.0 + 10 +8.795031496062991 + 20 +3.943551181102362 + 30 +0.0 + 10 +8.795031496062991 + 20 +3.95794094488189 + 30 +0.0 + 10 +8.795031496062991 + 20 +3.95794094488189 + 30 +0.0 + 10 +8.795031496062991 + 20 +3.96644094488189 + 30 +0.0 + 10 +8.79692125984252 + 20 +3.974165354330708 + 30 +0.0 + 10 +8.800811023622048 + 20 +3.981165354330709 + 30 +0.0 + 10 +8.800811023622048 + 20 +3.981165354330709 + 30 +0.0 + 10 +8.804641732283464 + 20 +3.988165354330709 + 30 +0.0 + 10 +8.809696850393701 + 20 +3.993775590551181 + 30 +0.0 + 10 +8.81592125984252 + 20 +3.997996062992126 + 30 +0.0 + 10 +8.81592125984252 + 20 +3.997996062992126 + 30 +0.0 + 10 +8.8221968503937 + 20 +4.002220472440944 + 30 +0.0 + 10 +8.8291968503937 + 20 +4.00544094488189 + 30 +0.0 + 10 +8.837031496062993 + 20 +4.007610236220472 + 30 +0.0 + 10 +8.837031496062993 + 20 +4.007610236220472 + 30 +0.0 + 10 +8.842755905511812 + 20 +4.009110236220472 + 30 +0.0 + 10 +8.85142125984252 + 20 +4.010610236220472 + 30 +0.0 + 10 +8.863031496062993 + 20 +4.011996062992126 + 30 +0.0 + 10 +8.863031496062993 + 20 +4.011996062992126 + 30 +0.0 + 10 +8.886700787401574 + 20 +4.014830708661417 + 30 +0.0 + 10 +8.904141732283465 + 20 +4.018165354330709 + 30 +0.0 + 10 +8.915311023622047 + 20 +4.022110236220472 + 30 +0.0 + 10 +8.915311023622047 + 20 +4.022110236220472 + 30 +0.0 + 10 +8.91542125984252 + 20 +4.026110236220473 + 30 +0.0 + 10 +8.915476377952755 + 20 +4.028665354330709 + 30 +0.0 + 10 +8.915476377952755 + 20 +4.029720472440945 + 30 +0.0 + 10 +8.915476377952755 + 20 +4.029720472440945 + 30 +0.0 + 10 +8.915476377952755 + 20 +4.041665354330709 + 30 +0.0 + 10 +8.912700787401574 + 20 +4.050110236220473 + 30 +0.0 + 10 +8.907141732283465 + 20 +4.054940944881889 + 30 +0.0 + 10 +8.907141732283465 + 20 +4.054940944881889 + 30 +0.0 + 10 +8.899700787401574 + 20 +4.061610236220472 + 30 +0.0 + 10 +8.888531496062992 + 20 +4.064885826771653 + 30 +0.0 + 10 +8.873811023622046 + 20 +4.064885826771653 + 30 +0.0 + 10 +8.873811023622046 + 20 +4.064885826771653 + 30 +0.0 + 10 +8.860031496062993 + 20 +4.064885826771653 + 30 +0.0 + 10 +8.849866141732283 + 20 +4.062496062992126 + 30 +0.0 + 10 +8.84325590551181 + 20 +4.057665354330709 + 30 +0.0 + 10 +8.84325590551181 + 20 +4.057665354330709 + 30 +0.0 + 10 +8.8366968503937 + 20 +4.052830708661418 + 30 +0.0 + 10 +8.831866141732284 + 20 +4.044275590551181 + 30 +0.0 + 10 +8.828696850393701 + 20 +4.031996062992126 + 30 +0.0 + 10 +8.828696850393701 + 20 +4.031996062992126 + 30 +0.0 + 10 +8.828696850393701 + 20 +4.031996062992126 + 30 +0.0 + 10 +8.800086614173228 + 20 +4.03594094488189 + 30 +0.0 + 10 +8.800086614173228 + 20 +4.03594094488189 + 30 +0.0 + 10 +8.800086614173228 + 20 +4.03594094488189 + 30 +0.0 + 10 +8.802696850393701 + 20 +4.048165354330709 + 30 +0.0 + 10 +8.806976377952756 + 20 +4.058110236220473 + 30 +0.0 + 10 +8.81292125984252 + 20 +4.065610236220472 + 30 +0.0 + 10 +8.81292125984252 + 20 +4.065610236220472 + 30 +0.0 + 10 +8.818866141732283 + 20 +4.073165354330708 + 30 +0.0 + 10 +8.827531496062992 + 20 +4.078996062992126 + 30 +0.0 + 10 +8.838811023622048 + 20 +4.083055118110236 + 30 +0.0 + 10 +8.838811023622048 + 20 +4.083055118110236 + 30 +0.0 + 10 +8.850086614173229 + 20 +4.087110236220473 + 30 +0.0 + 10 +8.863141732283465 + 20 +4.089165354330708 + 30 +0.0 + 10 +8.878031496062992 + 20 +4.089165354330708 + 30 +0.0 + 10 +8.878031496062992 + 20 +4.089165354330708 + 30 +0.0 + 10 +8.892811023622047 + 20 +4.089165354330708 + 30 +0.0 + 10 +8.904755905511811 + 20 +4.087385826771653 + 30 +0.0 + 10 +8.913976377952755 + 20 +4.08394094488189 + 30 +0.0 + 10 +8.913976377952755 + 20 +4.08394094488189 + 30 +0.0 + 10 +8.923200787401575 + 20 +4.080440944881889 + 30 +0.0 + 10 +8.929976377952755 + 20 +4.076110236220472 + 30 +0.0 + 10 +8.934366141732283 + 20 +4.070830708661417 + 30 +0.0 + 10 +8.934366141732283 + 20 +4.070830708661417 + 30 +0.0 + 10 +8.938700787401574 + 20 +4.065551181102363 + 30 +0.0 + 10 +8.941700787401574 + 20 +4.05894094488189 + 30 +0.0 + 10 +8.943476377952756 + 20 +4.050885826771654 + 30 +0.0 + 10 +8.943476377952756 + 20 +4.050885826771654 + 30 +0.0 + 10 +8.94442125984252 + 20 +4.045885826771654 + 30 +0.0 + 10 +8.94492125984252 + 20 +4.036885826771654 + 30 +0.0 + 10 +8.94492125984252 + 20 +4.023885826771654 + 30 +0.0 + 10 +8.94492125984252 + 20 +4.023885826771654 + 30 +0.0 + 10 +8.94492125984252 + 20 +4.023885826771654 + 30 +0.0 + 10 +8.94492125984252 + 20 +3.984830708661417 + 30 +0.0 + 10 +8.94492125984252 + 20 +3.984830708661417 + 30 +0.0 + 10 +8.94492125984252 + 20 +3.984830708661417 + 30 +0.0 + 10 +8.94492125984252 + 20 +3.957551181102362 + 30 +0.0 + 10 +8.945531496062992 + 20 +3.940330708661417 + 30 +0.0 + 10 +8.946811023622047 + 20 +3.933165354330709 + 30 +0.0 + 10 +8.946811023622047 + 20 +3.933165354330709 + 30 +0.0 + 10 +8.948031496062992 + 20 +3.92594094488189 + 30 +0.0 + 10 +8.950531496062991 + 20 +3.918996062992126 + 30 +0.0 + 10 +8.954200787401575 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.954200787401575 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.954200787401575 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.923586614173228 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.923586614173228 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.923586614173228 + 20 +3.912385826771653 + 30 +0.0 + 10 +8.920586614173228 + 20 +3.91844094488189 + 30 +0.0 + 10 +8.918586614173229 + 20 +3.925551181102362 + 30 +0.0 + 10 +8.917755905511811 + 20 +3.933720472440945 + 30 +0.0 + 0 +SPLINE + 5 +247 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.915311023622047 + 20 +3.999165354330709 + 30 +0.0 + 10 +8.904641732283464 + 20 +3.994775590551181 + 30 +0.0 + 10 +8.888700787401575 + 20 +3.991110236220472 + 30 +0.0 + 10 +8.867476377952755 + 20 +3.988051181102362 + 30 +0.0 + 10 +8.867476377952755 + 20 +3.988051181102362 + 30 +0.0 + 10 +8.855421259842519 + 20 +3.986330708661417 + 30 +0.0 + 10 +8.846866141732283 + 20 +3.984385826771653 + 30 +0.0 + 10 +8.84192125984252 + 20 +3.982220472440945 + 30 +0.0 + 10 +8.84192125984252 + 20 +3.982220472440945 + 30 +0.0 + 10 +8.83692125984252 + 20 +3.980051181102362 + 30 +0.0 + 10 +8.833031496062992 + 20 +3.976885826771654 + 30 +0.0 + 10 +8.830366141732284 + 20 +3.972665354330708 + 30 +0.0 + 10 +8.830366141732284 + 20 +3.972665354330708 + 30 +0.0 + 10 +8.827641732283464 + 20 +3.968496062992126 + 30 +0.0 + 10 +8.826255905511811 + 20 +3.963885826771654 + 30 +0.0 + 10 +8.826255905511811 + 20 +3.958775590551181 + 30 +0.0 + 10 +8.826255905511811 + 20 +3.958775590551181 + 30 +0.0 + 10 +8.826255905511811 + 20 +3.95094094488189 + 30 +0.0 + 10 +8.829255905511811 + 20 +3.94444094488189 + 30 +0.0 + 10 +8.835141732283464 + 20 +3.939220472440945 + 30 +0.0 + 10 +8.835141732283464 + 20 +3.939220472440945 + 30 +0.0 + 10 +8.841031496062993 + 20 +3.934051181102362 + 30 +0.0 + 10 +8.849700787401575 + 20 +3.93144094488189 + 30 +0.0 + 10 +8.861086614173228 + 20 +3.93144094488189 + 30 +0.0 + 10 +8.861086614173228 + 20 +3.93144094488189 + 30 +0.0 + 10 +8.872366141732284 + 20 +3.93144094488189 + 30 +0.0 + 10 +8.88242125984252 + 20 +3.933885826771653 + 30 +0.0 + 10 +8.891200787401575 + 20 +3.938830708661417 + 30 +0.0 + 10 +8.891200787401575 + 20 +3.938830708661417 + 30 +0.0 + 10 +8.899976377952756 + 20 +3.943775590551181 + 30 +0.0 + 10 +8.906476377952757 + 20 +3.950551181102362 + 30 +0.0 + 10 +8.910586614173228 + 20 +3.959106299212598 + 30 +0.0 + 10 +8.910586614173228 + 20 +3.959106299212598 + 30 +0.0 + 10 +8.913755905511811 + 20 +3.965720472440945 + 30 +0.0 + 10 +8.915311023622047 + 20 +3.975496062992126 + 30 +0.0 + 10 +8.915311023622047 + 20 +3.988385826771653 + 30 +0.0 + 10 +8.915311023622047 + 20 +3.988385826771653 + 30 +0.0 + 10 +8.915311023622047 + 20 +3.988385826771653 + 30 +0.0 + 10 +8.915311023622047 + 20 +3.999165354330709 + 30 +0.0 + 10 +8.915311023622047 + 20 +3.999165354330709 + 30 +0.0 + 0 +SPLINE + 5 +248 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.103145669291338 + 20 +3.975720472440945 + 30 +0.0 + 10 +9.103145669291338 + 20 +3.975720472440945 + 30 +0.0 + 10 +9.13192125984252 + 20 +3.97194094488189 + 30 +0.0 + 10 +9.13192125984252 + 20 +3.97194094488189 + 30 +0.0 + 10 +9.13192125984252 + 20 +3.97194094488189 + 30 +0.0 + 10 +9.128811023622047 + 20 +3.952106299212598 + 30 +0.0 + 10 +9.12075590551181 + 20 +3.936551181102362 + 30 +0.0 + 10 +9.10775590551181 + 20 +3.925330708661417 + 30 +0.0 + 10 +9.10775590551181 + 20 +3.925330708661417 + 30 +0.0 + 10 +9.094811023622047 + 20 +3.914106299212599 + 30 +0.0 + 10 +9.078866141732284 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.059976377952756 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.059976377952756 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.036366141732284 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.017311023622048 + 20 +3.916220472440945 + 30 +0.0 + 10 +9.002976377952756 + 20 +3.931665354330709 + 30 +0.0 + 10 +9.002976377952756 + 20 +3.931665354330709 + 30 +0.0 + 10 +8.988586614173228 + 20 +3.947106299212598 + 30 +0.0 + 10 +8.981366141732284 + 20 +3.969275590551181 + 30 +0.0 + 10 +8.981366141732284 + 20 +3.998165354330709 + 30 +0.0 + 10 +8.981366141732284 + 20 +3.998165354330709 + 30 +0.0 + 10 +8.981366141732284 + 20 +4.016830708661417 + 30 +0.0 + 10 +8.984476377952756 + 20 +4.033165354330708 + 30 +0.0 + 10 +8.99064566929134 + 20 +4.047165354330708 + 30 +0.0 + 10 +8.99064566929134 + 20 +4.047165354330708 + 30 +0.0 + 10 +8.996866141732283 + 20 +4.061165354330709 + 30 +0.0 + 10 +9.00625590551181 + 20 +4.071665354330709 + 30 +0.0 + 10 +9.01892125984252 + 20 +4.078665354330709 + 30 +0.0 + 10 +9.01892125984252 + 20 +4.078665354330709 + 30 +0.0 + 10 +9.031531496062993 + 20 +4.085665354330708 + 30 +0.0 + 10 +9.045311023622046 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.06014566929134 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.06014566929134 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.07892125984252 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.094311023622048 + 20 +4.084385826771654 + 30 +0.0 + 10 +9.106200787401574 + 20 +4.074885826771654 + 30 +0.0 + 10 +9.106200787401574 + 20 +4.074885826771654 + 30 +0.0 + 10 +9.118145669291339 + 20 +4.065385826771654 + 30 +0.0 + 10 +9.125811023622047 + 20 +4.05194094488189 + 30 +0.0 + 10 +9.129200787401574 + 20 +4.03444094488189 + 30 +0.0 + 10 +9.129200787401574 + 20 +4.03444094488189 + 30 +0.0 + 10 +9.129200787401574 + 20 +4.03444094488189 + 30 +0.0 + 10 +9.100700787401575 + 20 +4.030051181102362 + 30 +0.0 + 10 +9.100700787401575 + 20 +4.030051181102362 + 30 +0.0 + 10 +9.100700787401575 + 20 +4.030051181102362 + 30 +0.0 + 10 +9.097976377952756 + 20 +4.041665354330709 + 30 +0.0 + 10 +9.093200787401575 + 20 +4.050385826771653 + 30 +0.0 + 10 +9.086311023622047 + 20 +4.056275590551181 + 30 +0.0 + 10 +9.086311023622047 + 20 +4.056275590551181 + 30 +0.0 + 10 +9.079421259842519 + 20 +4.062110236220472 + 30 +0.0 + 10 +9.071090551181102 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.061311023622046 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.061311023622046 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.046531496062991 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.034531496062993 + 20 +4.059775590551181 + 30 +0.0 + 10 +9.025311023622047 + 20 +4.049165354330708 + 30 +0.0 + 10 +9.025311023622047 + 20 +4.049165354330708 + 30 +0.0 + 10 +9.01608661417323 + 20 +4.038610236220473 + 30 +0.0 + 10 +9.011476377952755 + 20 +4.021885826771654 + 30 +0.0 + 10 +9.011476377952755 + 20 +3.998996062992126 + 30 +0.0 + 10 +9.011476377952755 + 20 +3.998996062992126 + 30 +0.0 + 10 +9.011476377952755 + 20 +3.975775590551181 + 30 +0.0 + 10 +9.01592125984252 + 20 +3.958885826771653 + 30 +0.0 + 10 +9.024866141732284 + 20 +3.948330708661417 + 30 +0.0 + 10 +9.024866141732284 + 20 +3.948330708661417 + 30 +0.0 + 10 +9.03375590551181 + 20 +3.937830708661417 + 30 +0.0 + 10 +9.045366141732284 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.059700787401574 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.059700787401574 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.071200787401574 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.080755905511811 + 20 +3.936106299212598 + 30 +0.0 + 10 +9.088476377952755 + 20 +3.943165354330709 + 30 +0.0 + 10 +9.088476377952755 + 20 +3.943165354330709 + 30 +0.0 + 10 +9.096200787401575 + 20 +3.950220472440945 + 30 +0.0 + 10 +9.101090551181102 + 20 +3.961051181102362 + 30 +0.0 + 10 +9.103145669291338 + 20 +3.975720472440945 + 30 +0.0 + 0 +SPLINE + 5 +249 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.275314960629922 + 20 +3.968051181102362 + 30 +0.0 + 10 +9.275314960629922 + 20 +3.968051181102362 + 30 +0.0 + 10 +9.305590551181103 + 20 +3.964330708661417 + 30 +0.0 + 10 +9.305590551181103 + 20 +3.964330708661417 + 30 +0.0 + 10 +9.305590551181103 + 20 +3.964330708661417 + 30 +0.0 + 10 +9.300814960629921 + 20 +3.946606299212598 + 30 +0.0 + 10 +9.29198031496063 + 20 +3.932885826771654 + 30 +0.0 + 10 +9.279090551181103 + 20 +3.923106299212598 + 30 +0.0 + 10 +9.279090551181103 + 20 +3.923106299212598 + 30 +0.0 + 10 +9.266145669291339 + 20 +3.913385826771654 + 30 +0.0 + 10 +9.249645669291338 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.229590551181102 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.229590551181102 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.20431496062992 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.184255905511812 + 20 +3.916275590551181 + 30 +0.0 + 10 +9.16948031496063 + 20 +3.931830708661417 + 30 +0.0 + 10 +9.16948031496063 + 20 +3.931830708661417 + 30 +0.0 + 10 +9.15464566929134 + 20 +3.947385826771654 + 30 +0.0 + 10 +9.14725590551181 + 20 +3.969220472440945 + 30 +0.0 + 10 +9.14725590551181 + 20 +3.997330708661417 + 30 +0.0 + 10 +9.14725590551181 + 20 +3.997330708661417 + 30 +0.0 + 10 +9.14725590551181 + 20 +4.02644094488189 + 30 +0.0 + 10 +9.154755905511811 + 20 +4.048996062992126 + 30 +0.0 + 10 +9.169700787401576 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.169700787401576 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.184700787401574 + 20 +4.081110236220472 + 30 +0.0 + 10 +9.204090551181102 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.22798031496063 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.22798031496063 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.251090551181102 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.26998031496063 + 20 +4.081275590551181 + 30 +0.0 + 10 +9.284590551181102 + 20 +4.065551181102363 + 30 +0.0 + 10 +9.284590551181102 + 20 +4.065551181102363 + 30 +0.0 + 10 +9.299259842519685 + 20 +4.049830708661418 + 30 +0.0 + 10 +9.306590551181102 + 20 +4.027665354330709 + 30 +0.0 + 10 +9.306590551181102 + 20 +3.999165354330709 + 30 +0.0 + 10 +9.306590551181102 + 20 +3.999165354330709 + 30 +0.0 + 10 +9.306590551181102 + 20 +3.997385826771653 + 30 +0.0 + 10 +9.306535433070867 + 20 +3.994775590551181 + 30 +0.0 + 10 +9.306425196850393 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.306425196850393 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.306425196850393 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.177535433070867 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.177535433070867 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.177535433070867 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.178590551181102 + 20 +3.972330708661417 + 30 +0.0 + 10 +9.18398031496063 + 20 +3.957775590551181 + 30 +0.0 + 10 +9.193645669291339 + 20 +3.947720472440945 + 30 +0.0 + 10 +9.193645669291339 + 20 +3.947720472440945 + 30 +0.0 + 10 +9.203314960629921 + 20 +3.937606299212598 + 30 +0.0 + 10 +9.215314960629922 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.229759842519686 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.229759842519686 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.24048031496063 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.249645669291338 + 20 +3.935385826771653 + 30 +0.0 + 10 +9.257259842519685 + 20 +3.941051181102362 + 30 +0.0 + 10 +9.257259842519685 + 20 +3.941051181102362 + 30 +0.0 + 10 +9.264870078740158 + 20 +3.946665354330709 + 30 +0.0 + 10 +9.270870078740158 + 20 +3.955665354330709 + 30 +0.0 + 10 +9.275314960629922 + 20 +3.968051181102362 + 30 +0.0 + 0 +SPLINE + 5 +24A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.179145669291339 + 20 +4.01544094488189 + 30 +0.0 + 10 +9.179145669291339 + 20 +4.01544094488189 + 30 +0.0 + 10 +9.275645669291338 + 20 +4.01544094488189 + 30 +0.0 + 10 +9.275645669291338 + 20 +4.01544094488189 + 30 +0.0 + 10 +9.275645669291338 + 20 +4.01544094488189 + 30 +0.0 + 10 +9.274370078740157 + 20 +4.02994094488189 + 30 +0.0 + 10 +9.270645669291339 + 20 +4.040885826771653 + 30 +0.0 + 10 +9.264590551181103 + 20 +4.048110236220473 + 30 +0.0 + 10 +9.264590551181103 + 20 +4.048110236220473 + 30 +0.0 + 10 +9.255259842519685 + 20 +4.059385826771654 + 30 +0.0 + 10 +9.243145669291339 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.228314960629922 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.228314960629922 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.214870078740157 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.203535433070867 + 20 +4.060551181102362 + 30 +0.0 + 10 +9.194370078740157 + 20 +4.051551181102362 + 30 +0.0 + 10 +9.194370078740157 + 20 +4.051551181102362 + 30 +0.0 + 10 +9.185200787401575 + 20 +4.042551181102362 + 30 +0.0 + 10 +9.180145669291338 + 20 +4.030496062992126 + 30 +0.0 + 10 +9.179145669291339 + 20 +4.01544094488189 + 30 +0.0 + 0 +SPLINE + 5 +24B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.435035433070865 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.435035433070865 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.435035433070865 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.435035433070865 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.435035433070865 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.435035433070865 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.062775590551182 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.062775590551182 + 30 +0.0 + 10 +9.461700787401575 + 20 +4.062775590551182 + 30 +0.0 + 10 +9.46798031496063 + 20 +4.071551181102362 + 30 +0.0 + 10 +9.475090551181102 + 20 +4.078165354330709 + 30 +0.0 + 10 +9.483035433070865 + 20 +4.082555118110236 + 30 +0.0 + 10 +9.483035433070865 + 20 +4.082555118110236 + 30 +0.0 + 10 +9.490925196850394 + 20 +4.086940944881889 + 30 +0.0 + 10 +9.500535433070866 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.511814960629922 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.511814960629922 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.526590551181103 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.539590551181103 + 20 +4.085330708661417 + 30 +0.0 + 10 +9.550870078740157 + 20 +4.077775590551181 + 30 +0.0 + 10 +9.550870078740157 + 20 +4.077775590551181 + 30 +0.0 + 10 +9.562200787401574 + 20 +4.070165354330709 + 30 +0.0 + 10 +9.570700787401575 + 20 +4.05944094488189 + 30 +0.0 + 10 +9.576425196850394 + 20 +4.045610236220472 + 30 +0.0 + 10 +9.576425196850394 + 20 +4.045610236220472 + 30 +0.0 + 10 +9.582204724409449 + 20 +4.031775590551181 + 30 +0.0 + 10 +9.585090551181102 + 20 +4.016610236220473 + 30 +0.0 + 10 +9.585090551181102 + 20 +4.000110236220473 + 30 +0.0 + 10 +9.585090551181102 + 20 +4.000110236220473 + 30 +0.0 + 10 +9.585090551181102 + 20 +3.98244094488189 + 30 +0.0 + 10 +9.581925196850394 + 20 +3.966496062992126 + 30 +0.0 + 10 +9.575535433070867 + 20 +3.952330708661417 + 30 +0.0 + 10 +9.575535433070867 + 20 +3.952330708661417 + 30 +0.0 + 10 +9.569200787401575 + 20 +3.938165354330708 + 30 +0.0 + 10 +9.55998031496063 + 20 +3.927330708661418 + 30 +0.0 + 10 +9.547870078740157 + 20 +3.919775590551181 + 30 +0.0 + 10 +9.547870078740157 + 20 +3.919775590551181 + 30 +0.0 + 10 +9.535759842519685 + 20 +3.912275590551181 + 30 +0.0 + 10 +9.523035433070866 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.509700787401576 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.509700787401576 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.499925196850393 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.491200787401574 + 20 +3.910551181102362 + 30 +0.0 + 10 +9.483425196850394 + 20 +3.914665354330709 + 30 +0.0 + 10 +9.483425196850394 + 20 +3.914665354330709 + 30 +0.0 + 10 +9.475645669291339 + 20 +3.918775590551181 + 30 +0.0 + 10 +9.469314960629921 + 20 +3.923996062992126 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.930275590551181 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.930275590551181 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.930275590551181 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.46431496062992 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.435035433070865 + 20 +3.846161417322834 + 30 +0.0 + 10 +9.435035433070865 + 20 +3.846161417322834 + 30 +0.0 + 0 +SPLINE + 5 +24C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.461535433070866 + 20 +3.997830708661418 + 30 +0.0 + 10 +9.461535433070866 + 20 +3.975610236220473 + 30 +0.0 + 10 +9.466035433070866 + 20 +3.959165354330709 + 30 +0.0 + 10 +9.475035433070866 + 20 +3.948496062992126 + 30 +0.0 + 10 +9.475035433070866 + 20 +3.948496062992126 + 30 +0.0 + 10 +9.484035433070867 + 20 +3.937885826771653 + 30 +0.0 + 10 +9.49498031496063 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.507759842519684 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.507759842519684 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.520759842519684 + 20 +3.932551181102362 + 30 +0.0 + 10 +9.531925196850393 + 20 +3.938051181102362 + 30 +0.0 + 10 +9.541200787401575 + 20 +3.949106299212598 + 30 +0.0 + 10 +9.541200787401575 + 20 +3.949106299212598 + 30 +0.0 + 10 +9.55048031496063 + 20 +3.960106299212598 + 30 +0.0 + 10 +9.555145669291338 + 20 +3.977165354330709 + 30 +0.0 + 10 +9.555145669291338 + 20 +4.000275590551182 + 30 +0.0 + 10 +9.555145669291338 + 20 +4.000275590551182 + 30 +0.0 + 10 +9.555145669291338 + 20 +4.022330708661418 + 30 +0.0 + 10 +9.550590551181102 + 20 +4.038775590551182 + 30 +0.0 + 10 +9.541535433070866 + 20 +4.049775590551181 + 30 +0.0 + 10 +9.541535433070866 + 20 +4.049775590551181 + 30 +0.0 + 10 +9.53248031496063 + 20 +4.060720472440945 + 30 +0.0 + 10 +9.521645669291338 + 20 +4.066220472440945 + 30 +0.0 + 10 +9.509090551181103 + 20 +4.066220472440945 + 30 +0.0 + 10 +9.509090551181103 + 20 +4.066220472440945 + 30 +0.0 + 10 +9.496590551181102 + 20 +4.066220472440945 + 30 +0.0 + 10 +9.485535433070867 + 20 +4.060385826771654 + 30 +0.0 + 10 +9.475925196850394 + 20 +4.048720472440944 + 30 +0.0 + 10 +9.475925196850394 + 20 +4.048720472440944 + 30 +0.0 + 10 +9.466314960629921 + 20 +4.037051181102362 + 30 +0.0 + 10 +9.461535433070866 + 20 +4.020051181102362 + 30 +0.0 + 10 +9.461535433070866 + 20 +3.997830708661418 + 30 +0.0 + 0 +SPLINE + 5 +24D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.619759842519684 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.619759842519684 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.619759842519684 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.619759842519684 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.619759842519684 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.619759842519684 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.649035433070866 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.649035433070866 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.649035433070866 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.649035433070866 + 20 +4.150996062992126 + 30 +0.0 + 10 +9.649035433070866 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.649035433070866 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.649035433070866 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.649035433070866 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.619759842519684 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.619759842519684 + 20 +3.912385826771653 + 30 +0.0 + 0 +SPLINE + 5 +24E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.807259842519684 + 20 +3.933720472440945 + 30 +0.0 + 10 +9.796370078740157 + 20 +3.924496062992126 + 30 +0.0 + 10 +9.785925196850394 + 20 +3.917996062992126 + 30 +0.0 + 10 +9.775925196850393 + 20 +3.914165354330708 + 30 +0.0 + 10 +9.775925196850393 + 20 +3.914165354330708 + 30 +0.0 + 10 +9.765870078740157 + 20 +3.910385826771654 + 30 +0.0 + 10 +9.755090551181102 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.743590551181102 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.743590551181102 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.724590551181102 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.710035433070866 + 20 +3.913106299212598 + 30 +0.0 + 10 +9.69981496062992 + 20 +3.922385826771654 + 30 +0.0 + 10 +9.69981496062992 + 20 +3.922385826771654 + 30 +0.0 + 10 +9.68964566929134 + 20 +3.931665354330709 + 30 +0.0 + 10 +9.684535433070867 + 20 +3.943551181102362 + 30 +0.0 + 10 +9.684535433070867 + 20 +3.95794094488189 + 30 +0.0 + 10 +9.684535433070867 + 20 +3.95794094488189 + 30 +0.0 + 10 +9.684535433070867 + 20 +3.96644094488189 + 30 +0.0 + 10 +9.686425196850394 + 20 +3.974165354330708 + 30 +0.0 + 10 +9.690314960629921 + 20 +3.981165354330709 + 30 +0.0 + 10 +9.690314960629921 + 20 +3.981165354330709 + 30 +0.0 + 10 +9.694145669291338 + 20 +3.988165354330709 + 30 +0.0 + 10 +9.699200787401574 + 20 +3.993775590551181 + 30 +0.0 + 10 +9.705425196850394 + 20 +3.997996062992126 + 30 +0.0 + 10 +9.705425196850394 + 20 +3.997996062992126 + 30 +0.0 + 10 +9.711700787401575 + 20 +4.002220472440944 + 30 +0.0 + 10 +9.718700787401575 + 20 +4.00544094488189 + 30 +0.0 + 10 +9.726535433070866 + 20 +4.007610236220472 + 30 +0.0 + 10 +9.726535433070866 + 20 +4.007610236220472 + 30 +0.0 + 10 +9.732259842519685 + 20 +4.009110236220472 + 30 +0.0 + 10 +9.740925196850394 + 20 +4.010610236220472 + 30 +0.0 + 10 +9.752535433070866 + 20 +4.011996062992126 + 30 +0.0 + 10 +9.752535433070866 + 20 +4.011996062992126 + 30 +0.0 + 10 +9.77620472440945 + 20 +4.014830708661417 + 30 +0.0 + 10 +9.793645669291339 + 20 +4.018165354330709 + 30 +0.0 + 10 +9.80481496062992 + 20 +4.022110236220472 + 30 +0.0 + 10 +9.80481496062992 + 20 +4.022110236220472 + 30 +0.0 + 10 +9.804925196850395 + 20 +4.026110236220473 + 30 +0.0 + 10 +9.80498031496063 + 20 +4.028665354330709 + 30 +0.0 + 10 +9.80498031496063 + 20 +4.029720472440945 + 30 +0.0 + 10 +9.80498031496063 + 20 +4.029720472440945 + 30 +0.0 + 10 +9.80498031496063 + 20 +4.041665354330709 + 30 +0.0 + 10 +9.80220472440945 + 20 +4.050110236220473 + 30 +0.0 + 10 +9.796645669291339 + 20 +4.054940944881889 + 30 +0.0 + 10 +9.796645669291339 + 20 +4.054940944881889 + 30 +0.0 + 10 +9.78920472440945 + 20 +4.061610236220472 + 30 +0.0 + 10 +9.778035433070865 + 20 +4.064885826771653 + 30 +0.0 + 10 +9.763314960629922 + 20 +4.064885826771653 + 30 +0.0 + 10 +9.763314960629922 + 20 +4.064885826771653 + 30 +0.0 + 10 +9.749535433070866 + 20 +4.064885826771653 + 30 +0.0 + 10 +9.739370078740157 + 20 +4.062496062992126 + 30 +0.0 + 10 +9.732759842519686 + 20 +4.057665354330709 + 30 +0.0 + 10 +9.732759842519686 + 20 +4.057665354330709 + 30 +0.0 + 10 +9.726200787401575 + 20 +4.052830708661418 + 30 +0.0 + 10 +9.721370078740158 + 20 +4.044275590551181 + 30 +0.0 + 10 +9.718200787401575 + 20 +4.031996062992126 + 30 +0.0 + 10 +9.718200787401575 + 20 +4.031996062992126 + 30 +0.0 + 10 +9.718200787401575 + 20 +4.031996062992126 + 30 +0.0 + 10 +9.689590551181102 + 20 +4.03594094488189 + 30 +0.0 + 10 +9.689590551181102 + 20 +4.03594094488189 + 30 +0.0 + 10 +9.689590551181102 + 20 +4.03594094488189 + 30 +0.0 + 10 +9.692200787401575 + 20 +4.048165354330709 + 30 +0.0 + 10 +9.69648031496063 + 20 +4.058110236220473 + 30 +0.0 + 10 +9.702425196850394 + 20 +4.065610236220472 + 30 +0.0 + 10 +9.702425196850394 + 20 +4.065610236220472 + 30 +0.0 + 10 +9.708370078740158 + 20 +4.073165354330708 + 30 +0.0 + 10 +9.717035433070865 + 20 +4.078996062992126 + 30 +0.0 + 10 +9.728314960629922 + 20 +4.083055118110236 + 30 +0.0 + 10 +9.728314960629922 + 20 +4.083055118110236 + 30 +0.0 + 10 +9.739590551181102 + 20 +4.087110236220473 + 30 +0.0 + 10 +9.752645669291338 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.767535433070867 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.767535433070867 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.782314960629922 + 20 +4.089165354330708 + 30 +0.0 + 10 +9.794259842519685 + 20 +4.087385826771653 + 30 +0.0 + 10 +9.80348031496063 + 20 +4.08394094488189 + 30 +0.0 + 10 +9.80348031496063 + 20 +4.08394094488189 + 30 +0.0 + 10 +9.812704724409448 + 20 +4.080440944881889 + 30 +0.0 + 10 +9.81948031496063 + 20 +4.076110236220472 + 30 +0.0 + 10 +9.823870078740157 + 20 +4.070830708661417 + 30 +0.0 + 10 +9.823870078740157 + 20 +4.070830708661417 + 30 +0.0 + 10 +9.82820472440945 + 20 +4.065551181102363 + 30 +0.0 + 10 +9.83120472440945 + 20 +4.05894094488189 + 30 +0.0 + 10 +9.83298031496063 + 20 +4.050885826771654 + 30 +0.0 + 10 +9.83298031496063 + 20 +4.050885826771654 + 30 +0.0 + 10 +9.833925196850394 + 20 +4.045885826771654 + 30 +0.0 + 10 +9.834425196850393 + 20 +4.036885826771654 + 30 +0.0 + 10 +9.834425196850393 + 20 +4.023885826771654 + 30 +0.0 + 10 +9.834425196850393 + 20 +4.023885826771654 + 30 +0.0 + 10 +9.834425196850393 + 20 +4.023885826771654 + 30 +0.0 + 10 +9.834425196850393 + 20 +3.984830708661417 + 30 +0.0 + 10 +9.834425196850393 + 20 +3.984830708661417 + 30 +0.0 + 10 +9.834425196850393 + 20 +3.984830708661417 + 30 +0.0 + 10 +9.834425196850393 + 20 +3.957551181102362 + 30 +0.0 + 10 +9.835035433070866 + 20 +3.940330708661417 + 30 +0.0 + 10 +9.836314960629922 + 20 +3.933165354330709 + 30 +0.0 + 10 +9.836314960629922 + 20 +3.933165354330709 + 30 +0.0 + 10 +9.837535433070865 + 20 +3.92594094488189 + 30 +0.0 + 10 +9.840035433070867 + 20 +3.918996062992126 + 30 +0.0 + 10 +9.843704724409449 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.843704724409449 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.843704724409449 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.813090551181102 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.813090551181102 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.813090551181102 + 20 +3.912385826771653 + 30 +0.0 + 10 +9.810090551181103 + 20 +3.91844094488189 + 30 +0.0 + 10 +9.808090551181103 + 20 +3.925551181102362 + 30 +0.0 + 10 +9.807259842519684 + 20 +3.933720472440945 + 30 +0.0 + 0 +SPLINE + 5 +24F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.80481496062992 + 20 +3.999165354330709 + 30 +0.0 + 10 +9.79414566929134 + 20 +3.994775590551181 + 30 +0.0 + 10 +9.778204724409449 + 20 +3.991110236220472 + 30 +0.0 + 10 +9.75698031496063 + 20 +3.988051181102362 + 30 +0.0 + 10 +9.75698031496063 + 20 +3.988051181102362 + 30 +0.0 + 10 +9.744925196850394 + 20 +3.986330708661417 + 30 +0.0 + 10 +9.736370078740158 + 20 +3.984385826771653 + 30 +0.0 + 10 +9.731425196850394 + 20 +3.982220472440945 + 30 +0.0 + 10 +9.731425196850394 + 20 +3.982220472440945 + 30 +0.0 + 10 +9.726425196850395 + 20 +3.980051181102362 + 30 +0.0 + 10 +9.722535433070867 + 20 +3.976885826771654 + 30 +0.0 + 10 +9.719870078740158 + 20 +3.972665354330708 + 30 +0.0 + 10 +9.719870078740158 + 20 +3.972665354330708 + 30 +0.0 + 10 +9.71714566929134 + 20 +3.968496062992126 + 30 +0.0 + 10 +9.715759842519684 + 20 +3.963885826771654 + 30 +0.0 + 10 +9.715759842519684 + 20 +3.958775590551181 + 30 +0.0 + 10 +9.715759842519684 + 20 +3.958775590551181 + 30 +0.0 + 10 +9.715759842519684 + 20 +3.95094094488189 + 30 +0.0 + 10 +9.718759842519685 + 20 +3.94444094488189 + 30 +0.0 + 10 +9.72464566929134 + 20 +3.939220472440945 + 30 +0.0 + 10 +9.72464566929134 + 20 +3.939220472440945 + 30 +0.0 + 10 +9.730535433070866 + 20 +3.934051181102362 + 30 +0.0 + 10 +9.739204724409449 + 20 +3.93144094488189 + 30 +0.0 + 10 +9.750590551181102 + 20 +3.93144094488189 + 30 +0.0 + 10 +9.750590551181102 + 20 +3.93144094488189 + 30 +0.0 + 10 +9.761870078740158 + 20 +3.93144094488189 + 30 +0.0 + 10 +9.771925196850393 + 20 +3.933885826771653 + 30 +0.0 + 10 +9.780704724409448 + 20 +3.938830708661417 + 30 +0.0 + 10 +9.780704724409448 + 20 +3.938830708661417 + 30 +0.0 + 10 +9.78948031496063 + 20 +3.943775590551181 + 30 +0.0 + 10 +9.79598031496063 + 20 +3.950551181102362 + 30 +0.0 + 10 +9.800090551181102 + 20 +3.959106299212598 + 30 +0.0 + 10 +9.800090551181102 + 20 +3.959106299212598 + 30 +0.0 + 10 +9.803259842519685 + 20 +3.965720472440945 + 30 +0.0 + 10 +9.80481496062992 + 20 +3.975496062992126 + 30 +0.0 + 10 +9.80481496062992 + 20 +3.988385826771653 + 30 +0.0 + 10 +9.80481496062992 + 20 +3.988385826771653 + 30 +0.0 + 10 +9.80481496062992 + 20 +3.988385826771653 + 30 +0.0 + 10 +9.80481496062992 + 20 +3.999165354330709 + 30 +0.0 + 10 +9.80481496062992 + 20 +3.999165354330709 + 30 +0.0 + 0 +SPLINE + 5 +250 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.943814960629922 + 20 +3.938606299212598 + 30 +0.0 + 10 +9.943814960629922 + 20 +3.938606299212598 + 30 +0.0 + 10 +9.948035433070865 + 20 +3.912720472440945 + 30 +0.0 + 10 +9.948035433070865 + 20 +3.912720472440945 + 30 +0.0 + 10 +9.948035433070865 + 20 +3.912720472440945 + 30 +0.0 + 10 +9.93981496062992 + 20 +3.910996062992126 + 30 +0.0 + 10 +9.932425196850394 + 20 +3.910106299212599 + 30 +0.0 + 10 +9.925925196850393 + 20 +3.910106299212599 + 30 +0.0 + 10 +9.925925196850393 + 20 +3.910106299212599 + 30 +0.0 + 10 +9.915259842519685 + 20 +3.910106299212599 + 30 +0.0 + 10 +9.907035433070867 + 20 +3.911775590551181 + 30 +0.0 + 10 +9.901149606299212 + 20 +3.915165354330709 + 30 +0.0 + 10 +9.901149606299212 + 20 +3.915165354330709 + 30 +0.0 + 10 +9.895314960629921 + 20 +3.918496062992126 + 30 +0.0 + 10 +9.891204724409448 + 20 +3.92294094488189 + 30 +0.0 + 10 +9.88881496062992 + 20 +3.92844094488189 + 30 +0.0 + 10 +9.88881496062992 + 20 +3.92844094488189 + 30 +0.0 + 10 +9.886425196850393 + 20 +3.933885826771653 + 30 +0.0 + 10 +9.88520472440945 + 20 +3.94544094488189 + 30 +0.0 + 10 +9.88520472440945 + 20 +3.962996062992126 + 30 +0.0 + 10 +9.88520472440945 + 20 +3.962996062992126 + 30 +0.0 + 10 +9.88520472440945 + 20 +3.962996062992126 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.863704724409448 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.128055118110236 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.128055118110236 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.128055118110236 + 30 +0.0 + 10 +9.88520472440945 + 20 +4.128055118110236 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.145610236220472 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.145610236220472 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.145610236220472 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.145610236220472 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.085220472440945 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.943814960629922 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.914370078740157 + 20 +4.06244094488189 + 30 +0.0 + 10 +9.914370078740157 + 20 +3.961385826771654 + 30 +0.0 + 10 +9.914370078740157 + 20 +3.961385826771654 + 30 +0.0 + 10 +9.914370078740157 + 20 +3.961385826771654 + 30 +0.0 + 10 +9.914370078740157 + 20 +3.952996062992126 + 30 +0.0 + 10 +9.914870078740158 + 20 +3.947665354330709 + 30 +0.0 + 10 +9.915870078740157 + 20 +3.945275590551181 + 30 +0.0 + 10 +9.915870078740157 + 20 +3.945275590551181 + 30 +0.0 + 10 +9.916925196850393 + 20 +3.942885826771653 + 30 +0.0 + 10 +9.918594488188976 + 20 +3.940996062992126 + 30 +0.0 + 10 +9.920925196850394 + 20 +3.939551181102362 + 30 +0.0 + 10 +9.920925196850394 + 20 +3.939551181102362 + 30 +0.0 + 10 +9.923259842519686 + 20 +3.938165354330708 + 30 +0.0 + 10 +9.926594488188977 + 20 +3.93744094488189 + 30 +0.0 + 10 +9.930925196850394 + 20 +3.93744094488189 + 30 +0.0 + 10 +9.930925196850394 + 20 +3.93744094488189 + 30 +0.0 + 10 +9.93420472440945 + 20 +3.93744094488189 + 30 +0.0 + 10 +9.93848031496063 + 20 +3.937830708661417 + 30 +0.0 + 10 +9.943814960629922 + 20 +3.938606299212598 + 30 +0.0 + 0 +SPLINE + 5 +251 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.09075984251968 + 20 +3.968051181102362 + 30 +0.0 + 10 +10.09075984251968 + 20 +3.968051181102362 + 30 +0.0 + 10 +10.12103543307087 + 20 +3.964330708661417 + 30 +0.0 + 10 +10.12103543307087 + 20 +3.964330708661417 + 30 +0.0 + 10 +10.12103543307087 + 20 +3.964330708661417 + 30 +0.0 + 10 +10.11625984251969 + 20 +3.946606299212598 + 30 +0.0 + 10 +10.10742519685039 + 20 +3.932885826771654 + 30 +0.0 + 10 +10.09453543307087 + 20 +3.923106299212598 + 30 +0.0 + 10 +10.09453543307087 + 20 +3.923106299212598 + 30 +0.0 + 10 +10.0815905511811 + 20 +3.913385826771654 + 30 +0.0 + 10 +10.0650905511811 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.04503543307087 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.04503543307087 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.01975984251968 + 20 +3.908496062992126 + 30 +0.0 + 10 +9.999700787401574 + 20 +3.916275590551181 + 30 +0.0 + 10 +9.984925196850394 + 20 +3.931830708661417 + 30 +0.0 + 10 +9.984925196850394 + 20 +3.931830708661417 + 30 +0.0 + 10 +9.970090551181102 + 20 +3.947385826771654 + 30 +0.0 + 10 +9.962700787401575 + 20 +3.969220472440945 + 30 +0.0 + 10 +9.962700787401575 + 20 +3.997330708661417 + 30 +0.0 + 10 +9.962700787401575 + 20 +3.997330708661417 + 30 +0.0 + 10 +9.962700787401575 + 20 +4.02644094488189 + 30 +0.0 + 10 +9.970200787401575 + 20 +4.048996062992126 + 30 +0.0 + 10 +9.985145669291338 + 20 +4.065051181102362 + 30 +0.0 + 10 +9.985145669291338 + 20 +4.065051181102362 + 30 +0.0 + 10 +10.00014566929134 + 20 +4.081110236220472 + 30 +0.0 + 10 +10.01953543307087 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.04342519685039 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.04342519685039 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.06653543307087 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.08542519685039 + 20 +4.081275590551181 + 30 +0.0 + 10 +10.10003543307087 + 20 +4.065551181102363 + 30 +0.0 + 10 +10.10003543307087 + 20 +4.065551181102363 + 30 +0.0 + 10 +10.11470472440945 + 20 +4.049830708661418 + 30 +0.0 + 10 +10.12203543307087 + 20 +4.027665354330709 + 30 +0.0 + 10 +10.12203543307087 + 20 +3.999165354330709 + 30 +0.0 + 10 +10.12203543307087 + 20 +3.999165354330709 + 30 +0.0 + 10 +10.12203543307087 + 20 +3.997385826771653 + 30 +0.0 + 10 +10.12198031496063 + 20 +3.994775590551181 + 30 +0.0 + 10 +10.12187007874016 + 20 +3.991330708661417 + 30 +0.0 + 10 +10.12187007874016 + 20 +3.991330708661417 + 30 +0.0 + 10 +10.12187007874016 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.99298031496063 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.99298031496063 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.99298031496063 + 20 +3.991330708661417 + 30 +0.0 + 10 +9.994035433070867 + 20 +3.972330708661417 + 30 +0.0 + 10 +9.999425196850394 + 20 +3.957775590551181 + 30 +0.0 + 10 +10.0090905511811 + 20 +3.947720472440945 + 30 +0.0 + 10 +10.0090905511811 + 20 +3.947720472440945 + 30 +0.0 + 10 +10.01875984251969 + 20 +3.937606299212598 + 30 +0.0 + 10 +10.03075984251969 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.04520472440945 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.04520472440945 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.05592519685039 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.0650905511811 + 20 +3.935385826771653 + 30 +0.0 + 10 +10.07270472440945 + 20 +3.941051181102362 + 30 +0.0 + 10 +10.07270472440945 + 20 +3.941051181102362 + 30 +0.0 + 10 +10.08031496062992 + 20 +3.946665354330709 + 30 +0.0 + 10 +10.08631496062992 + 20 +3.955665354330709 + 30 +0.0 + 10 +10.09075984251968 + 20 +3.968051181102362 + 30 +0.0 + 0 +SPLINE + 5 +252 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.994590551181103 + 20 +4.01544094488189 + 30 +0.0 + 10 +9.994590551181103 + 20 +4.01544094488189 + 30 +0.0 + 10 +10.0910905511811 + 20 +4.01544094488189 + 30 +0.0 + 10 +10.0910905511811 + 20 +4.01544094488189 + 30 +0.0 + 10 +10.0910905511811 + 20 +4.01544094488189 + 30 +0.0 + 10 +10.08981496062992 + 20 +4.02994094488189 + 30 +0.0 + 10 +10.0860905511811 + 20 +4.040885826771653 + 30 +0.0 + 10 +10.08003543307087 + 20 +4.048110236220473 + 30 +0.0 + 10 +10.08003543307087 + 20 +4.048110236220473 + 30 +0.0 + 10 +10.07070472440945 + 20 +4.059385826771654 + 30 +0.0 + 10 +10.0585905511811 + 20 +4.065051181102362 + 30 +0.0 + 10 +10.04375984251969 + 20 +4.065051181102362 + 30 +0.0 + 10 +10.04375984251969 + 20 +4.065051181102362 + 30 +0.0 + 10 +10.03031496062992 + 20 +4.065051181102362 + 30 +0.0 + 10 +10.01898031496063 + 20 +4.060551181102362 + 30 +0.0 + 10 +10.00981496062992 + 20 +4.051551181102362 + 30 +0.0 + 10 +10.00981496062992 + 20 +4.051551181102362 + 30 +0.0 + 10 +10.00064566929134 + 20 +4.042551181102362 + 30 +0.0 + 10 +9.995590551181103 + 20 +4.030496062992126 + 30 +0.0 + 10 +9.994590551181103 + 20 +4.01544094488189 + 30 +0.0 + 0 +SPLINE + 5 +253 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.23953543307087 + 20 +3.998830708661417 + 30 +0.0 + 10 +10.23953543307087 + 20 +4.030830708661417 + 30 +0.0 + 10 +10.24842519685039 + 20 +4.054551181102362 + 30 +0.0 + 10 +10.26625984251969 + 20 +4.06994094488189 + 30 +0.0 + 10 +10.26625984251969 + 20 +4.06994094488189 + 30 +0.0 + 10 +10.2810905511811 + 20 +4.082720472440945 + 30 +0.0 + 10 +10.29920472440945 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.3205905511811 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.3205905511811 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.34437007874016 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.36381496062992 + 20 +4.081385826771654 + 30 +0.0 + 10 +10.37887007874016 + 20 +4.065775590551181 + 30 +0.0 + 10 +10.37887007874016 + 20 +4.065775590551181 + 30 +0.0 + 10 +10.39398031496063 + 20 +4.050220472440945 + 30 +0.0 + 10 +10.40148031496063 + 20 +4.028720472440945 + 30 +0.0 + 10 +10.40148031496063 + 20 +4.001275590551181 + 30 +0.0 + 10 +10.40148031496063 + 20 +4.001275590551181 + 30 +0.0 + 10 +10.40148031496063 + 20 +3.978996062992126 + 30 +0.0 + 10 +10.39814960629921 + 20 +3.961496062992126 + 30 +0.0 + 10 +10.39148031496063 + 20 +3.948775590551181 + 30 +0.0 + 10 +10.39148031496063 + 20 +3.948775590551181 + 30 +0.0 + 10 +10.38481496062992 + 20 +3.935996062992126 + 30 +0.0 + 10 +10.3750905511811 + 20 +3.926106299212599 + 30 +0.0 + 10 +10.36237007874016 + 20 +3.919051181102362 + 30 +0.0 + 10 +10.36237007874016 + 20 +3.919051181102362 + 30 +0.0 + 10 +10.3495905511811 + 20 +3.911996062992126 + 30 +0.0 + 10 +10.33570472440945 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.3205905511811 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.3205905511811 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.29642519685039 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.27687007874016 + 20 +3.916220472440945 + 30 +0.0 + 10 +10.26192519685039 + 20 +3.931775590551181 + 30 +0.0 + 10 +10.26192519685039 + 20 +3.931775590551181 + 30 +0.0 + 10 +10.24698031496063 + 20 +3.947275590551181 + 30 +0.0 + 10 +10.23953543307087 + 20 +3.969610236220472 + 30 +0.0 + 10 +10.23953543307087 + 20 +3.998830708661417 + 30 +0.0 + 0 +SPLINE + 5 +254 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.26964566929134 + 20 +3.998830708661417 + 30 +0.0 + 10 +10.26964566929134 + 20 +3.976665354330708 + 30 +0.0 + 10 +10.27448031496063 + 20 +3.960106299212598 + 30 +0.0 + 10 +10.28414566929134 + 20 +3.949106299212598 + 30 +0.0 + 10 +10.28414566929134 + 20 +3.949106299212598 + 30 +0.0 + 10 +10.29381496062992 + 20 +3.938051181102362 + 30 +0.0 + 10 +10.30598031496063 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.3205905511811 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.3205905511811 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.33514566929134 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.34725984251969 + 20 +3.938106299212599 + 30 +0.0 + 10 +10.35692519685039 + 20 +3.949165354330709 + 30 +0.0 + 10 +10.35692519685039 + 20 +3.949165354330709 + 30 +0.0 + 10 +10.36653543307087 + 20 +3.960220472440945 + 30 +0.0 + 10 +10.37137007874016 + 20 +3.977110236220473 + 30 +0.0 + 10 +10.37137007874016 + 20 +3.999775590551181 + 30 +0.0 + 10 +10.37137007874016 + 20 +3.999775590551181 + 30 +0.0 + 10 +10.37137007874016 + 20 +4.021165354330709 + 30 +0.0 + 10 +10.36653543307087 + 20 +4.037385826771653 + 30 +0.0 + 10 +10.35681496062992 + 20 +4.048385826771653 + 30 +0.0 + 10 +10.35681496062992 + 20 +4.048385826771653 + 30 +0.0 + 10 +10.3470905511811 + 20 +4.059385826771654 + 30 +0.0 + 10 +10.33503543307087 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.3205905511811 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.3205905511811 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.30598031496063 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.29381496062992 + 20 +4.059385826771654 + 30 +0.0 + 10 +10.28414566929134 + 20 +4.048440944881889 + 30 +0.0 + 10 +10.28414566929134 + 20 +4.048440944881889 + 30 +0.0 + 10 +10.27448031496063 + 20 +4.037496062992126 + 30 +0.0 + 10 +10.26964566929134 + 20 +4.02094094488189 + 30 +0.0 + 10 +10.26964566929134 + 20 +3.998830708661417 + 30 +0.0 + 0 +SPLINE + 5 +255 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.43587007874016 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.43587007874016 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.43587007874016 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.43587007874016 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.43587007874016 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.43587007874016 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.062775590551182 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.062775590551182 + 30 +0.0 + 10 +10.46253543307087 + 20 +4.062775590551182 + 30 +0.0 + 10 +10.46881496062992 + 20 +4.071551181102362 + 30 +0.0 + 10 +10.47592519685039 + 20 +4.078165354330709 + 30 +0.0 + 10 +10.48387007874016 + 20 +4.082555118110236 + 30 +0.0 + 10 +10.48387007874016 + 20 +4.082555118110236 + 30 +0.0 + 10 +10.49175984251968 + 20 +4.086940944881889 + 30 +0.0 + 10 +10.50137007874016 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.51264960629921 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.51264960629921 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.52742519685039 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.54042519685039 + 20 +4.085330708661417 + 30 +0.0 + 10 +10.55170472440945 + 20 +4.077775590551181 + 30 +0.0 + 10 +10.55170472440945 + 20 +4.077775590551181 + 30 +0.0 + 10 +10.56303543307087 + 20 +4.070165354330709 + 30 +0.0 + 10 +10.57153543307087 + 20 +4.05944094488189 + 30 +0.0 + 10 +10.57725984251969 + 20 +4.045610236220472 + 30 +0.0 + 10 +10.57725984251969 + 20 +4.045610236220472 + 30 +0.0 + 10 +10.58303937007874 + 20 +4.031775590551181 + 30 +0.0 + 10 +10.58592519685039 + 20 +4.016610236220473 + 30 +0.0 + 10 +10.58592519685039 + 20 +4.000110236220473 + 30 +0.0 + 10 +10.58592519685039 + 20 +4.000110236220473 + 30 +0.0 + 10 +10.58592519685039 + 20 +3.98244094488189 + 30 +0.0 + 10 +10.58275984251969 + 20 +3.966496062992126 + 30 +0.0 + 10 +10.57637007874016 + 20 +3.952330708661417 + 30 +0.0 + 10 +10.57637007874016 + 20 +3.952330708661417 + 30 +0.0 + 10 +10.57003543307087 + 20 +3.938165354330708 + 30 +0.0 + 10 +10.56081496062992 + 20 +3.927330708661418 + 30 +0.0 + 10 +10.54870472440945 + 20 +3.919775590551181 + 30 +0.0 + 10 +10.54870472440945 + 20 +3.919775590551181 + 30 +0.0 + 10 +10.53659448818898 + 20 +3.912275590551181 + 30 +0.0 + 10 +10.52387007874016 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.51053543307087 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.51053543307087 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.50075984251968 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.49203543307087 + 20 +3.910551181102362 + 30 +0.0 + 10 +10.48425984251969 + 20 +3.914665354330709 + 30 +0.0 + 10 +10.48425984251969 + 20 +3.914665354330709 + 30 +0.0 + 10 +10.47648031496063 + 20 +3.918775590551181 + 30 +0.0 + 10 +10.47014960629921 + 20 +3.923996062992126 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.930275590551181 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.930275590551181 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.930275590551181 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.46514960629921 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.43587007874016 + 20 +3.846161417322834 + 30 +0.0 + 10 +10.43587007874016 + 20 +3.846161417322834 + 30 +0.0 + 0 +SPLINE + 5 +256 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.46237007874016 + 20 +3.997830708661418 + 30 +0.0 + 10 +10.46237007874016 + 20 +3.975610236220473 + 30 +0.0 + 10 +10.46687007874016 + 20 +3.959165354330709 + 30 +0.0 + 10 +10.47587007874016 + 20 +3.948496062992126 + 30 +0.0 + 10 +10.47587007874016 + 20 +3.948496062992126 + 30 +0.0 + 10 +10.48487007874016 + 20 +3.937885826771653 + 30 +0.0 + 10 +10.49581496062992 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.50859448818898 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.50859448818898 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.52159448818898 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.53275984251968 + 20 +3.938051181102362 + 30 +0.0 + 10 +10.54203543307087 + 20 +3.949106299212598 + 30 +0.0 + 10 +10.54203543307087 + 20 +3.949106299212598 + 30 +0.0 + 10 +10.55131496062992 + 20 +3.960106299212598 + 30 +0.0 + 10 +10.55598031496063 + 20 +3.977165354330709 + 30 +0.0 + 10 +10.55598031496063 + 20 +4.000275590551182 + 30 +0.0 + 10 +10.55598031496063 + 20 +4.000275590551182 + 30 +0.0 + 10 +10.55598031496063 + 20 +4.022330708661418 + 30 +0.0 + 10 +10.55142519685039 + 20 +4.038775590551182 + 30 +0.0 + 10 +10.54237007874016 + 20 +4.049775590551181 + 30 +0.0 + 10 +10.54237007874016 + 20 +4.049775590551181 + 30 +0.0 + 10 +10.53331496062992 + 20 +4.060720472440945 + 30 +0.0 + 10 +10.52248031496063 + 20 +4.066220472440945 + 30 +0.0 + 10 +10.50992519685039 + 20 +4.066220472440945 + 30 +0.0 + 10 +10.50992519685039 + 20 +4.066220472440945 + 30 +0.0 + 10 +10.49742519685039 + 20 +4.066220472440945 + 30 +0.0 + 10 +10.48637007874016 + 20 +4.060385826771654 + 30 +0.0 + 10 +10.47675984251969 + 20 +4.048720472440944 + 30 +0.0 + 10 +10.47675984251969 + 20 +4.048720472440944 + 30 +0.0 + 10 +10.46714960629921 + 20 +4.037051181102362 + 30 +0.0 + 10 +10.46237007874016 + 20 +4.020051181102362 + 30 +0.0 + 10 +10.46237007874016 + 20 +3.997830708661418 + 30 +0.0 + 0 +SPLINE + 5 +257 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.68520472440945 + 20 +3.938606299212598 + 30 +0.0 + 10 +10.68520472440945 + 20 +3.938606299212598 + 30 +0.0 + 10 +10.68942519685039 + 20 +3.912720472440945 + 30 +0.0 + 10 +10.68942519685039 + 20 +3.912720472440945 + 30 +0.0 + 10 +10.68942519685039 + 20 +3.912720472440945 + 30 +0.0 + 10 +10.68120472440945 + 20 +3.910996062992126 + 30 +0.0 + 10 +10.67381496062992 + 20 +3.910106299212599 + 30 +0.0 + 10 +10.66731496062992 + 20 +3.910106299212599 + 30 +0.0 + 10 +10.66731496062992 + 20 +3.910106299212599 + 30 +0.0 + 10 +10.65664960629921 + 20 +3.910106299212599 + 30 +0.0 + 10 +10.64842519685039 + 20 +3.911775590551181 + 30 +0.0 + 10 +10.64253937007874 + 20 +3.915165354330709 + 30 +0.0 + 10 +10.64253937007874 + 20 +3.915165354330709 + 30 +0.0 + 10 +10.63670472440945 + 20 +3.918496062992126 + 30 +0.0 + 10 +10.63259448818898 + 20 +3.92294094488189 + 30 +0.0 + 10 +10.63020472440945 + 20 +3.92844094488189 + 30 +0.0 + 10 +10.63020472440945 + 20 +3.92844094488189 + 30 +0.0 + 10 +10.62781496062992 + 20 +3.933885826771653 + 30 +0.0 + 10 +10.62659448818898 + 20 +3.94544094488189 + 30 +0.0 + 10 +10.62659448818898 + 20 +3.962996062992126 + 30 +0.0 + 10 +10.62659448818898 + 20 +3.962996062992126 + 30 +0.0 + 10 +10.62659448818898 + 20 +3.962996062992126 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.60509448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.128055118110236 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.128055118110236 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.128055118110236 + 30 +0.0 + 10 +10.62659448818898 + 20 +4.128055118110236 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.145610236220472 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.145610236220472 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.145610236220472 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.145610236220472 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.68520472440945 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.65575984251969 + 20 +4.06244094488189 + 30 +0.0 + 10 +10.65575984251969 + 20 +3.961385826771654 + 30 +0.0 + 10 +10.65575984251969 + 20 +3.961385826771654 + 30 +0.0 + 10 +10.65575984251969 + 20 +3.961385826771654 + 30 +0.0 + 10 +10.65575984251969 + 20 +3.952996062992126 + 30 +0.0 + 10 +10.65625984251968 + 20 +3.947665354330709 + 30 +0.0 + 10 +10.65725984251969 + 20 +3.945275590551181 + 30 +0.0 + 10 +10.65725984251969 + 20 +3.945275590551181 + 30 +0.0 + 10 +10.65831496062992 + 20 +3.942885826771653 + 30 +0.0 + 10 +10.6599842519685 + 20 +3.940996062992126 + 30 +0.0 + 10 +10.66231496062992 + 20 +3.939551181102362 + 30 +0.0 + 10 +10.66231496062992 + 20 +3.939551181102362 + 30 +0.0 + 10 +10.66464960629921 + 20 +3.938165354330708 + 30 +0.0 + 10 +10.6679842519685 + 20 +3.93744094488189 + 30 +0.0 + 10 +10.67231496062992 + 20 +3.93744094488189 + 30 +0.0 + 10 +10.67231496062992 + 20 +3.93744094488189 + 30 +0.0 + 10 +10.67559448818898 + 20 +3.93744094488189 + 30 +0.0 + 10 +10.67987007874016 + 20 +3.937830708661417 + 30 +0.0 + 10 +10.68520472440945 + 20 +3.938606299212598 + 30 +0.0 + 0 +SPLINE + 5 +258 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.71398031496063 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.150996062992126 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.117275590551182 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.117275590551182 + 30 +0.0 + 0 +SPLINE + 5 +259 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.71398031496063 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.71398031496063 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.71398031496063 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.74331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.74331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.74331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.74331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.74331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.71398031496063 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.71398031496063 + 20 +3.912385826771653 + 30 +0.0 + 0 +SPLINE + 5 +25A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.77698031496063 + 20 +3.998830708661417 + 30 +0.0 + 10 +10.77698031496063 + 20 +4.030830708661417 + 30 +0.0 + 10 +10.78587007874016 + 20 +4.054551181102362 + 30 +0.0 + 10 +10.80370472440945 + 20 +4.06994094488189 + 30 +0.0 + 10 +10.80370472440945 + 20 +4.06994094488189 + 30 +0.0 + 10 +10.81853543307087 + 20 +4.082720472440945 + 30 +0.0 + 10 +10.83664960629921 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.85803543307087 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.85803543307087 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.88181496062992 + 20 +4.089165354330708 + 30 +0.0 + 10 +10.90125984251969 + 20 +4.081385826771654 + 30 +0.0 + 10 +10.91631496062992 + 20 +4.065775590551181 + 30 +0.0 + 10 +10.91631496062992 + 20 +4.065775590551181 + 30 +0.0 + 10 +10.93142519685039 + 20 +4.050220472440945 + 30 +0.0 + 10 +10.93892519685039 + 20 +4.028720472440945 + 30 +0.0 + 10 +10.93892519685039 + 20 +4.001275590551181 + 30 +0.0 + 10 +10.93892519685039 + 20 +4.001275590551181 + 30 +0.0 + 10 +10.93892519685039 + 20 +3.978996062992126 + 30 +0.0 + 10 +10.93559448818898 + 20 +3.961496062992126 + 30 +0.0 + 10 +10.92892519685039 + 20 +3.948775590551181 + 30 +0.0 + 10 +10.92892519685039 + 20 +3.948775590551181 + 30 +0.0 + 10 +10.92225984251968 + 20 +3.935996062992126 + 30 +0.0 + 10 +10.91253543307087 + 20 +3.926106299212599 + 30 +0.0 + 10 +10.89981496062992 + 20 +3.919051181102362 + 30 +0.0 + 10 +10.89981496062992 + 20 +3.919051181102362 + 30 +0.0 + 10 +10.88703543307087 + 20 +3.911996062992126 + 30 +0.0 + 10 +10.87314960629921 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.85803543307087 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.85803543307087 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.83387007874016 + 20 +3.908496062992126 + 30 +0.0 + 10 +10.81431496062992 + 20 +3.916220472440945 + 30 +0.0 + 10 +10.79937007874016 + 20 +3.931775590551181 + 30 +0.0 + 10 +10.79937007874016 + 20 +3.931775590551181 + 30 +0.0 + 10 +10.78442519685039 + 20 +3.947275590551181 + 30 +0.0 + 10 +10.77698031496063 + 20 +3.969610236220472 + 30 +0.0 + 10 +10.77698031496063 + 20 +3.998830708661417 + 30 +0.0 + 0 +SPLINE + 5 +25B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.8070905511811 + 20 +3.998830708661417 + 30 +0.0 + 10 +10.8070905511811 + 20 +3.976665354330708 + 30 +0.0 + 10 +10.81192519685039 + 20 +3.960106299212598 + 30 +0.0 + 10 +10.8215905511811 + 20 +3.949106299212598 + 30 +0.0 + 10 +10.8215905511811 + 20 +3.949106299212598 + 30 +0.0 + 10 +10.83125984251969 + 20 +3.938051181102362 + 30 +0.0 + 10 +10.84342519685039 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.85803543307087 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.85803543307087 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.8725905511811 + 20 +3.932551181102362 + 30 +0.0 + 10 +10.88470472440945 + 20 +3.938106299212599 + 30 +0.0 + 10 +10.89437007874016 + 20 +3.949165354330709 + 30 +0.0 + 10 +10.89437007874016 + 20 +3.949165354330709 + 30 +0.0 + 10 +10.90398031496063 + 20 +3.960220472440945 + 30 +0.0 + 10 +10.90881496062992 + 20 +3.977110236220473 + 30 +0.0 + 10 +10.90881496062992 + 20 +3.999775590551181 + 30 +0.0 + 10 +10.90881496062992 + 20 +3.999775590551181 + 30 +0.0 + 10 +10.90881496062992 + 20 +4.021165354330709 + 30 +0.0 + 10 +10.90398031496063 + 20 +4.037385826771653 + 30 +0.0 + 10 +10.89425984251968 + 20 +4.048385826771653 + 30 +0.0 + 10 +10.89425984251968 + 20 +4.048385826771653 + 30 +0.0 + 10 +10.88453543307087 + 20 +4.059385826771654 + 30 +0.0 + 10 +10.87248031496063 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.85803543307087 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.85803543307087 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.84342519685039 + 20 +4.064885826771653 + 30 +0.0 + 10 +10.83125984251969 + 20 +4.059385826771654 + 30 +0.0 + 10 +10.8215905511811 + 20 +4.048440944881889 + 30 +0.0 + 10 +10.8215905511811 + 20 +4.048440944881889 + 30 +0.0 + 10 +10.81192519685039 + 20 +4.037496062992126 + 30 +0.0 + 10 +10.8070905511811 + 20 +4.02094094488189 + 30 +0.0 + 10 +10.8070905511811 + 20 +3.998830708661417 + 30 +0.0 + 0 +SPLINE + 5 +25C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.97331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.97331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.97331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.97331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.97331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.97331496062992 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.085220472440945 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.060665354330709 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.060665354330709 + 30 +0.0 + 10 +10.99964960629921 + 20 +4.060665354330709 + 30 +0.0 + 10 +11.01237007874016 + 20 +4.079665354330709 + 30 +0.0 + 10 +11.03070472440945 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.05464960629921 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.05464960629921 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.06509448818898 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.07464960629921 + 20 +4.087275590551181 + 30 +0.0 + 10 +11.08337007874016 + 20 +4.083555118110236 + 30 +0.0 + 10 +11.08337007874016 + 20 +4.083555118110236 + 30 +0.0 + 10 +11.09214960629921 + 20 +4.079775590551181 + 30 +0.0 + 10 +11.09864960629921 + 20 +4.074885826771654 + 30 +0.0 + 10 +11.10298031496063 + 20 +4.068775590551181 + 30 +0.0 + 10 +11.10298031496063 + 20 +4.068775590551181 + 30 +0.0 + 10 +11.10737007874016 + 20 +4.062720472440945 + 30 +0.0 + 10 +11.11037007874016 + 20 +4.055496062992126 + 30 +0.0 + 10 +11.11214960629921 + 20 +4.047165354330708 + 30 +0.0 + 10 +11.11214960629921 + 20 +4.047165354330708 + 30 +0.0 + 10 +11.11320472440945 + 20 +4.041720472440945 + 30 +0.0 + 10 +11.11375984251968 + 20 +4.032220472440945 + 30 +0.0 + 10 +11.11375984251968 + 20 +4.018665354330708 + 30 +0.0 + 10 +11.11375984251968 + 20 +4.018665354330708 + 30 +0.0 + 10 +11.11375984251968 + 20 +4.018665354330708 + 30 +0.0 + 10 +11.11375984251968 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.11375984251968 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.11375984251968 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.11375984251968 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.08442519685039 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.08442519685039 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.08442519685039 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.08442519685039 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.08442519685039 + 20 +4.017551181102363 + 30 +0.0 + 10 +11.08442519685039 + 20 +4.017551181102363 + 30 +0.0 + 10 +11.08442519685039 + 20 +4.017551181102363 + 30 +0.0 + 10 +11.08442519685039 + 20 +4.02944094488189 + 30 +0.0 + 10 +11.08331496062992 + 20 +4.038385826771654 + 30 +0.0 + 10 +11.08103937007874 + 20 +4.044330708661417 + 30 +0.0 + 10 +11.08103937007874 + 20 +4.044330708661417 + 30 +0.0 + 10 +11.07875984251969 + 20 +4.050220472440945 + 30 +0.0 + 10 +11.07470472440945 + 20 +4.054940944881889 + 30 +0.0 + 10 +11.06892519685039 + 20 +4.05844094488189 + 30 +0.0 + 10 +11.06892519685039 + 20 +4.05844094488189 + 30 +0.0 + 10 +11.06309448818898 + 20 +4.061996062992126 + 30 +0.0 + 10 +11.05631496062992 + 20 +4.063775590551181 + 30 +0.0 + 10 +11.04848031496063 + 20 +4.063775590551181 + 30 +0.0 + 10 +11.04848031496063 + 20 +4.063775590551181 + 30 +0.0 + 10 +11.03598031496063 + 20 +4.063775590551181 + 30 +0.0 + 10 +11.02525984251968 + 20 +4.059775590551181 + 30 +0.0 + 10 +11.01614960629921 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.01614960629921 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.00709448818898 + 20 +4.04394094488189 + 30 +0.0 + 10 +11.00259448818898 + 20 +4.02894094488189 + 30 +0.0 + 10 +11.00259448818898 + 20 +4.006775590551181 + 30 +0.0 + 10 +11.00259448818898 + 20 +4.006775590551181 + 30 +0.0 + 10 +11.00259448818898 + 20 +4.006775590551181 + 30 +0.0 + 10 +11.00259448818898 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.00259448818898 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.00259448818898 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.00259448818898 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.97331496062992 + 20 +3.912385826771653 + 30 +0.0 + 10 +10.97331496062992 + 20 +3.912385826771653 + 30 +0.0 + 0 +SPLINE + 5 +25D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.1469842519685 + 20 +3.963996062992126 + 30 +0.0 + 10 +11.1469842519685 + 20 +3.963996062992126 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.968551181102362 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.968551181102362 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.968551181102362 + 30 +0.0 + 10 +11.17753937007874 + 20 +3.95694094488189 + 30 +0.0 + 10 +11.18209448818898 + 20 +3.948051181102362 + 30 +0.0 + 10 +11.18953937007874 + 20 +3.941830708661417 + 30 +0.0 + 10 +11.18953937007874 + 20 +3.941830708661417 + 30 +0.0 + 10 +11.19692913385827 + 20 +3.935665354330709 + 30 +0.0 + 10 +11.20731496062992 + 20 +3.932551181102362 + 30 +0.0 + 10 +11.22070472440945 + 20 +3.932551181102362 + 30 +0.0 + 10 +11.22070472440945 + 20 +3.932551181102362 + 30 +0.0 + 10 +11.23414960629921 + 20 +3.932551181102362 + 30 +0.0 + 10 +11.24414960629921 + 20 +3.935330708661418 + 30 +0.0 + 10 +11.25064960629921 + 20 +3.940775590551181 + 30 +0.0 + 10 +11.25064960629921 + 20 +3.940775590551181 + 30 +0.0 + 10 +11.25714960629921 + 20 +3.946275590551181 + 30 +0.0 + 10 +11.26042913385827 + 20 +3.952720472440945 + 30 +0.0 + 10 +11.26042913385827 + 20 +3.960051181102362 + 30 +0.0 + 10 +11.26042913385827 + 20 +3.960051181102362 + 30 +0.0 + 10 +11.26042913385827 + 20 +3.966720472440945 + 30 +0.0 + 10 +11.25753937007874 + 20 +3.971885826771654 + 30 +0.0 + 10 +11.25175984251969 + 20 +3.975720472440945 + 30 +0.0 + 10 +11.25175984251969 + 20 +3.975720472440945 + 30 +0.0 + 10 +11.24775984251968 + 20 +3.978330708661417 + 30 +0.0 + 10 +11.23775984251968 + 20 +3.981610236220472 + 30 +0.0 + 10 +11.22181496062992 + 20 +3.985610236220472 + 30 +0.0 + 10 +11.22181496062992 + 20 +3.985610236220472 + 30 +0.0 + 10 +11.20037007874016 + 20 +3.991051181102362 + 30 +0.0 + 10 +11.18542519685039 + 20 +3.995720472440945 + 30 +0.0 + 10 +11.17714960629921 + 20 +3.999720472440945 + 30 +0.0 + 10 +11.17714960629921 + 20 +3.999720472440945 + 30 +0.0 + 10 +11.16887007874016 + 20 +4.003665354330709 + 30 +0.0 + 10 +11.16253937007874 + 20 +4.009165354330709 + 30 +0.0 + 10 +11.15825984251969 + 20 +4.016165354330709 + 30 +0.0 + 10 +11.15825984251969 + 20 +4.016165354330709 + 30 +0.0 + 10 +11.1539842519685 + 20 +4.023165354330708 + 30 +0.0 + 10 +11.15181496062992 + 20 +4.030885826771653 + 30 +0.0 + 10 +11.15181496062992 + 20 +4.039330708661417 + 30 +0.0 + 10 +11.15181496062992 + 20 +4.039330708661417 + 30 +0.0 + 10 +11.15181496062992 + 20 +4.047051181102362 + 30 +0.0 + 10 +11.15359448818898 + 20 +4.054165354330709 + 30 +0.0 + 10 +11.15714960629921 + 20 +4.060720472440945 + 30 +0.0 + 10 +11.15714960629921 + 20 +4.060720472440945 + 30 +0.0 + 10 +11.16064960629921 + 20 +4.067330708661418 + 30 +0.0 + 10 +11.1654842519685 + 20 +4.072775590551181 + 30 +0.0 + 10 +11.17153937007874 + 20 +4.077110236220473 + 30 +0.0 + 10 +11.17153937007874 + 20 +4.077110236220473 + 30 +0.0 + 10 +11.17609448818898 + 20 +4.080440944881889 + 30 +0.0 + 10 +11.18231496062992 + 20 +4.083330708661418 + 30 +0.0 + 10 +11.19014960629921 + 20 +4.085665354330708 + 30 +0.0 + 10 +11.19014960629921 + 20 +4.085665354330708 + 30 +0.0 + 10 +11.19803937007874 + 20 +4.087996062992126 + 30 +0.0 + 10 +11.2064842519685 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.2154842519685 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.2154842519685 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.22903937007874 + 20 +4.089165354330708 + 30 +0.0 + 10 +11.24092913385827 + 20 +4.087165354330708 + 30 +0.0 + 10 +11.25120472440945 + 20 +4.083275590551181 + 30 +0.0 + 10 +11.25120472440945 + 20 +4.083275590551181 + 30 +0.0 + 10 +11.2614842519685 + 20 +4.079385826771653 + 30 +0.0 + 10 +11.26903937007874 + 20 +4.074110236220473 + 30 +0.0 + 10 +11.27392913385827 + 20 +4.06744094488189 + 30 +0.0 + 10 +11.27392913385827 + 20 +4.06744094488189 + 30 +0.0 + 10 +11.27881496062992 + 20 +4.060720472440945 + 30 +0.0 + 10 +11.28214960629921 + 20 +4.051830708661417 + 30 +0.0 + 10 +11.2839842519685 + 20 +4.040665354330709 + 30 +0.0 + 10 +11.2839842519685 + 20 +4.040665354330709 + 30 +0.0 + 10 +11.2839842519685 + 20 +4.040665354330709 + 30 +0.0 + 10 +11.25537007874016 + 20 +4.036720472440945 + 30 +0.0 + 10 +11.25537007874016 + 20 +4.036720472440945 + 30 +0.0 + 10 +11.25537007874016 + 20 +4.036720472440945 + 30 +0.0 + 10 +11.25403937007874 + 20 +4.045610236220472 + 30 +0.0 + 10 +11.25025984251969 + 20 +4.052551181102362 + 30 +0.0 + 10 +11.24403937007874 + 20 +4.057551181102363 + 30 +0.0 + 10 +11.24403937007874 + 20 +4.057551181102363 + 30 +0.0 + 10 +11.23781496062992 + 20 +4.062551181102362 + 30 +0.0 + 10 +11.2289842519685 + 20 +4.065051181102362 + 30 +0.0 + 10 +11.21759448818898 + 20 +4.065051181102362 + 30 +0.0 + 10 +11.21759448818898 + 20 +4.065051181102362 + 30 +0.0 + 10 +11.20414960629921 + 20 +4.065051181102362 + 30 +0.0 + 10 +11.19453937007874 + 20 +4.062830708661417 + 30 +0.0 + 10 +11.18881496062992 + 20 +4.058385826771653 + 30 +0.0 + 10 +11.18881496062992 + 20 +4.058385826771653 + 30 +0.0 + 10 +11.18303937007874 + 20 +4.05394094488189 + 30 +0.0 + 10 +11.18014960629921 + 20 +4.048720472440944 + 30 +0.0 + 10 +11.18014960629921 + 20 +4.042775590551181 + 30 +0.0 + 10 +11.18014960629921 + 20 +4.042775590551181 + 30 +0.0 + 10 +11.18014960629921 + 20 +4.038940944881889 + 30 +0.0 + 10 +11.18137007874016 + 20 +4.035551181102362 + 30 +0.0 + 10 +11.18375984251968 + 20 +4.032496062992126 + 30 +0.0 + 10 +11.18375984251968 + 20 +4.032496062992126 + 30 +0.0 + 10 +11.18614960629921 + 20 +4.029330708661417 + 30 +0.0 + 10 +11.18987007874016 + 20 +4.026775590551181 + 30 +0.0 + 10 +11.1949842519685 + 20 +4.024665354330708 + 30 +0.0 + 10 +11.1949842519685 + 20 +4.024665354330708 + 30 +0.0 + 10 +11.19792913385827 + 20 +4.023610236220472 + 30 +0.0 + 10 +11.20653937007874 + 20 +4.021110236220473 + 30 +0.0 + 10 +11.22087007874016 + 20 +4.017220472440945 + 30 +0.0 + 10 +11.22087007874016 + 20 +4.017220472440945 + 30 +0.0 + 10 +11.24159448818898 + 20 +4.011665354330709 + 30 +0.0 + 10 +11.25603937007874 + 20 +4.007165354330708 + 30 +0.0 + 10 +11.26420472440945 + 20 +4.003610236220473 + 30 +0.0 + 10 +11.26420472440945 + 20 +4.003610236220473 + 30 +0.0 + 10 +11.27242913385827 + 20 +4.000110236220473 + 30 +0.0 + 10 +11.27887007874016 + 20 +3.99494094488189 + 30 +0.0 + 10 +11.28353937007874 + 20 +3.988220472440945 + 30 +0.0 + 10 +11.28353937007874 + 20 +3.988220472440945 + 30 +0.0 + 10 +11.28820472440945 + 20 +3.981496062992126 + 30 +0.0 + 10 +11.29053937007874 + 20 +3.973165354330709 + 30 +0.0 + 10 +11.29053937007874 + 20 +3.963165354330709 + 30 +0.0 + 10 +11.29053937007874 + 20 +3.963165354330709 + 30 +0.0 + 10 +11.29053937007874 + 20 +3.953385826771654 + 30 +0.0 + 10 +11.28764960629921 + 20 +3.944220472440945 + 30 +0.0 + 10 +11.2819842519685 + 20 +3.935551181102362 + 30 +0.0 + 10 +11.2819842519685 + 20 +3.935551181102362 + 30 +0.0 + 10 +11.27625984251969 + 20 +3.92694094488189 + 30 +0.0 + 10 +11.26803937007874 + 20 +3.920275590551181 + 30 +0.0 + 10 +11.25731496062992 + 20 +3.915551181102362 + 30 +0.0 + 10 +11.25731496062992 + 20 +3.915551181102362 + 30 +0.0 + 10 +11.24659448818898 + 20 +3.910830708661417 + 30 +0.0 + 10 +11.23442913385827 + 20 +3.908496062992126 + 30 +0.0 + 10 +11.22087007874016 + 20 +3.908496062992126 + 30 +0.0 + 10 +11.22087007874016 + 20 +3.908496062992126 + 30 +0.0 + 10 +11.19837007874016 + 20 +3.908496062992126 + 30 +0.0 + 10 +11.18125984251968 + 20 +3.913165354330709 + 30 +0.0 + 10 +11.1694842519685 + 20 +3.922496062992126 + 30 +0.0 + 10 +11.1694842519685 + 20 +3.922496062992126 + 30 +0.0 + 10 +11.15770472440945 + 20 +3.931830708661417 + 30 +0.0 + 10 +11.15020472440945 + 20 +3.945665354330709 + 30 +0.0 + 10 +11.1469842519685 + 20 +3.963996062992126 + 30 +0.0 + 0 +SPLINE + 5 +25E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.3334842519685 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.085220472440945 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.36687401574803 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.051885826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +4.051885826771653 + 30 +0.0 + 0 +SPLINE + 5 +25F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.3334842519685 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.945775590551181 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.36687401574803 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.912385826771653 + 30 +0.0 + 10 +11.3334842519685 + 20 +3.912385826771653 + 30 +0.0 + 0 +SPLINE + 5 +260 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.337082677165355 + 20 +3.635724409448819 + 30 +0.0 + 10 +7.337082677165355 + 20 +3.635724409448819 + 30 +0.0 + 10 +7.352885826771653 + 20 +3.631724409448819 + 30 +0.0 + 10 +7.352885826771653 + 20 +3.631724409448819 + 30 +0.0 + 10 +7.352885826771653 + 20 +3.631724409448819 + 30 +0.0 + 10 +7.349582677165355 + 20 +3.618779527559055 + 30 +0.0 + 10 +7.343610236220472 + 20 +3.608889763779528 + 30 +0.0 + 10 +7.335027559055118 + 20 +3.602055118110236 + 30 +0.0 + 10 +7.335027559055118 + 20 +3.602055118110236 + 30 +0.0 + 10 +7.326413385826772 + 20 +3.595251968503937 + 30 +0.0 + 10 +7.315913385826772 + 20 +3.591862204724409 + 30 +0.0 + 10 +7.303472440944882 + 20 +3.591862204724409 + 30 +0.0 + 10 +7.303472440944882 + 20 +3.591862204724409 + 30 +0.0 + 10 +7.290610236220473 + 20 +3.591862204724409 + 30 +0.0 + 10 +7.280165354330709 + 20 +3.594472440944882 + 30 +0.0 + 10 +7.272110236220472 + 20 +3.599696850393701 + 30 +0.0 + 10 +7.272110236220472 + 20 +3.599696850393701 + 30 +0.0 + 10 +7.264055118110236 + 20 +3.604944881889764 + 30 +0.0 + 10 +7.257917322834646 + 20 +3.612527559055118 + 30 +0.0 + 10 +7.253720472440945 + 20 +3.622444881889764 + 30 +0.0 + 10 +7.253720472440945 + 20 +3.622444881889764 + 30 +0.0 + 10 +7.249527559055118 + 20 +3.632389763779527 + 30 +0.0 + 10 +7.247417322834646 + 20 +3.643055118110236 + 30 +0.0 + 10 +7.247417322834646 + 20 +3.654444881889764 + 30 +0.0 + 10 +7.247417322834646 + 20 +3.654444881889764 + 30 +0.0 + 10 +7.247417322834646 + 20 +3.666862204724409 + 30 +0.0 + 10 +7.249775590551181 + 20 +3.677692913385827 + 30 +0.0 + 10 +7.254527559055118 + 20 +3.686944881889764 + 30 +0.0 + 10 +7.254527559055118 + 20 +3.686944881889764 + 30 +0.0 + 10 +7.259275590551181 + 20 +3.696192913385827 + 30 +0.0 + 10 +7.266027559055118 + 20 +3.703220472440945 + 30 +0.0 + 10 +7.274803149606299 + 20 +3.708027559055118 + 30 +0.0 + 10 +7.274803149606299 + 20 +3.708027559055118 + 30 +0.0 + 10 +7.283555118110236 + 20 +3.712834645669291 + 30 +0.0 + 10 +7.293192913385827 + 20 +3.715220472440945 + 30 +0.0 + 10 +7.303720472440945 + 20 +3.715220472440945 + 30 +0.0 + 10 +7.303720472440945 + 20 +3.715220472440945 + 30 +0.0 + 10 +7.315665354330709 + 20 +3.715220472440945 + 30 +0.0 + 10 +7.325692913385827 + 20 +3.712192913385827 + 30 +0.0 + 10 +7.333830708661417 + 20 +3.706110236220472 + 30 +0.0 + 10 +7.333830708661417 + 20 +3.706110236220472 + 30 +0.0 + 10 +7.341972440944882 + 20 +3.700027559055118 + 30 +0.0 + 10 +7.347637795275591 + 20 +3.6915 + 30 +0.0 + 10 +7.350830708661418 + 20 +3.680472440944882 + 30 +0.0 + 10 +7.350830708661418 + 20 +3.680472440944882 + 30 +0.0 + 10 +7.350830708661418 + 20 +3.680472440944882 + 30 +0.0 + 10 +7.335303149606299 + 20 +3.676807086614173 + 30 +0.0 + 10 +7.335303149606299 + 20 +3.676807086614173 + 30 +0.0 + 10 +7.335303149606299 + 20 +3.676807086614173 + 30 +0.0 + 10 +7.332527559055118 + 20 +3.6855 + 30 +0.0 + 10 +7.328527559055118 + 20 +3.691807086614173 + 30 +0.0 + 10 +7.323248031496063 + 20 +3.695779527559055 + 30 +0.0 + 10 +7.323248031496063 + 20 +3.695779527559055 + 30 +0.0 + 10 +7.318 + 20 +3.699751968503937 + 30 +0.0 + 10 +7.311385826771653 + 20 +3.701720472440945 + 30 +0.0 + 10 +7.303385826771653 + 20 +3.701720472440945 + 30 +0.0 + 10 +7.303385826771653 + 20 +3.701720472440945 + 30 +0.0 + 10 +7.294220472440945 + 20 +3.701720472440945 + 30 +0.0 + 10 +7.286582677165354 + 20 +3.699527559055118 + 30 +0.0 + 10 +7.280417322834646 + 20 +3.695137795275591 + 30 +0.0 + 10 +7.280417322834646 + 20 +3.695137795275591 + 30 +0.0 + 10 +7.274248031496063 + 20 +3.690720472440945 + 30 +0.0 + 10 +7.269917322834646 + 20 +3.684834645669291 + 30 +0.0 + 10 +7.267444881889764 + 20 +3.677417322834646 + 30 +0.0 + 10 +7.267444881889764 + 20 +3.677417322834646 + 30 +0.0 + 10 +7.264944881889764 + 20 +3.670027559055118 + 30 +0.0 + 10 +7.263692913385826 + 20 +3.662389763779528 + 30 +0.0 + 10 +7.263692913385826 + 20 +3.654527559055118 + 30 +0.0 + 10 +7.263692913385826 + 20 +3.654527559055118 + 30 +0.0 + 10 +7.263692913385826 + 20 +3.64436220472441 + 30 +0.0 + 10 +7.265165354330708 + 20 +3.635527559055118 + 30 +0.0 + 10 +7.268110236220473 + 20 +3.627944881889764 + 30 +0.0 + 10 +7.268110236220473 + 20 +3.627944881889764 + 30 +0.0 + 10 +7.271082677165355 + 20 +3.620389763779527 + 30 +0.0 + 10 +7.275665354330709 + 20 +3.614724409448819 + 30 +0.0 + 10 +7.281917322834646 + 20 +3.610972440944882 + 30 +0.0 + 10 +7.281917322834646 + 20 +3.610972440944882 + 30 +0.0 + 10 +7.288165354330709 + 20 +3.607224409448819 + 30 +0.0 + 10 +7.294917322834646 + 20 +3.605362204724409 + 30 +0.0 + 10 +7.302192913385827 + 20 +3.605362204724409 + 30 +0.0 + 10 +7.302192913385827 + 20 +3.605362204724409 + 30 +0.0 + 10 +7.311027559055118 + 20 +3.605362204724409 + 30 +0.0 + 10 +7.3185 + 20 +3.607917322834646 + 30 +0.0 + 10 +7.32463779527559 + 20 +3.613 + 30 +0.0 + 10 +7.32463779527559 + 20 +3.613 + 30 +0.0 + 10 +7.330775590551181 + 20 +3.618110236220472 + 30 +0.0 + 10 +7.334913385826772 + 20 +3.625696850393701 + 30 +0.0 + 10 +7.337082677165355 + 20 +3.635724409448819 + 30 +0.0 + 0 +SPLINE + 5 +261 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 72 + 73 + 68 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.370468503937007 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.670389763779528 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.670389763779528 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.670389763779528 + 30 +0.0 + 10 +7.39194094488189 + 20 +3.678307086614173 + 30 +0.0 + 10 +7.400578740157481 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.410996062992126 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.410996062992126 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.417385826771653 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.42294094488189 + 20 +3.681 + 30 +0.0 + 10 +7.427661417322835 + 20 +3.678472440944882 + 30 +0.0 + 10 +7.427661417322835 + 20 +3.678472440944882 + 30 +0.0 + 10 +7.432385826771654 + 20 +3.675972440944882 + 30 +0.0 + 10 +7.435771653543307 + 20 +3.672472440944882 + 30 +0.0 + 10 +7.4378031496063 + 20 +3.668027559055118 + 30 +0.0 + 10 +7.4378031496063 + 20 +3.668027559055118 + 30 +0.0 + 10 +7.439830708661417 + 20 +3.663582677165354 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.657110236220472 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.648665354330709 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.648665354330709 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.648665354330709 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.440858267716536 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.648665354330709 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.648665354330709 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.648665354330709 + 30 +0.0 + 10 +7.426188976377952 + 20 +3.655972440944882 + 30 +0.0 + 10 +7.424606299212599 + 20 +3.661307086614173 + 30 +0.0 + 10 +7.42144094488189 + 20 +3.664637795275591 + 30 +0.0 + 10 +7.42144094488189 + 20 +3.664637795275591 + 30 +0.0 + 10 +7.418271653543307 + 20 +3.667972440944882 + 30 +0.0 + 10 +7.413775590551182 + 20 +3.669665354330709 + 30 +0.0 + 10 +7.407968503937008 + 20 +3.669665354330709 + 30 +0.0 + 10 +7.407968503937008 + 20 +3.669665354330709 + 30 +0.0 + 10 +7.403633858267717 + 20 +3.669665354330709 + 30 +0.0 + 10 +7.399551181102362 + 20 +3.668527559055118 + 30 +0.0 + 10 +7.395716535433071 + 20 +3.666279527559055 + 30 +0.0 + 10 +7.395716535433071 + 20 +3.666279527559055 + 30 +0.0 + 10 +7.391885826771653 + 20 +3.664027559055118 + 30 +0.0 + 10 +7.389161417322835 + 20 +3.660972440944882 + 30 +0.0 + 10 +7.387551181102363 + 20 +3.657110236220472 + 30 +0.0 + 10 +7.387551181102363 + 20 +3.657110236220472 + 30 +0.0 + 10 +7.385913385826772 + 20 +3.653279527559055 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.647944881889764 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.641165354330709 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.641165354330709 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.641165354330709 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.385106299212598 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.370468503937007 + 20 +3.593889763779528 + 30 +0.0 + 0 +SPLINE + 5 +262 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.463216535433071 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.713192913385827 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.696334645669291 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.696334645669291 + 30 +0.0 + 0 +SPLINE + 5 +263 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.463216535433071 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.477881889763779 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.463216535433071 + 20 +3.593889763779528 + 30 +0.0 + 0 +SPLINE + 5 +264 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.500188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.680307086614173 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.668027559055118 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.668027559055118 + 30 +0.0 + 10 +7.513354330708661 + 20 +3.668027559055118 + 30 +0.0 + 10 +7.519716535433071 + 20 +3.677527559055118 + 30 +0.0 + 10 +7.528881889763779 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.540854330708662 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.540854330708662 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.546078740157481 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.550854330708662 + 20 +3.681334645669291 + 30 +0.0 + 10 +7.555216535433071 + 20 +3.679472440944882 + 30 +0.0 + 10 +7.555216535433071 + 20 +3.679472440944882 + 30 +0.0 + 10 +7.559606299212598 + 20 +3.677582677165354 + 30 +0.0 + 10 +7.562854330708661 + 20 +3.675137795275591 + 30 +0.0 + 10 +7.565023622047244 + 20 +3.672082677165355 + 30 +0.0 + 10 +7.565023622047244 + 20 +3.672082677165355 + 30 +0.0 + 10 +7.56721653543307 + 20 +3.669055118110236 + 30 +0.0 + 10 +7.568716535433071 + 20 +3.665444881889764 + 30 +0.0 + 10 +7.569606299212598 + 20 +3.661279527559055 + 30 +0.0 + 10 +7.569606299212598 + 20 +3.661279527559055 + 30 +0.0 + 10 +7.570133858267717 + 20 +3.658555118110236 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.653807086614173 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.647027559055118 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.647027559055118 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.647027559055118 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.570409448818897 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.646472440944882 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.646472440944882 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.646472440944882 + 30 +0.0 + 10 +7.555744094488189 + 20 +3.652417322834645 + 30 +0.0 + 10 +7.555188976377953 + 20 +3.656889763779528 + 30 +0.0 + 10 +7.554051181102362 + 20 +3.659862204724409 + 30 +0.0 + 10 +7.554051181102362 + 20 +3.659862204724409 + 30 +0.0 + 10 +7.552909448818897 + 20 +3.662807086614173 + 30 +0.0 + 10 +7.550881889763779 + 20 +3.665165354330709 + 30 +0.0 + 10 +7.547992125984252 + 20 +3.666917322834646 + 30 +0.0 + 10 +7.547992125984252 + 20 +3.666917322834646 + 30 +0.0 + 10 +7.54507874015748 + 20 +3.668692913385827 + 30 +0.0 + 10 +7.541688976377952 + 20 +3.669582677165354 + 30 +0.0 + 10 +7.537771653543307 + 20 +3.669582677165354 + 30 +0.0 + 10 +7.537771653543307 + 20 +3.669582677165354 + 30 +0.0 + 10 +7.531523622047244 + 20 +3.669582677165354 + 30 +0.0 + 10 +7.526161417322835 + 20 +3.667582677165354 + 30 +0.0 + 10 +7.521606299212598 + 20 +3.663637795275591 + 30 +0.0 + 10 +7.521606299212598 + 20 +3.663637795275591 + 30 +0.0 + 10 +7.51707874015748 + 20 +3.659665354330709 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.652165354330709 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.641082677165354 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.641082677165354 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.641082677165354 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.514826771653543 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.593889763779528 + 30 +0.0 + 10 +7.500188976377952 + 20 +3.593889763779528 + 30 +0.0 + 0 +SPLINE + 5 +265 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.65201968503937 + 20 +3.621724409448819 + 30 +0.0 + 10 +7.65201968503937 + 20 +3.621724409448819 + 30 +0.0 + 10 +7.667157480314961 + 20 +3.619862204724409 + 30 +0.0 + 10 +7.667157480314961 + 20 +3.619862204724409 + 30 +0.0 + 10 +7.667157480314961 + 20 +3.619862204724409 + 30 +0.0 + 10 +7.664771653543307 + 20 +3.611 + 30 +0.0 + 10 +7.660354330708661 + 20 +3.60413779527559 + 30 +0.0 + 10 +7.653909448818897 + 20 +3.599251968503937 + 30 +0.0 + 10 +7.653909448818897 + 20 +3.599251968503937 + 30 +0.0 + 10 +7.647437007874016 + 20 +3.594389763779528 + 30 +0.0 + 10 +7.639185039370079 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.62915748031496 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.62915748031496 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.61651968503937 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.606492125984252 + 20 +3.595834645669291 + 30 +0.0 + 10 +7.599102362204724 + 20 +3.603610236220472 + 30 +0.0 + 10 +7.599102362204724 + 20 +3.603610236220472 + 30 +0.0 + 10 +7.591688976377953 + 20 +3.611389763779528 + 30 +0.0 + 10 +7.587992125984252 + 20 +3.622307086614173 + 30 +0.0 + 10 +7.587992125984252 + 20 +3.63636220472441 + 30 +0.0 + 10 +7.587992125984252 + 20 +3.63636220472441 + 30 +0.0 + 10 +7.587992125984252 + 20 +3.650917322834646 + 30 +0.0 + 10 +7.591744094488189 + 20 +3.662192913385827 + 30 +0.0 + 10 +7.599216535433071 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.599216535433071 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.606716535433071 + 20 +3.678251968503937 + 30 +0.0 + 10 +7.616409448818898 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.628354330708661 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.628354330708661 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.639909448818898 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.649354330708661 + 20 +3.678334645669291 + 30 +0.0 + 10 +7.65665748031496 + 20 +3.670472440944882 + 30 +0.0 + 10 +7.65665748031496 + 20 +3.670472440944882 + 30 +0.0 + 10 +7.663992125984252 + 20 +3.662610236220472 + 30 +0.0 + 10 +7.66765748031496 + 20 +3.651527559055118 + 30 +0.0 + 10 +7.66765748031496 + 20 +3.637279527559055 + 30 +0.0 + 10 +7.66765748031496 + 20 +3.637279527559055 + 30 +0.0 + 10 +7.66765748031496 + 20 +3.636389763779527 + 30 +0.0 + 10 +7.667629921259842 + 20 +3.635082677165354 + 30 +0.0 + 10 +7.667574803149606 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.667574803149606 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.667574803149606 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.603129921259843 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.603129921259843 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.603129921259843 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.603661417322835 + 20 +3.623862204724409 + 30 +0.0 + 10 +7.606354330708662 + 20 +3.616582677165354 + 30 +0.0 + 10 +7.611188976377953 + 20 +3.611555118110236 + 30 +0.0 + 10 +7.611188976377953 + 20 +3.611555118110236 + 30 +0.0 + 10 +7.61601968503937 + 20 +3.6065 + 30 +0.0 + 10 +7.62201968503937 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.629244094488189 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.629244094488189 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.634602362204724 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.639185039370079 + 20 +3.605389763779527 + 30 +0.0 + 10 +7.642992125984252 + 20 +3.608224409448819 + 30 +0.0 + 10 +7.642992125984252 + 20 +3.608224409448819 + 30 +0.0 + 10 +7.646799212598425 + 20 +3.611027559055118 + 30 +0.0 + 10 +7.649799212598425 + 20 +3.615527559055118 + 30 +0.0 + 10 +7.65201968503937 + 20 +3.621724409448819 + 30 +0.0 + 0 +SPLINE + 5 +266 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.603937007874015 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.603937007874015 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.652185039370079 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.652185039370079 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.652185039370079 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.651547244094488 + 20 +3.652665354330709 + 30 +0.0 + 10 +7.649685039370079 + 20 +3.658137795275591 + 30 +0.0 + 10 +7.646657480314961 + 20 +3.661751968503937 + 30 +0.0 + 10 +7.646657480314961 + 20 +3.661751968503937 + 30 +0.0 + 10 +7.641992125984252 + 20 +3.667389763779528 + 30 +0.0 + 10 +7.635937007874015 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.62851968503937 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.62851968503937 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.621799212598425 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.616129921259843 + 20 +3.667972440944882 + 30 +0.0 + 10 +7.611547244094488 + 20 +3.663472440944882 + 30 +0.0 + 10 +7.611547244094488 + 20 +3.663472440944882 + 30 +0.0 + 10 +7.606964566929133 + 20 +3.658972440944882 + 30 +0.0 + 10 +7.604437007874016 + 20 +3.652944881889764 + 30 +0.0 + 10 +7.603937007874015 + 20 +3.645417322834646 + 30 +0.0 + 0 +SPLINE + 5 +267 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.679712598425197 + 20 +3.619696850393701 + 30 +0.0 + 10 +7.679712598425197 + 20 +3.619696850393701 + 30 +0.0 + 10 +7.694185039370079 + 20 +3.621972440944882 + 30 +0.0 + 10 +7.694185039370079 + 20 +3.621972440944882 + 30 +0.0 + 10 +7.694185039370079 + 20 +3.621972440944882 + 30 +0.0 + 10 +7.694992125984252 + 20 +3.616169291338583 + 30 +0.0 + 10 +7.697267716535433 + 20 +3.611724409448819 + 30 +0.0 + 10 +7.700992125984252 + 20 +3.608610236220473 + 30 +0.0 + 10 +7.700992125984252 + 20 +3.608610236220473 + 30 +0.0 + 10 +7.704685039370078 + 20 +3.605527559055118 + 30 +0.0 + 10 +7.709881889763779 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.716574803149606 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.716574803149606 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.723295275590552 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.728295275590551 + 20 +3.605362204724409 + 30 +0.0 + 10 +7.731547244094489 + 20 +3.608082677165354 + 30 +0.0 + 10 +7.731547244094489 + 20 +3.608082677165354 + 30 +0.0 + 10 +7.734795275590551 + 20 +3.610834645669291 + 30 +0.0 + 10 +7.736437007874016 + 20 +3.614055118110236 + 30 +0.0 + 10 +7.736437007874016 + 20 +3.617724409448819 + 30 +0.0 + 10 +7.736437007874016 + 20 +3.617724409448819 + 30 +0.0 + 10 +7.736437007874016 + 20 +3.621055118110236 + 30 +0.0 + 10 +7.734992125984252 + 20 +3.623637795275591 + 30 +0.0 + 10 +7.732102362204724 + 20 +3.625555118110236 + 30 +0.0 + 10 +7.732102362204724 + 20 +3.625555118110236 + 30 +0.0 + 10 +7.730102362204724 + 20 +3.626862204724409 + 30 +0.0 + 10 +7.725102362204725 + 20 +3.6285 + 30 +0.0 + 10 +7.717129921259843 + 20 +3.6305 + 30 +0.0 + 10 +7.717129921259843 + 20 +3.6305 + 30 +0.0 + 10 +7.706409448818897 + 20 +3.633224409448819 + 30 +0.0 + 10 +7.698937007874016 + 20 +3.635555118110236 + 30 +0.0 + 10 +7.694795275590551 + 20 +3.637555118110236 + 30 +0.0 + 10 +7.694795275590551 + 20 +3.637555118110236 + 30 +0.0 + 10 +7.690657480314961 + 20 +3.639527559055118 + 30 +0.0 + 10 +7.687492125984252 + 20 +3.642279527559055 + 30 +0.0 + 10 +7.685354330708662 + 20 +3.645779527559055 + 30 +0.0 + 10 +7.685354330708662 + 20 +3.645779527559055 + 30 +0.0 + 10 +7.683212598425197 + 20 +3.649279527559055 + 30 +0.0 + 10 +7.682129921259842 + 20 +3.65313779527559 + 30 +0.0 + 10 +7.682129921259842 + 20 +3.657362204724409 + 30 +0.0 + 10 +7.682129921259842 + 20 +3.657362204724409 + 30 +0.0 + 10 +7.682129921259842 + 20 +3.661224409448819 + 30 +0.0 + 10 +7.68301968503937 + 20 +3.664779527559055 + 30 +0.0 + 10 +7.684795275590552 + 20 +3.668055118110236 + 30 +0.0 + 10 +7.684795275590552 + 20 +3.668055118110236 + 30 +0.0 + 10 +7.686547244094488 + 20 +3.67136220472441 + 30 +0.0 + 10 +7.688964566929134 + 20 +3.674082677165354 + 30 +0.0 + 10 +7.691992125984252 + 20 +3.676251968503937 + 30 +0.0 + 10 +7.691992125984252 + 20 +3.676251968503937 + 30 +0.0 + 10 +7.694267716535433 + 20 +3.677917322834646 + 30 +0.0 + 10 +7.697381889763779 + 20 +3.67936220472441 + 30 +0.0 + 10 +7.701295275590551 + 20 +3.680527559055118 + 30 +0.0 + 10 +7.701295275590551 + 20 +3.680527559055118 + 30 +0.0 + 10 +7.705240157480315 + 20 +3.681692913385827 + 30 +0.0 + 10 +7.709464566929134 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.713964566929134 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.713964566929134 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.720740157480315 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.726685039370079 + 20 +3.681279527559055 + 30 +0.0 + 10 +7.731822834645669 + 20 +3.679334645669291 + 30 +0.0 + 10 +7.731822834645669 + 20 +3.679334645669291 + 30 +0.0 + 10 +7.736964566929134 + 20 +3.677389763779527 + 30 +0.0 + 10 +7.740740157480315 + 20 +3.674751968503937 + 30 +0.0 + 10 +7.743185039370079 + 20 +3.671417322834646 + 30 +0.0 + 10 +7.743185039370079 + 20 +3.671417322834646 + 30 +0.0 + 10 +7.745629921259843 + 20 +3.668055118110236 + 30 +0.0 + 10 +7.747295275590552 + 20 +3.663610236220472 + 30 +0.0 + 10 +7.748212598425197 + 20 +3.658027559055118 + 30 +0.0 + 10 +7.748212598425197 + 20 +3.658027559055118 + 30 +0.0 + 10 +7.748212598425197 + 20 +3.658027559055118 + 30 +0.0 + 10 +7.733909448818897 + 20 +3.656055118110236 + 30 +0.0 + 10 +7.733909448818897 + 20 +3.656055118110236 + 30 +0.0 + 10 +7.733909448818897 + 20 +3.656055118110236 + 30 +0.0 + 10 +7.733240157480315 + 20 +3.6605 + 30 +0.0 + 10 +7.731350393700787 + 20 +3.663972440944882 + 30 +0.0 + 10 +7.728240157480315 + 20 +3.666472440944882 + 30 +0.0 + 10 +7.728240157480315 + 20 +3.666472440944882 + 30 +0.0 + 10 +7.725129921259843 + 20 +3.668972440944882 + 30 +0.0 + 10 +7.720712598425197 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.71501968503937 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.71501968503937 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.708295275590551 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.703492125984252 + 20 +3.669110236220472 + 30 +0.0 + 10 +7.700629921259843 + 20 +3.666889763779527 + 30 +0.0 + 10 +7.700629921259843 + 20 +3.666889763779527 + 30 +0.0 + 10 +7.697740157480315 + 20 +3.664665354330709 + 30 +0.0 + 10 +7.696295275590551 + 20 +3.662055118110236 + 30 +0.0 + 10 +7.696295275590551 + 20 +3.659082677165354 + 30 +0.0 + 10 +7.696295275590551 + 20 +3.659082677165354 + 30 +0.0 + 10 +7.696295275590551 + 20 +3.657165354330709 + 30 +0.0 + 10 +7.696909448818897 + 20 +3.655472440944882 + 30 +0.0 + 10 +7.698102362204724 + 20 +3.653944881889764 + 30 +0.0 + 10 +7.698102362204724 + 20 +3.653944881889764 + 30 +0.0 + 10 +7.699295275590551 + 20 +3.65236220472441 + 30 +0.0 + 10 +7.701157480314961 + 20 +3.651082677165354 + 30 +0.0 + 10 +7.703712598425197 + 20 +3.650027559055118 + 30 +0.0 + 10 +7.703712598425197 + 20 +3.650027559055118 + 30 +0.0 + 10 +7.705185039370079 + 20 +3.6495 + 30 +0.0 + 10 +7.709492125984252 + 20 +3.648251968503937 + 30 +0.0 + 10 +7.716657480314961 + 20 +3.646307086614173 + 30 +0.0 + 10 +7.716657480314961 + 20 +3.646307086614173 + 30 +0.0 + 10 +7.72701968503937 + 20 +3.643527559055118 + 30 +0.0 + 10 +7.734240157480315 + 20 +3.641279527559055 + 30 +0.0 + 10 +7.738322834645669 + 20 +3.6395 + 30 +0.0 + 10 +7.738322834645669 + 20 +3.6395 + 30 +0.0 + 10 +7.742437007874016 + 20 +3.637751968503937 + 30 +0.0 + 10 +7.745657480314961 + 20 +3.635165354330709 + 30 +0.0 + 10 +7.747992125984252 + 20 +3.631807086614173 + 30 +0.0 + 10 +7.747992125984252 + 20 +3.631807086614173 + 30 +0.0 + 10 +7.75032283464567 + 20 +3.628444881889764 + 30 +0.0 + 10 +7.751492125984252 + 20 +3.624279527559055 + 30 +0.0 + 10 +7.751492125984252 + 20 +3.619279527559055 + 30 +0.0 + 10 +7.751492125984252 + 20 +3.619279527559055 + 30 +0.0 + 10 +7.751492125984252 + 20 +3.614389763779528 + 30 +0.0 + 10 +7.750047244094488 + 20 +3.609807086614173 + 30 +0.0 + 10 +7.747212598425197 + 20 +3.605472440944882 + 30 +0.0 + 10 +7.747212598425197 + 20 +3.605472440944882 + 30 +0.0 + 10 +7.744350393700787 + 20 +3.601169291338583 + 30 +0.0 + 10 +7.740240157480315 + 20 +3.597834645669291 + 30 +0.0 + 10 +7.734877952755905 + 20 +3.595472440944882 + 30 +0.0 + 10 +7.734877952755905 + 20 +3.595472440944882 + 30 +0.0 + 10 +7.72951968503937 + 20 +3.593110236220472 + 30 +0.0 + 10 +7.723437007874016 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.716657480314961 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.716657480314961 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.705409448818898 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.696854330708661 + 20 +3.594279527559055 + 30 +0.0 + 10 +7.690964566929134 + 20 +3.598944881889764 + 30 +0.0 + 10 +7.690964566929134 + 20 +3.598944881889764 + 30 +0.0 + 10 +7.685074803149607 + 20 +3.603610236220472 + 30 +0.0 + 10 +7.68132283464567 + 20 +3.610527559055118 + 30 +0.0 + 10 +7.679712598425197 + 20 +3.619696850393701 + 30 +0.0 + 0 +SPLINE + 5 +268 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.828047244094488 + 20 +3.621724409448819 + 30 +0.0 + 10 +7.828047244094488 + 20 +3.621724409448819 + 30 +0.0 + 10 +7.843185039370079 + 20 +3.619862204724409 + 30 +0.0 + 10 +7.843185039370079 + 20 +3.619862204724409 + 30 +0.0 + 10 +7.843185039370079 + 20 +3.619862204724409 + 30 +0.0 + 10 +7.840799212598426 + 20 +3.611 + 30 +0.0 + 10 +7.836381889763779 + 20 +3.60413779527559 + 30 +0.0 + 10 +7.829937007874015 + 20 +3.599251968503937 + 30 +0.0 + 10 +7.829937007874015 + 20 +3.599251968503937 + 30 +0.0 + 10 +7.823464566929134 + 20 +3.594389763779528 + 30 +0.0 + 10 +7.815212598425197 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.805185039370079 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.805185039370079 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.792547244094489 + 20 +3.591944881889764 + 30 +0.0 + 10 +7.78251968503937 + 20 +3.595834645669291 + 30 +0.0 + 10 +7.775129921259842 + 20 +3.603610236220472 + 30 +0.0 + 10 +7.775129921259842 + 20 +3.603610236220472 + 30 +0.0 + 10 +7.767716535433071 + 20 +3.611389763779528 + 30 +0.0 + 10 +7.76401968503937 + 20 +3.622307086614173 + 30 +0.0 + 10 +7.76401968503937 + 20 +3.63636220472441 + 30 +0.0 + 10 +7.76401968503937 + 20 +3.63636220472441 + 30 +0.0 + 10 +7.76401968503937 + 20 +3.650917322834646 + 30 +0.0 + 10 +7.767771653543307 + 20 +3.662192913385827 + 30 +0.0 + 10 +7.775244094488189 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.775244094488189 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.782744094488189 + 20 +3.678251968503937 + 30 +0.0 + 10 +7.792437007874016 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.804381889763779 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.804381889763779 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.815937007874016 + 20 +3.682279527559055 + 30 +0.0 + 10 +7.825381889763779 + 20 +3.678334645669291 + 30 +0.0 + 10 +7.832685039370078 + 20 +3.670472440944882 + 30 +0.0 + 10 +7.832685039370078 + 20 +3.670472440944882 + 30 +0.0 + 10 +7.84001968503937 + 20 +3.662610236220472 + 30 +0.0 + 10 +7.843685039370079 + 20 +3.651527559055118 + 30 +0.0 + 10 +7.843685039370079 + 20 +3.637279527559055 + 30 +0.0 + 10 +7.843685039370079 + 20 +3.637279527559055 + 30 +0.0 + 10 +7.843685039370079 + 20 +3.636389763779527 + 30 +0.0 + 10 +7.843657480314961 + 20 +3.635082677165354 + 30 +0.0 + 10 +7.843602362204725 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.843602362204725 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.843602362204725 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.779157480314961 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.779157480314961 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.779157480314961 + 20 +3.633362204724409 + 30 +0.0 + 10 +7.779688976377953 + 20 +3.623862204724409 + 30 +0.0 + 10 +7.782381889763779 + 20 +3.616582677165354 + 30 +0.0 + 10 +7.787216535433071 + 20 +3.611555118110236 + 30 +0.0 + 10 +7.787216535433071 + 20 +3.611555118110236 + 30 +0.0 + 10 +7.792047244094488 + 20 +3.6065 + 30 +0.0 + 10 +7.798047244094488 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.805271653543307 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.805271653543307 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.810629921259842 + 20 +3.603972440944882 + 30 +0.0 + 10 +7.815212598425197 + 20 +3.605389763779527 + 30 +0.0 + 10 +7.81901968503937 + 20 +3.608224409448819 + 30 +0.0 + 10 +7.81901968503937 + 20 +3.608224409448819 + 30 +0.0 + 10 +7.822826771653543 + 20 +3.611027559055118 + 30 +0.0 + 10 +7.825826771653543 + 20 +3.615527559055118 + 30 +0.0 + 10 +7.828047244094488 + 20 +3.621724409448819 + 30 +0.0 + 0 +SPLINE + 5 +269 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.779964566929134 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.779964566929134 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.828212598425197 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.828212598425197 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.828212598425197 + 20 +3.645417322834646 + 30 +0.0 + 10 +7.827574803149607 + 20 +3.652665354330709 + 30 +0.0 + 10 +7.825712598425197 + 20 +3.658137795275591 + 30 +0.0 + 10 +7.822685039370079 + 20 +3.661751968503937 + 30 +0.0 + 10 +7.822685039370079 + 20 +3.661751968503937 + 30 +0.0 + 10 +7.81801968503937 + 20 +3.667389763779528 + 30 +0.0 + 10 +7.811964566929134 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.804547244094488 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.804547244094488 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.797826771653543 + 20 +3.670224409448819 + 30 +0.0 + 10 +7.792157480314961 + 20 +3.667972440944882 + 30 +0.0 + 10 +7.787574803149607 + 20 +3.663472440944882 + 30 +0.0 + 10 +7.787574803149607 + 20 +3.663472440944882 + 30 +0.0 + 10 +7.782992125984252 + 20 +3.658972440944882 + 30 +0.0 + 10 +7.780464566929134 + 20 +3.652944881889764 + 30 +0.0 + 10 +7.779964566929134 + 20 +3.645417322834646 + 30 +0.0 + 0 +SPLINE + 5 +26A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.252444881889764 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.527 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.527 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.527 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.527 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.478 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.527 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.527 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.527 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.527 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.527 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.346055118110236 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.330248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.463917322834646 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.268248031496063 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.252444881889764 + 20 +3.407696850393701 + 30 +0.0 + 0 +SPLINE + 5 +26B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.45744094488189 + 20 +3.449531496062992 + 30 +0.0 + 10 +7.45744094488189 + 20 +3.449531496062992 + 30 +0.0 + 10 +7.473244094488189 + 20 +3.445531496062992 + 30 +0.0 + 10 +7.473244094488189 + 20 +3.445531496062992 + 30 +0.0 + 10 +7.473244094488189 + 20 +3.445531496062992 + 30 +0.0 + 10 +7.469940944881889 + 20 +3.432586614173228 + 30 +0.0 + 10 +7.463968503937008 + 20 +3.422696850393701 + 30 +0.0 + 10 +7.455385826771654 + 20 +3.41586220472441 + 30 +0.0 + 10 +7.455385826771654 + 20 +3.41586220472441 + 30 +0.0 + 10 +7.446771653543308 + 20 +3.40905905511811 + 30 +0.0 + 10 +7.436271653543307 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.423830708661417 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.423830708661417 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.410968503937008 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.400523622047244 + 20 +3.408279527559055 + 30 +0.0 + 10 +7.392468503937008 + 20 +3.413503937007874 + 30 +0.0 + 10 +7.392468503937008 + 20 +3.413503937007874 + 30 +0.0 + 10 +7.384413385826772 + 20 +3.418751968503937 + 30 +0.0 + 10 +7.378275590551181 + 20 +3.426334645669291 + 30 +0.0 + 10 +7.37407874015748 + 20 +3.436251968503937 + 30 +0.0 + 10 +7.37407874015748 + 20 +3.436251968503937 + 30 +0.0 + 10 +7.369885826771654 + 20 +3.446196850393701 + 30 +0.0 + 10 +7.367775590551181 + 20 +3.45686220472441 + 30 +0.0 + 10 +7.367775590551181 + 20 +3.468251968503937 + 30 +0.0 + 10 +7.367775590551181 + 20 +3.468251968503937 + 30 +0.0 + 10 +7.367775590551181 + 20 +3.480669291338583 + 30 +0.0 + 10 +7.370133858267716 + 20 +3.4915 + 30 +0.0 + 10 +7.374885826771654 + 20 +3.500751968503937 + 30 +0.0 + 10 +7.374885826771654 + 20 +3.500751968503937 + 30 +0.0 + 10 +7.379633858267717 + 20 +3.51 + 30 +0.0 + 10 +7.386385826771654 + 20 +3.517027559055118 + 30 +0.0 + 10 +7.395161417322835 + 20 +3.521834645669291 + 30 +0.0 + 10 +7.395161417322835 + 20 +3.521834645669291 + 30 +0.0 + 10 +7.403913385826772 + 20 +3.526641732283465 + 30 +0.0 + 10 +7.413551181102362 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.42407874015748 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.42407874015748 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.436023622047244 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.446051181102362 + 20 +3.526 + 30 +0.0 + 10 +7.454188976377953 + 20 +3.519917322834646 + 30 +0.0 + 10 +7.454188976377953 + 20 +3.519917322834646 + 30 +0.0 + 10 +7.462330708661417 + 20 +3.513834645669291 + 30 +0.0 + 10 +7.467996062992126 + 20 +3.505307086614173 + 30 +0.0 + 10 +7.471188976377952 + 20 +3.494279527559055 + 30 +0.0 + 10 +7.471188976377952 + 20 +3.494279527559055 + 30 +0.0 + 10 +7.471188976377952 + 20 +3.494279527559055 + 30 +0.0 + 10 +7.455661417322835 + 20 +3.490614173228347 + 30 +0.0 + 10 +7.455661417322835 + 20 +3.490614173228347 + 30 +0.0 + 10 +7.455661417322835 + 20 +3.490614173228347 + 30 +0.0 + 10 +7.452885826771653 + 20 +3.499307086614173 + 30 +0.0 + 10 +7.448885826771654 + 20 +3.505614173228346 + 30 +0.0 + 10 +7.443606299212599 + 20 +3.509586614173228 + 30 +0.0 + 10 +7.443606299212599 + 20 +3.509586614173228 + 30 +0.0 + 10 +7.438358267716535 + 20 +3.51355905511811 + 30 +0.0 + 10 +7.431744094488189 + 20 +3.515527559055118 + 30 +0.0 + 10 +7.423744094488189 + 20 +3.515527559055118 + 30 +0.0 + 10 +7.423744094488189 + 20 +3.515527559055118 + 30 +0.0 + 10 +7.414578740157481 + 20 +3.515527559055118 + 30 +0.0 + 10 +7.40694094488189 + 20 +3.513334645669291 + 30 +0.0 + 10 +7.400775590551181 + 20 +3.508944881889764 + 30 +0.0 + 10 +7.400775590551181 + 20 +3.508944881889764 + 30 +0.0 + 10 +7.394606299212598 + 20 +3.504527559055118 + 30 +0.0 + 10 +7.390275590551181 + 20 +3.498641732283465 + 30 +0.0 + 10 +7.387803149606299 + 20 +3.491224409448819 + 30 +0.0 + 10 +7.387803149606299 + 20 +3.491224409448819 + 30 +0.0 + 10 +7.385303149606299 + 20 +3.483834645669291 + 30 +0.0 + 10 +7.384051181102362 + 20 +3.476196850393701 + 30 +0.0 + 10 +7.384051181102362 + 20 +3.468334645669291 + 30 +0.0 + 10 +7.384051181102362 + 20 +3.468334645669291 + 30 +0.0 + 10 +7.384051181102362 + 20 +3.458169291338583 + 30 +0.0 + 10 +7.385523622047244 + 20 +3.449334645669291 + 30 +0.0 + 10 +7.388468503937008 + 20 +3.441751968503937 + 30 +0.0 + 10 +7.388468503937008 + 20 +3.441751968503937 + 30 +0.0 + 10 +7.391440944881889 + 20 +3.434196850393701 + 30 +0.0 + 10 +7.396023622047244 + 20 +3.428531496062992 + 30 +0.0 + 10 +7.402275590551181 + 20 +3.424779527559055 + 30 +0.0 + 10 +7.402275590551181 + 20 +3.424779527559055 + 30 +0.0 + 10 +7.408523622047244 + 20 +3.421031496062992 + 30 +0.0 + 10 +7.415275590551181 + 20 +3.419169291338583 + 30 +0.0 + 10 +7.422551181102362 + 20 +3.419169291338583 + 30 +0.0 + 10 +7.422551181102362 + 20 +3.419169291338583 + 30 +0.0 + 10 +7.431385826771653 + 20 +3.419169291338583 + 30 +0.0 + 10 +7.438858267716536 + 20 +3.421724409448819 + 30 +0.0 + 10 +7.444996062992126 + 20 +3.426807086614173 + 30 +0.0 + 10 +7.444996062992126 + 20 +3.426807086614173 + 30 +0.0 + 10 +7.451133858267717 + 20 +3.431917322834646 + 30 +0.0 + 10 +7.455271653543307 + 20 +3.439503937007874 + 30 +0.0 + 10 +7.45744094488189 + 20 +3.449531496062992 + 30 +0.0 + 0 +SPLINE + 5 +26C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.485106299212599 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.458224409448819 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.530133858267717 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.443503937007874 + 30 +0.0 + 10 +7.485106299212599 + 20 +3.443503937007874 + 30 +0.0 + 0 +SPLINE + 5 +26D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.542826771653544 + 20 +3.446031496062992 + 30 +0.0 + 10 +7.542826771653544 + 20 +3.446031496062992 + 30 +0.0 + 10 +7.55771653543307 + 20 +3.447334645669291 + 30 +0.0 + 10 +7.55771653543307 + 20 +3.447334645669291 + 30 +0.0 + 10 +7.55771653543307 + 20 +3.447334645669291 + 30 +0.0 + 10 +7.558409448818898 + 20 +3.441362204724409 + 30 +0.0 + 10 +7.560047244094489 + 20 +3.436472440944882 + 30 +0.0 + 10 +7.562633858267716 + 20 +3.432641732283464 + 30 +0.0 + 10 +7.562633858267716 + 20 +3.432641732283464 + 30 +0.0 + 10 +7.565216535433071 + 20 +3.428807086614173 + 30 +0.0 + 10 +7.569216535433071 + 20 +3.425724409448819 + 30 +0.0 + 10 +7.574633858267717 + 20 +3.423362204724409 + 30 +0.0 + 10 +7.574633858267717 + 20 +3.423362204724409 + 30 +0.0 + 10 +7.580047244094488 + 20 +3.421003937007874 + 30 +0.0 + 10 +7.586161417322835 + 20 +3.419834645669291 + 30 +0.0 + 10 +7.592937007874016 + 20 +3.419834645669291 + 30 +0.0 + 10 +7.592937007874016 + 20 +3.419834645669291 + 30 +0.0 + 10 +7.598964566929133 + 20 +3.419834645669291 + 30 +0.0 + 10 +7.604271653543307 + 20 +3.420724409448819 + 30 +0.0 + 10 +7.608881889763779 + 20 +3.422503937007874 + 30 +0.0 + 10 +7.608881889763779 + 20 +3.422503937007874 + 30 +0.0 + 10 +7.613492125984252 + 20 +3.424307086614173 + 30 +0.0 + 10 +7.616937007874016 + 20 +3.426751968503937 + 30 +0.0 + 10 +7.619188976377953 + 20 +3.429862204724409 + 30 +0.0 + 10 +7.619188976377953 + 20 +3.429862204724409 + 30 +0.0 + 10 +7.621437007874015 + 20 +3.433003937007874 + 30 +0.0 + 10 +7.622574803149607 + 20 +3.436389763779528 + 30 +0.0 + 10 +7.622574803149607 + 20 +3.440086614173228 + 30 +0.0 + 10 +7.622574803149607 + 20 +3.440086614173228 + 30 +0.0 + 10 +7.622574803149607 + 20 +3.443834645669291 + 30 +0.0 + 10 +7.621492125984252 + 20 +3.447086614173228 + 30 +0.0 + 10 +7.619299212598425 + 20 +3.449889763779527 + 30 +0.0 + 10 +7.619299212598425 + 20 +3.449889763779527 + 30 +0.0 + 10 +7.617129921259843 + 20 +3.452696850393701 + 30 +0.0 + 10 +7.613547244094488 + 20 +3.455031496062992 + 30 +0.0 + 10 +7.608574803149606 + 20 +3.456917322834645 + 30 +0.0 + 10 +7.608574803149606 + 20 +3.456917322834645 + 30 +0.0 + 10 +7.605354330708662 + 20 +3.458169291338583 + 30 +0.0 + 10 +7.598299212598425 + 20 +3.460114173228346 + 30 +0.0 + 10 +7.587326771653544 + 20 +3.462751968503937 + 30 +0.0 + 10 +7.587326771653544 + 20 +3.462751968503937 + 30 +0.0 + 10 +7.57638188976378 + 20 +3.465389763779528 + 30 +0.0 + 10 +7.568688976377953 + 20 +3.46786220472441 + 30 +0.0 + 10 +7.564299212598425 + 20 +3.470196850393701 + 30 +0.0 + 10 +7.564299212598425 + 20 +3.470196850393701 + 30 +0.0 + 10 +7.558606299212599 + 20 +3.473169291338583 + 30 +0.0 + 10 +7.554354330708661 + 20 +3.476889763779528 + 30 +0.0 + 10 +7.551547244094488 + 20 +3.481307086614173 + 30 +0.0 + 10 +7.551547244094488 + 20 +3.481307086614173 + 30 +0.0 + 10 +7.548771653543307 + 20 +3.485724409448819 + 30 +0.0 + 10 +7.54738188976378 + 20 +3.490669291338583 + 30 +0.0 + 10 +7.54738188976378 + 20 +3.496169291338583 + 30 +0.0 + 10 +7.54738188976378 + 20 +3.496169291338583 + 30 +0.0 + 10 +7.54738188976378 + 20 +3.502169291338582 + 30 +0.0 + 10 +7.549074803149606 + 20 +3.507807086614173 + 30 +0.0 + 10 +7.552492125984252 + 20 +3.513027559055118 + 30 +0.0 + 10 +7.552492125984252 + 20 +3.513027559055118 + 30 +0.0 + 10 +7.555909448818897 + 20 +3.518279527559055 + 30 +0.0 + 10 +7.560909448818897 + 20 +3.522251968503937 + 30 +0.0 + 10 +7.567464566929134 + 20 +3.524972440944882 + 30 +0.0 + 10 +7.567464566929134 + 20 +3.524972440944882 + 30 +0.0 + 10 +7.574047244094488 + 20 +3.527669291338583 + 30 +0.0 + 10 +7.581326771653544 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.589354330708662 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.589354330708662 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.598216535433071 + 20 +3.529027559055118 + 30 +0.0 + 10 +7.605992125984252 + 20 +3.527614173228347 + 30 +0.0 + 10 +7.612771653543307 + 20 +3.524751968503937 + 30 +0.0 + 10 +7.612771653543307 + 20 +3.524751968503937 + 30 +0.0 + 10 +7.61951968503937 + 20 +3.521917322834646 + 30 +0.0 + 10 +7.624716535433071 + 20 +3.517724409448819 + 30 +0.0 + 10 +7.628354330708661 + 20 +3.512196850393701 + 30 +0.0 + 10 +7.628354330708661 + 20 +3.512196850393701 + 30 +0.0 + 10 +7.631964566929134 + 20 +3.506669291338583 + 30 +0.0 + 10 +7.633937007874016 + 20 +3.500389763779527 + 30 +0.0 + 10 +7.634216535433071 + 20 +3.493389763779528 + 30 +0.0 + 10 +7.634216535433071 + 20 +3.493389763779528 + 30 +0.0 + 10 +7.634216535433071 + 20 +3.493389763779528 + 30 +0.0 + 10 +7.619074803149607 + 20 +3.492251968503937 + 30 +0.0 + 10 +7.619074803149607 + 20 +3.492251968503937 + 30 +0.0 + 10 +7.619074803149607 + 20 +3.492251968503937 + 30 +0.0 + 10 +7.618244094488189 + 20 +3.499779527559055 + 30 +0.0 + 10 +7.615492125984252 + 20 +3.5055 + 30 +0.0 + 10 +7.610799212598425 + 20 +3.509334645669291 + 30 +0.0 + 10 +7.610799212598425 + 20 +3.509334645669291 + 30 +0.0 + 10 +7.606102362204725 + 20 +3.513196850393701 + 30 +0.0 + 10 +7.599188976377953 + 20 +3.515114173228346 + 30 +0.0 + 10 +7.59001968503937 + 20 +3.515114173228346 + 30 +0.0 + 10 +7.59001968503937 + 20 +3.515114173228346 + 30 +0.0 + 10 +7.580464566929134 + 20 +3.515114173228346 + 30 +0.0 + 10 +7.57351968503937 + 20 +3.513362204724409 + 30 +0.0 + 10 +7.569133858267716 + 20 +3.509862204724409 + 30 +0.0 + 10 +7.569133858267716 + 20 +3.509862204724409 + 30 +0.0 + 10 +7.564771653543307 + 20 +3.50636220472441 + 30 +0.0 + 10 +7.562574803149606 + 20 +3.502141732283464 + 30 +0.0 + 10 +7.562574803149606 + 20 +3.497224409448819 + 30 +0.0 + 10 +7.562574803149606 + 20 +3.497224409448819 + 30 +0.0 + 10 +7.562574803149606 + 20 +3.492917322834646 + 30 +0.0 + 10 +7.564133858267716 + 20 +3.489389763779528 + 30 +0.0 + 10 +7.56721653543307 + 20 +3.486641732283465 + 30 +0.0 + 10 +7.56721653543307 + 20 +3.486641732283465 + 30 +0.0 + 10 +7.570271653543307 + 20 +3.48386220472441 + 30 +0.0 + 10 +7.578188976377953 + 20 +3.481031496062992 + 30 +0.0 + 10 +7.59101968503937 + 20 +3.478141732283464 + 30 +0.0 + 10 +7.59101968503937 + 20 +3.478141732283464 + 30 +0.0 + 10 +7.603854330708661 + 20 +3.475224409448819 + 30 +0.0 + 10 +7.612661417322835 + 20 +3.472696850393701 + 30 +0.0 + 10 +7.617437007874016 + 20 +3.470531496062992 + 30 +0.0 + 10 +7.617437007874016 + 20 +3.470531496062992 + 30 +0.0 + 10 +7.62438188976378 + 20 +3.467307086614173 + 30 +0.0 + 10 +7.62951968503937 + 20 +3.463251968503937 + 30 +0.0 + 10 +7.632826771653543 + 20 +3.45836220472441 + 30 +0.0 + 10 +7.632826771653543 + 20 +3.45836220472441 + 30 +0.0 + 10 +7.636129921259842 + 20 +3.453444881889764 + 30 +0.0 + 10 +7.637771653543307 + 20 +3.447779527559055 + 30 +0.0 + 10 +7.637771653543307 + 20 +3.441389763779528 + 30 +0.0 + 10 +7.637771653543307 + 20 +3.441389763779528 + 30 +0.0 + 10 +7.637771653543307 + 20 +3.435031496062992 + 30 +0.0 + 10 +7.635964566929134 + 20 +3.42905905511811 + 30 +0.0 + 10 +7.632326771653544 + 20 +3.423444881889764 + 30 +0.0 + 10 +7.632326771653544 + 20 +3.423444881889764 + 30 +0.0 + 10 +7.628688976377953 + 20 +3.417834645669291 + 30 +0.0 + 10 +7.623464566929134 + 20 +3.413476377952756 + 30 +0.0 + 10 +7.616661417322835 + 20 +3.410334645669291 + 30 +0.0 + 10 +7.616661417322835 + 20 +3.410334645669291 + 30 +0.0 + 10 +7.609854330708662 + 20 +3.407224409448819 + 30 +0.0 + 10 +7.602188976377953 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.593688976377953 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.593688976377953 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.58288188976378 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.573826771653543 + 20 +3.407224409448819 + 30 +0.0 + 10 +7.566547244094489 + 20 +3.410389763779528 + 30 +0.0 + 10 +7.566547244094489 + 20 +3.410389763779528 + 30 +0.0 + 10 +7.559244094488189 + 20 +3.413531496062992 + 30 +0.0 + 10 +7.55351968503937 + 20 +3.418251968503937 + 30 +0.0 + 10 +7.549354330708661 + 20 +3.424586614173228 + 30 +0.0 + 10 +7.549354330708661 + 20 +3.424586614173228 + 30 +0.0 + 10 +7.545216535433071 + 20 +3.430889763779528 + 30 +0.0 + 10 +7.54301968503937 + 20 +3.43805905511811 + 30 +0.0 + 10 +7.542826771653544 + 20 +3.446031496062992 + 30 +0.0 + 0 +SPLINE + 5 +26E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.659602362204724 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.527 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.527 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.527 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.527 + 30 +0.0 + 10 +7.712492125984252 + 20 +3.527 + 30 +0.0 + 10 +7.712492125984252 + 20 +3.527 + 30 +0.0 + 10 +7.712492125984252 + 20 +3.527 + 30 +0.0 + 10 +7.723129921259843 + 20 +3.527 + 30 +0.0 + 10 +7.731212598425197 + 20 +3.525917322834646 + 30 +0.0 + 10 +7.736740157480315 + 20 +3.523779527559055 + 30 +0.0 + 10 +7.736740157480315 + 20 +3.523779527559055 + 30 +0.0 + 10 +7.742267716535433 + 20 +3.521641732283465 + 30 +0.0 + 10 +7.746685039370079 + 20 +3.517862204724409 + 30 +0.0 + 10 +7.75001968503937 + 20 +3.512444881889764 + 30 +0.0 + 10 +7.75001968503937 + 20 +3.512444881889764 + 30 +0.0 + 10 +7.753322834645669 + 20 +3.507 + 30 +0.0 + 10 +7.754964566929134 + 20 +3.501 + 30 +0.0 + 10 +7.754964566929134 + 20 +3.494444881889764 + 30 +0.0 + 10 +7.754964566929134 + 20 +3.494444881889764 + 30 +0.0 + 10 +7.754964566929134 + 20 +3.485972440944882 + 30 +0.0 + 10 +7.752240157480315 + 20 +3.478862204724409 + 30 +0.0 + 10 +7.746740157480315 + 20 +3.47305905511811 + 30 +0.0 + 10 +7.746740157480315 + 20 +3.47305905511811 + 30 +0.0 + 10 +7.741267716535433 + 20 +3.467251968503937 + 30 +0.0 + 10 +7.732795275590552 + 20 +3.46355905511811 + 30 +0.0 + 10 +7.721354330708661 + 20 +3.461972440944882 + 30 +0.0 + 10 +7.721354330708661 + 20 +3.461972440944882 + 30 +0.0 + 10 +7.725547244094488 + 20 +3.459972440944882 + 30 +0.0 + 10 +7.728712598425197 + 20 +3.458003937007874 + 30 +0.0 + 10 +7.730881889763779 + 20 +3.456031496062992 + 30 +0.0 + 10 +7.730881889763779 + 20 +3.456031496062992 + 30 +0.0 + 10 +7.735492125984252 + 20 +3.451807086614173 + 30 +0.0 + 10 +7.739854330708662 + 20 +3.446503937007874 + 30 +0.0 + 10 +7.743992125984252 + 20 +3.440169291338583 + 30 +0.0 + 10 +7.743992125984252 + 20 +3.440169291338583 + 30 +0.0 + 10 +7.743992125984252 + 20 +3.440169291338583 + 30 +0.0 + 10 +7.764740157480315 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.764740157480315 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.764740157480315 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.764740157480315 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.744881889763779 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.744881889763779 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.744881889763779 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.744881889763779 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.729102362204724 + 20 +3.432531496062992 + 30 +0.0 + 10 +7.729102362204724 + 20 +3.432531496062992 + 30 +0.0 + 10 +7.729102362204724 + 20 +3.432531496062992 + 30 +0.0 + 10 +7.724492125984252 + 20 +3.439669291338582 + 30 +0.0 + 10 +7.720685039370078 + 20 +3.445169291338583 + 30 +0.0 + 10 +7.717685039370079 + 20 +3.448944881889764 + 30 +0.0 + 10 +7.717685039370079 + 20 +3.448944881889764 + 30 +0.0 + 10 +7.714712598425197 + 20 +3.452751968503937 + 30 +0.0 + 10 +7.712047244094488 + 20 +3.455417322834646 + 30 +0.0 + 10 +7.709685039370079 + 20 +3.456917322834645 + 30 +0.0 + 10 +7.709685039370079 + 20 +3.456917322834645 + 30 +0.0 + 10 +7.707326771653543 + 20 +3.458444881889764 + 30 +0.0 + 10 +7.704937007874015 + 20 +3.459503937007874 + 30 +0.0 + 10 +7.702492125984252 + 20 +3.460114173228346 + 30 +0.0 + 10 +7.702492125984252 + 20 +3.460114173228346 + 30 +0.0 + 10 +7.700685039370079 + 20 +3.460472440944882 + 30 +0.0 + 10 +7.697767716535433 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.693685039370079 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.693685039370079 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.693685039370079 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.460669291338583 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.659602362204724 + 20 +3.407696850393701 + 30 +0.0 + 0 +SPLINE + 5 +26F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.67538188976378 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.709326771653544 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.709326771653544 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.709326771653544 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.71651968503937 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.722185039370078 + 20 +3.475086614173228 + 30 +0.0 + 10 +7.726240157480315 + 20 +3.476586614173228 + 30 +0.0 + 10 +7.726240157480315 + 20 +3.476586614173228 + 30 +0.0 + 10 +7.730322834645669 + 20 +3.478086614173229 + 30 +0.0 + 10 +7.733409448818898 + 20 +3.480472440944882 + 30 +0.0 + 10 +7.73551968503937 + 20 +3.483751968503937 + 30 +0.0 + 10 +7.73551968503937 + 20 +3.483751968503937 + 30 +0.0 + 10 +7.737629921259843 + 20 +3.487031496062992 + 30 +0.0 + 10 +7.738685039370079 + 20 +3.490586614173228 + 30 +0.0 + 10 +7.738685039370079 + 20 +3.494444881889764 + 30 +0.0 + 10 +7.738685039370079 + 20 +3.494444881889764 + 30 +0.0 + 10 +7.738685039370079 + 20 +3.500086614173228 + 30 +0.0 + 10 +7.73665748031496 + 20 +3.504724409448819 + 30 +0.0 + 10 +7.732547244094488 + 20 +3.508362204724409 + 30 +0.0 + 10 +7.732547244094488 + 20 +3.508362204724409 + 30 +0.0 + 10 +7.728464566929134 + 20 +3.512 + 30 +0.0 + 10 +7.721992125984252 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.713129921259842 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.713129921259842 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.713129921259842 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.513807086614173 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.474334645669291 + 30 +0.0 + 10 +7.67538188976378 + 20 +3.474334645669291 + 30 +0.0 + 0 +SPLINE + 5 +270 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.773767716535433 + 20 +3.438944881889764 + 30 +0.0 + 10 +7.773767716535433 + 20 +3.438944881889764 + 30 +0.0 + 10 +7.789157480314961 + 20 +3.440251968503937 + 30 +0.0 + 10 +7.789157480314961 + 20 +3.440251968503937 + 30 +0.0 + 10 +7.789157480314961 + 20 +3.440251968503937 + 30 +0.0 + 10 +7.790295275590551 + 20 +3.432751968503937 + 30 +0.0 + 10 +7.792933070866142 + 20 +3.427141732283465 + 30 +0.0 + 10 +7.797070866141732 + 20 +3.423362204724409 + 30 +0.0 + 10 +7.797070866141732 + 20 +3.423362204724409 + 30 +0.0 + 10 +7.801240157480315 + 20 +3.419586614173229 + 30 +0.0 + 10 +7.806240157480315 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.812098425196851 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.812098425196851 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.819157480314961 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.825125984251969 + 20 +3.420362204724409 + 30 +0.0 + 10 +7.829988188976378 + 20 +3.425669291338583 + 30 +0.0 + 10 +7.829988188976378 + 20 +3.425669291338583 + 30 +0.0 + 10 +7.834877952755906 + 20 +3.431003937007874 + 30 +0.0 + 10 +7.837322834645669 + 20 +3.43805905511811 + 30 +0.0 + 10 +7.837322834645669 + 20 +3.446834645669291 + 30 +0.0 + 10 +7.837322834645669 + 20 +3.446834645669291 + 30 +0.0 + 10 +7.837322834645669 + 20 +3.455196850393701 + 30 +0.0 + 10 +7.834988188976378 + 20 +3.461779527559055 + 30 +0.0 + 10 +7.830295275590551 + 20 +3.466614173228347 + 30 +0.0 + 10 +7.830295275590551 + 20 +3.466614173228347 + 30 +0.0 + 10 +7.82559842519685 + 20 +3.471444881889764 + 30 +0.0 + 10 +7.819460629921259 + 20 +3.473862204724409 + 30 +0.0 + 10 +7.811850393700787 + 20 +3.473862204724409 + 30 +0.0 + 10 +7.811850393700787 + 20 +3.473862204724409 + 30 +0.0 + 10 +7.807125984251969 + 20 +3.473862204724409 + 30 +0.0 + 10 +7.802877952755906 + 20 +3.472779527559055 + 30 +0.0 + 10 +7.799070866141732 + 20 +3.470641732283465 + 30 +0.0 + 10 +7.799070866141732 + 20 +3.470641732283465 + 30 +0.0 + 10 +7.795267716535433 + 20 +3.4685 + 30 +0.0 + 10 +7.792295275590551 + 20 +3.465724409448819 + 30 +0.0 + 10 +7.790129921259843 + 20 +3.462307086614173 + 30 +0.0 + 10 +7.790129921259843 + 20 +3.462307086614173 + 30 +0.0 + 10 +7.790129921259843 + 20 +3.462307086614173 + 30 +0.0 + 10 +7.776377952755905 + 20 +3.464086614173228 + 30 +0.0 + 10 +7.776377952755905 + 20 +3.464086614173228 + 30 +0.0 + 10 +7.776377952755905 + 20 +3.464086614173228 + 30 +0.0 + 10 +7.776377952755905 + 20 +3.464086614173228 + 30 +0.0 + 10 +7.787933070866142 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.787933070866142 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.787933070866142 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.787933070866142 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.525362204724409 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.847267716535433 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.799657480314961 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.799657480314961 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.799657480314961 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.799657480314961 + 20 +3.51136220472441 + 30 +0.0 + 10 +7.793212598425197 + 20 +3.479307086614173 + 30 +0.0 + 10 +7.793212598425197 + 20 +3.479307086614173 + 30 +0.0 + 10 +7.793212598425197 + 20 +3.479307086614173 + 30 +0.0 + 10 +7.800377952755905 + 20 +3.484307086614173 + 30 +0.0 + 10 +7.807905511811024 + 20 +3.486807086614173 + 30 +0.0 + 10 +7.815767716535433 + 20 +3.486807086614173 + 30 +0.0 + 10 +7.815767716535433 + 20 +3.486807086614173 + 30 +0.0 + 10 +7.826185039370078 + 20 +3.486807086614173 + 30 +0.0 + 10 +7.83496062992126 + 20 +3.483196850393701 + 30 +0.0 + 10 +7.842125984251968 + 20 +3.475972440944882 + 30 +0.0 + 10 +7.842125984251968 + 20 +3.475972440944882 + 30 +0.0 + 10 +7.849295275590551 + 20 +3.468751968503937 + 30 +0.0 + 10 +7.852877952755906 + 20 +3.459472440944882 + 30 +0.0 + 10 +7.852877952755906 + 20 +3.448141732283465 + 30 +0.0 + 10 +7.852877952755906 + 20 +3.448141732283465 + 30 +0.0 + 10 +7.852877952755906 + 20 +3.437334645669291 + 30 +0.0 + 10 +7.849712598425197 + 20 +3.428003937007874 + 30 +0.0 + 10 +7.843433070866141 + 20 +3.420141732283465 + 30 +0.0 + 10 +7.843433070866141 + 20 +3.420141732283465 + 30 +0.0 + 10 +7.835767716535433 + 20 +3.410503937007874 + 30 +0.0 + 10 +7.825322834645669 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.812098425196851 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.812098425196851 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.801240157480315 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.792377952755905 + 20 +3.408696850393701 + 30 +0.0 + 10 +7.785515748031496 + 20 +3.414779527559055 + 30 +0.0 + 10 +7.785515748031496 + 20 +3.414779527559055 + 30 +0.0 + 10 +7.778657480314961 + 20 +3.420862204724409 + 30 +0.0 + 10 +7.774740157480315 + 20 +3.428917322834645 + 30 +0.0 + 10 +7.773767716535433 + 20 +3.438944881889764 + 30 +0.0 + 0 +SPLINE + 5 +271 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.86646062992126 + 20 +3.466531496062992 + 30 +0.0 + 10 +7.86646062992126 + 20 +3.480641732283464 + 30 +0.0 + 10 +7.867905511811023 + 20 +3.492 + 30 +0.0 + 10 +7.870822834645669 + 20 +3.500586614173228 + 30 +0.0 + 10 +7.870822834645669 + 20 +3.500586614173228 + 30 +0.0 + 10 +7.873708661417322 + 20 +3.509196850393701 + 30 +0.0 + 10 +7.878043307086614 + 20 +3.515834645669291 + 30 +0.0 + 10 +7.883763779527559 + 20 +3.5205 + 30 +0.0 + 10 +7.883763779527559 + 20 +3.5205 + 30 +0.0 + 10 +7.889488188976378 + 20 +3.525169291338583 + 30 +0.0 + 10 +7.896681102362205 + 20 +3.5275 + 30 +0.0 + 10 +7.905350393700787 + 20 +3.5275 + 30 +0.0 + 10 +7.905350393700787 + 20 +3.5275 + 30 +0.0 + 10 +7.911763779527559 + 20 +3.5275 + 30 +0.0 + 10 +7.917377952755905 + 20 +3.526196850393701 + 30 +0.0 + 10 +7.922208661417323 + 20 +3.523614173228347 + 30 +0.0 + 10 +7.922208661417323 + 20 +3.523614173228347 + 30 +0.0 + 10 +7.927043307086614 + 20 +3.521055118110236 + 30 +0.0 + 10 +7.931015748031496 + 20 +3.517334645669291 + 30 +0.0 + 10 +7.934181102362205 + 20 +3.512472440944882 + 30 +0.0 + 10 +7.934181102362205 + 20 +3.512472440944882 + 30 +0.0 + 10 +7.937318897637796 + 20 +3.507614173228347 + 30 +0.0 + 10 +7.939791338582677 + 20 +3.501696850393701 + 30 +0.0 + 10 +7.941570866141732 + 20 +3.494724409448819 + 30 +0.0 + 10 +7.941570866141732 + 20 +3.494724409448819 + 30 +0.0 + 10 +7.943374015748032 + 20 +3.487751968503937 + 30 +0.0 + 10 +7.944263779527559 + 20 +3.47836220472441 + 30 +0.0 + 10 +7.944263779527559 + 20 +3.466531496062992 + 30 +0.0 + 10 +7.944263779527559 + 20 +3.466531496062992 + 30 +0.0 + 10 +7.944263779527559 + 20 +3.452531496062992 + 30 +0.0 + 10 +7.942818897637795 + 20 +3.441251968503937 + 30 +0.0 + 10 +7.93996062992126 + 20 +3.432641732283464 + 30 +0.0 + 10 +7.93996062992126 + 20 +3.432641732283464 + 30 +0.0 + 10 +7.937070866141732 + 20 +3.424031496062992 + 30 +0.0 + 10 +7.932763779527559 + 20 +3.417389763779528 + 30 +0.0 + 10 +7.927043307086614 + 20 +3.412696850393701 + 30 +0.0 + 10 +7.927043307086614 + 20 +3.412696850393701 + 30 +0.0 + 10 +7.921318897637796 + 20 +3.408003937007874 + 30 +0.0 + 10 +7.91409842519685 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.905350393700787 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.905350393700787 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.893850393700787 + 20 +3.405669291338583 + 30 +0.0 + 10 +7.88482283464567 + 20 +3.409779527559055 + 30 +0.0 + 10 +7.878263779527559 + 20 +3.418031496062992 + 30 +0.0 + 10 +7.878263779527559 + 20 +3.418031496062992 + 30 +0.0 + 10 +7.870405511811024 + 20 +3.427944881889764 + 30 +0.0 + 10 +7.86646062992126 + 20 +3.444141732283465 + 30 +0.0 + 10 +7.86646062992126 + 20 +3.466531496062992 + 30 +0.0 + 0 +SPLINE + 5 +272 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.881515748031496 + 20 +3.466531496062992 + 30 +0.0 + 10 +7.881515748031496 + 20 +3.446944881889764 + 30 +0.0 + 10 +7.883822834645669 + 20 +3.433917322834646 + 30 +0.0 + 10 +7.888405511811023 + 20 +3.427417322834646 + 30 +0.0 + 10 +7.888405511811023 + 20 +3.427417322834646 + 30 +0.0 + 10 +7.892988188976378 + 20 +3.420944881889764 + 30 +0.0 + 10 +7.898625984251969 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.905350393700787 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.905350393700787 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.91209842519685 + 20 +3.417696850393701 + 30 +0.0 + 10 +7.917736220472441 + 20 +3.420976377952756 + 30 +0.0 + 10 +7.922318897637795 + 20 +3.427476377952756 + 30 +0.0 + 10 +7.922318897637795 + 20 +3.427476377952756 + 30 +0.0 + 10 +7.926905511811023 + 20 +3.433976377952756 + 30 +0.0 + 10 +7.929208661417323 + 20 +3.447003937007874 + 30 +0.0 + 10 +7.929208661417323 + 20 +3.466531496062992 + 30 +0.0 + 10 +7.929208661417323 + 20 +3.466531496062992 + 30 +0.0 + 10 +7.929208661417323 + 20 +3.486169291338583 + 30 +0.0 + 10 +7.926905511811023 + 20 +3.499224409448819 + 30 +0.0 + 10 +7.922318897637795 + 20 +3.505669291338583 + 30 +0.0 + 10 +7.922318897637795 + 20 +3.505669291338583 + 30 +0.0 + 10 +7.917736220472441 + 20 +3.512141732283465 + 30 +0.0 + 10 +7.912043307086615 + 20 +3.51536220472441 + 30 +0.0 + 10 +7.905208661417323 + 20 +3.51536220472441 + 30 +0.0 + 10 +7.905208661417323 + 20 +3.51536220472441 + 30 +0.0 + 10 +7.89846062992126 + 20 +3.51536220472441 + 30 +0.0 + 10 +7.89309842519685 + 20 +3.5125 + 30 +0.0 + 10 +7.889070866141732 + 20 +3.506807086614173 + 30 +0.0 + 10 +7.889070866141732 + 20 +3.506807086614173 + 30 +0.0 + 10 +7.884043307086614 + 20 +3.49955905511811 + 30 +0.0 + 10 +7.881515748031496 + 20 +3.486114173228346 + 30 +0.0 + 10 +7.881515748031496 + 20 +3.466531496062992 + 30 +0.0 + 0 +SPLINE + 5 +273 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.014318897637795 + 20 +3.407696850393701 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.407696850393701 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.501027559055118 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.501027559055118 + 30 +0.0 + 10 +7.999681102362205 + 20 +3.501027559055118 + 30 +0.0 + 10 +7.996153543307087 + 20 +3.497669291338583 + 30 +0.0 + 10 +7.991543307086614 + 20 +3.494307086614173 + 30 +0.0 + 10 +7.985818897637795 + 20 +3.490944881889764 + 30 +0.0 + 10 +7.985818897637795 + 20 +3.490944881889764 + 30 +0.0 + 10 +7.980070866141732 + 20 +3.487586614173228 + 30 +0.0 + 10 +7.974929133858268 + 20 +3.48505905511811 + 30 +0.0 + 10 +7.970374015748032 + 20 +3.483389763779527 + 30 +0.0 + 10 +7.970374015748032 + 20 +3.483389763779527 + 30 +0.0 + 10 +7.970374015748032 + 20 +3.483389763779527 + 30 +0.0 + 10 +7.970374015748032 + 20 +3.497527559055118 + 30 +0.0 + 10 +7.970374015748032 + 20 +3.497527559055118 + 30 +0.0 + 10 +7.970374015748032 + 20 +3.497527559055118 + 30 +0.0 + 10 +7.978570866141732 + 20 +3.501389763779528 + 30 +0.0 + 10 +7.985736220472441 + 20 +3.50605905511811 + 30 +0.0 + 10 +7.991874015748031 + 20 +3.511527559055118 + 30 +0.0 + 10 +7.991874015748031 + 20 +3.511527559055118 + 30 +0.0 + 10 +7.997984251968504 + 20 +3.517027559055118 + 30 +0.0 + 10 +8.002346456692914 + 20 +3.522334645669291 + 30 +0.0 + 10 +8.00490157480315 + 20 +3.5275 + 30 +0.0 + 10 +8.00490157480315 + 20 +3.5275 + 30 +0.0 + 10 +8.00490157480315 + 20 +3.5275 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.5275 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.5275 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.5275 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.5275 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.407696850393701 + 30 +0.0 + 10 +8.014318897637795 + 20 +3.407696850393701 + 30 +0.0 + 0 +SPLINE + 5 +274 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.542145669291338 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.587145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.587145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.587145669291338 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.59505905511811 + 20 +3.67136220472441 + 30 +0.0 + 10 +8.60111811023622 + 20 +3.670976377952756 + 30 +0.0 + 10 +8.605283464566929 + 20 +3.670224409448819 + 30 +0.0 + 10 +8.605283464566929 + 20 +3.670224409448819 + 30 +0.0 + 10 +8.61114566929134 + 20 +3.669251968503937 + 30 +0.0 + 10 +8.61605905511811 + 20 +3.667389763779528 + 30 +0.0 + 10 +8.620031496062992 + 20 +3.664641732283465 + 30 +0.0 + 10 +8.620031496062992 + 20 +3.664641732283465 + 30 +0.0 + 10 +8.623976377952756 + 20 +3.661921259842519 + 30 +0.0 + 10 +8.627173228346457 + 20 +3.65805905511811 + 30 +0.0 + 10 +8.629586614173228 + 20 +3.653141732283465 + 30 +0.0 + 10 +8.629586614173228 + 20 +3.653141732283465 + 30 +0.0 + 10 +8.632003937007873 + 20 +3.648196850393701 + 30 +0.0 + 10 +8.633200787401575 + 20 +3.642779527559055 + 30 +0.0 + 10 +8.633200787401575 + 20 +3.636862204724409 + 30 +0.0 + 10 +8.633200787401575 + 20 +3.636862204724409 + 30 +0.0 + 10 +8.633200787401575 + 20 +3.626724409448819 + 30 +0.0 + 10 +8.629976377952756 + 20 +3.618114173228347 + 30 +0.0 + 10 +8.623531496062991 + 20 +3.611086614173229 + 30 +0.0 + 10 +8.623531496062991 + 20 +3.611086614173229 + 30 +0.0 + 10 +8.61705905511811 + 20 +3.604086614173228 + 30 +0.0 + 10 +8.6053937007874 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.588531496062991 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.588531496062991 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.588531496062991 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.60055905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.542145669291338 + 20 +3.55205905511811 + 30 +0.0 + 0 +SPLINE + 5 +275 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.55792125984252 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.588783464566928 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.588783464566928 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.588783464566928 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.598976377952756 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.606228346456692 + 20 +3.616531496062992 + 30 +0.0 + 10 +8.610503937007874 + 20 +3.620334645669292 + 30 +0.0 + 10 +8.610503937007874 + 20 +3.620334645669292 + 30 +0.0 + 10 +8.61478346456693 + 20 +3.624141732283464 + 30 +0.0 + 10 +8.61692125984252 + 20 +3.629476377952756 + 30 +0.0 + 10 +8.61692125984252 + 20 +3.63636220472441 + 30 +0.0 + 10 +8.61692125984252 + 20 +3.63636220472441 + 30 +0.0 + 10 +8.61692125984252 + 20 +3.641362204724409 + 30 +0.0 + 10 +8.615673228346457 + 20 +3.645641732283464 + 30 +0.0 + 10 +8.613145669291338 + 20 +3.649196850393701 + 30 +0.0 + 10 +8.613145669291338 + 20 +3.649196850393701 + 30 +0.0 + 10 +8.61061811023622 + 20 +3.652751968503937 + 30 +0.0 + 10 +8.607311023622048 + 20 +3.655086614173229 + 30 +0.0 + 10 +8.603173228346456 + 20 +3.656224409448819 + 30 +0.0 + 10 +8.603173228346456 + 20 +3.656224409448819 + 30 +0.0 + 10 +8.600503937007874 + 20 +3.65692125984252 + 30 +0.0 + 10 +8.59561811023622 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.588448818897637 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.588448818897637 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.588448818897637 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.657279527559055 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.614641732283465 + 30 +0.0 + 10 +8.55792125984252 + 20 +3.614641732283465 + 30 +0.0 + 0 +SPLINE + 5 +276 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.707838582677166 + 20 +3.562724409448819 + 30 +0.0 + 10 +8.702393700787402 + 20 +3.558114173228347 + 30 +0.0 + 10 +8.697169291338582 + 20 +3.554866141732283 + 30 +0.0 + 10 +8.692169291338583 + 20 +3.552948818897638 + 30 +0.0 + 10 +8.692169291338583 + 20 +3.552948818897638 + 30 +0.0 + 10 +8.687141732283465 + 20 +3.55105905511811 + 30 +0.0 + 10 +8.68175590551181 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.676003937007874 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.676003937007874 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.666503937007874 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.659228346456693 + 20 +3.55242125984252 + 30 +0.0 + 10 +8.654114173228347 + 20 +3.55705905511811 + 30 +0.0 + 10 +8.654114173228347 + 20 +3.55705905511811 + 30 +0.0 + 10 +8.649031496062992 + 20 +3.561696850393701 + 30 +0.0 + 10 +8.646476377952755 + 20 +3.567641732283465 + 30 +0.0 + 10 +8.646476377952755 + 20 +3.574838582677165 + 30 +0.0 + 10 +8.646476377952755 + 20 +3.574838582677165 + 30 +0.0 + 10 +8.646476377952755 + 20 +3.579086614173228 + 30 +0.0 + 10 +8.64742125984252 + 20 +3.582948818897638 + 30 +0.0 + 10 +8.649366141732283 + 20 +3.586448818897638 + 30 +0.0 + 10 +8.649366141732283 + 20 +3.586448818897638 + 30 +0.0 + 10 +8.651283464566928 + 20 +3.589948818897638 + 30 +0.0 + 10 +8.653811023622048 + 20 +3.592751968503937 + 30 +0.0 + 10 +8.65692125984252 + 20 +3.594866141732283 + 30 +0.0 + 10 +8.65692125984252 + 20 +3.594866141732283 + 30 +0.0 + 10 +8.66005905511811 + 20 +3.596976377952756 + 30 +0.0 + 10 +8.66355905511811 + 20 +3.598586614173228 + 30 +0.0 + 10 +8.667476377952756 + 20 +3.599669291338583 + 30 +0.0 + 10 +8.667476377952756 + 20 +3.599669291338583 + 30 +0.0 + 10 +8.670338582677166 + 20 +3.60042125984252 + 30 +0.0 + 10 +8.674669291338583 + 20 +3.601169291338583 + 30 +0.0 + 10 +8.680476377952756 + 20 +3.601866141732283 + 30 +0.0 + 10 +8.680476377952756 + 20 +3.601866141732283 + 30 +0.0 + 10 +8.692311023622047 + 20 +3.603279527559055 + 30 +0.0 + 10 +8.701031496062992 + 20 +3.604948818897638 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.60692125984252 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.60692125984252 + 30 +0.0 + 10 +8.706669291338583 + 20 +3.60892125984252 + 30 +0.0 + 10 +8.706696850393701 + 20 +3.610196850393701 + 30 +0.0 + 10 +8.706696850393701 + 20 +3.610724409448819 + 30 +0.0 + 10 +8.706696850393701 + 20 +3.610724409448819 + 30 +0.0 + 10 +8.706696850393701 + 20 +3.616696850393701 + 30 +0.0 + 10 +8.705311023622047 + 20 +3.62092125984252 + 30 +0.0 + 10 +8.702531496062992 + 20 +3.623334645669291 + 30 +0.0 + 10 +8.702531496062992 + 20 +3.623334645669291 + 30 +0.0 + 10 +8.698811023622048 + 20 +3.626669291338583 + 30 +0.0 + 10 +8.693224409448819 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.685866141732284 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.685866141732284 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.678976377952756 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.673893700787401 + 20 +3.627114173228347 + 30 +0.0 + 10 +8.670586614173228 + 20 +3.624696850393701 + 30 +0.0 + 10 +8.670586614173228 + 20 +3.624696850393701 + 30 +0.0 + 10 +8.667311023622048 + 20 +3.622279527559055 + 30 +0.0 + 10 +8.6648937007874 + 20 +3.618003937007874 + 30 +0.0 + 10 +8.663311023622047 + 20 +3.611862204724409 + 30 +0.0 + 10 +8.663311023622047 + 20 +3.611862204724409 + 30 +0.0 + 10 +8.663311023622047 + 20 +3.611862204724409 + 30 +0.0 + 10 +8.649003937007874 + 20 +3.613834645669291 + 30 +0.0 + 10 +8.649003937007874 + 20 +3.613834645669291 + 30 +0.0 + 10 +8.649003937007874 + 20 +3.613834645669291 + 30 +0.0 + 10 +8.650311023622047 + 20 +3.619948818897638 + 30 +0.0 + 10 +8.652448818897637 + 20 +3.62492125984252 + 30 +0.0 + 10 +8.65542125984252 + 20 +3.628669291338583 + 30 +0.0 + 10 +8.65542125984252 + 20 +3.628669291338583 + 30 +0.0 + 10 +8.658393700787402 + 20 +3.632448818897638 + 30 +0.0 + 10 +8.662728346456692 + 20 +3.63536220472441 + 30 +0.0 + 10 +8.668366141732283 + 20 +3.637389763779527 + 30 +0.0 + 10 +8.668366141732283 + 20 +3.637389763779527 + 30 +0.0 + 10 +8.674003937007875 + 20 +3.63942125984252 + 30 +0.0 + 10 +8.680531496062992 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.687976377952756 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.687976377952756 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.695366141732283 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.701338582677165 + 20 +3.63955905511811 + 30 +0.0 + 10 +8.705948818897637 + 20 +3.637834645669291 + 30 +0.0 + 10 +8.705948818897637 + 20 +3.637834645669291 + 30 +0.0 + 10 +8.710559055118111 + 20 +3.636086614173228 + 30 +0.0 + 10 +8.713948818897638 + 20 +3.63392125984252 + 30 +0.0 + 10 +8.716141732283464 + 20 +3.631279527559055 + 30 +0.0 + 10 +8.716141732283464 + 20 +3.631279527559055 + 30 +0.0 + 10 +8.718311023622046 + 20 +3.628641732283465 + 30 +0.0 + 10 +8.719811023622047 + 20 +3.625334645669291 + 30 +0.0 + 10 +8.7206968503937 + 20 +3.621307086614173 + 30 +0.0 + 10 +8.7206968503937 + 20 +3.621307086614173 + 30 +0.0 + 10 +8.721169291338583 + 20 +3.618807086614173 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.614307086614173 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.607807086614173 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.607807086614173 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.607807086614173 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.588279527559055 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.588279527559055 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.588279527559055 + 30 +0.0 + 10 +8.72142125984252 + 20 +3.574641732283465 + 30 +0.0 + 10 +8.72172440944882 + 20 +3.566031496062992 + 30 +0.0 + 10 +8.722366141732284 + 20 +3.562448818897638 + 30 +0.0 + 10 +8.722366141732284 + 20 +3.562448818897638 + 30 +0.0 + 10 +8.722976377952756 + 20 +3.558838582677165 + 30 +0.0 + 10 +8.72422440944882 + 20 +3.555366141732283 + 30 +0.0 + 10 +8.72605905511811 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.72605905511811 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.72605905511811 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.710751968503937 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.710751968503937 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.710751968503937 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.709251968503937 + 20 +3.555086614173228 + 30 +0.0 + 10 +8.708251968503937 + 20 +3.558641732283465 + 30 +0.0 + 10 +8.707838582677166 + 20 +3.562724409448819 + 30 +0.0 + 0 +SPLINE + 5 +277 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.706614173228347 + 20 +3.595448818897638 + 30 +0.0 + 10 +8.701283464566929 + 20 +3.593251968503937 + 30 +0.0 + 10 +8.693311023622048 + 20 +3.591421259842519 + 30 +0.0 + 10 +8.6826968503937 + 20 +3.589893700787401 + 30 +0.0 + 10 +8.6826968503937 + 20 +3.589893700787401 + 30 +0.0 + 10 +8.676669291338582 + 20 +3.589031496062992 + 30 +0.0 + 10 +8.672393700787401 + 20 +3.58805905511811 + 30 +0.0 + 10 +8.66992125984252 + 20 +3.586976377952756 + 30 +0.0 + 10 +8.66992125984252 + 20 +3.586976377952756 + 30 +0.0 + 10 +8.66742125984252 + 20 +3.585893700787401 + 30 +0.0 + 10 +8.665476377952755 + 20 +3.584307086614173 + 30 +0.0 + 10 +8.664141732283465 + 20 +3.582196850393701 + 30 +0.0 + 10 +8.664141732283465 + 20 +3.582196850393701 + 30 +0.0 + 10 +8.66278346456693 + 20 +3.580114173228346 + 30 +0.0 + 10 +8.662086614173228 + 20 +3.577807086614173 + 30 +0.0 + 10 +8.662086614173228 + 20 +3.575251968503937 + 30 +0.0 + 10 +8.662086614173228 + 20 +3.575251968503937 + 30 +0.0 + 10 +8.662086614173228 + 20 +3.571338582677166 + 30 +0.0 + 10 +8.663586614173228 + 20 +3.568086614173228 + 30 +0.0 + 10 +8.666531496062992 + 20 +3.565476377952756 + 30 +0.0 + 10 +8.666531496062992 + 20 +3.565476377952756 + 30 +0.0 + 10 +8.669476377952757 + 20 +3.562893700787402 + 30 +0.0 + 10 +8.673811023622047 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.679503937007874 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.679503937007874 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.685141732283464 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.690169291338583 + 20 +3.562807086614173 + 30 +0.0 + 10 +8.694559055118111 + 20 +3.565279527559055 + 30 +0.0 + 10 +8.694559055118111 + 20 +3.565279527559055 + 30 +0.0 + 10 +8.698948818897637 + 20 +3.567751968503937 + 30 +0.0 + 10 +8.702196850393701 + 20 +3.571141732283464 + 30 +0.0 + 10 +8.704251968503938 + 20 +3.57542125984252 + 30 +0.0 + 10 +8.704251968503938 + 20 +3.57542125984252 + 30 +0.0 + 10 +8.705838582677165 + 20 +3.578724409448819 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.583614173228347 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.59005905511811 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.59005905511811 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.59005905511811 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.595448818897638 + 30 +0.0 + 10 +8.706614173228347 + 20 +3.595448818897638 + 30 +0.0 + 0 +SPLINE + 5 +278 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.744141732283465 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.638476377952756 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.626196850393701 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.626196850393701 + 30 +0.0 + 10 +8.757307086614173 + 20 +3.626196850393701 + 30 +0.0 + 10 +8.763669291338582 + 20 +3.635696850393701 + 30 +0.0 + 10 +8.772834645669292 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.784807086614173 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.784807086614173 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.790031496062992 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.794807086614174 + 20 +3.639503937007874 + 30 +0.0 + 10 +8.799169291338583 + 20 +3.637641732283464 + 30 +0.0 + 10 +8.799169291338583 + 20 +3.637641732283464 + 30 +0.0 + 10 +8.80355905511811 + 20 +3.635751968503937 + 30 +0.0 + 10 +8.806807086614173 + 20 +3.633307086614173 + 30 +0.0 + 10 +8.808976377952757 + 20 +3.630251968503937 + 30 +0.0 + 10 +8.808976377952757 + 20 +3.630251968503937 + 30 +0.0 + 10 +8.811169291338583 + 20 +3.627224409448819 + 30 +0.0 + 10 +8.812669291338583 + 20 +3.623614173228347 + 30 +0.0 + 10 +8.81355905511811 + 20 +3.619448818897638 + 30 +0.0 + 10 +8.81355905511811 + 20 +3.619448818897638 + 30 +0.0 + 10 +8.814086614173227 + 20 +3.616724409448819 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.611976377952756 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.605196850393701 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.605196850393701 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.605196850393701 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.814362204724409 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.604641732283465 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.604641732283465 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.604641732283465 + 30 +0.0 + 10 +8.799696850393701 + 20 +3.610586614173228 + 30 +0.0 + 10 +8.799141732283465 + 20 +3.61505905511811 + 30 +0.0 + 10 +8.798003937007874 + 20 +3.618031496062992 + 30 +0.0 + 10 +8.798003937007874 + 20 +3.618031496062992 + 30 +0.0 + 10 +8.796862204724409 + 20 +3.620976377952756 + 30 +0.0 + 10 +8.794834645669292 + 20 +3.623334645669291 + 30 +0.0 + 10 +8.791944881889764 + 20 +3.625086614173228 + 30 +0.0 + 10 +8.791944881889764 + 20 +3.625086614173228 + 30 +0.0 + 10 +8.789031496062993 + 20 +3.626862204724409 + 30 +0.0 + 10 +8.785641732283464 + 20 +3.627751968503937 + 30 +0.0 + 10 +8.781724409448818 + 20 +3.627751968503937 + 30 +0.0 + 10 +8.781724409448818 + 20 +3.627751968503937 + 30 +0.0 + 10 +8.775476377952756 + 20 +3.627751968503937 + 30 +0.0 + 10 +8.770114173228347 + 20 +3.625751968503937 + 30 +0.0 + 10 +8.76555905511811 + 20 +3.621807086614173 + 30 +0.0 + 10 +8.76555905511811 + 20 +3.621807086614173 + 30 +0.0 + 10 +8.761031496062992 + 20 +3.617834645669291 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.610334645669291 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.599251968503937 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.599251968503937 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.599251968503937 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.758779527559055 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.744141732283465 + 20 +3.55205905511811 + 30 +0.0 + 0 +SPLINE + 5 +279 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.89322440944882 + 20 +3.562724409448819 + 30 +0.0 + 10 +8.887779527559054 + 20 +3.558114173228347 + 30 +0.0 + 10 +8.882555118110236 + 20 +3.554866141732283 + 30 +0.0 + 10 +8.877555118110235 + 20 +3.552948818897638 + 30 +0.0 + 10 +8.877555118110235 + 20 +3.552948818897638 + 30 +0.0 + 10 +8.872527559055118 + 20 +3.55105905511811 + 30 +0.0 + 10 +8.867141732283464 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.861389763779528 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.861389763779528 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.851889763779528 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.844614173228347 + 20 +3.55242125984252 + 30 +0.0 + 10 +8.8395 + 20 +3.55705905511811 + 30 +0.0 + 10 +8.8395 + 20 +3.55705905511811 + 30 +0.0 + 10 +8.834417322834646 + 20 +3.561696850393701 + 30 +0.0 + 10 +8.831862204724409 + 20 +3.567641732283465 + 30 +0.0 + 10 +8.831862204724409 + 20 +3.574838582677165 + 30 +0.0 + 10 +8.831862204724409 + 20 +3.574838582677165 + 30 +0.0 + 10 +8.831862204724409 + 20 +3.579086614173228 + 30 +0.0 + 10 +8.832807086614173 + 20 +3.582948818897638 + 30 +0.0 + 10 +8.834751968503937 + 20 +3.586448818897638 + 30 +0.0 + 10 +8.834751968503937 + 20 +3.586448818897638 + 30 +0.0 + 10 +8.836669291338582 + 20 +3.589948818897638 + 30 +0.0 + 10 +8.839196850393702 + 20 +3.592751968503937 + 30 +0.0 + 10 +8.842307086614174 + 20 +3.594866141732283 + 30 +0.0 + 10 +8.842307086614174 + 20 +3.594866141732283 + 30 +0.0 + 10 +8.845444881889764 + 20 +3.596976377952756 + 30 +0.0 + 10 +8.848944881889764 + 20 +3.598586614173228 + 30 +0.0 + 10 +8.85286220472441 + 20 +3.599669291338583 + 30 +0.0 + 10 +8.85286220472441 + 20 +3.599669291338583 + 30 +0.0 + 10 +8.855724409448818 + 20 +3.60042125984252 + 30 +0.0 + 10 +8.860055118110235 + 20 +3.601169291338583 + 30 +0.0 + 10 +8.86586220472441 + 20 +3.601866141732283 + 30 +0.0 + 10 +8.86586220472441 + 20 +3.601866141732283 + 30 +0.0 + 10 +8.8776968503937 + 20 +3.603279527559055 + 30 +0.0 + 10 +8.886417322834646 + 20 +3.604948818897638 + 30 +0.0 + 10 +8.892 + 20 +3.60692125984252 + 30 +0.0 + 10 +8.892 + 20 +3.60692125984252 + 30 +0.0 + 10 +8.892055118110235 + 20 +3.60892125984252 + 30 +0.0 + 10 +8.892082677165355 + 20 +3.610196850393701 + 30 +0.0 + 10 +8.892082677165355 + 20 +3.610724409448819 + 30 +0.0 + 10 +8.892082677165355 + 20 +3.610724409448819 + 30 +0.0 + 10 +8.892082677165355 + 20 +3.616696850393701 + 30 +0.0 + 10 +8.8906968503937 + 20 +3.62092125984252 + 30 +0.0 + 10 +8.887917322834646 + 20 +3.623334645669291 + 30 +0.0 + 10 +8.887917322834646 + 20 +3.623334645669291 + 30 +0.0 + 10 +8.884196850393701 + 20 +3.626669291338583 + 30 +0.0 + 10 +8.878610236220473 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.871251968503937 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.871251968503937 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.86436220472441 + 20 +3.628307086614173 + 30 +0.0 + 10 +8.859279527559055 + 20 +3.627114173228347 + 30 +0.0 + 10 +8.855972440944882 + 20 +3.624696850393701 + 30 +0.0 + 10 +8.855972440944882 + 20 +3.624696850393701 + 30 +0.0 + 10 +8.8526968503937 + 20 +3.622279527559055 + 30 +0.0 + 10 +8.850279527559055 + 20 +3.618003937007874 + 30 +0.0 + 10 +8.8486968503937 + 20 +3.611862204724409 + 30 +0.0 + 10 +8.8486968503937 + 20 +3.611862204724409 + 30 +0.0 + 10 +8.8486968503937 + 20 +3.611862204724409 + 30 +0.0 + 10 +8.834389763779528 + 20 +3.613834645669291 + 30 +0.0 + 10 +8.834389763779528 + 20 +3.613834645669291 + 30 +0.0 + 10 +8.834389763779528 + 20 +3.613834645669291 + 30 +0.0 + 10 +8.8356968503937 + 20 +3.619948818897638 + 30 +0.0 + 10 +8.837834645669291 + 20 +3.62492125984252 + 30 +0.0 + 10 +8.840807086614173 + 20 +3.628669291338583 + 30 +0.0 + 10 +8.840807086614173 + 20 +3.628669291338583 + 30 +0.0 + 10 +8.843779527559056 + 20 +3.632448818897638 + 30 +0.0 + 10 +8.848114173228346 + 20 +3.63536220472441 + 30 +0.0 + 10 +8.853751968503937 + 20 +3.637389763779527 + 30 +0.0 + 10 +8.853751968503937 + 20 +3.637389763779527 + 30 +0.0 + 10 +8.859389763779527 + 20 +3.63942125984252 + 30 +0.0 + 10 +8.865917322834646 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.87336220472441 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.87336220472441 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.880751968503937 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.886724409448819 + 20 +3.63955905511811 + 30 +0.0 + 10 +8.891334645669291 + 20 +3.637834645669291 + 30 +0.0 + 10 +8.891334645669291 + 20 +3.637834645669291 + 30 +0.0 + 10 +8.895944881889763 + 20 +3.636086614173228 + 30 +0.0 + 10 +8.899334645669292 + 20 +3.63392125984252 + 30 +0.0 + 10 +8.901527559055118 + 20 +3.631279527559055 + 30 +0.0 + 10 +8.901527559055118 + 20 +3.631279527559055 + 30 +0.0 + 10 +8.9036968503937 + 20 +3.628641732283465 + 30 +0.0 + 10 +8.9051968503937 + 20 +3.625334645669291 + 30 +0.0 + 10 +8.906082677165355 + 20 +3.621307086614173 + 30 +0.0 + 10 +8.906082677165355 + 20 +3.621307086614173 + 30 +0.0 + 10 +8.906555118110235 + 20 +3.618807086614173 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.614307086614173 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.607807086614173 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.607807086614173 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.607807086614173 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.588279527559055 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.588279527559055 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.588279527559055 + 30 +0.0 + 10 +8.906807086614172 + 20 +3.574641732283465 + 30 +0.0 + 10 +8.907110236220472 + 20 +3.566031496062992 + 30 +0.0 + 10 +8.907751968503938 + 20 +3.562448818897638 + 30 +0.0 + 10 +8.907751968503938 + 20 +3.562448818897638 + 30 +0.0 + 10 +8.90836220472441 + 20 +3.558838582677165 + 30 +0.0 + 10 +8.909610236220473 + 20 +3.555366141732283 + 30 +0.0 + 10 +8.911444881889764 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.911444881889764 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.911444881889764 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.89613779527559 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.89613779527559 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.89613779527559 + 20 +3.55205905511811 + 30 +0.0 + 10 +8.89463779527559 + 20 +3.555086614173228 + 30 +0.0 + 10 +8.893637795275591 + 20 +3.558641732283465 + 30 +0.0 + 10 +8.89322440944882 + 20 +3.562724409448819 + 30 +0.0 + 0 +SPLINE + 5 +27A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.892 + 20 +3.595448818897638 + 30 +0.0 + 10 +8.886669291338583 + 20 +3.593251968503937 + 30 +0.0 + 10 +8.8786968503937 + 20 +3.591421259842519 + 30 +0.0 + 10 +8.868082677165354 + 20 +3.589893700787401 + 30 +0.0 + 10 +8.868082677165354 + 20 +3.589893700787401 + 30 +0.0 + 10 +8.862055118110236 + 20 +3.589031496062992 + 30 +0.0 + 10 +8.857779527559055 + 20 +3.58805905511811 + 30 +0.0 + 10 +8.855307086614173 + 20 +3.586976377952756 + 30 +0.0 + 10 +8.855307086614173 + 20 +3.586976377952756 + 30 +0.0 + 10 +8.852807086614174 + 20 +3.585893700787401 + 30 +0.0 + 10 +8.85086220472441 + 20 +3.584307086614173 + 30 +0.0 + 10 +8.849527559055119 + 20 +3.582196850393701 + 30 +0.0 + 10 +8.849527559055119 + 20 +3.582196850393701 + 30 +0.0 + 10 +8.848169291338582 + 20 +3.580114173228346 + 30 +0.0 + 10 +8.847472440944882 + 20 +3.577807086614173 + 30 +0.0 + 10 +8.847472440944882 + 20 +3.575251968503937 + 30 +0.0 + 10 +8.847472440944882 + 20 +3.575251968503937 + 30 +0.0 + 10 +8.847472440944882 + 20 +3.571338582677166 + 30 +0.0 + 10 +8.848972440944882 + 20 +3.568086614173228 + 30 +0.0 + 10 +8.851917322834646 + 20 +3.565476377952756 + 30 +0.0 + 10 +8.851917322834646 + 20 +3.565476377952756 + 30 +0.0 + 10 +8.854862204724409 + 20 +3.562893700787402 + 30 +0.0 + 10 +8.859196850393701 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.864889763779528 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.864889763779528 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.870527559055118 + 20 +3.561586614173228 + 30 +0.0 + 10 +8.875555118110237 + 20 +3.562807086614173 + 30 +0.0 + 10 +8.879944881889763 + 20 +3.565279527559055 + 30 +0.0 + 10 +8.879944881889763 + 20 +3.565279527559055 + 30 +0.0 + 10 +8.884334645669291 + 20 +3.567751968503937 + 30 +0.0 + 10 +8.887582677165355 + 20 +3.571141732283464 + 30 +0.0 + 10 +8.88963779527559 + 20 +3.57542125984252 + 30 +0.0 + 10 +8.88963779527559 + 20 +3.57542125984252 + 30 +0.0 + 10 +8.891224409448819 + 20 +3.578724409448819 + 30 +0.0 + 10 +8.892 + 20 +3.583614173228347 + 30 +0.0 + 10 +8.892 + 20 +3.59005905511811 + 30 +0.0 + 10 +8.892 + 20 +3.59005905511811 + 30 +0.0 + 10 +8.892 + 20 +3.59005905511811 + 30 +0.0 + 10 +8.892 + 20 +3.595448818897638 + 30 +0.0 + 10 +8.892 + 20 +3.595448818897638 + 30 +0.0 + 0 +SPLINE + 5 +27B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.923665354330709 + 20 +3.577866141732283 + 30 +0.0 + 10 +8.923665354330709 + 20 +3.577866141732283 + 30 +0.0 + 10 +8.93813779527559 + 20 +3.580141732283465 + 30 +0.0 + 10 +8.93813779527559 + 20 +3.580141732283465 + 30 +0.0 + 10 +8.93813779527559 + 20 +3.580141732283465 + 30 +0.0 + 10 +8.938944881889764 + 20 +3.574338582677165 + 30 +0.0 + 10 +8.941220472440945 + 20 +3.569893700787401 + 30 +0.0 + 10 +8.944944881889764 + 20 +3.566779527559055 + 30 +0.0 + 10 +8.944944881889764 + 20 +3.566779527559055 + 30 +0.0 + 10 +8.948637795275591 + 20 +3.563696850393701 + 30 +0.0 + 10 +8.953834645669291 + 20 +3.562141732283465 + 30 +0.0 + 10 +8.960527559055118 + 20 +3.562141732283465 + 30 +0.0 + 10 +8.960527559055118 + 20 +3.562141732283465 + 30 +0.0 + 10 +8.967248031496062 + 20 +3.562141732283465 + 30 +0.0 + 10 +8.972248031496063 + 20 +3.563531496062992 + 30 +0.0 + 10 +8.9755 + 20 +3.566251968503937 + 30 +0.0 + 10 +8.9755 + 20 +3.566251968503937 + 30 +0.0 + 10 +8.978748031496062 + 20 +3.569003937007874 + 30 +0.0 + 10 +8.980389763779527 + 20 +3.572224409448819 + 30 +0.0 + 10 +8.980389763779527 + 20 +3.575893700787402 + 30 +0.0 + 10 +8.980389763779527 + 20 +3.575893700787402 + 30 +0.0 + 10 +8.980389763779527 + 20 +3.579224409448819 + 30 +0.0 + 10 +8.978944881889763 + 20 +3.581807086614173 + 30 +0.0 + 10 +8.976055118110237 + 20 +3.583724409448819 + 30 +0.0 + 10 +8.976055118110237 + 20 +3.583724409448819 + 30 +0.0 + 10 +8.974055118110236 + 20 +3.585031496062992 + 30 +0.0 + 10 +8.969055118110235 + 20 +3.586669291338583 + 30 +0.0 + 10 +8.961082677165354 + 20 +3.588669291338582 + 30 +0.0 + 10 +8.961082677165354 + 20 +3.588669291338582 + 30 +0.0 + 10 +8.95036220472441 + 20 +3.591393700787401 + 30 +0.0 + 10 +8.942889763779528 + 20 +3.593724409448819 + 30 +0.0 + 10 +8.938748031496063 + 20 +3.595724409448819 + 30 +0.0 + 10 +8.938748031496063 + 20 +3.595724409448819 + 30 +0.0 + 10 +8.934610236220472 + 20 +3.597696850393701 + 30 +0.0 + 10 +8.931444881889764 + 20 +3.600448818897638 + 30 +0.0 + 10 +8.929307086614173 + 20 +3.603948818897638 + 30 +0.0 + 10 +8.929307086614173 + 20 +3.603948818897638 + 30 +0.0 + 10 +8.92716535433071 + 20 +3.607448818897638 + 30 +0.0 + 10 +8.926082677165354 + 20 +3.611307086614173 + 30 +0.0 + 10 +8.926082677165354 + 20 +3.615531496062992 + 30 +0.0 + 10 +8.926082677165354 + 20 +3.615531496062992 + 30 +0.0 + 10 +8.926082677165354 + 20 +3.619393700787402 + 30 +0.0 + 10 +8.926972440944882 + 20 +3.622948818897638 + 30 +0.0 + 10 +8.928748031496063 + 20 +3.626224409448819 + 30 +0.0 + 10 +8.928748031496063 + 20 +3.626224409448819 + 30 +0.0 + 10 +8.9305 + 20 +3.629531496062992 + 30 +0.0 + 10 +8.932917322834646 + 20 +3.632251968503937 + 30 +0.0 + 10 +8.935944881889764 + 20 +3.63442125984252 + 30 +0.0 + 10 +8.935944881889764 + 20 +3.63442125984252 + 30 +0.0 + 10 +8.938220472440944 + 20 +3.636086614173228 + 30 +0.0 + 10 +8.941334645669292 + 20 +3.637531496062992 + 30 +0.0 + 10 +8.945248031496064 + 20 +3.638696850393701 + 30 +0.0 + 10 +8.945248031496064 + 20 +3.638696850393701 + 30 +0.0 + 10 +8.949192913385827 + 20 +3.639862204724409 + 30 +0.0 + 10 +8.953417322834646 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.957917322834646 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.957917322834646 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.964692913385827 + 20 +3.640448818897638 + 30 +0.0 + 10 +8.970637795275591 + 20 +3.639448818897638 + 30 +0.0 + 10 +8.975775590551182 + 20 +3.637503937007874 + 30 +0.0 + 10 +8.975775590551182 + 20 +3.637503937007874 + 30 +0.0 + 10 +8.980917322834646 + 20 +3.63555905511811 + 30 +0.0 + 10 +8.984692913385826 + 20 +3.63292125984252 + 30 +0.0 + 10 +8.98713779527559 + 20 +3.629586614173228 + 30 +0.0 + 10 +8.98713779527559 + 20 +3.629586614173228 + 30 +0.0 + 10 +8.989582677165354 + 20 +3.626224409448819 + 30 +0.0 + 10 +8.991248031496063 + 20 +3.621779527559055 + 30 +0.0 + 10 +8.992165354330709 + 20 +3.616196850393701 + 30 +0.0 + 10 +8.992165354330709 + 20 +3.616196850393701 + 30 +0.0 + 10 +8.992165354330709 + 20 +3.616196850393701 + 30 +0.0 + 10 +8.97786220472441 + 20 +3.614224409448819 + 30 +0.0 + 10 +8.97786220472441 + 20 +3.614224409448819 + 30 +0.0 + 10 +8.97786220472441 + 20 +3.614224409448819 + 30 +0.0 + 10 +8.977192913385826 + 20 +3.618669291338583 + 30 +0.0 + 10 +8.9753031496063 + 20 +3.622141732283465 + 30 +0.0 + 10 +8.972192913385827 + 20 +3.624641732283465 + 30 +0.0 + 10 +8.972192913385827 + 20 +3.624641732283465 + 30 +0.0 + 10 +8.969082677165355 + 20 +3.627141732283464 + 30 +0.0 + 10 +8.964665354330709 + 20 +3.628393700787401 + 30 +0.0 + 10 +8.958972440944882 + 20 +3.628393700787401 + 30 +0.0 + 10 +8.958972440944882 + 20 +3.628393700787401 + 30 +0.0 + 10 +8.952248031496064 + 20 +3.628393700787401 + 30 +0.0 + 10 +8.947444881889764 + 20 +3.627279527559055 + 30 +0.0 + 10 +8.944582677165354 + 20 +3.62505905511811 + 30 +0.0 + 10 +8.944582677165354 + 20 +3.62505905511811 + 30 +0.0 + 10 +8.941692913385827 + 20 +3.622834645669291 + 30 +0.0 + 10 +8.940248031496063 + 20 +3.620224409448819 + 30 +0.0 + 10 +8.940248031496063 + 20 +3.617251968503937 + 30 +0.0 + 10 +8.940248031496063 + 20 +3.617251968503937 + 30 +0.0 + 10 +8.940248031496063 + 20 +3.615334645669291 + 30 +0.0 + 10 +8.940862204724409 + 20 +3.613641732283464 + 30 +0.0 + 10 +8.942055118110236 + 20 +3.612114173228346 + 30 +0.0 + 10 +8.942055118110236 + 20 +3.612114173228346 + 30 +0.0 + 10 +8.943248031496063 + 20 +3.610531496062992 + 30 +0.0 + 10 +8.945110236220472 + 20 +3.609251968503937 + 30 +0.0 + 10 +8.94766535433071 + 20 +3.608196850393701 + 30 +0.0 + 10 +8.94766535433071 + 20 +3.608196850393701 + 30 +0.0 + 10 +8.94913779527559 + 20 +3.607669291338583 + 30 +0.0 + 10 +8.953444881889764 + 20 +3.60642125984252 + 30 +0.0 + 10 +8.960610236220472 + 20 +3.604476377952756 + 30 +0.0 + 10 +8.960610236220472 + 20 +3.604476377952756 + 30 +0.0 + 10 +8.970972440944882 + 20 +3.601696850393701 + 30 +0.0 + 10 +8.978192913385827 + 20 +3.599448818897638 + 30 +0.0 + 10 +8.98227559055118 + 20 +3.597669291338583 + 30 +0.0 + 10 +8.98227559055118 + 20 +3.597669291338583 + 30 +0.0 + 10 +8.986389763779528 + 20 +3.59592125984252 + 30 +0.0 + 10 +8.989610236220473 + 20 +3.593334645669291 + 30 +0.0 + 10 +8.991944881889763 + 20 +3.589976377952756 + 30 +0.0 + 10 +8.991944881889763 + 20 +3.589976377952756 + 30 +0.0 + 10 +8.994275590551181 + 20 +3.586614173228346 + 30 +0.0 + 10 +8.995444881889764 + 20 +3.582448818897638 + 30 +0.0 + 10 +8.995444881889764 + 20 +3.577448818897638 + 30 +0.0 + 10 +8.995444881889764 + 20 +3.577448818897638 + 30 +0.0 + 10 +8.995444881889764 + 20 +3.57255905511811 + 30 +0.0 + 10 +8.994 + 20 +3.567976377952756 + 30 +0.0 + 10 +8.99116535433071 + 20 +3.563641732283465 + 30 +0.0 + 10 +8.99116535433071 + 20 +3.563641732283465 + 30 +0.0 + 10 +8.988303149606299 + 20 +3.559338582677166 + 30 +0.0 + 10 +8.984192913385828 + 20 +3.556003937007874 + 30 +0.0 + 10 +8.978830708661418 + 20 +3.553641732283464 + 30 +0.0 + 10 +8.978830708661418 + 20 +3.553641732283464 + 30 +0.0 + 10 +8.973472440944882 + 20 +3.551279527559055 + 30 +0.0 + 10 +8.967389763779527 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.960610236220472 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.960610236220472 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.949362204724409 + 20 +3.550114173228347 + 30 +0.0 + 10 +8.940807086614173 + 20 +3.552448818897638 + 30 +0.0 + 10 +8.934917322834645 + 20 +3.557114173228347 + 30 +0.0 + 10 +8.934917322834645 + 20 +3.557114173228347 + 30 +0.0 + 10 +8.929027559055118 + 20 +3.561779527559055 + 30 +0.0 + 10 +8.92527559055118 + 20 +3.568696850393701 + 30 +0.0 + 10 +8.923665354330709 + 20 +3.577866141732283 + 30 +0.0 + 0 +SPLINE + 5 +27C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.007389763779528 + 20 +3.595279527559055 + 30 +0.0 + 10 +9.007389763779528 + 20 +3.611279527559055 + 30 +0.0 + 10 +9.01183464566929 + 20 +3.623141732283464 + 30 +0.0 + 10 +9.020751968503937 + 20 +3.630834645669291 + 30 +0.0 + 10 +9.020751968503937 + 20 +3.630834645669291 + 30 +0.0 + 10 +9.028169291338582 + 20 +3.637224409448819 + 30 +0.0 + 10 +9.037224409448818 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.059807086614173 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.069527559055118 + 20 +3.63655905511811 + 30 +0.0 + 10 +9.077055118110236 + 20 +3.628751968503937 + 30 +0.0 + 10 +9.077055118110236 + 20 +3.628751968503937 + 30 +0.0 + 10 +9.084610236220472 + 20 +3.620976377952756 + 30 +0.0 + 10 +9.08836220472441 + 20 +3.610224409448819 + 30 +0.0 + 10 +9.08836220472441 + 20 +3.596503937007874 + 30 +0.0 + 10 +9.08836220472441 + 20 +3.596503937007874 + 30 +0.0 + 10 +9.08836220472441 + 20 +3.585366141732283 + 30 +0.0 + 10 +9.086692913385827 + 20 +3.576614173228347 + 30 +0.0 + 10 +9.08336220472441 + 20 +3.570251968503937 + 30 +0.0 + 10 +9.08336220472441 + 20 +3.570251968503937 + 30 +0.0 + 10 +9.080027559055118 + 20 +3.563866141732284 + 30 +0.0 + 10 +9.075165354330709 + 20 +3.55892125984252 + 30 +0.0 + 10 +9.068807086614173 + 20 +3.555393700787401 + 30 +0.0 + 10 +9.068807086614173 + 20 +3.555393700787401 + 30 +0.0 + 10 +9.062417322834646 + 20 +3.551866141732284 + 30 +0.0 + 10 +9.055472440944882 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.035834645669292 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.026055118110236 + 20 +3.553976377952756 + 30 +0.0 + 10 +9.018582677165353 + 20 +3.561751968503937 + 30 +0.0 + 10 +9.018582677165353 + 20 +3.561751968503937 + 30 +0.0 + 10 +9.011110236220473 + 20 +3.569503937007874 + 30 +0.0 + 10 +9.007389763779528 + 20 +3.580669291338582 + 30 +0.0 + 10 +9.007389763779528 + 20 +3.595279527559055 + 30 +0.0 + 0 +SPLINE + 5 +27D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.022444881889763 + 20 +3.595279527559055 + 30 +0.0 + 10 +9.022444881889763 + 20 +3.584196850393701 + 30 +0.0 + 10 +9.024862204724409 + 20 +3.57592125984252 + 30 +0.0 + 10 +9.029696850393702 + 20 +3.57042125984252 + 30 +0.0 + 10 +9.029696850393702 + 20 +3.57042125984252 + 30 +0.0 + 10 +9.034527559055118 + 20 +3.564893700787402 + 30 +0.0 + 10 +9.040610236220472 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.0551968503937 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.061251968503937 + 20 +3.56492125984252 + 30 +0.0 + 10 +9.066082677165355 + 20 +3.570448818897638 + 30 +0.0 + 10 +9.066082677165355 + 20 +3.570448818897638 + 30 +0.0 + 10 +9.070889763779528 + 20 +3.575976377952756 + 30 +0.0 + 10 +9.073307086614173 + 20 +3.58442125984252 + 30 +0.0 + 10 +9.073307086614173 + 20 +3.595751968503937 + 30 +0.0 + 10 +9.073307086614173 + 20 +3.595751968503937 + 30 +0.0 + 10 +9.073307086614173 + 20 +3.606448818897638 + 30 +0.0 + 10 +9.070889763779528 + 20 +3.61455905511811 + 30 +0.0 + 10 +9.066027559055119 + 20 +3.62005905511811 + 30 +0.0 + 10 +9.066027559055119 + 20 +3.62005905511811 + 30 +0.0 + 10 +9.061165354330708 + 20 +3.62555905511811 + 30 +0.0 + 10 +9.055137795275591 + 20 +3.628307086614173 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.628307086614173 + 30 +0.0 + 10 +9.047917322834646 + 20 +3.628307086614173 + 30 +0.0 + 10 +9.040610236220472 + 20 +3.628307086614173 + 30 +0.0 + 10 +9.034527559055118 + 20 +3.62555905511811 + 30 +0.0 + 10 +9.029696850393702 + 20 +3.620086614173228 + 30 +0.0 + 10 +9.029696850393702 + 20 +3.620086614173228 + 30 +0.0 + 10 +9.024862204724409 + 20 +3.614614173228346 + 30 +0.0 + 10 +9.022444881889763 + 20 +3.606334645669291 + 30 +0.0 + 10 +9.022444881889763 + 20 +3.595279527559055 + 30 +0.0 + 0 +SPLINE + 5 +27E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.105555118110237 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.626196850393701 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.626196850393701 + 30 +0.0 + 10 +9.118720472440945 + 20 +3.626196850393701 + 30 +0.0 + 10 +9.125082677165354 + 20 +3.635696850393701 + 30 +0.0 + 10 +9.134248031496062 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.146220472440945 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.146220472440945 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.151444881889764 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.156220472440944 + 20 +3.639503937007874 + 30 +0.0 + 10 +9.160582677165355 + 20 +3.637641732283464 + 30 +0.0 + 10 +9.160582677165355 + 20 +3.637641732283464 + 30 +0.0 + 10 +9.164972440944881 + 20 +3.635751968503937 + 30 +0.0 + 10 +9.168220472440945 + 20 +3.633307086614173 + 30 +0.0 + 10 +9.170389763779527 + 20 +3.630251968503937 + 30 +0.0 + 10 +9.170389763779527 + 20 +3.630251968503937 + 30 +0.0 + 10 +9.172582677165355 + 20 +3.627224409448819 + 30 +0.0 + 10 +9.174082677165355 + 20 +3.623614173228347 + 30 +0.0 + 10 +9.174972440944883 + 20 +3.619448818897638 + 30 +0.0 + 10 +9.174972440944883 + 20 +3.619448818897638 + 30 +0.0 + 10 +9.1755 + 20 +3.616724409448819 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.611976377952756 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.605196850393701 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.605196850393701 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.605196850393701 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.175775590551181 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.604641732283465 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.604641732283465 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.604641732283465 + 30 +0.0 + 10 +9.161110236220473 + 20 +3.610586614173228 + 30 +0.0 + 10 +9.160555118110237 + 20 +3.61505905511811 + 30 +0.0 + 10 +9.159417322834646 + 20 +3.618031496062992 + 30 +0.0 + 10 +9.159417322834646 + 20 +3.618031496062992 + 30 +0.0 + 10 +9.158275590551181 + 20 +3.620976377952756 + 30 +0.0 + 10 +9.156248031496062 + 20 +3.623334645669291 + 30 +0.0 + 10 +9.153358267716536 + 20 +3.625086614173228 + 30 +0.0 + 10 +9.153358267716536 + 20 +3.625086614173228 + 30 +0.0 + 10 +9.150444881889763 + 20 +3.626862204724409 + 30 +0.0 + 10 +9.147055118110236 + 20 +3.627751968503937 + 30 +0.0 + 10 +9.14313779527559 + 20 +3.627751968503937 + 30 +0.0 + 10 +9.14313779527559 + 20 +3.627751968503937 + 30 +0.0 + 10 +9.136889763779527 + 20 +3.627751968503937 + 30 +0.0 + 10 +9.131527559055119 + 20 +3.625751968503937 + 30 +0.0 + 10 +9.126972440944883 + 20 +3.621807086614173 + 30 +0.0 + 10 +9.126972440944883 + 20 +3.621807086614173 + 30 +0.0 + 10 +9.122444881889765 + 20 +3.617834645669291 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.610334645669291 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.599251968503937 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.599251968503937 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.599251968503937 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.120192913385827 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.105555118110237 + 20 +3.55205905511811 + 30 +0.0 + 0 +SPLINE + 5 +27F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.1983031496063 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.67136220472441 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.654503937007874 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.654503937007874 + 30 +0.0 + 0 +SPLINE + 5 +280 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.1983031496063 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.638476377952756 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.212968503937008 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.55205905511811 + 30 +0.0 + 10 +9.1983031496063 + 20 +3.55205905511811 + 30 +0.0 + 0 +SPLINE + 5 +281 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.291665354330709 + 20 +3.583724409448819 + 30 +0.0 + 10 +9.291665354330709 + 20 +3.583724409448819 + 30 +0.0 + 10 +9.306051181102362 + 20 +3.581834645669292 + 30 +0.0 + 10 +9.306051181102362 + 20 +3.581834645669292 + 30 +0.0 + 10 +9.306051181102362 + 20 +3.581834645669292 + 30 +0.0 + 10 +9.304496062992126 + 20 +3.57192125984252 + 30 +0.0 + 10 +9.300468503937008 + 20 +3.564141732283465 + 30 +0.0 + 10 +9.293968503937007 + 20 +3.558531496062992 + 30 +0.0 + 10 +9.293968503937007 + 20 +3.558531496062992 + 30 +0.0 + 10 +9.287496062992126 + 20 +3.552921259842519 + 30 +0.0 + 10 +9.279523622047243 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.270082677165354 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.270082677165354 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.25827559055118 + 20 +3.550114173228347 + 30 +0.0 + 10 +9.248748031496064 + 20 +3.553976377952756 + 30 +0.0 + 10 +9.241582677165354 + 20 +3.561696850393701 + 30 +0.0 + 10 +9.241582677165354 + 20 +3.561696850393701 + 30 +0.0 + 10 +9.234385826771653 + 20 +3.56942125984252 + 30 +0.0 + 10 +9.23077559055118 + 20 +3.580503937007874 + 30 +0.0 + 10 +9.23077559055118 + 20 +3.594948818897638 + 30 +0.0 + 10 +9.23077559055118 + 20 +3.594948818897638 + 30 +0.0 + 10 +9.23077559055118 + 20 +3.604279527559055 + 30 +0.0 + 10 +9.232330708661417 + 20 +3.612448818897638 + 30 +0.0 + 10 +9.23541338582677 + 20 +3.619448818897638 + 30 +0.0 + 10 +9.23541338582677 + 20 +3.619448818897638 + 30 +0.0 + 10 +9.238523622047245 + 20 +3.626448818897638 + 30 +0.0 + 10 +9.243220472440944 + 20 +3.631696850393701 + 30 +0.0 + 10 +9.249555118110235 + 20 +3.635196850393701 + 30 +0.0 + 10 +9.249555118110235 + 20 +3.635196850393701 + 30 +0.0 + 10 +9.255858267716535 + 20 +3.638696850393701 + 30 +0.0 + 10 +9.262748031496063 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.27016535433071 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.27016535433071 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.279551181102363 + 20 +3.640448818897638 + 30 +0.0 + 10 +9.287248031496063 + 20 +3.63805905511811 + 30 +0.0 + 10 +9.293192913385827 + 20 +3.633307086614173 + 30 +0.0 + 10 +9.293192913385827 + 20 +3.633307086614173 + 30 +0.0 + 10 +9.29916535433071 + 20 +3.62855905511811 + 30 +0.0 + 10 +9.302996062992126 + 20 +3.621834645669291 + 30 +0.0 + 10 +9.304692913385827 + 20 +3.613086614173228 + 30 +0.0 + 10 +9.304692913385827 + 20 +3.613086614173228 + 30 +0.0 + 10 +9.304692913385827 + 20 +3.613086614173228 + 30 +0.0 + 10 +9.29044094488189 + 20 +3.610893700787402 + 30 +0.0 + 10 +9.29044094488189 + 20 +3.610893700787402 + 30 +0.0 + 10 +9.29044094488189 + 20 +3.610893700787402 + 30 +0.0 + 10 +9.28907874015748 + 20 +3.616696850393701 + 30 +0.0 + 10 +9.286692913385826 + 20 +3.62105905511811 + 30 +0.0 + 10 +9.283248031496063 + 20 +3.624003937007874 + 30 +0.0 + 10 +9.283248031496063 + 20 +3.624003937007874 + 30 +0.0 + 10 +9.2798031496063 + 20 +3.62692125984252 + 30 +0.0 + 10 +9.27563779527559 + 20 +3.628393700787401 + 30 +0.0 + 10 +9.270748031496064 + 20 +3.628393700787401 + 30 +0.0 + 10 +9.270748031496064 + 20 +3.628393700787401 + 30 +0.0 + 10 +9.263358267716535 + 20 +3.628393700787401 + 30 +0.0 + 10 +9.257358267716535 + 20 +3.625751968503937 + 30 +0.0 + 10 +9.252748031496063 + 20 +3.620448818897638 + 30 +0.0 + 10 +9.252748031496063 + 20 +3.620448818897638 + 30 +0.0 + 10 +9.248137795275591 + 20 +3.615169291338583 + 30 +0.0 + 10 +9.245830708661417 + 20 +3.606807086614173 + 30 +0.0 + 10 +9.245830708661417 + 20 +3.595366141732284 + 30 +0.0 + 10 +9.245830708661417 + 20 +3.595366141732284 + 30 +0.0 + 10 +9.245830708661417 + 20 +3.583751968503937 + 30 +0.0 + 10 +9.248055118110237 + 20 +3.575307086614173 + 30 +0.0 + 10 +9.252523622047244 + 20 +3.570031496062992 + 30 +0.0 + 10 +9.252523622047244 + 20 +3.570031496062992 + 30 +0.0 + 10 +9.256968503937008 + 20 +3.564779527559055 + 30 +0.0 + 10 +9.26277559055118 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.26994094488189 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.26994094488189 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.275692913385827 + 20 +3.562141732283465 + 30 +0.0 + 10 +9.280468503937009 + 20 +3.56392125984252 + 30 +0.0 + 10 +9.284330708661418 + 20 +3.567448818897638 + 30 +0.0 + 10 +9.284330708661418 + 20 +3.567448818897638 + 30 +0.0 + 10 +9.288192913385826 + 20 +3.570976377952756 + 30 +0.0 + 10 +9.290637795275591 + 20 +3.576393700787401 + 30 +0.0 + 10 +9.291665354330709 + 20 +3.583724409448819 + 30 +0.0 + 0 +SPLINE + 5 +282 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.542476377952756 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.628728346456693 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.43455905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.624255905511811 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.42055905511811 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.55825590551181 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.631503937007874 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.542476377952756 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +283 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.652641732283465 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.426003937007874 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.426003937007874 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.426003937007874 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.426003937007874 + 30 +0.0 + 10 +8.7276968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.7276968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.7276968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.7276968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.749086614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.749086614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.749086614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.749086614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.699031496062991 + 20 +3.436838582677165 + 30 +0.0 + 10 +8.699031496062991 + 20 +3.436838582677165 + 30 +0.0 + 10 +8.699031496062991 + 20 +3.436838582677165 + 30 +0.0 + 10 +8.699031496062991 + 20 +3.436838582677165 + 30 +0.0 + 10 +8.751279527559054 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.751279527559054 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.751279527559054 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.751279527559054 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.730448818897639 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.730448818897639 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.730448818897639 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.730448818897639 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.687976377952756 + 20 +3.426255905511811 + 30 +0.0 + 10 +8.687976377952756 + 20 +3.426255905511811 + 30 +0.0 + 10 +8.687976377952756 + 20 +3.426255905511811 + 30 +0.0 + 10 +8.687976377952756 + 20 +3.426255905511811 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.407200787401575 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.407200787401575 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.407200787401575 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.407200787401575 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.668448818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.652641732283465 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +284 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.763976377952757 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.787751968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.787751968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.787751968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.787751968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.815976377952756 + 20 +3.400700787401575 + 30 +0.0 + 10 +8.815976377952756 + 20 +3.400700787401575 + 30 +0.0 + 10 +8.815976377952756 + 20 +3.400700787401575 + 30 +0.0 + 10 +8.818586614173228 + 20 +3.392838582677165 + 30 +0.0 + 10 +8.820503937007874 + 20 +3.386948818897638 + 30 +0.0 + 10 +8.821669291338583 + 20 +3.383031496062992 + 30 +0.0 + 10 +8.821669291338583 + 20 +3.383031496062992 + 30 +0.0 + 10 +8.823031496062992 + 20 +3.387366141732283 + 30 +0.0 + 10 +8.825141732283464 + 20 +3.393755905511811 + 30 +0.0 + 10 +8.828031496062993 + 20 +3.402173228346457 + 30 +0.0 + 10 +8.828031496062993 + 20 +3.402173228346457 + 30 +0.0 + 10 +8.828031496062993 + 20 +3.402173228346457 + 30 +0.0 + 10 +8.856586614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.856586614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.856586614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.856586614173228 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.87783464566929 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.465728346456693 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.465728346456693 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.465728346456693 + 30 +0.0 + 10 +8.862614173228346 + 20 +3.465728346456693 + 30 +0.0 + 10 +8.827948818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.827948818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.827948818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.827948818897637 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.8136968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.8136968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.8136968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.8136968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.46742125984252 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.46742125984252 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.46742125984252 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.46742125984252 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.779196850393701 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.763976377952757 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +285 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.90263779527559 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.947417322834646 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.947417322834646 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.947417322834646 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.956527559055118 + 20 +3.485169291338583 + 30 +0.0 + 10 +8.96383464566929 + 20 +3.483948818897638 + 30 +0.0 + 10 +8.969334645669292 + 20 +3.48155905511811 + 30 +0.0 + 10 +8.969334645669292 + 20 +3.48155905511811 + 30 +0.0 + 10 +8.97486220472441 + 20 +3.479141732283464 + 30 +0.0 + 10 +8.979165354330709 + 20 +3.47542125984252 + 30 +0.0 + 10 +8.98227559055118 + 20 +3.470393700787402 + 30 +0.0 + 10 +8.98227559055118 + 20 +3.470393700787402 + 30 +0.0 + 10 +8.985389763779528 + 20 +3.465393700787402 + 30 +0.0 + 10 +8.986972440944882 + 20 +3.460141732283465 + 30 +0.0 + 10 +8.986972440944882 + 20 +3.454641732283465 + 30 +0.0 + 10 +8.986972440944882 + 20 +3.454641732283465 + 30 +0.0 + 10 +8.986972440944882 + 20 +3.44955905511811 + 30 +0.0 + 10 +8.985582677165354 + 20 +3.444755905511811 + 30 +0.0 + 10 +8.982807086614173 + 20 +3.440255905511811 + 30 +0.0 + 10 +8.982807086614173 + 20 +3.440255905511811 + 30 +0.0 + 10 +8.980055118110236 + 20 +3.435755905511811 + 30 +0.0 + 10 +8.97586220472441 + 20 +3.432114173228347 + 30 +0.0 + 10 +8.970279527559056 + 20 +3.429338582677165 + 30 +0.0 + 10 +8.970279527559056 + 20 +3.429338582677165 + 30 +0.0 + 10 +8.9775 + 20 +3.427228346456693 + 30 +0.0 + 10 +8.983027559055119 + 20 +3.423614173228346 + 30 +0.0 + 10 +8.986917322834646 + 20 +3.418531496062992 + 30 +0.0 + 10 +8.986917322834646 + 20 +3.418531496062992 + 30 +0.0 + 10 +8.990807086614174 + 20 +3.41342125984252 + 30 +0.0 + 10 +8.992748031496063 + 20 +3.407393700787402 + 30 +0.0 + 10 +8.992748031496063 + 20 +3.400448818897638 + 30 +0.0 + 10 +8.992748031496063 + 20 +3.400448818897638 + 30 +0.0 + 10 +8.992748031496063 + 20 +3.394866141732284 + 30 +0.0 + 10 +8.991555118110236 + 20 +3.389673228346457 + 30 +0.0 + 10 +8.989192913385827 + 20 +3.384866141732283 + 30 +0.0 + 10 +8.989192913385827 + 20 +3.384866141732283 + 30 +0.0 + 10 +8.98683464566929 + 20 +3.38005905511811 + 30 +0.0 + 10 +8.983917322834646 + 20 +3.376366141732284 + 30 +0.0 + 10 +8.980444881889763 + 20 +3.373755905511811 + 30 +0.0 + 10 +8.980444881889763 + 20 +3.373755905511811 + 30 +0.0 + 10 +8.976972440944882 + 20 +3.371145669291339 + 30 +0.0 + 10 +8.972610236220472 + 20 +3.369200787401575 + 30 +0.0 + 10 +8.967389763779527 + 20 +3.367866141732283 + 30 +0.0 + 10 +8.967389763779527 + 20 +3.367866141732283 + 30 +0.0 + 10 +8.96216535433071 + 20 +3.366531496062992 + 30 +0.0 + 10 +8.955748031496062 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.94813779527559 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.94813779527559 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.94813779527559 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.365866141732283 + 30 +0.0 + 10 +8.90263779527559 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +286 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.918444881889764 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.944251968503938 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.944251968503938 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.944251968503938 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.951220472440944 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.956248031496063 + 20 +3.435503937007874 + 30 +0.0 + 10 +8.959307086614173 + 20 +3.43642125984252 + 30 +0.0 + 10 +8.959307086614173 + 20 +3.43642125984252 + 30 +0.0 + 10 +8.963307086614174 + 20 +3.437614173228346 + 30 +0.0 + 10 +8.966334645669292 + 20 +3.439586614173229 + 30 +0.0 + 10 +8.968362204724409 + 20 +3.442366141732284 + 30 +0.0 + 10 +8.968362204724409 + 20 +3.442366141732284 + 30 +0.0 + 10 +8.970389763779528 + 20 +3.445141732283465 + 30 +0.0 + 10 +8.971417322834645 + 20 +3.448614173228346 + 30 +0.0 + 10 +8.971417322834645 + 20 +3.452783464566929 + 30 +0.0 + 10 +8.971417322834645 + 20 +3.452783464566929 + 30 +0.0 + 10 +8.971417322834645 + 20 +3.456728346456693 + 30 +0.0 + 10 +8.970472440944881 + 20 +3.460228346456693 + 30 +0.0 + 10 +8.968582677165355 + 20 +3.463228346456693 + 30 +0.0 + 10 +8.968582677165355 + 20 +3.463228346456693 + 30 +0.0 + 10 +8.96666535433071 + 20 +3.466255905511811 + 30 +0.0 + 10 +8.963944881889764 + 20 +3.468311023622047 + 30 +0.0 + 10 +8.960444881889764 + 20 +3.46942125984252 + 30 +0.0 + 10 +8.960444881889764 + 20 +3.46942125984252 + 30 +0.0 + 10 +8.956917322834645 + 20 +3.470531496062992 + 30 +0.0 + 10 +8.950862204724409 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.942279527559055 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.942279527559055 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.942279527559055 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.471086614173228 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.435031496062992 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.435031496062992 + 30 +0.0 + 0 +SPLINE + 5 +287 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.918444881889764 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.94813779527559 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.94813779527559 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.94813779527559 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.953248031496063 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.956834645669291 + 20 +3.380145669291339 + 30 +0.0 + 10 +8.958889763779528 + 20 +3.380503937007874 + 30 +0.0 + 10 +8.958889763779528 + 20 +3.380503937007874 + 30 +0.0 + 10 +8.962527559055118 + 20 +3.381173228346457 + 30 +0.0 + 10 +8.965555118110236 + 20 +3.382255905511811 + 30 +0.0 + 10 +8.968 + 20 +3.383783464566929 + 30 +0.0 + 10 +8.968 + 20 +3.383783464566929 + 30 +0.0 + 10 +8.970444881889764 + 20 +3.385283464566929 + 30 +0.0 + 10 +8.972444881889764 + 20 +3.387503937007874 + 30 +0.0 + 10 +8.974027559055118 + 20 +3.390393700787401 + 30 +0.0 + 10 +8.974027559055118 + 20 +3.390393700787401 + 30 +0.0 + 10 +8.975582677165354 + 20 +3.393311023622047 + 30 +0.0 + 10 +8.976389763779528 + 20 +3.396641732283465 + 30 +0.0 + 10 +8.976389763779528 + 20 +3.400448818897638 + 30 +0.0 + 10 +8.976389763779528 + 20 +3.400448818897638 + 30 +0.0 + 10 +8.976389763779528 + 20 +3.404893700787401 + 30 +0.0 + 10 +8.975248031496063 + 20 +3.408755905511811 + 30 +0.0 + 10 +8.972972440944883 + 20 +3.41205905511811 + 30 +0.0 + 10 +8.972972440944883 + 20 +3.41205905511811 + 30 +0.0 + 10 +8.970692913385827 + 20 +3.415338582677165 + 30 +0.0 + 10 +8.967527559055117 + 20 +3.417641732283465 + 30 +0.0 + 10 +8.963472440944882 + 20 +3.418976377952756 + 30 +0.0 + 10 +8.963472440944882 + 20 +3.418976377952756 + 30 +0.0 + 10 +8.959444881889764 + 20 +3.420283464566929 + 30 +0.0 + 10 +8.953610236220472 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.946027559055118 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.946027559055118 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.946027559055118 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.420948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.379948818897638 + 30 +0.0 + 10 +8.918444881889764 + 20 +3.379948818897638 + 30 +0.0 + 0 +SPLINE + 5 +288 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.063692913385827 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.459196850393701 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.459196850393701 + 30 +0.0 + 10 +9.049055118110235 + 20 +3.459196850393701 + 30 +0.0 + 10 +9.045527559055119 + 20 +3.455838582677165 + 30 +0.0 + 10 +9.040917322834646 + 20 +3.452476377952756 + 30 +0.0 + 10 +9.035192913385826 + 20 +3.449114173228347 + 30 +0.0 + 10 +9.035192913385826 + 20 +3.449114173228347 + 30 +0.0 + 10 +9.029444881889765 + 20 +3.445755905511811 + 30 +0.0 + 10 +9.024303149606299 + 20 +3.443228346456693 + 30 +0.0 + 10 +9.019748031496063 + 20 +3.44155905511811 + 30 +0.0 + 10 +9.019748031496063 + 20 +3.44155905511811 + 30 +0.0 + 10 +9.019748031496063 + 20 +3.44155905511811 + 30 +0.0 + 10 +9.019748031496063 + 20 +3.455696850393701 + 30 +0.0 + 10 +9.019748031496063 + 20 +3.455696850393701 + 30 +0.0 + 10 +9.019748031496063 + 20 +3.455696850393701 + 30 +0.0 + 10 +9.027944881889765 + 20 +3.45955905511811 + 30 +0.0 + 10 +9.035110236220472 + 20 +3.464228346456693 + 30 +0.0 + 10 +9.041248031496062 + 20 +3.469696850393701 + 30 +0.0 + 10 +9.041248031496062 + 20 +3.469696850393701 + 30 +0.0 + 10 +9.047358267716536 + 20 +3.475196850393701 + 30 +0.0 + 10 +9.051720472440945 + 20 +3.480503937007874 + 30 +0.0 + 10 +9.054275590551182 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.054275590551182 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.054275590551182 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.063692913385827 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +289 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.095023622047243 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.095023622047243 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.141192913385828 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.141192913385828 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.141192913385828 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.141192913385828 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.100496062992127 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.100496062992127 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.100496062992127 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.100496062992127 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.119275590551181 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.119275590551181 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.119275590551181 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.119275590551181 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.14094094488189 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.14094094488189 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.14094094488189 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.145440944881889 + 20 +3.448228346456693 + 30 +0.0 + 10 +9.14863779527559 + 20 +3.443338582677165 + 30 +0.0 + 10 +9.150523622047244 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.150523622047244 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.153192913385826 + 20 +3.444255905511811 + 30 +0.0 + 10 +9.156330708661418 + 20 +3.448783464566929 + 30 +0.0 + 10 +9.159968503937009 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.159968503937009 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.159968503937009 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.183996062992126 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.183996062992126 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.183996062992126 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.183996062992126 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.201165354330708 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.201165354330708 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.201165354330708 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.201165354330708 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.159248031496062 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.159248031496062 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.159248031496062 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.159248031496062 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.204413385826772 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.204413385826772 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.204413385826772 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.204413385826772 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.184885826771653 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.184885826771653 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.184885826771653 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.184885826771653 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.154858267716536 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.154858267716536 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.154858267716536 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.153165354330708 + 20 +3.410866141732284 + 30 +0.0 + 10 +9.15144094488189 + 20 +3.413531496062992 + 30 +0.0 + 10 +9.149637795275591 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.149637795275591 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.146968503937007 + 20 +3.41205905511811 + 30 +0.0 + 10 +9.14507874015748 + 20 +3.409086614173229 + 30 +0.0 + 10 +9.143940944881889 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.143940944881889 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.143940944881889 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.113996062992126 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.113996062992126 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.113996062992126 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.113996062992126 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.095023622047243 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.095023622047243 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +28A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.206188976377954 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.206188976377954 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.252358267716536 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.252358267716536 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.252358267716536 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.252358267716536 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.211661417322835 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.211661417322835 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.211661417322835 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.211661417322835 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.23044094488189 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.23044094488189 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.23044094488189 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.23044094488189 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.252106299212599 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.252106299212599 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.252106299212599 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.2566062992126 + 20 +3.448228346456693 + 30 +0.0 + 10 +9.259803149606299 + 20 +3.443338582677165 + 30 +0.0 + 10 +9.261688976377952 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.261688976377952 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.264358267716535 + 20 +3.444255905511811 + 30 +0.0 + 10 +9.267496062992127 + 20 +3.448783464566929 + 30 +0.0 + 10 +9.271133858267717 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.271133858267717 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.271133858267717 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.295161417322834 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.295161417322834 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.295161417322834 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.295161417322834 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.312330708661417 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.312330708661417 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.312330708661417 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.312330708661417 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.270413385826771 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.270413385826771 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.270413385826771 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.270413385826771 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.31557874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.31557874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.31557874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.31557874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.296051181102362 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.296051181102362 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.296051181102362 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.296051181102362 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.266023622047245 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.266023622047245 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.266023622047245 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.264330708661417 + 20 +3.410866141732284 + 30 +0.0 + 10 +9.262606299212598 + 20 +3.413531496062992 + 30 +0.0 + 10 +9.2608031496063 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.2608031496063 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.258133858267717 + 20 +3.41205905511811 + 30 +0.0 + 10 +9.256244094488189 + 20 +3.409086614173229 + 30 +0.0 + 10 +9.2551062992126 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.2551062992126 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.2551062992126 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.225161417322834 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.225161417322834 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.225161417322834 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.225161417322834 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.206188976377954 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.206188976377954 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +28B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.378716535433071 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.459196850393701 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.459196850393701 + 30 +0.0 + 10 +9.36407874015748 + 20 +3.459196850393701 + 30 +0.0 + 10 +9.360551181102363 + 20 +3.455838582677165 + 30 +0.0 + 10 +9.35594094488189 + 20 +3.452476377952756 + 30 +0.0 + 10 +9.350216535433072 + 20 +3.449114173228347 + 30 +0.0 + 10 +9.350216535433072 + 20 +3.449114173228347 + 30 +0.0 + 10 +9.344468503937009 + 20 +3.445755905511811 + 30 +0.0 + 10 +9.339326771653543 + 20 +3.443228346456693 + 30 +0.0 + 10 +9.334771653543307 + 20 +3.44155905511811 + 30 +0.0 + 10 +9.334771653543307 + 20 +3.44155905511811 + 30 +0.0 + 10 +9.334771653543307 + 20 +3.44155905511811 + 30 +0.0 + 10 +9.334771653543307 + 20 +3.455696850393701 + 30 +0.0 + 10 +9.334771653543307 + 20 +3.455696850393701 + 30 +0.0 + 10 +9.334771653543307 + 20 +3.455696850393701 + 30 +0.0 + 10 +9.342968503937009 + 20 +3.45955905511811 + 30 +0.0 + 10 +9.350133858267716 + 20 +3.464228346456693 + 30 +0.0 + 10 +9.356271653543308 + 20 +3.469696850393701 + 30 +0.0 + 10 +9.356271653543308 + 20 +3.469696850393701 + 30 +0.0 + 10 +9.36238188976378 + 20 +3.475196850393701 + 30 +0.0 + 10 +9.366744094488189 + 20 +3.480503937007874 + 30 +0.0 + 10 +9.369299212598426 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.369299212598426 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.369299212598426 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.485669291338583 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.378716535433071 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +28C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.410047244094487 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.410047244094487 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.456216535433072 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.456216535433072 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.456216535433072 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.456216535433072 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.41551968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.41551968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.41551968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.41551968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.434299212598425 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.434299212598425 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.434299212598425 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.434299212598425 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.455964566929135 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.455964566929135 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.455964566929135 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.460464566929135 + 20 +3.448228346456693 + 30 +0.0 + 10 +9.463661417322834 + 20 +3.443338582677165 + 30 +0.0 + 10 +9.465547244094488 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.465547244094488 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.46821653543307 + 20 +3.444255905511811 + 30 +0.0 + 10 +9.471354330708662 + 20 +3.448783464566929 + 30 +0.0 + 10 +9.474992125984253 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.474992125984253 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.474992125984253 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.49901968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.49901968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.49901968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.49901968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.516188976377952 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.516188976377952 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.516188976377952 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.516188976377952 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.474271653543306 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.474271653543306 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.474271653543306 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.474271653543306 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.519437007874016 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.519437007874016 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.519437007874016 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.519437007874016 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.499909448818897 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.499909448818897 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.499909448818897 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.499909448818897 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.46988188976378 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.46988188976378 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.46988188976378 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.468188976377952 + 20 +3.410866141732284 + 30 +0.0 + 10 +9.466464566929133 + 20 +3.413531496062992 + 30 +0.0 + 10 +9.464661417322835 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.464661417322835 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.461992125984253 + 20 +3.41205905511811 + 30 +0.0 + 10 +9.460102362204724 + 20 +3.409086614173229 + 30 +0.0 + 10 +9.458964566929135 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.458964566929135 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.458964566929135 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.42901968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.42901968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.42901968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.42901968503937 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.410047244094487 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.410047244094487 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +28D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.521212598425198 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.521212598425198 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.56738188976378 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.56738188976378 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.56738188976378 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.56738188976378 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.52668503937008 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.52668503937008 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.52668503937008 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.52668503937008 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.545464566929134 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.545464566929134 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.545464566929134 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.545464566929134 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.567129921259843 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.567129921259843 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.567129921259843 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.571629921259843 + 20 +3.448228346456693 + 30 +0.0 + 10 +9.574826771653543 + 20 +3.443338582677165 + 30 +0.0 + 10 +9.576712598425196 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.576712598425196 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.579381889763779 + 20 +3.444255905511811 + 30 +0.0 + 10 +9.58251968503937 + 20 +3.448783464566929 + 30 +0.0 + 10 +9.586157480314961 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.586157480314961 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.586157480314961 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.610185039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.610185039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.610185039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.610185039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.62735433070866 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.62735433070866 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.62735433070866 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.62735433070866 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.585437007874015 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.585437007874015 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.585437007874015 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.585437007874015 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.630602362204725 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.630602362204725 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.630602362204725 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.630602362204725 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.611074803149606 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.611074803149606 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.611074803149606 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.611074803149606 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.581047244094488 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.581047244094488 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.581047244094488 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.57935433070866 + 20 +3.410866141732284 + 30 +0.0 + 10 +9.577629921259842 + 20 +3.413531496062992 + 30 +0.0 + 10 +9.575826771653544 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.575826771653544 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.573157480314961 + 20 +3.41205905511811 + 30 +0.0 + 10 +9.571267716535433 + 20 +3.409086614173229 + 30 +0.0 + 10 +9.570129921259843 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.570129921259843 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.570129921259843 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.540185039370078 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.540185039370078 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.540185039370078 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.540185039370078 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.521212598425198 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.521212598425198 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +28E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.632377952755906 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.632377952755906 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.678547244094489 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.678547244094489 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.678547244094489 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.678547244094489 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.637850393700788 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.637850393700788 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.637850393700788 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.637850393700788 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.656629921259842 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.656629921259842 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.656629921259842 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.656629921259842 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.678295275590552 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.678295275590552 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.678295275590552 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.682795275590552 + 20 +3.448228346456693 + 30 +0.0 + 10 +9.685992125984251 + 20 +3.443338582677165 + 30 +0.0 + 10 +9.687877952755905 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.687877952755905 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.690547244094487 + 20 +3.444255905511811 + 30 +0.0 + 10 +9.693685039370079 + 20 +3.448783464566929 + 30 +0.0 + 10 +9.69732283464567 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.69732283464567 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.69732283464567 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.721350393700787 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.721350393700787 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.721350393700787 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.721350393700787 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.73851968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.73851968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.73851968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.73851968503937 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.696602362204725 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.696602362204725 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.696602362204725 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.696602362204725 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.741767716535433 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.741767716535433 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.741767716535433 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.741767716535433 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.722240157480314 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.722240157480314 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.722240157480314 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.722240157480314 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.692212598425197 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.692212598425197 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.692212598425197 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.69051968503937 + 20 +3.410866141732284 + 30 +0.0 + 10 +9.688795275590552 + 20 +3.413531496062992 + 30 +0.0 + 10 +9.686992125984252 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.686992125984252 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.68432283464567 + 20 +3.41205905511811 + 30 +0.0 + 10 +9.682433070866141 + 20 +3.409086614173229 + 30 +0.0 + 10 +9.681295275590552 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.681295275590552 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.681295275590552 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.651350393700788 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.651350393700788 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.651350393700788 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.651350393700788 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.632377952755906 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.632377952755906 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +28F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.743543307086615 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.743543307086615 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.789712598425197 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.789712598425197 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.789712598425197 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.789712598425197 + 20 +3.428031496062992 + 30 +0.0 + 10 +9.749015748031496 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.749015748031496 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.749015748031496 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.749015748031496 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.76779527559055 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.76779527559055 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.76779527559055 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.76779527559055 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.78946062992126 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.78946062992126 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.78946062992126 + 20 +3.45455905511811 + 30 +0.0 + 10 +9.79396062992126 + 20 +3.448228346456693 + 30 +0.0 + 10 +9.797157480314961 + 20 +3.443338582677165 + 30 +0.0 + 10 +9.799043307086615 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.799043307086615 + 20 +3.43992125984252 + 30 +0.0 + 10 +9.801712598425198 + 20 +3.444255905511811 + 30 +0.0 + 10 +9.804850393700788 + 20 +3.448783464566929 + 30 +0.0 + 10 +9.808488188976378 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.808488188976378 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.808488188976378 + 20 +3.453503937007874 + 30 +0.0 + 10 +9.832515748031495 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.832515748031495 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.832515748031495 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.832515748031495 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.849685039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.849685039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.849685039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.849685039370078 + 20 +3.485169291338583 + 30 +0.0 + 10 +9.807767716535434 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.807767716535434 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.807767716535434 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.807767716535434 + 20 +3.428948818897638 + 30 +0.0 + 10 +9.852933070866142 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.852933070866142 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.852933070866142 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.852933070866142 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.833405511811023 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.833405511811023 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.833405511811023 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.833405511811023 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.803377952755906 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.803377952755906 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.803377952755906 + 20 +3.40842125984252 + 30 +0.0 + 10 +9.80168503937008 + 20 +3.410866141732284 + 30 +0.0 + 10 +9.79996062992126 + 20 +3.413531496062992 + 30 +0.0 + 10 +9.798157480314961 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.798157480314961 + 20 +3.416393700787402 + 30 +0.0 + 10 +9.795488188976378 + 20 +3.41205905511811 + 30 +0.0 + 10 +9.79359842519685 + 20 +3.409086614173229 + 30 +0.0 + 10 +9.79246062992126 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.79246062992126 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.79246062992126 + 20 +3.407448818897638 + 30 +0.0 + 10 +9.762515748031497 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.762515748031497 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.762515748031497 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.762515748031497 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.743543307086615 + 20 +3.365866141732283 + 30 +0.0 + 10 +9.743543307086615 + 20 +3.365866141732283 + 30 +0.0 + 0 +SPLINE + 5 +290 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.034082677165355 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.114582677165354 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.10586220472441 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.676437007874016 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.049889763779527 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.034082677165355 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +291 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.127748031496063 + 20 +4.665464566929134 + 30 +0.0 + 10 +8.127748031496063 + 20 +4.681464566929134 + 30 +0.0 + 10 +8.132192913385827 + 20 +4.693326771653544 + 30 +0.0 + 10 +8.141110236220472 + 20 +4.70101968503937 + 30 +0.0 + 10 +8.141110236220472 + 20 +4.70101968503937 + 30 +0.0 + 10 +8.148527559055118 + 20 +4.707409448818898 + 30 +0.0 + 10 +8.157582677165355 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.18016535433071 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.189885826771654 + 20 +4.706744094488189 + 30 +0.0 + 10 +8.197413385826772 + 20 +4.698937007874016 + 30 +0.0 + 10 +8.197413385826772 + 20 +4.698937007874016 + 30 +0.0 + 10 +8.204968503937009 + 20 +4.691161417322834 + 30 +0.0 + 10 +8.208720472440945 + 20 +4.680409448818898 + 30 +0.0 + 10 +8.208720472440945 + 20 +4.666688976377952 + 30 +0.0 + 10 +8.208720472440945 + 20 +4.666688976377952 + 30 +0.0 + 10 +8.208720472440945 + 20 +4.655551181102362 + 30 +0.0 + 10 +8.207051181102361 + 20 +4.646799212598425 + 30 +0.0 + 10 +8.203720472440946 + 20 +4.640437007874016 + 30 +0.0 + 10 +8.203720472440946 + 20 +4.640437007874016 + 30 +0.0 + 10 +8.200385826771653 + 20 +4.634051181102362 + 30 +0.0 + 10 +8.195523622047244 + 20 +4.629106299212599 + 30 +0.0 + 10 +8.189165354330708 + 20 +4.62557874015748 + 30 +0.0 + 10 +8.189165354330708 + 20 +4.62557874015748 + 30 +0.0 + 10 +8.18277559055118 + 20 +4.622051181102362 + 30 +0.0 + 10 +8.175830708661417 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.156192913385826 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.146413385826772 + 20 +4.624161417322835 + 30 +0.0 + 10 +8.13894094488189 + 20 +4.631937007874016 + 30 +0.0 + 10 +8.13894094488189 + 20 +4.631937007874016 + 30 +0.0 + 10 +8.131468503937008 + 20 +4.639688976377953 + 30 +0.0 + 10 +8.127748031496063 + 20 +4.650854330708661 + 30 +0.0 + 10 +8.127748031496063 + 20 +4.665464566929134 + 30 +0.0 + 0 +SPLINE + 5 +292 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.1428031496063 + 20 +4.665464566929134 + 30 +0.0 + 10 +8.1428031496063 + 20 +4.65438188976378 + 30 +0.0 + 10 +8.145220472440945 + 20 +4.646106299212598 + 30 +0.0 + 10 +8.150055118110236 + 20 +4.640606299212599 + 30 +0.0 + 10 +8.150055118110236 + 20 +4.640606299212599 + 30 +0.0 + 10 +8.154885826771654 + 20 +4.63507874015748 + 30 +0.0 + 10 +8.160968503937008 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.175555118110235 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.181610236220472 + 20 +4.635106299212598 + 30 +0.0 + 10 +8.18644094488189 + 20 +4.640633858267717 + 30 +0.0 + 10 +8.18644094488189 + 20 +4.640633858267717 + 30 +0.0 + 10 +8.191248031496063 + 20 +4.646161417322834 + 30 +0.0 + 10 +8.193665354330708 + 20 +4.654606299212598 + 30 +0.0 + 10 +8.193665354330708 + 20 +4.665937007874016 + 30 +0.0 + 10 +8.193665354330708 + 20 +4.665937007874016 + 30 +0.0 + 10 +8.193665354330708 + 20 +4.676633858267716 + 30 +0.0 + 10 +8.191248031496063 + 20 +4.684744094488189 + 30 +0.0 + 10 +8.186385826771653 + 20 +4.690244094488189 + 30 +0.0 + 10 +8.186385826771653 + 20 +4.690244094488189 + 30 +0.0 + 10 +8.181523622047244 + 20 +4.695744094488189 + 30 +0.0 + 10 +8.175496062992126 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.16827559055118 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.160968503937008 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.154885826771654 + 20 +4.695744094488189 + 30 +0.0 + 10 +8.150055118110236 + 20 +4.690271653543307 + 30 +0.0 + 10 +8.150055118110236 + 20 +4.690271653543307 + 30 +0.0 + 10 +8.145220472440945 + 20 +4.684799212598425 + 30 +0.0 + 10 +8.1428031496063 + 20 +4.67651968503937 + 30 +0.0 + 10 +8.1428031496063 + 20 +4.665464566929134 + 30 +0.0 + 0 +SPLINE + 5 +293 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.225748031496064 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.69557874015748 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.69557874015748 + 30 +0.0 + 10 +8.238913385826772 + 20 +4.69557874015748 + 30 +0.0 + 10 +8.24227559055118 + 20 +4.701688976377953 + 30 +0.0 + 10 +8.245385826771653 + 20 +4.705744094488189 + 30 +0.0 + 10 +8.248248031496063 + 20 +4.707688976377953 + 30 +0.0 + 10 +8.248248031496063 + 20 +4.707688976377953 + 30 +0.0 + 10 +8.25107874015748 + 20 +4.709633858267717 + 30 +0.0 + 10 +8.254220472440945 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.257633858267717 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.257633858267717 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.26257874015748 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.26757874015748 + 20 +4.709047244094489 + 30 +0.0 + 10 +8.272688976377953 + 20 +4.705909448818898 + 30 +0.0 + 10 +8.272688976377953 + 20 +4.705909448818898 + 30 +0.0 + 10 +8.272688976377953 + 20 +4.705909448818898 + 30 +0.0 + 10 +8.267633858267716 + 20 +4.692299212598425 + 30 +0.0 + 10 +8.267633858267716 + 20 +4.692299212598425 + 30 +0.0 + 10 +8.267633858267716 + 20 +4.692299212598425 + 30 +0.0 + 10 +8.26407874015748 + 20 +4.694437007874016 + 30 +0.0 + 10 +8.260496062992125 + 20 +4.695492125984252 + 30 +0.0 + 10 +8.256913385826772 + 20 +4.695492125984252 + 30 +0.0 + 10 +8.256913385826772 + 20 +4.695492125984252 + 30 +0.0 + 10 +8.253688976377953 + 20 +4.695492125984252 + 30 +0.0 + 10 +8.250830708661418 + 20 +4.69451968503937 + 30 +0.0 + 10 +8.24827559055118 + 20 +4.692606299212598 + 30 +0.0 + 10 +8.24827559055118 + 20 +4.692606299212598 + 30 +0.0 + 10 +8.245720472440945 + 20 +4.690661417322834 + 30 +0.0 + 10 +8.243913385826772 + 20 +4.687992125984252 + 30 +0.0 + 10 +8.242830708661417 + 20 +4.68457874015748 + 30 +0.0 + 10 +8.242830708661417 + 20 +4.68457874015748 + 30 +0.0 + 10 +8.241192913385827 + 20 +4.679381889763779 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.673688976377953 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.667492125984252 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.667492125984252 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.667492125984252 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.240385826771654 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.225748031496064 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +294 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.329582677165355 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.374582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.374582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.374582677165355 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.382496062992127 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.388555118110236 + 20 +4.741161417322835 + 30 +0.0 + 10 +8.392720472440946 + 20 +4.740409448818897 + 30 +0.0 + 10 +8.392720472440946 + 20 +4.740409448818897 + 30 +0.0 + 10 +8.398582677165354 + 20 +4.739437007874016 + 30 +0.0 + 10 +8.403496062992126 + 20 +4.737574803149606 + 30 +0.0 + 10 +8.407468503937007 + 20 +4.734826771653544 + 30 +0.0 + 10 +8.407468503937007 + 20 +4.734826771653544 + 30 +0.0 + 10 +8.411413385826771 + 20 +4.732106299212599 + 30 +0.0 + 10 +8.414610236220472 + 20 +4.728244094488189 + 30 +0.0 + 10 +8.417023622047244 + 20 +4.723326771653543 + 30 +0.0 + 10 +8.417023622047244 + 20 +4.723326771653543 + 30 +0.0 + 10 +8.41944094488189 + 20 +4.71838188976378 + 30 +0.0 + 10 +8.42063779527559 + 20 +4.712964566929134 + 30 +0.0 + 10 +8.42063779527559 + 20 +4.707047244094488 + 30 +0.0 + 10 +8.42063779527559 + 20 +4.707047244094488 + 30 +0.0 + 10 +8.42063779527559 + 20 +4.696909448818897 + 30 +0.0 + 10 +8.417413385826771 + 20 +4.688299212598425 + 30 +0.0 + 10 +8.410968503937008 + 20 +4.681271653543307 + 30 +0.0 + 10 +8.410968503937008 + 20 +4.681271653543307 + 30 +0.0 + 10 +8.404496062992125 + 20 +4.674271653543307 + 30 +0.0 + 10 +8.392830708661418 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.375968503937008 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.375968503937008 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.375968503937008 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.670744094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.329582677165355 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +295 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.345358267716536 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.376220472440945 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.376220472440945 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.376220472440945 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.386413385826772 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.39366535433071 + 20 +4.686716535433071 + 30 +0.0 + 10 +8.39794094488189 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.39794094488189 + 20 +4.69051968503937 + 30 +0.0 + 10 +8.402220472440945 + 20 +4.694326771653543 + 30 +0.0 + 10 +8.404358267716535 + 20 +4.699661417322835 + 30 +0.0 + 10 +8.404358267716535 + 20 +4.706547244094488 + 30 +0.0 + 10 +8.404358267716535 + 20 +4.706547244094488 + 30 +0.0 + 10 +8.404358267716535 + 20 +4.711547244094488 + 30 +0.0 + 10 +8.403110236220472 + 20 +4.715826771653544 + 30 +0.0 + 10 +8.400582677165355 + 20 +4.719381889763779 + 30 +0.0 + 10 +8.400582677165355 + 20 +4.719381889763779 + 30 +0.0 + 10 +8.398055118110236 + 20 +4.722937007874016 + 30 +0.0 + 10 +8.394748031496063 + 20 +4.725271653543307 + 30 +0.0 + 10 +8.390610236220473 + 20 +4.726409448818898 + 30 +0.0 + 10 +8.390610236220473 + 20 +4.726409448818898 + 30 +0.0 + 10 +8.38794094488189 + 20 +4.727106299212599 + 30 +0.0 + 10 +8.383055118110237 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.375885826771654 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.375885826771654 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.375885826771654 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.727464566929134 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.684826771653543 + 30 +0.0 + 10 +8.345358267716536 + 20 +4.684826771653543 + 30 +0.0 + 0 +SPLINE + 5 +296 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.49527559055118 + 20 +4.632909448818897 + 30 +0.0 + 10 +8.489830708661417 + 20 +4.628299212598425 + 30 +0.0 + 10 +8.484606299212599 + 20 +4.625051181102362 + 30 +0.0 + 10 +8.479606299212598 + 20 +4.623133858267717 + 30 +0.0 + 10 +8.479606299212598 + 20 +4.623133858267717 + 30 +0.0 + 10 +8.47457874015748 + 20 +4.621244094488189 + 30 +0.0 + 10 +8.469192913385827 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.46344094488189 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.46344094488189 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.45394094488189 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.446665354330708 + 20 +4.622606299212598 + 30 +0.0 + 10 +8.441551181102362 + 20 +4.627244094488189 + 30 +0.0 + 10 +8.441551181102362 + 20 +4.627244094488189 + 30 +0.0 + 10 +8.436468503937007 + 20 +4.63188188976378 + 30 +0.0 + 10 +8.433913385826772 + 20 +4.637826771653543 + 30 +0.0 + 10 +8.433913385826772 + 20 +4.645023622047244 + 30 +0.0 + 10 +8.433913385826772 + 20 +4.645023622047244 + 30 +0.0 + 10 +8.433913385826772 + 20 +4.649271653543307 + 30 +0.0 + 10 +8.434858267716535 + 20 +4.653133858267717 + 30 +0.0 + 10 +8.4368031496063 + 20 +4.656633858267717 + 30 +0.0 + 10 +8.4368031496063 + 20 +4.656633858267717 + 30 +0.0 + 10 +8.438720472440945 + 20 +4.660133858267717 + 30 +0.0 + 10 +8.441248031496063 + 20 +4.662937007874016 + 30 +0.0 + 10 +8.444358267716536 + 20 +4.665051181102362 + 30 +0.0 + 10 +8.444358267716536 + 20 +4.665051181102362 + 30 +0.0 + 10 +8.447496062992126 + 20 +4.667161417322835 + 30 +0.0 + 10 +8.450996062992125 + 20 +4.668771653543307 + 30 +0.0 + 10 +8.45491338582677 + 20 +4.669854330708661 + 30 +0.0 + 10 +8.45491338582677 + 20 +4.669854330708661 + 30 +0.0 + 10 +8.457775590551181 + 20 +4.670606299212598 + 30 +0.0 + 10 +8.462106299212598 + 20 +4.671354330708661 + 30 +0.0 + 10 +8.46791338582677 + 20 +4.672051181102362 + 30 +0.0 + 10 +8.46791338582677 + 20 +4.672051181102362 + 30 +0.0 + 10 +8.479748031496063 + 20 +4.673464566929134 + 30 +0.0 + 10 +8.488468503937009 + 20 +4.675133858267716 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.677106299212598 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.677106299212598 + 30 +0.0 + 10 +8.494106299212598 + 20 +4.679106299212599 + 30 +0.0 + 10 +8.494133858267716 + 20 +4.68038188976378 + 30 +0.0 + 10 +8.494133858267716 + 20 +4.680909448818897 + 30 +0.0 + 10 +8.494133858267716 + 20 +4.680909448818897 + 30 +0.0 + 10 +8.494133858267716 + 20 +4.68688188976378 + 30 +0.0 + 10 +8.492748031496063 + 20 +4.691106299212598 + 30 +0.0 + 10 +8.489968503937009 + 20 +4.69351968503937 + 30 +0.0 + 10 +8.489968503937009 + 20 +4.69351968503937 + 30 +0.0 + 10 +8.486248031496062 + 20 +4.696854330708661 + 30 +0.0 + 10 +8.480661417322835 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.473303149606298 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.473303149606298 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.466413385826772 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.461330708661418 + 20 +4.697299212598425 + 30 +0.0 + 10 +8.458023622047245 + 20 +4.69488188976378 + 30 +0.0 + 10 +8.458023622047245 + 20 +4.69488188976378 + 30 +0.0 + 10 +8.454748031496063 + 20 +4.692464566929134 + 30 +0.0 + 10 +8.452330708661417 + 20 +4.688188976377953 + 30 +0.0 + 10 +8.450748031496063 + 20 +4.682047244094488 + 30 +0.0 + 10 +8.450748031496063 + 20 +4.682047244094488 + 30 +0.0 + 10 +8.450748031496063 + 20 +4.682047244094488 + 30 +0.0 + 10 +8.43644094488189 + 20 +4.68401968503937 + 30 +0.0 + 10 +8.43644094488189 + 20 +4.68401968503937 + 30 +0.0 + 10 +8.43644094488189 + 20 +4.68401968503937 + 30 +0.0 + 10 +8.437748031496064 + 20 +4.690133858267717 + 30 +0.0 + 10 +8.439885826771654 + 20 +4.695106299212599 + 30 +0.0 + 10 +8.442858267716536 + 20 +4.698854330708661 + 30 +0.0 + 10 +8.442858267716536 + 20 +4.698854330708661 + 30 +0.0 + 10 +8.445830708661417 + 20 +4.702633858267717 + 30 +0.0 + 10 +8.450165354330709 + 20 +4.705547244094488 + 30 +0.0 + 10 +8.455803149606298 + 20 +4.707574803149607 + 30 +0.0 + 10 +8.455803149606298 + 20 +4.707574803149607 + 30 +0.0 + 10 +8.46144094488189 + 20 +4.709606299212599 + 30 +0.0 + 10 +8.467968503937009 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.475413385826771 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.475413385826771 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.4828031496063 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.488775590551182 + 20 +4.709744094488189 + 30 +0.0 + 10 +8.493385826771654 + 20 +4.70801968503937 + 30 +0.0 + 10 +8.493385826771654 + 20 +4.70801968503937 + 30 +0.0 + 10 +8.497996062992126 + 20 +4.706271653543307 + 30 +0.0 + 10 +8.501385826771653 + 20 +4.704106299212598 + 30 +0.0 + 10 +8.503578740157481 + 20 +4.701464566929134 + 30 +0.0 + 10 +8.503578740157481 + 20 +4.701464566929134 + 30 +0.0 + 10 +8.505748031496063 + 20 +4.698826771653543 + 30 +0.0 + 10 +8.507248031496063 + 20 +4.69551968503937 + 30 +0.0 + 10 +8.508133858267717 + 20 +4.691492125984252 + 30 +0.0 + 10 +8.508133858267717 + 20 +4.691492125984252 + 30 +0.0 + 10 +8.508606299212598 + 20 +4.688992125984252 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.684492125984252 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.677992125984252 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.677992125984252 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.677992125984252 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.658464566929134 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.658464566929134 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.658464566929134 + 30 +0.0 + 10 +8.508858267716535 + 20 +4.644826771653543 + 30 +0.0 + 10 +8.509161417322835 + 20 +4.63621653543307 + 30 +0.0 + 10 +8.509803149606299 + 20 +4.632633858267717 + 30 +0.0 + 10 +8.509803149606299 + 20 +4.632633858267717 + 30 +0.0 + 10 +8.510413385826771 + 20 +4.629023622047244 + 30 +0.0 + 10 +8.511661417322834 + 20 +4.625551181102362 + 30 +0.0 + 10 +8.513496062992125 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.513496062992125 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.513496062992125 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.498188976377953 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.498188976377953 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.498188976377953 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.496688976377953 + 20 +4.625271653543307 + 30 +0.0 + 10 +8.495688976377952 + 20 +4.628826771653543 + 30 +0.0 + 10 +8.49527559055118 + 20 +4.632909448818897 + 30 +0.0 + 0 +SPLINE + 5 +297 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.494051181102362 + 20 +4.665633858267716 + 30 +0.0 + 10 +8.488720472440946 + 20 +4.663437007874016 + 30 +0.0 + 10 +8.480748031496063 + 20 +4.661606299212599 + 30 +0.0 + 10 +8.470133858267717 + 20 +4.660078740157481 + 30 +0.0 + 10 +8.470133858267717 + 20 +4.660078740157481 + 30 +0.0 + 10 +8.464106299212599 + 20 +4.659216535433071 + 30 +0.0 + 10 +8.459830708661418 + 20 +4.658244094488189 + 30 +0.0 + 10 +8.457358267716536 + 20 +4.657161417322834 + 30 +0.0 + 10 +8.457358267716536 + 20 +4.657161417322834 + 30 +0.0 + 10 +8.454858267716535 + 20 +4.65607874015748 + 30 +0.0 + 10 +8.452913385826772 + 20 +4.654492125984252 + 30 +0.0 + 10 +8.45157874015748 + 20 +4.652381889763779 + 30 +0.0 + 10 +8.45157874015748 + 20 +4.652381889763779 + 30 +0.0 + 10 +8.450220472440945 + 20 +4.650299212598425 + 30 +0.0 + 10 +8.449523622047245 + 20 +4.647992125984252 + 30 +0.0 + 10 +8.449523622047245 + 20 +4.645437007874015 + 30 +0.0 + 10 +8.449523622047245 + 20 +4.645437007874015 + 30 +0.0 + 10 +8.449523622047245 + 20 +4.641523622047244 + 30 +0.0 + 10 +8.451023622047243 + 20 +4.638271653543307 + 30 +0.0 + 10 +8.453968503937007 + 20 +4.635661417322835 + 30 +0.0 + 10 +8.453968503937007 + 20 +4.635661417322835 + 30 +0.0 + 10 +8.456913385826772 + 20 +4.63307874015748 + 30 +0.0 + 10 +8.461248031496064 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.46694094488189 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.46694094488189 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.47257874015748 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.477606299212598 + 20 +4.632992125984252 + 30 +0.0 + 10 +8.481996062992126 + 20 +4.635464566929134 + 30 +0.0 + 10 +8.481996062992126 + 20 +4.635464566929134 + 30 +0.0 + 10 +8.486385826771654 + 20 +4.637937007874016 + 30 +0.0 + 10 +8.489633858267716 + 20 +4.641326771653543 + 30 +0.0 + 10 +8.491688976377953 + 20 +4.645606299212599 + 30 +0.0 + 10 +8.491688976377953 + 20 +4.645606299212599 + 30 +0.0 + 10 +8.493275590551182 + 20 +4.648909448818897 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.653799212598425 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.660244094488189 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.660244094488189 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.660244094488189 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.665633858267716 + 30 +0.0 + 10 +8.494051181102362 + 20 +4.665633858267716 + 30 +0.0 + 0 +SPLINE + 5 +298 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.53157874015748 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.69638188976378 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.69638188976378 + 30 +0.0 + 10 +8.54474409448819 + 20 +4.69638188976378 + 30 +0.0 + 10 +8.551106299212599 + 20 +4.70588188976378 + 30 +0.0 + 10 +8.560271653543307 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.57224409448819 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.57224409448819 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.577468503937007 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.582244094488189 + 20 +4.709688976377953 + 30 +0.0 + 10 +8.586606299212598 + 20 +4.707826771653544 + 30 +0.0 + 10 +8.586606299212598 + 20 +4.707826771653544 + 30 +0.0 + 10 +8.590996062992126 + 20 +4.705937007874016 + 30 +0.0 + 10 +8.59424409448819 + 20 +4.703492125984252 + 30 +0.0 + 10 +8.596413385826772 + 20 +4.700437007874016 + 30 +0.0 + 10 +8.596413385826772 + 20 +4.700437007874016 + 30 +0.0 + 10 +8.598606299212598 + 20 +4.697409448818898 + 30 +0.0 + 10 +8.600106299212598 + 20 +4.693799212598425 + 30 +0.0 + 10 +8.600996062992126 + 20 +4.689633858267716 + 30 +0.0 + 10 +8.600996062992126 + 20 +4.689633858267716 + 30 +0.0 + 10 +8.601523622047244 + 20 +4.686909448818898 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.682161417322835 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.67538188976378 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.67538188976378 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.67538188976378 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.601799212598426 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.674826771653543 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.674826771653543 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.674826771653543 + 30 +0.0 + 10 +8.587133858267716 + 20 +4.680771653543307 + 30 +0.0 + 10 +8.58657874015748 + 20 +4.685244094488189 + 30 +0.0 + 10 +8.58544094488189 + 20 +4.688216535433071 + 30 +0.0 + 10 +8.58544094488189 + 20 +4.688216535433071 + 30 +0.0 + 10 +8.584299212598426 + 20 +4.691161417322834 + 30 +0.0 + 10 +8.582271653543307 + 20 +4.69351968503937 + 30 +0.0 + 10 +8.579381889763779 + 20 +4.695271653543307 + 30 +0.0 + 10 +8.579381889763779 + 20 +4.695271653543307 + 30 +0.0 + 10 +8.576468503937008 + 20 +4.697047244094488 + 30 +0.0 + 10 +8.57307874015748 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.569161417322835 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.569161417322835 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.562913385826771 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.557551181102362 + 20 +4.695937007874016 + 30 +0.0 + 10 +8.552996062992126 + 20 +4.691992125984252 + 30 +0.0 + 10 +8.552996062992126 + 20 +4.691992125984252 + 30 +0.0 + 10 +8.548468503937007 + 20 +4.68801968503937 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.68051968503937 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.669437007874015 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.669437007874015 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.669437007874015 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.546216535433071 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.53157874015748 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +299 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.680661417322835 + 20 +4.632909448818897 + 30 +0.0 + 10 +8.675216535433071 + 20 +4.628299212598425 + 30 +0.0 + 10 +8.669992125984251 + 20 +4.625051181102362 + 30 +0.0 + 10 +8.664992125984252 + 20 +4.623133858267717 + 30 +0.0 + 10 +8.664992125984252 + 20 +4.623133858267717 + 30 +0.0 + 10 +8.659964566929133 + 20 +4.621244094488189 + 30 +0.0 + 10 +8.654578740157481 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.648826771653543 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.648826771653543 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.639326771653543 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.632051181102362 + 20 +4.622606299212598 + 30 +0.0 + 10 +8.626937007874016 + 20 +4.627244094488189 + 30 +0.0 + 10 +8.626937007874016 + 20 +4.627244094488189 + 30 +0.0 + 10 +8.621854330708661 + 20 +4.63188188976378 + 30 +0.0 + 10 +8.619299212598426 + 20 +4.637826771653543 + 30 +0.0 + 10 +8.619299212598426 + 20 +4.645023622047244 + 30 +0.0 + 10 +8.619299212598426 + 20 +4.645023622047244 + 30 +0.0 + 10 +8.619299212598426 + 20 +4.649271653543307 + 30 +0.0 + 10 +8.62024409448819 + 20 +4.653133858267717 + 30 +0.0 + 10 +8.622188976377952 + 20 +4.656633858267717 + 30 +0.0 + 10 +8.622188976377952 + 20 +4.656633858267717 + 30 +0.0 + 10 +8.624106299212599 + 20 +4.660133858267717 + 30 +0.0 + 10 +8.626633858267716 + 20 +4.662937007874016 + 30 +0.0 + 10 +8.629744094488188 + 20 +4.665051181102362 + 30 +0.0 + 10 +8.629744094488188 + 20 +4.665051181102362 + 30 +0.0 + 10 +8.63288188976378 + 20 +4.667161417322835 + 30 +0.0 + 10 +8.63638188976378 + 20 +4.668771653543307 + 30 +0.0 + 10 +8.640299212598425 + 20 +4.669854330708661 + 30 +0.0 + 10 +8.640299212598425 + 20 +4.669854330708661 + 30 +0.0 + 10 +8.643161417322835 + 20 +4.670606299212598 + 30 +0.0 + 10 +8.647492125984252 + 20 +4.671354330708661 + 30 +0.0 + 10 +8.653299212598425 + 20 +4.672051181102362 + 30 +0.0 + 10 +8.653299212598425 + 20 +4.672051181102362 + 30 +0.0 + 10 +8.665133858267717 + 20 +4.673464566929134 + 30 +0.0 + 10 +8.67385433070866 + 20 +4.675133858267716 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.677106299212598 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.677106299212598 + 30 +0.0 + 10 +8.679492125984252 + 20 +4.679106299212599 + 30 +0.0 + 10 +8.67951968503937 + 20 +4.68038188976378 + 30 +0.0 + 10 +8.67951968503937 + 20 +4.680909448818897 + 30 +0.0 + 10 +8.67951968503937 + 20 +4.680909448818897 + 30 +0.0 + 10 +8.67951968503937 + 20 +4.68688188976378 + 30 +0.0 + 10 +8.678133858267717 + 20 +4.691106299212598 + 30 +0.0 + 10 +8.675354330708661 + 20 +4.69351968503937 + 30 +0.0 + 10 +8.675354330708661 + 20 +4.69351968503937 + 30 +0.0 + 10 +8.671633858267716 + 20 +4.696854330708661 + 30 +0.0 + 10 +8.666047244094488 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.658688976377952 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.658688976377952 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.651799212598425 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.646716535433072 + 20 +4.697299212598425 + 30 +0.0 + 10 +8.643409448818897 + 20 +4.69488188976378 + 30 +0.0 + 10 +8.643409448818897 + 20 +4.69488188976378 + 30 +0.0 + 10 +8.640133858267717 + 20 +4.692464566929134 + 30 +0.0 + 10 +8.637716535433071 + 20 +4.688188976377953 + 30 +0.0 + 10 +8.636133858267717 + 20 +4.682047244094488 + 30 +0.0 + 10 +8.636133858267717 + 20 +4.682047244094488 + 30 +0.0 + 10 +8.636133858267717 + 20 +4.682047244094488 + 30 +0.0 + 10 +8.621826771653543 + 20 +4.68401968503937 + 30 +0.0 + 10 +8.621826771653543 + 20 +4.68401968503937 + 30 +0.0 + 10 +8.621826771653543 + 20 +4.68401968503937 + 30 +0.0 + 10 +8.623133858267716 + 20 +4.690133858267717 + 30 +0.0 + 10 +8.625271653543306 + 20 +4.695106299212599 + 30 +0.0 + 10 +8.628244094488188 + 20 +4.698854330708661 + 30 +0.0 + 10 +8.628244094488188 + 20 +4.698854330708661 + 30 +0.0 + 10 +8.63121653543307 + 20 +4.702633858267717 + 30 +0.0 + 10 +8.635551181102363 + 20 +4.705547244094488 + 30 +0.0 + 10 +8.641188976377952 + 20 +4.707574803149607 + 30 +0.0 + 10 +8.641188976377952 + 20 +4.707574803149607 + 30 +0.0 + 10 +8.646826771653544 + 20 +4.709606299212599 + 30 +0.0 + 10 +8.65335433070866 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.660799212598425 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.660799212598425 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.668188976377953 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.674161417322834 + 20 +4.709744094488189 + 30 +0.0 + 10 +8.678771653543308 + 20 +4.70801968503937 + 30 +0.0 + 10 +8.678771653543308 + 20 +4.70801968503937 + 30 +0.0 + 10 +8.68338188976378 + 20 +4.706271653543307 + 30 +0.0 + 10 +8.686771653543307 + 20 +4.704106299212598 + 30 +0.0 + 10 +8.688964566929133 + 20 +4.701464566929134 + 30 +0.0 + 10 +8.688964566929133 + 20 +4.701464566929134 + 30 +0.0 + 10 +8.691133858267717 + 20 +4.698826771653543 + 30 +0.0 + 10 +8.692633858267717 + 20 +4.69551968503937 + 30 +0.0 + 10 +8.69351968503937 + 20 +4.691492125984252 + 30 +0.0 + 10 +8.69351968503937 + 20 +4.691492125984252 + 30 +0.0 + 10 +8.693992125984252 + 20 +4.688992125984252 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.684492125984252 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.677992125984252 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.677992125984252 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.677992125984252 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.658464566929134 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.658464566929134 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.658464566929134 + 30 +0.0 + 10 +8.69424409448819 + 20 +4.644826771653543 + 30 +0.0 + 10 +8.694547244094489 + 20 +4.63621653543307 + 30 +0.0 + 10 +8.695188976377953 + 20 +4.632633858267717 + 30 +0.0 + 10 +8.695188976377953 + 20 +4.632633858267717 + 30 +0.0 + 10 +8.695799212598425 + 20 +4.629023622047244 + 30 +0.0 + 10 +8.697047244094488 + 20 +4.625551181102362 + 30 +0.0 + 10 +8.69888188976378 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.69888188976378 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.69888188976378 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.683574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.683574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.683574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.682074803149606 + 20 +4.625271653543307 + 30 +0.0 + 10 +8.681074803149606 + 20 +4.628826771653543 + 30 +0.0 + 10 +8.680661417322835 + 20 +4.632909448818897 + 30 +0.0 + 0 +SPLINE + 5 +29A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.679437007874016 + 20 +4.665633858267716 + 30 +0.0 + 10 +8.674106299212598 + 20 +4.663437007874016 + 30 +0.0 + 10 +8.666133858267717 + 20 +4.661606299212599 + 30 +0.0 + 10 +8.65551968503937 + 20 +4.660078740157481 + 30 +0.0 + 10 +8.65551968503937 + 20 +4.660078740157481 + 30 +0.0 + 10 +8.649492125984253 + 20 +4.659216535433071 + 30 +0.0 + 10 +8.645216535433072 + 20 +4.658244094488189 + 30 +0.0 + 10 +8.642744094488188 + 20 +4.657161417322834 + 30 +0.0 + 10 +8.642744094488188 + 20 +4.657161417322834 + 30 +0.0 + 10 +8.640244094488189 + 20 +4.65607874015748 + 30 +0.0 + 10 +8.638299212598426 + 20 +4.654492125984252 + 30 +0.0 + 10 +8.636964566929134 + 20 +4.652381889763779 + 30 +0.0 + 10 +8.636964566929134 + 20 +4.652381889763779 + 30 +0.0 + 10 +8.635606299212599 + 20 +4.650299212598425 + 30 +0.0 + 10 +8.634909448818897 + 20 +4.647992125984252 + 30 +0.0 + 10 +8.634909448818897 + 20 +4.645437007874015 + 30 +0.0 + 10 +8.634909448818897 + 20 +4.645437007874015 + 30 +0.0 + 10 +8.634909448818897 + 20 +4.641523622047244 + 30 +0.0 + 10 +8.636409448818897 + 20 +4.638271653543307 + 30 +0.0 + 10 +8.639354330708661 + 20 +4.635661417322835 + 30 +0.0 + 10 +8.639354330708661 + 20 +4.635661417322835 + 30 +0.0 + 10 +8.642299212598425 + 20 +4.63307874015748 + 30 +0.0 + 10 +8.646633858267716 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.652326771653543 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.652326771653543 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.657964566929135 + 20 +4.631771653543307 + 30 +0.0 + 10 +8.662992125984252 + 20 +4.632992125984252 + 30 +0.0 + 10 +8.66738188976378 + 20 +4.635464566929134 + 30 +0.0 + 10 +8.66738188976378 + 20 +4.635464566929134 + 30 +0.0 + 10 +8.671771653543306 + 20 +4.637937007874016 + 30 +0.0 + 10 +8.67501968503937 + 20 +4.641326771653543 + 30 +0.0 + 10 +8.677074803149607 + 20 +4.645606299212599 + 30 +0.0 + 10 +8.677074803149607 + 20 +4.645606299212599 + 30 +0.0 + 10 +8.678661417322834 + 20 +4.648909448818897 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.653799212598425 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.660244094488189 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.660244094488189 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.660244094488189 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.665633858267716 + 30 +0.0 + 10 +8.679437007874016 + 20 +4.665633858267716 + 30 +0.0 + 0 +SPLINE + 5 +29B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.711102362204725 + 20 +4.648051181102362 + 30 +0.0 + 10 +8.711102362204725 + 20 +4.648051181102362 + 30 +0.0 + 10 +8.725574803149605 + 20 +4.650326771653543 + 30 +0.0 + 10 +8.725574803149605 + 20 +4.650326771653543 + 30 +0.0 + 10 +8.725574803149605 + 20 +4.650326771653543 + 30 +0.0 + 10 +8.726381889763779 + 20 +4.644523622047244 + 30 +0.0 + 10 +8.728657480314961 + 20 +4.64007874015748 + 30 +0.0 + 10 +8.73238188976378 + 20 +4.636964566929134 + 30 +0.0 + 10 +8.73238188976378 + 20 +4.636964566929134 + 30 +0.0 + 10 +8.736074803149606 + 20 +4.63388188976378 + 30 +0.0 + 10 +8.741271653543308 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.747964566929134 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.747964566929134 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.754685039370079 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.759685039370078 + 20 +4.633716535433071 + 30 +0.0 + 10 +8.762937007874015 + 20 +4.636437007874016 + 30 +0.0 + 10 +8.762937007874015 + 20 +4.636437007874016 + 30 +0.0 + 10 +8.766185039370079 + 20 +4.639188976377953 + 30 +0.0 + 10 +8.767826771653544 + 20 +4.642409448818897 + 30 +0.0 + 10 +8.767826771653544 + 20 +4.64607874015748 + 30 +0.0 + 10 +8.767826771653544 + 20 +4.64607874015748 + 30 +0.0 + 10 +8.767826771653544 + 20 +4.649409448818898 + 30 +0.0 + 10 +8.76638188976378 + 20 +4.651992125984252 + 30 +0.0 + 10 +8.763492125984252 + 20 +4.653909448818897 + 30 +0.0 + 10 +8.763492125984252 + 20 +4.653909448818897 + 30 +0.0 + 10 +8.761492125984251 + 20 +4.655216535433071 + 30 +0.0 + 10 +8.756492125984252 + 20 +4.656854330708661 + 30 +0.0 + 10 +8.748519685039371 + 20 +4.658854330708661 + 30 +0.0 + 10 +8.748519685039371 + 20 +4.658854330708661 + 30 +0.0 + 10 +8.737799212598425 + 20 +4.661578740157481 + 30 +0.0 + 10 +8.730326771653543 + 20 +4.663909448818898 + 30 +0.0 + 10 +8.726185039370078 + 20 +4.665909448818898 + 30 +0.0 + 10 +8.726185039370078 + 20 +4.665909448818898 + 30 +0.0 + 10 +8.722047244094489 + 20 +4.667881889763779 + 30 +0.0 + 10 +8.718881889763779 + 20 +4.670633858267717 + 30 +0.0 + 10 +8.716744094488188 + 20 +4.674133858267717 + 30 +0.0 + 10 +8.716744094488188 + 20 +4.674133858267717 + 30 +0.0 + 10 +8.714602362204724 + 20 +4.677633858267717 + 30 +0.0 + 10 +8.71351968503937 + 20 +4.681492125984252 + 30 +0.0 + 10 +8.71351968503937 + 20 +4.685716535433071 + 30 +0.0 + 10 +8.71351968503937 + 20 +4.685716535433071 + 30 +0.0 + 10 +8.71351968503937 + 20 +4.68957874015748 + 30 +0.0 + 10 +8.714409448818898 + 20 +4.693133858267717 + 30 +0.0 + 10 +8.716185039370078 + 20 +4.696409448818898 + 30 +0.0 + 10 +8.716185039370078 + 20 +4.696409448818898 + 30 +0.0 + 10 +8.717937007874015 + 20 +4.699716535433071 + 30 +0.0 + 10 +8.72035433070866 + 20 +4.702437007874016 + 30 +0.0 + 10 +8.723381889763779 + 20 +4.704606299212599 + 30 +0.0 + 10 +8.723381889763779 + 20 +4.704606299212599 + 30 +0.0 + 10 +8.725657480314961 + 20 +4.706271653543307 + 30 +0.0 + 10 +8.728771653543307 + 20 +4.707716535433071 + 30 +0.0 + 10 +8.732685039370079 + 20 +4.70888188976378 + 30 +0.0 + 10 +8.732685039370079 + 20 +4.70888188976378 + 30 +0.0 + 10 +8.736629921259842 + 20 +4.710047244094488 + 30 +0.0 + 10 +8.740854330708661 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.745354330708661 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.745354330708661 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.752129921259842 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.758074803149606 + 20 +4.709633858267717 + 30 +0.0 + 10 +8.763212598425197 + 20 +4.707688976377953 + 30 +0.0 + 10 +8.763212598425197 + 20 +4.707688976377953 + 30 +0.0 + 10 +8.76835433070866 + 20 +4.705744094488189 + 30 +0.0 + 10 +8.772129921259843 + 20 +4.703106299212599 + 30 +0.0 + 10 +8.774574803149607 + 20 +4.699771653543307 + 30 +0.0 + 10 +8.774574803149607 + 20 +4.699771653543307 + 30 +0.0 + 10 +8.77701968503937 + 20 +4.696409448818898 + 30 +0.0 + 10 +8.778685039370078 + 20 +4.691964566929133 + 30 +0.0 + 10 +8.779602362204724 + 20 +4.68638188976378 + 30 +0.0 + 10 +8.779602362204724 + 20 +4.68638188976378 + 30 +0.0 + 10 +8.779602362204724 + 20 +4.68638188976378 + 30 +0.0 + 10 +8.765299212598425 + 20 +4.684409448818897 + 30 +0.0 + 10 +8.765299212598425 + 20 +4.684409448818897 + 30 +0.0 + 10 +8.765299212598425 + 20 +4.684409448818897 + 30 +0.0 + 10 +8.764629921259843 + 20 +4.688854330708661 + 30 +0.0 + 10 +8.762740157480314 + 20 +4.692326771653543 + 30 +0.0 + 10 +8.759629921259842 + 20 +4.694826771653544 + 30 +0.0 + 10 +8.759629921259842 + 20 +4.694826771653544 + 30 +0.0 + 10 +8.75651968503937 + 20 +4.697326771653543 + 30 +0.0 + 10 +8.752102362204724 + 20 +4.698578740157481 + 30 +0.0 + 10 +8.746409448818898 + 20 +4.698578740157481 + 30 +0.0 + 10 +8.746409448818898 + 20 +4.698578740157481 + 30 +0.0 + 10 +8.739685039370078 + 20 +4.698578740157481 + 30 +0.0 + 10 +8.734881889763779 + 20 +4.697464566929134 + 30 +0.0 + 10 +8.73201968503937 + 20 +4.695244094488189 + 30 +0.0 + 10 +8.73201968503937 + 20 +4.695244094488189 + 30 +0.0 + 10 +8.729129921259842 + 20 +4.69301968503937 + 30 +0.0 + 10 +8.727685039370078 + 20 +4.690409448818897 + 30 +0.0 + 10 +8.727685039370078 + 20 +4.687437007874016 + 30 +0.0 + 10 +8.727685039370078 + 20 +4.687437007874016 + 30 +0.0 + 10 +8.727685039370078 + 20 +4.68551968503937 + 30 +0.0 + 10 +8.728299212598426 + 20 +4.683826771653544 + 30 +0.0 + 10 +8.729492125984253 + 20 +4.682299212598426 + 30 +0.0 + 10 +8.729492125984253 + 20 +4.682299212598426 + 30 +0.0 + 10 +8.730685039370078 + 20 +4.680716535433071 + 30 +0.0 + 10 +8.732547244094489 + 20 +4.679437007874016 + 30 +0.0 + 10 +8.735102362204724 + 20 +4.67838188976378 + 30 +0.0 + 10 +8.735102362204724 + 20 +4.67838188976378 + 30 +0.0 + 10 +8.736574803149606 + 20 +4.677854330708661 + 30 +0.0 + 10 +8.740881889763779 + 20 +4.676606299212598 + 30 +0.0 + 10 +8.748047244094488 + 20 +4.674661417322834 + 30 +0.0 + 10 +8.748047244094488 + 20 +4.674661417322834 + 30 +0.0 + 10 +8.758409448818897 + 20 +4.67188188976378 + 30 +0.0 + 10 +8.765629921259842 + 20 +4.669633858267717 + 30 +0.0 + 10 +8.769712598425198 + 20 +4.667854330708662 + 30 +0.0 + 10 +8.769712598425198 + 20 +4.667854330708662 + 30 +0.0 + 10 +8.773826771653543 + 20 +4.666106299212599 + 30 +0.0 + 10 +8.777047244094488 + 20 +4.66351968503937 + 30 +0.0 + 10 +8.77938188976378 + 20 +4.660161417322835 + 30 +0.0 + 10 +8.77938188976378 + 20 +4.660161417322835 + 30 +0.0 + 10 +8.781712598425196 + 20 +4.656799212598425 + 30 +0.0 + 10 +8.782881889763779 + 20 +4.652633858267716 + 30 +0.0 + 10 +8.782881889763779 + 20 +4.647633858267716 + 30 +0.0 + 10 +8.782881889763779 + 20 +4.647633858267716 + 30 +0.0 + 10 +8.782881889763779 + 20 +4.642744094488189 + 30 +0.0 + 10 +8.781437007874016 + 20 +4.638161417322834 + 30 +0.0 + 10 +8.778602362204724 + 20 +4.633826771653544 + 30 +0.0 + 10 +8.778602362204724 + 20 +4.633826771653544 + 30 +0.0 + 10 +8.775740157480316 + 20 +4.629523622047244 + 30 +0.0 + 10 +8.771629921259843 + 20 +4.626188976377953 + 30 +0.0 + 10 +8.766267716535433 + 20 +4.623826771653543 + 30 +0.0 + 10 +8.766267716535433 + 20 +4.623826771653543 + 30 +0.0 + 10 +8.760909448818898 + 20 +4.621464566929133 + 30 +0.0 + 10 +8.754826771653544 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.748047244094488 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.748047244094488 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.736799212598426 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.72824409448819 + 20 +4.622633858267717 + 30 +0.0 + 10 +8.722354330708662 + 20 +4.627299212598425 + 30 +0.0 + 10 +8.722354330708662 + 20 +4.627299212598425 + 30 +0.0 + 10 +8.716464566929133 + 20 +4.631964566929134 + 30 +0.0 + 10 +8.712712598425197 + 20 +4.63888188976378 + 30 +0.0 + 10 +8.711102362204725 + 20 +4.648051181102362 + 30 +0.0 + 0 +SPLINE + 5 +29C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.794826771653543 + 20 +4.665464566929134 + 30 +0.0 + 10 +8.794826771653543 + 20 +4.681464566929134 + 30 +0.0 + 10 +8.799271653543308 + 20 +4.693326771653544 + 30 +0.0 + 10 +8.808188976377952 + 20 +4.70101968503937 + 30 +0.0 + 10 +8.808188976377952 + 20 +4.70101968503937 + 30 +0.0 + 10 +8.815606299212599 + 20 +4.707409448818898 + 30 +0.0 + 10 +8.824661417322835 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.84724409448819 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.856964566929134 + 20 +4.706744094488189 + 30 +0.0 + 10 +8.864492125984253 + 20 +4.698937007874016 + 30 +0.0 + 10 +8.864492125984253 + 20 +4.698937007874016 + 30 +0.0 + 10 +8.872047244094489 + 20 +4.691161417322834 + 30 +0.0 + 10 +8.875799212598425 + 20 +4.680409448818898 + 30 +0.0 + 10 +8.875799212598425 + 20 +4.666688976377952 + 30 +0.0 + 10 +8.875799212598425 + 20 +4.666688976377952 + 30 +0.0 + 10 +8.875799212598425 + 20 +4.655551181102362 + 30 +0.0 + 10 +8.874129921259842 + 20 +4.646799212598425 + 30 +0.0 + 10 +8.870799212598426 + 20 +4.640437007874016 + 30 +0.0 + 10 +8.870799212598426 + 20 +4.640437007874016 + 30 +0.0 + 10 +8.867464566929133 + 20 +4.634051181102362 + 30 +0.0 + 10 +8.862602362204724 + 20 +4.629106299212599 + 30 +0.0 + 10 +8.856244094488188 + 20 +4.62557874015748 + 30 +0.0 + 10 +8.856244094488188 + 20 +4.62557874015748 + 30 +0.0 + 10 +8.849854330708661 + 20 +4.622051181102362 + 30 +0.0 + 10 +8.842909448818897 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.823271653543307 + 20 +4.620299212598425 + 30 +0.0 + 10 +8.813492125984252 + 20 +4.624161417322835 + 30 +0.0 + 10 +8.80601968503937 + 20 +4.631937007874016 + 30 +0.0 + 10 +8.80601968503937 + 20 +4.631937007874016 + 30 +0.0 + 10 +8.798547244094488 + 20 +4.639688976377953 + 30 +0.0 + 10 +8.794826771653543 + 20 +4.650854330708661 + 30 +0.0 + 10 +8.794826771653543 + 20 +4.665464566929134 + 30 +0.0 + 0 +SPLINE + 5 +29D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.80988188976378 + 20 +4.665464566929134 + 30 +0.0 + 10 +8.80988188976378 + 20 +4.65438188976378 + 30 +0.0 + 10 +8.812299212598425 + 20 +4.646106299212598 + 30 +0.0 + 10 +8.817133858267717 + 20 +4.640606299212599 + 30 +0.0 + 10 +8.817133858267717 + 20 +4.640606299212599 + 30 +0.0 + 10 +8.821964566929134 + 20 +4.63507874015748 + 30 +0.0 + 10 +8.828047244094488 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.842633858267716 + 20 +4.632326771653544 + 30 +0.0 + 10 +8.848688976377952 + 20 +4.635106299212598 + 30 +0.0 + 10 +8.85351968503937 + 20 +4.640633858267717 + 30 +0.0 + 10 +8.85351968503937 + 20 +4.640633858267717 + 30 +0.0 + 10 +8.858326771653543 + 20 +4.646161417322834 + 30 +0.0 + 10 +8.860744094488188 + 20 +4.654606299212598 + 30 +0.0 + 10 +8.860744094488188 + 20 +4.665937007874016 + 30 +0.0 + 10 +8.860744094488188 + 20 +4.665937007874016 + 30 +0.0 + 10 +8.860744094488188 + 20 +4.676633858267716 + 30 +0.0 + 10 +8.858326771653543 + 20 +4.684744094488189 + 30 +0.0 + 10 +8.853464566929134 + 20 +4.690244094488189 + 30 +0.0 + 10 +8.853464566929134 + 20 +4.690244094488189 + 30 +0.0 + 10 +8.848602362204725 + 20 +4.695744094488189 + 30 +0.0 + 10 +8.842574803149606 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.835354330708661 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.828047244094488 + 20 +4.698492125984252 + 30 +0.0 + 10 +8.821964566929134 + 20 +4.695744094488189 + 30 +0.0 + 10 +8.817133858267717 + 20 +4.690271653543307 + 30 +0.0 + 10 +8.817133858267717 + 20 +4.690271653543307 + 30 +0.0 + 10 +8.812299212598425 + 20 +4.684799212598425 + 30 +0.0 + 10 +8.80988188976378 + 20 +4.67651968503937 + 30 +0.0 + 10 +8.80988188976378 + 20 +4.665464566929134 + 30 +0.0 + 0 +SPLINE + 5 +29E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.892992125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.69638188976378 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.69638188976378 + 30 +0.0 + 10 +8.906157480314961 + 20 +4.69638188976378 + 30 +0.0 + 10 +8.91251968503937 + 20 +4.70588188976378 + 30 +0.0 + 10 +8.921685039370079 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.933657480314961 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.933657480314961 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.93888188976378 + 20 +4.710633858267717 + 30 +0.0 + 10 +8.943657480314961 + 20 +4.709688976377953 + 30 +0.0 + 10 +8.94801968503937 + 20 +4.707826771653544 + 30 +0.0 + 10 +8.94801968503937 + 20 +4.707826771653544 + 30 +0.0 + 10 +8.952409448818898 + 20 +4.705937007874016 + 30 +0.0 + 10 +8.95565748031496 + 20 +4.703492125984252 + 30 +0.0 + 10 +8.957826771653544 + 20 +4.700437007874016 + 30 +0.0 + 10 +8.957826771653544 + 20 +4.700437007874016 + 30 +0.0 + 10 +8.96001968503937 + 20 +4.697409448818898 + 30 +0.0 + 10 +8.96151968503937 + 20 +4.693799212598425 + 30 +0.0 + 10 +8.962409448818898 + 20 +4.689633858267716 + 30 +0.0 + 10 +8.962409448818898 + 20 +4.689633858267716 + 30 +0.0 + 10 +8.962937007874016 + 20 +4.686909448818898 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.682161417322835 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.67538188976378 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.67538188976378 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.67538188976378 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.963212598425196 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.674826771653543 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.674826771653543 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.674826771653543 + 30 +0.0 + 10 +8.948547244094488 + 20 +4.680771653543307 + 30 +0.0 + 10 +8.947992125984252 + 20 +4.685244094488189 + 30 +0.0 + 10 +8.94685433070866 + 20 +4.688216535433071 + 30 +0.0 + 10 +8.94685433070866 + 20 +4.688216535433071 + 30 +0.0 + 10 +8.945712598425198 + 20 +4.691161417322834 + 30 +0.0 + 10 +8.943685039370079 + 20 +4.69351968503937 + 30 +0.0 + 10 +8.94079527559055 + 20 +4.695271653543307 + 30 +0.0 + 10 +8.94079527559055 + 20 +4.695271653543307 + 30 +0.0 + 10 +8.93788188976378 + 20 +4.697047244094488 + 30 +0.0 + 10 +8.934492125984251 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.930574803149606 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.930574803149606 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.924326771653543 + 20 +4.697937007874016 + 30 +0.0 + 10 +8.918964566929134 + 20 +4.695937007874016 + 30 +0.0 + 10 +8.914409448818898 + 20 +4.691992125984252 + 30 +0.0 + 10 +8.914409448818898 + 20 +4.691992125984252 + 30 +0.0 + 10 +8.90988188976378 + 20 +4.68801968503937 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.68051968503937 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.669437007874015 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.669437007874015 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.669437007874015 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.907629921259842 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.892992125984252 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +29F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.985740157480315 + 20 +4.724688976377953 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.724688976377953 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.741547244094488 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.741547244094488 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.741547244094488 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.741547244094488 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.741547244094488 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.741547244094488 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.724688976377953 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.724688976377953 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.724688976377953 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.724688976377953 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.724688976377953 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.724688976377953 + 30 +0.0 + 0 +SPLINE + 5 +2A0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.985740157480315 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.708661417322834 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.000405511811024 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.622244094488189 + 30 +0.0 + 10 +8.985740157480315 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +2A1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.079102362204724 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.079102362204724 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.093488188976378 + 20 +4.65201968503937 + 30 +0.0 + 10 +9.093488188976378 + 20 +4.65201968503937 + 30 +0.0 + 10 +9.093488188976378 + 20 +4.65201968503937 + 30 +0.0 + 10 +9.091933070866142 + 20 +4.642106299212599 + 30 +0.0 + 10 +9.087905511811023 + 20 +4.634326771653543 + 30 +0.0 + 10 +9.081405511811024 + 20 +4.628716535433071 + 30 +0.0 + 10 +9.081405511811024 + 20 +4.628716535433071 + 30 +0.0 + 10 +9.074933070866141 + 20 +4.623106299212599 + 30 +0.0 + 10 +9.06696062992126 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.05751968503937 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.05751968503937 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.045712598425197 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.036185039370078 + 20 +4.624161417322835 + 30 +0.0 + 10 +9.029019685039371 + 20 +4.63188188976378 + 30 +0.0 + 10 +9.029019685039371 + 20 +4.63188188976378 + 30 +0.0 + 10 +9.02182283464567 + 20 +4.639606299212598 + 30 +0.0 + 10 +9.018212598425198 + 20 +4.650688976377952 + 30 +0.0 + 10 +9.018212598425198 + 20 +4.665133858267716 + 30 +0.0 + 10 +9.018212598425198 + 20 +4.665133858267716 + 30 +0.0 + 10 +9.018212598425198 + 20 +4.674464566929134 + 30 +0.0 + 10 +9.019767716535434 + 20 +4.682633858267716 + 30 +0.0 + 10 +9.022850393700788 + 20 +4.689633858267716 + 30 +0.0 + 10 +9.022850393700788 + 20 +4.689633858267716 + 30 +0.0 + 10 +9.02596062992126 + 20 +4.696633858267717 + 30 +0.0 + 10 +9.03065748031496 + 20 +4.701881889763779 + 30 +0.0 + 10 +9.036992125984252 + 20 +4.705381889763779 + 30 +0.0 + 10 +9.036992125984252 + 20 +4.705381889763779 + 30 +0.0 + 10 +9.043295275590552 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.05018503937008 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.057602362204724 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.057602362204724 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.066988188976378 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.07468503937008 + 20 +4.708244094488189 + 30 +0.0 + 10 +9.080629921259842 + 20 +4.703492125984252 + 30 +0.0 + 10 +9.080629921259842 + 20 +4.703492125984252 + 30 +0.0 + 10 +9.086602362204724 + 20 +4.698744094488189 + 30 +0.0 + 10 +9.090433070866142 + 20 +4.69201968503937 + 30 +0.0 + 10 +9.092129921259842 + 20 +4.683271653543307 + 30 +0.0 + 10 +9.092129921259842 + 20 +4.683271653543307 + 30 +0.0 + 10 +9.092129921259842 + 20 +4.683271653543307 + 30 +0.0 + 10 +9.077877952755905 + 20 +4.68107874015748 + 30 +0.0 + 10 +9.077877952755905 + 20 +4.68107874015748 + 30 +0.0 + 10 +9.077877952755905 + 20 +4.68107874015748 + 30 +0.0 + 10 +9.076515748031497 + 20 +4.68688188976378 + 30 +0.0 + 10 +9.074129921259843 + 20 +4.691244094488189 + 30 +0.0 + 10 +9.070685039370078 + 20 +4.694188976377953 + 30 +0.0 + 10 +9.070685039370078 + 20 +4.694188976377953 + 30 +0.0 + 10 +9.067240157480315 + 20 +4.697106299212598 + 30 +0.0 + 10 +9.063074803149606 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.058185039370079 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.058185039370079 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.05079527559055 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.044795275590552 + 20 +4.695937007874016 + 30 +0.0 + 10 +9.040185039370078 + 20 +4.690633858267717 + 30 +0.0 + 10 +9.040185039370078 + 20 +4.690633858267717 + 30 +0.0 + 10 +9.035574803149606 + 20 +4.685354330708662 + 30 +0.0 + 10 +9.033267716535432 + 20 +4.676992125984252 + 30 +0.0 + 10 +9.033267716535432 + 20 +4.665551181102362 + 30 +0.0 + 10 +9.033267716535432 + 20 +4.665551181102362 + 30 +0.0 + 10 +9.033267716535432 + 20 +4.653937007874016 + 30 +0.0 + 10 +9.035492125984252 + 20 +4.645492125984252 + 30 +0.0 + 10 +9.03996062992126 + 20 +4.640216535433071 + 30 +0.0 + 10 +9.03996062992126 + 20 +4.640216535433071 + 30 +0.0 + 10 +9.044405511811023 + 20 +4.634964566929134 + 30 +0.0 + 10 +9.050212598425198 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.057377952755905 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.057377952755905 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.063129921259842 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.067905511811023 + 20 +4.634106299212599 + 30 +0.0 + 10 +9.071767716535433 + 20 +4.637633858267717 + 30 +0.0 + 10 +9.071767716535433 + 20 +4.637633858267717 + 30 +0.0 + 10 +9.075629921259843 + 20 +4.641161417322834 + 30 +0.0 + 10 +9.078074803149606 + 20 +4.64657874015748 + 30 +0.0 + 10 +9.079102362204724 + 20 +4.653909448818897 + 30 +0.0 + 0 +SPLINE + 5 +2A2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.146492125984253 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.146492125984253 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.160964566929135 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.160964566929135 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.160964566929135 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.161771653543306 + 20 +4.644523622047244 + 30 +0.0 + 10 +9.164047244094489 + 20 +4.64007874015748 + 30 +0.0 + 10 +9.167771653543307 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.167771653543307 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.171464566929133 + 20 +4.63388188976378 + 30 +0.0 + 10 +9.176661417322835 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.183354330708662 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.183354330708662 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.190074803149606 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.195074803149605 + 20 +4.633716535433071 + 30 +0.0 + 10 +9.198326771653543 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.198326771653543 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.201574803149606 + 20 +4.639188976377953 + 30 +0.0 + 10 +9.203216535433071 + 20 +4.642409448818897 + 30 +0.0 + 10 +9.203216535433071 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.203216535433071 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.203216535433071 + 20 +4.649409448818898 + 30 +0.0 + 10 +9.201771653543307 + 20 +4.651992125984252 + 30 +0.0 + 10 +9.19888188976378 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.19888188976378 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.19688188976378 + 20 +4.655216535433071 + 30 +0.0 + 10 +9.19188188976378 + 20 +4.656854330708661 + 30 +0.0 + 10 +9.183909448818898 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.183909448818898 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.173188976377952 + 20 +4.661578740157481 + 30 +0.0 + 10 +9.16571653543307 + 20 +4.663909448818898 + 30 +0.0 + 10 +9.161574803149607 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.161574803149607 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.157437007874016 + 20 +4.667881889763779 + 30 +0.0 + 10 +9.154271653543308 + 20 +4.670633858267717 + 30 +0.0 + 10 +9.152133858267717 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.152133858267717 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.149992125984252 + 20 +4.677633858267717 + 30 +0.0 + 10 +9.148909448818898 + 20 +4.681492125984252 + 30 +0.0 + 10 +9.148909448818898 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.148909448818898 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.148909448818898 + 20 +4.68957874015748 + 30 +0.0 + 10 +9.149799212598426 + 20 +4.693133858267717 + 30 +0.0 + 10 +9.151574803149606 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.151574803149606 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.153326771653543 + 20 +4.699716535433071 + 30 +0.0 + 10 +9.155744094488188 + 20 +4.702437007874016 + 30 +0.0 + 10 +9.158771653543306 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.158771653543306 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.161047244094489 + 20 +4.706271653543307 + 30 +0.0 + 10 +9.164161417322834 + 20 +4.707716535433071 + 30 +0.0 + 10 +9.168074803149606 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.168074803149606 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.17201968503937 + 20 +4.710047244094488 + 30 +0.0 + 10 +9.176244094488188 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.180744094488189 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.180744094488189 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.18751968503937 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.193464566929133 + 20 +4.709633858267717 + 30 +0.0 + 10 +9.198602362204724 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.198602362204724 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.203744094488188 + 20 +4.705744094488189 + 30 +0.0 + 10 +9.20751968503937 + 20 +4.703106299212599 + 30 +0.0 + 10 +9.209964566929134 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.209964566929134 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.212409448818898 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.214074803149606 + 20 +4.691964566929133 + 30 +0.0 + 10 +9.214992125984251 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.214992125984251 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.214992125984251 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.200688976377952 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.200688976377952 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.200688976377952 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.20001968503937 + 20 +4.688854330708661 + 30 +0.0 + 10 +9.198129921259843 + 20 +4.692326771653543 + 30 +0.0 + 10 +9.19501968503937 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.19501968503937 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.191909448818897 + 20 +4.697326771653543 + 30 +0.0 + 10 +9.187492125984251 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.181799212598426 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.181799212598426 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.175074803149606 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.170271653543306 + 20 +4.697464566929134 + 30 +0.0 + 10 +9.167409448818898 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.167409448818898 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.16451968503937 + 20 +4.69301968503937 + 30 +0.0 + 10 +9.163074803149605 + 20 +4.690409448818897 + 30 +0.0 + 10 +9.163074803149605 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.163074803149605 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.163074803149605 + 20 +4.68551968503937 + 30 +0.0 + 10 +9.163688976377953 + 20 +4.683826771653544 + 30 +0.0 + 10 +9.16488188976378 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.16488188976378 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.166074803149606 + 20 +4.680716535433071 + 30 +0.0 + 10 +9.167937007874016 + 20 +4.679437007874016 + 30 +0.0 + 10 +9.170492125984252 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.170492125984252 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.171964566929134 + 20 +4.677854330708661 + 30 +0.0 + 10 +9.176271653543306 + 20 +4.676606299212598 + 30 +0.0 + 10 +9.183437007874016 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.183437007874016 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.193799212598424 + 20 +4.67188188976378 + 30 +0.0 + 10 +9.20101968503937 + 20 +4.669633858267717 + 30 +0.0 + 10 +9.205102362204725 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.205102362204725 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.209216535433072 + 20 +4.666106299212599 + 30 +0.0 + 10 +9.212437007874016 + 20 +4.66351968503937 + 30 +0.0 + 10 +9.214771653543307 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.214771653543307 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.217102362204724 + 20 +4.656799212598425 + 30 +0.0 + 10 +9.218271653543306 + 20 +4.652633858267716 + 30 +0.0 + 10 +9.218271653543306 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.218271653543306 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.218271653543306 + 20 +4.642744094488189 + 30 +0.0 + 10 +9.216826771653544 + 20 +4.638161417322834 + 30 +0.0 + 10 +9.213992125984252 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.213992125984252 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.211129921259843 + 20 +4.629523622047244 + 30 +0.0 + 10 +9.20701968503937 + 20 +4.626188976377953 + 30 +0.0 + 10 +9.20165748031496 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.20165748031496 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.196299212598426 + 20 +4.621464566929133 + 30 +0.0 + 10 +9.190216535433072 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.183437007874016 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.183437007874016 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.172188976377953 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.163633858267717 + 20 +4.622633858267717 + 30 +0.0 + 10 +9.157744094488189 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.157744094488189 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.15185433070866 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.148102362204725 + 20 +4.63888188976378 + 30 +0.0 + 10 +9.146492125984253 + 20 +4.648051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2A3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.294826771653543 + 20 +4.65007874015748 + 30 +0.0 + 10 +9.294826771653543 + 20 +4.65007874015748 + 30 +0.0 + 10 +9.309964566929134 + 20 +4.648216535433071 + 30 +0.0 + 10 +9.309964566929134 + 20 +4.648216535433071 + 30 +0.0 + 10 +9.309964566929134 + 20 +4.648216535433071 + 30 +0.0 + 10 +9.30757874015748 + 20 +4.639354330708661 + 30 +0.0 + 10 +9.303161417322835 + 20 +4.632492125984252 + 30 +0.0 + 10 +9.29671653543307 + 20 +4.627606299212599 + 30 +0.0 + 10 +9.29671653543307 + 20 +4.627606299212599 + 30 +0.0 + 10 +9.29024409448819 + 20 +4.622744094488189 + 30 +0.0 + 10 +9.281992125984251 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.271964566929134 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.271964566929134 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.259326771653543 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.249299212598425 + 20 +4.624188976377953 + 30 +0.0 + 10 +9.241909448818898 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.241909448818898 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.234496062992125 + 20 +4.639744094488189 + 30 +0.0 + 10 +9.230799212598425 + 20 +4.650661417322834 + 30 +0.0 + 10 +9.230799212598425 + 20 +4.664716535433071 + 30 +0.0 + 10 +9.230799212598425 + 20 +4.664716535433071 + 30 +0.0 + 10 +9.230799212598425 + 20 +4.679271653543307 + 30 +0.0 + 10 +9.234551181102363 + 20 +4.690547244094488 + 30 +0.0 + 10 +9.242023622047244 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.242023622047244 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.249523622047244 + 20 +4.706606299212599 + 30 +0.0 + 10 +9.25921653543307 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.271161417322835 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.271161417322835 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.282716535433071 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.292161417322834 + 20 +4.706688976377952 + 30 +0.0 + 10 +9.299464566929133 + 20 +4.698826771653543 + 30 +0.0 + 10 +9.299464566929133 + 20 +4.698826771653543 + 30 +0.0 + 10 +9.306799212598426 + 20 +4.690964566929134 + 30 +0.0 + 10 +9.310464566929134 + 20 +4.67988188976378 + 30 +0.0 + 10 +9.310464566929134 + 20 +4.665633858267716 + 30 +0.0 + 10 +9.310464566929134 + 20 +4.665633858267716 + 30 +0.0 + 10 +9.310464566929134 + 20 +4.664744094488189 + 30 +0.0 + 10 +9.310437007874016 + 20 +4.663437007874016 + 30 +0.0 + 10 +9.310381889763779 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.310381889763779 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.310381889763779 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.245937007874016 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.245937007874016 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.245937007874016 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.246468503937008 + 20 +4.65221653543307 + 30 +0.0 + 10 +9.249161417322835 + 20 +4.644937007874016 + 30 +0.0 + 10 +9.253996062992126 + 20 +4.639909448818898 + 30 +0.0 + 10 +9.253996062992126 + 20 +4.639909448818898 + 30 +0.0 + 10 +9.258826771653544 + 20 +4.634854330708661 + 30 +0.0 + 10 +9.264826771653544 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.272051181102363 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.272051181102363 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.277409448818897 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.281992125984251 + 20 +4.633744094488189 + 30 +0.0 + 10 +9.285799212598425 + 20 +4.63657874015748 + 30 +0.0 + 10 +9.285799212598425 + 20 +4.63657874015748 + 30 +0.0 + 10 +9.289606299212599 + 20 +4.639381889763779 + 30 +0.0 + 10 +9.292606299212599 + 20 +4.643881889763779 + 30 +0.0 + 10 +9.294826771653543 + 20 +4.65007874015748 + 30 +0.0 + 0 +SPLINE + 5 +2A4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.24674409448819 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.24674409448819 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.294992125984251 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.294992125984251 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.294992125984251 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.29435433070866 + 20 +4.68101968503937 + 30 +0.0 + 10 +9.292492125984252 + 20 +4.686492125984252 + 30 +0.0 + 10 +9.289464566929134 + 20 +4.690106299212599 + 30 +0.0 + 10 +9.289464566929134 + 20 +4.690106299212599 + 30 +0.0 + 10 +9.284799212598426 + 20 +4.695744094488189 + 30 +0.0 + 10 +9.27874409448819 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.271326771653543 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.271326771653543 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.264606299212598 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.258937007874016 + 20 +4.696326771653544 + 30 +0.0 + 10 +9.254354330708662 + 20 +4.691826771653544 + 30 +0.0 + 10 +9.254354330708662 + 20 +4.691826771653544 + 30 +0.0 + 10 +9.249771653543307 + 20 +4.687326771653543 + 30 +0.0 + 10 +9.247244094488188 + 20 +4.681299212598425 + 30 +0.0 + 10 +9.24674409448819 + 20 +4.673771653543307 + 30 +0.0 + 0 +SPLINE + 5 +2A5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.32838188976378 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.69638188976378 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.69638188976378 + 30 +0.0 + 10 +9.341547244094489 + 20 +4.69638188976378 + 30 +0.0 + 10 +9.347909448818898 + 20 +4.70588188976378 + 30 +0.0 + 10 +9.357074803149606 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.369047244094489 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.369047244094489 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.374271653543307 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.379047244094489 + 20 +4.709688976377953 + 30 +0.0 + 10 +9.383409448818897 + 20 +4.707826771653544 + 30 +0.0 + 10 +9.383409448818897 + 20 +4.707826771653544 + 30 +0.0 + 10 +9.387799212598425 + 20 +4.705937007874016 + 30 +0.0 + 10 +9.391047244094489 + 20 +4.703492125984252 + 30 +0.0 + 10 +9.393216535433071 + 20 +4.700437007874016 + 30 +0.0 + 10 +9.393216535433071 + 20 +4.700437007874016 + 30 +0.0 + 10 +9.395409448818898 + 20 +4.697409448818898 + 30 +0.0 + 10 +9.396909448818898 + 20 +4.693799212598425 + 30 +0.0 + 10 +9.397799212598425 + 20 +4.689633858267716 + 30 +0.0 + 10 +9.397799212598425 + 20 +4.689633858267716 + 30 +0.0 + 10 +9.398326771653544 + 20 +4.686909448818898 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.682161417322835 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.67538188976378 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.67538188976378 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.67538188976378 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.398602362204725 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.674826771653543 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.674826771653543 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.674826771653543 + 30 +0.0 + 10 +9.383937007874016 + 20 +4.680771653543307 + 30 +0.0 + 10 +9.383381889763779 + 20 +4.685244094488189 + 30 +0.0 + 10 +9.38224409448819 + 20 +4.688216535433071 + 30 +0.0 + 10 +9.38224409448819 + 20 +4.688216535433071 + 30 +0.0 + 10 +9.381102362204725 + 20 +4.691161417322834 + 30 +0.0 + 10 +9.379074803149607 + 20 +4.69351968503937 + 30 +0.0 + 10 +9.376185039370078 + 20 +4.695271653543307 + 30 +0.0 + 10 +9.376185039370078 + 20 +4.695271653543307 + 30 +0.0 + 10 +9.373271653543307 + 20 +4.697047244094488 + 30 +0.0 + 10 +9.36988188976378 + 20 +4.697937007874016 + 30 +0.0 + 10 +9.365964566929135 + 20 +4.697937007874016 + 30 +0.0 + 10 +9.365964566929135 + 20 +4.697937007874016 + 30 +0.0 + 10 +9.359716535433071 + 20 +4.697937007874016 + 30 +0.0 + 10 +9.354354330708661 + 20 +4.695937007874016 + 30 +0.0 + 10 +9.349799212598425 + 20 +4.691992125984252 + 30 +0.0 + 10 +9.349799212598425 + 20 +4.691992125984252 + 30 +0.0 + 10 +9.345271653543307 + 20 +4.68801968503937 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.68051968503937 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.669437007874015 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.669437007874015 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.669437007874015 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.34301968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.32838188976378 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +2A6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.415212598425196 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.415212598425196 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.429685039370078 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.429685039370078 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.429685039370078 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.430492125984252 + 20 +4.644523622047244 + 30 +0.0 + 10 +9.432767716535434 + 20 +4.64007874015748 + 30 +0.0 + 10 +9.436492125984252 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.436492125984252 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.440185039370078 + 20 +4.63388188976378 + 30 +0.0 + 10 +9.44538188976378 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.452074803149607 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.452074803149607 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.458795275590552 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.46379527559055 + 20 +4.633716535433071 + 30 +0.0 + 10 +9.467047244094488 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.467047244094488 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.470295275590551 + 20 +4.639188976377953 + 30 +0.0 + 10 +9.471937007874017 + 20 +4.642409448818897 + 30 +0.0 + 10 +9.471937007874017 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.471937007874017 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.471937007874017 + 20 +4.649409448818898 + 30 +0.0 + 10 +9.470492125984252 + 20 +4.651992125984252 + 30 +0.0 + 10 +9.467602362204724 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.467602362204724 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.465602362204724 + 20 +4.655216535433071 + 30 +0.0 + 10 +9.460602362204725 + 20 +4.656854330708661 + 30 +0.0 + 10 +9.452629921259842 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.452629921259842 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.441909448818897 + 20 +4.661578740157481 + 30 +0.0 + 10 +9.434437007874015 + 20 +4.663909448818898 + 30 +0.0 + 10 +9.43029527559055 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.43029527559055 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.426157480314961 + 20 +4.667881889763779 + 30 +0.0 + 10 +9.422992125984251 + 20 +4.670633858267717 + 30 +0.0 + 10 +9.42085433070866 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.42085433070866 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.418712598425197 + 20 +4.677633858267717 + 30 +0.0 + 10 +9.417629921259843 + 20 +4.681492125984252 + 30 +0.0 + 10 +9.417629921259843 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.417629921259843 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.417629921259843 + 20 +4.68957874015748 + 30 +0.0 + 10 +9.41851968503937 + 20 +4.693133858267717 + 30 +0.0 + 10 +9.42029527559055 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.42029527559055 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.422047244094488 + 20 +4.699716535433071 + 30 +0.0 + 10 +9.424464566929133 + 20 +4.702437007874016 + 30 +0.0 + 10 +9.427492125984251 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.427492125984251 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.429767716535434 + 20 +4.706271653543307 + 30 +0.0 + 10 +9.43288188976378 + 20 +4.707716535433071 + 30 +0.0 + 10 +9.436795275590551 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.436795275590551 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.440740157480315 + 20 +4.710047244094488 + 30 +0.0 + 10 +9.444964566929134 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.449464566929134 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.449464566929134 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.456240157480314 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.462185039370079 + 20 +4.709633858267717 + 30 +0.0 + 10 +9.46732283464567 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.46732283464567 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.472464566929133 + 20 +4.705744094488189 + 30 +0.0 + 10 +9.476240157480316 + 20 +4.703106299212599 + 30 +0.0 + 10 +9.47868503937008 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.47868503937008 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.481129921259843 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.48279527559055 + 20 +4.691964566929133 + 30 +0.0 + 10 +9.483712598425196 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.483712598425196 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.483712598425196 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.469409448818897 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.469409448818897 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.469409448818897 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.468740157480315 + 20 +4.688854330708661 + 30 +0.0 + 10 +9.466850393700787 + 20 +4.692326771653543 + 30 +0.0 + 10 +9.463740157480315 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.463740157480315 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.460629921259843 + 20 +4.697326771653543 + 30 +0.0 + 10 +9.456212598425196 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.450519685039371 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.450519685039371 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.443795275590551 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.438992125984251 + 20 +4.697464566929134 + 30 +0.0 + 10 +9.436129921259843 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.436129921259843 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.433240157480315 + 20 +4.69301968503937 + 30 +0.0 + 10 +9.43179527559055 + 20 +4.690409448818897 + 30 +0.0 + 10 +9.43179527559055 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.43179527559055 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.43179527559055 + 20 +4.68551968503937 + 30 +0.0 + 10 +9.432409448818898 + 20 +4.683826771653544 + 30 +0.0 + 10 +9.433602362204724 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.433602362204724 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.43479527559055 + 20 +4.680716535433071 + 30 +0.0 + 10 +9.436657480314961 + 20 +4.679437007874016 + 30 +0.0 + 10 +9.439212598425197 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.439212598425197 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.440685039370079 + 20 +4.677854330708661 + 30 +0.0 + 10 +9.444992125984252 + 20 +4.676606299212598 + 30 +0.0 + 10 +9.45215748031496 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.45215748031496 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.46251968503937 + 20 +4.67188188976378 + 30 +0.0 + 10 +9.469740157480315 + 20 +4.669633858267717 + 30 +0.0 + 10 +9.47382283464567 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.47382283464567 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.477937007874015 + 20 +4.666106299212599 + 30 +0.0 + 10 +9.48115748031496 + 20 +4.66351968503937 + 30 +0.0 + 10 +9.483492125984252 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.483492125984252 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.485822834645669 + 20 +4.656799212598425 + 30 +0.0 + 10 +9.486992125984251 + 20 +4.652633858267716 + 30 +0.0 + 10 +9.486992125984251 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.486992125984251 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.486992125984251 + 20 +4.642744094488189 + 30 +0.0 + 10 +9.485547244094489 + 20 +4.638161417322834 + 30 +0.0 + 10 +9.482712598425197 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.482712598425197 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.479850393700787 + 20 +4.629523622047244 + 30 +0.0 + 10 +9.475740157480315 + 20 +4.626188976377953 + 30 +0.0 + 10 +9.470377952755905 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.470377952755905 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.46501968503937 + 20 +4.621464566929133 + 30 +0.0 + 10 +9.458937007874015 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.45215748031496 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.45215748031496 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.440909448818898 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.43235433070866 + 20 +4.622633858267717 + 30 +0.0 + 10 +9.426464566929134 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.426464566929134 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.420574803149606 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.41682283464567 + 20 +4.63888188976378 + 30 +0.0 + 10 +9.415212598425196 + 20 +4.648051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2A7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.498937007874016 + 20 +4.665464566929134 + 30 +0.0 + 10 +9.498937007874016 + 20 +4.681464566929134 + 30 +0.0 + 10 +9.50338188976378 + 20 +4.693326771653544 + 30 +0.0 + 10 +9.512299212598425 + 20 +4.70101968503937 + 30 +0.0 + 10 +9.512299212598425 + 20 +4.70101968503937 + 30 +0.0 + 10 +9.519716535433071 + 20 +4.707409448818898 + 30 +0.0 + 10 +9.528771653543307 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.551354330708662 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.561074803149607 + 20 +4.706744094488189 + 30 +0.0 + 10 +9.568602362204725 + 20 +4.698937007874016 + 30 +0.0 + 10 +9.568602362204725 + 20 +4.698937007874016 + 30 +0.0 + 10 +9.576157480314961 + 20 +4.691161417322834 + 30 +0.0 + 10 +9.579909448818897 + 20 +4.680409448818898 + 30 +0.0 + 10 +9.579909448818897 + 20 +4.666688976377952 + 30 +0.0 + 10 +9.579909448818897 + 20 +4.666688976377952 + 30 +0.0 + 10 +9.579909448818897 + 20 +4.655551181102362 + 30 +0.0 + 10 +9.578240157480314 + 20 +4.646799212598425 + 30 +0.0 + 10 +9.574909448818898 + 20 +4.640437007874016 + 30 +0.0 + 10 +9.574909448818898 + 20 +4.640437007874016 + 30 +0.0 + 10 +9.571574803149606 + 20 +4.634051181102362 + 30 +0.0 + 10 +9.566712598425196 + 20 +4.629106299212599 + 30 +0.0 + 10 +9.56035433070866 + 20 +4.62557874015748 + 30 +0.0 + 10 +9.56035433070866 + 20 +4.62557874015748 + 30 +0.0 + 10 +9.553964566929134 + 20 +4.622051181102362 + 30 +0.0 + 10 +9.54701968503937 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.52738188976378 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.517602362204725 + 20 +4.624161417322835 + 30 +0.0 + 10 +9.510129921259843 + 20 +4.631937007874016 + 30 +0.0 + 10 +9.510129921259843 + 20 +4.631937007874016 + 30 +0.0 + 10 +9.50265748031496 + 20 +4.639688976377953 + 30 +0.0 + 10 +9.498937007874016 + 20 +4.650854330708661 + 30 +0.0 + 10 +9.498937007874016 + 20 +4.665464566929134 + 30 +0.0 + 0 +SPLINE + 5 +2A8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.513992125984252 + 20 +4.665464566929134 + 30 +0.0 + 10 +9.513992125984252 + 20 +4.65438188976378 + 30 +0.0 + 10 +9.516409448818898 + 20 +4.646106299212598 + 30 +0.0 + 10 +9.521244094488189 + 20 +4.640606299212599 + 30 +0.0 + 10 +9.521244094488189 + 20 +4.640606299212599 + 30 +0.0 + 10 +9.526074803149607 + 20 +4.63507874015748 + 30 +0.0 + 10 +9.532157480314961 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.546744094488188 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.552799212598424 + 20 +4.635106299212598 + 30 +0.0 + 10 +9.557629921259842 + 20 +4.640633858267717 + 30 +0.0 + 10 +9.557629921259842 + 20 +4.640633858267717 + 30 +0.0 + 10 +9.562437007874015 + 20 +4.646161417322834 + 30 +0.0 + 10 +9.56485433070866 + 20 +4.654606299212598 + 30 +0.0 + 10 +9.56485433070866 + 20 +4.665937007874016 + 30 +0.0 + 10 +9.56485433070866 + 20 +4.665937007874016 + 30 +0.0 + 10 +9.56485433070866 + 20 +4.676633858267716 + 30 +0.0 + 10 +9.562437007874015 + 20 +4.684744094488189 + 30 +0.0 + 10 +9.557574803149606 + 20 +4.690244094488189 + 30 +0.0 + 10 +9.557574803149606 + 20 +4.690244094488189 + 30 +0.0 + 10 +9.552712598425197 + 20 +4.695744094488189 + 30 +0.0 + 10 +9.546685039370079 + 20 +4.698492125984252 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.698492125984252 + 30 +0.0 + 10 +9.539464566929134 + 20 +4.698492125984252 + 30 +0.0 + 10 +9.532157480314961 + 20 +4.698492125984252 + 30 +0.0 + 10 +9.526074803149607 + 20 +4.695744094488189 + 30 +0.0 + 10 +9.521244094488189 + 20 +4.690271653543307 + 30 +0.0 + 10 +9.521244094488189 + 20 +4.690271653543307 + 30 +0.0 + 10 +9.516409448818898 + 20 +4.684799212598425 + 30 +0.0 + 10 +9.513992125984252 + 20 +4.67651968503937 + 30 +0.0 + 10 +9.513992125984252 + 20 +4.665464566929134 + 30 +0.0 + 0 +SPLINE + 5 +2A9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.596937007874017 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.708661417322834 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.69557874015748 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.69557874015748 + 30 +0.0 + 10 +9.610102362204724 + 20 +4.69557874015748 + 30 +0.0 + 10 +9.613464566929133 + 20 +4.701688976377953 + 30 +0.0 + 10 +9.616574803149605 + 20 +4.705744094488189 + 30 +0.0 + 10 +9.619437007874016 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.619437007874016 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.622267716535433 + 20 +4.709633858267717 + 30 +0.0 + 10 +9.625409448818898 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.62882283464567 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.62882283464567 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.633767716535433 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.638767716535433 + 20 +4.709047244094489 + 30 +0.0 + 10 +9.643877952755906 + 20 +4.705909448818898 + 30 +0.0 + 10 +9.643877952755906 + 20 +4.705909448818898 + 30 +0.0 + 10 +9.643877952755906 + 20 +4.705909448818898 + 30 +0.0 + 10 +9.63882283464567 + 20 +4.692299212598425 + 30 +0.0 + 10 +9.63882283464567 + 20 +4.692299212598425 + 30 +0.0 + 10 +9.63882283464567 + 20 +4.692299212598425 + 30 +0.0 + 10 +9.635267716535433 + 20 +4.694437007874016 + 30 +0.0 + 10 +9.631685039370078 + 20 +4.695492125984252 + 30 +0.0 + 10 +9.628102362204725 + 20 +4.695492125984252 + 30 +0.0 + 10 +9.628102362204725 + 20 +4.695492125984252 + 30 +0.0 + 10 +9.624877952755906 + 20 +4.695492125984252 + 30 +0.0 + 10 +9.62201968503937 + 20 +4.69451968503937 + 30 +0.0 + 10 +9.619464566929134 + 20 +4.692606299212598 + 30 +0.0 + 10 +9.619464566929134 + 20 +4.692606299212598 + 30 +0.0 + 10 +9.616909448818898 + 20 +4.690661417322834 + 30 +0.0 + 10 +9.615102362204725 + 20 +4.687992125984252 + 30 +0.0 + 10 +9.61401968503937 + 20 +4.68457874015748 + 30 +0.0 + 10 +9.61401968503937 + 20 +4.68457874015748 + 30 +0.0 + 10 +9.61238188976378 + 20 +4.679381889763779 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.673688976377953 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.667492125984252 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.667492125984252 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.667492125984252 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.611574803149606 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.622244094488189 + 30 +0.0 + 10 +9.596937007874017 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +2AA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.646740157480314 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.646740157480314 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.661212598425196 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.661212598425196 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.661212598425196 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.66201968503937 + 20 +4.644523622047244 + 30 +0.0 + 10 +9.66429527559055 + 20 +4.64007874015748 + 30 +0.0 + 10 +9.66801968503937 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.66801968503937 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.671712598425197 + 20 +4.63388188976378 + 30 +0.0 + 10 +9.676909448818897 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.683602362204724 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.683602362204724 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.69032283464567 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.695322834645669 + 20 +4.633716535433071 + 30 +0.0 + 10 +9.698574803149606 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.698574803149606 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.70182283464567 + 20 +4.639188976377953 + 30 +0.0 + 10 +9.703464566929133 + 20 +4.642409448818897 + 30 +0.0 + 10 +9.703464566929133 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.703464566929133 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.703464566929133 + 20 +4.649409448818898 + 30 +0.0 + 10 +9.702019685039371 + 20 +4.651992125984252 + 30 +0.0 + 10 +9.699129921259843 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.699129921259843 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.697129921259842 + 20 +4.655216535433071 + 30 +0.0 + 10 +9.692129921259843 + 20 +4.656854330708661 + 30 +0.0 + 10 +9.68415748031496 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.68415748031496 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.673437007874016 + 20 +4.661578740157481 + 30 +0.0 + 10 +9.665964566929134 + 20 +4.663909448818898 + 30 +0.0 + 10 +9.661822834645669 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.661822834645669 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.65768503937008 + 20 +4.667881889763779 + 30 +0.0 + 10 +9.65451968503937 + 20 +4.670633858267717 + 30 +0.0 + 10 +9.65238188976378 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.65238188976378 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.650240157480315 + 20 +4.677633858267717 + 30 +0.0 + 10 +9.64915748031496 + 20 +4.681492125984252 + 30 +0.0 + 10 +9.64915748031496 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.64915748031496 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.64915748031496 + 20 +4.68957874015748 + 30 +0.0 + 10 +9.650047244094488 + 20 +4.693133858267717 + 30 +0.0 + 10 +9.65182283464567 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.65182283464567 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.653574803149606 + 20 +4.699716535433071 + 30 +0.0 + 10 +9.655992125984252 + 20 +4.702437007874016 + 30 +0.0 + 10 +9.65901968503937 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.65901968503937 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.66129527559055 + 20 +4.706271653543307 + 30 +0.0 + 10 +9.664409448818898 + 20 +4.707716535433071 + 30 +0.0 + 10 +9.66832283464567 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.66832283464567 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.672267716535433 + 20 +4.710047244094488 + 30 +0.0 + 10 +9.676492125984252 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.680992125984252 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.680992125984252 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.687767716535433 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.693712598425197 + 20 +4.709633858267717 + 30 +0.0 + 10 +9.698850393700788 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.698850393700788 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.703992125984252 + 20 +4.705744094488189 + 30 +0.0 + 10 +9.707767716535432 + 20 +4.703106299212599 + 30 +0.0 + 10 +9.710212598425198 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.710212598425198 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.712657480314961 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.71432283464567 + 20 +4.691964566929133 + 30 +0.0 + 10 +9.715240157480315 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.715240157480315 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.715240157480315 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.700937007874016 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.700937007874016 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.700937007874016 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.700267716535434 + 20 +4.688854330708661 + 30 +0.0 + 10 +9.698377952755905 + 20 +4.692326771653543 + 30 +0.0 + 10 +9.695267716535433 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.695267716535433 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.692157480314961 + 20 +4.697326771653543 + 30 +0.0 + 10 +9.687740157480315 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.682047244094488 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.682047244094488 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.67532283464567 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.67051968503937 + 20 +4.697464566929134 + 30 +0.0 + 10 +9.667657480314961 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.667657480314961 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.664767716535433 + 20 +4.69301968503937 + 30 +0.0 + 10 +9.663322834645669 + 20 +4.690409448818897 + 30 +0.0 + 10 +9.663322834645669 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.663322834645669 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.663322834645669 + 20 +4.68551968503937 + 30 +0.0 + 10 +9.663937007874015 + 20 +4.683826771653544 + 30 +0.0 + 10 +9.665129921259842 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.665129921259842 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.666322834645669 + 20 +4.680716535433071 + 30 +0.0 + 10 +9.668185039370078 + 20 +4.679437007874016 + 30 +0.0 + 10 +9.670740157480315 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.670740157480315 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.672212598425197 + 20 +4.677854330708661 + 30 +0.0 + 10 +9.67651968503937 + 20 +4.676606299212598 + 30 +0.0 + 10 +9.68368503937008 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.68368503937008 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.694047244094488 + 20 +4.67188188976378 + 30 +0.0 + 10 +9.701267716535433 + 20 +4.669633858267717 + 30 +0.0 + 10 +9.705350393700787 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.705350393700787 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.709464566929134 + 20 +4.666106299212599 + 30 +0.0 + 10 +9.71268503937008 + 20 +4.66351968503937 + 30 +0.0 + 10 +9.71501968503937 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.71501968503937 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.717350393700787 + 20 +4.656799212598425 + 30 +0.0 + 10 +9.71851968503937 + 20 +4.652633858267716 + 30 +0.0 + 10 +9.71851968503937 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.71851968503937 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.71851968503937 + 20 +4.642744094488189 + 30 +0.0 + 10 +9.717074803149606 + 20 +4.638161417322834 + 30 +0.0 + 10 +9.714240157480315 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.714240157480315 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.711377952755905 + 20 +4.629523622047244 + 30 +0.0 + 10 +9.707267716535434 + 20 +4.626188976377953 + 30 +0.0 + 10 +9.701905511811024 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.701905511811024 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.696547244094488 + 20 +4.621464566929133 + 30 +0.0 + 10 +9.690464566929133 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.68368503937008 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.68368503937008 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.672437007874017 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.663881889763779 + 20 +4.622633858267717 + 30 +0.0 + 10 +9.657992125984252 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.657992125984252 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.652102362204724 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.648350393700788 + 20 +4.63888188976378 + 30 +0.0 + 10 +9.646740157480314 + 20 +4.648051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2AB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.77638188976378 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.77638188976378 + 20 +4.648051181102362 + 30 +0.0 + 10 +9.790854330708662 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.790854330708662 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.790854330708662 + 20 +4.650326771653543 + 30 +0.0 + 10 +9.791661417322835 + 20 +4.644523622047244 + 30 +0.0 + 10 +9.793937007874016 + 20 +4.64007874015748 + 30 +0.0 + 10 +9.797661417322834 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.797661417322834 + 20 +4.636964566929134 + 30 +0.0 + 10 +9.801354330708662 + 20 +4.63388188976378 + 30 +0.0 + 10 +9.806551181102362 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.813244094488189 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.813244094488189 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.819964566929134 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.824964566929134 + 20 +4.633716535433071 + 30 +0.0 + 10 +9.828216535433071 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.828216535433071 + 20 +4.636437007874016 + 30 +0.0 + 10 +9.831464566929133 + 20 +4.639188976377953 + 30 +0.0 + 10 +9.833106299212599 + 20 +4.642409448818897 + 30 +0.0 + 10 +9.833106299212599 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.833106299212599 + 20 +4.64607874015748 + 30 +0.0 + 10 +9.833106299212599 + 20 +4.649409448818898 + 30 +0.0 + 10 +9.831661417322834 + 20 +4.651992125984252 + 30 +0.0 + 10 +9.828771653543306 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.828771653543306 + 20 +4.653909448818897 + 30 +0.0 + 10 +9.826771653543307 + 20 +4.655216535433071 + 30 +0.0 + 10 +9.821771653543307 + 20 +4.656854330708661 + 30 +0.0 + 10 +9.813799212598425 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.813799212598425 + 20 +4.658854330708661 + 30 +0.0 + 10 +9.80307874015748 + 20 +4.661578740157481 + 30 +0.0 + 10 +9.795606299212599 + 20 +4.663909448818898 + 30 +0.0 + 10 +9.791464566929134 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.791464566929134 + 20 +4.665909448818898 + 30 +0.0 + 10 +9.787326771653543 + 20 +4.667881889763779 + 30 +0.0 + 10 +9.784161417322835 + 20 +4.670633858267717 + 30 +0.0 + 10 +9.782023622047245 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.782023622047245 + 20 +4.674133858267717 + 30 +0.0 + 10 +9.779881889763779 + 20 +4.677633858267717 + 30 +0.0 + 10 +9.778799212598425 + 20 +4.681492125984252 + 30 +0.0 + 10 +9.778799212598425 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.778799212598425 + 20 +4.685716535433071 + 30 +0.0 + 10 +9.778799212598425 + 20 +4.68957874015748 + 30 +0.0 + 10 +9.779688976377953 + 20 +4.693133858267717 + 30 +0.0 + 10 +9.781464566929134 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.781464566929134 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.783216535433072 + 20 +4.699716535433071 + 30 +0.0 + 10 +9.785633858267717 + 20 +4.702437007874016 + 30 +0.0 + 10 +9.788661417322835 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.788661417322835 + 20 +4.704606299212599 + 30 +0.0 + 10 +9.790937007874016 + 20 +4.706271653543307 + 30 +0.0 + 10 +9.794051181102363 + 20 +4.707716535433071 + 30 +0.0 + 10 +9.797964566929133 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.797964566929133 + 20 +4.70888188976378 + 30 +0.0 + 10 +9.801909448818897 + 20 +4.710047244094488 + 30 +0.0 + 10 +9.806133858267717 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.810633858267716 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.810633858267716 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.817409448818898 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.82335433070866 + 20 +4.709633858267717 + 30 +0.0 + 10 +9.828492125984251 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.828492125984251 + 20 +4.707688976377953 + 30 +0.0 + 10 +9.833633858267717 + 20 +4.705744094488189 + 30 +0.0 + 10 +9.837409448818898 + 20 +4.703106299212599 + 30 +0.0 + 10 +9.839854330708661 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.839854330708661 + 20 +4.699771653543307 + 30 +0.0 + 10 +9.842299212598425 + 20 +4.696409448818898 + 30 +0.0 + 10 +9.843964566929134 + 20 +4.691964566929133 + 30 +0.0 + 10 +9.84488188976378 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.84488188976378 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.84488188976378 + 20 +4.68638188976378 + 30 +0.0 + 10 +9.830578740157481 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.830578740157481 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.830578740157481 + 20 +4.684409448818897 + 30 +0.0 + 10 +9.829909448818897 + 20 +4.688854330708661 + 30 +0.0 + 10 +9.82801968503937 + 20 +4.692326771653543 + 30 +0.0 + 10 +9.824909448818898 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.824909448818898 + 20 +4.694826771653544 + 30 +0.0 + 10 +9.821799212598425 + 20 +4.697326771653543 + 30 +0.0 + 10 +9.81738188976378 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.811688976377953 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.811688976377953 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.804964566929133 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.800161417322835 + 20 +4.697464566929134 + 30 +0.0 + 10 +9.797299212598425 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.797299212598425 + 20 +4.695244094488189 + 30 +0.0 + 10 +9.794409448818898 + 20 +4.69301968503937 + 30 +0.0 + 10 +9.792964566929134 + 20 +4.690409448818897 + 30 +0.0 + 10 +9.792964566929134 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.792964566929134 + 20 +4.687437007874016 + 30 +0.0 + 10 +9.792964566929134 + 20 +4.68551968503937 + 30 +0.0 + 10 +9.79357874015748 + 20 +4.683826771653544 + 30 +0.0 + 10 +9.794771653543307 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.794771653543307 + 20 +4.682299212598426 + 30 +0.0 + 10 +9.795964566929134 + 20 +4.680716535433071 + 30 +0.0 + 10 +9.797826771653543 + 20 +4.679437007874016 + 30 +0.0 + 10 +9.800381889763779 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.800381889763779 + 20 +4.67838188976378 + 30 +0.0 + 10 +9.801854330708661 + 20 +4.677854330708661 + 30 +0.0 + 10 +9.806161417322835 + 20 +4.676606299212598 + 30 +0.0 + 10 +9.813326771653543 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.813326771653543 + 20 +4.674661417322834 + 30 +0.0 + 10 +9.823688976377953 + 20 +4.67188188976378 + 30 +0.0 + 10 +9.830909448818897 + 20 +4.669633858267717 + 30 +0.0 + 10 +9.834992125984252 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.834992125984252 + 20 +4.667854330708662 + 30 +0.0 + 10 +9.839106299212599 + 20 +4.666106299212599 + 30 +0.0 + 10 +9.842326771653543 + 20 +4.66351968503937 + 30 +0.0 + 10 +9.844661417322834 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.844661417322834 + 20 +4.660161417322835 + 30 +0.0 + 10 +9.846992125984253 + 20 +4.656799212598425 + 30 +0.0 + 10 +9.848161417322835 + 20 +4.652633858267716 + 30 +0.0 + 10 +9.848161417322835 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.848161417322835 + 20 +4.647633858267716 + 30 +0.0 + 10 +9.848161417322835 + 20 +4.642744094488189 + 30 +0.0 + 10 +9.846716535433071 + 20 +4.638161417322834 + 30 +0.0 + 10 +9.843881889763779 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.843881889763779 + 20 +4.633826771653544 + 30 +0.0 + 10 +9.84101968503937 + 20 +4.629523622047244 + 30 +0.0 + 10 +9.836909448818897 + 20 +4.626188976377953 + 30 +0.0 + 10 +9.831547244094487 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.831547244094487 + 20 +4.623826771653543 + 30 +0.0 + 10 +9.826188976377953 + 20 +4.621464566929133 + 30 +0.0 + 10 +9.820106299212599 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.813326771653543 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.813326771653543 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.80207874015748 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.793523622047244 + 20 +4.622633858267717 + 30 +0.0 + 10 +9.787633858267716 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.787633858267716 + 20 +4.627299212598425 + 30 +0.0 + 10 +9.78174409448819 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.777992125984252 + 20 +4.63888188976378 + 30 +0.0 + 10 +9.77638188976378 + 20 +4.648051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2AC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.92471653543307 + 20 +4.65007874015748 + 30 +0.0 + 10 +9.92471653543307 + 20 +4.65007874015748 + 30 +0.0 + 10 +9.93985433070866 + 20 +4.648216535433071 + 30 +0.0 + 10 +9.93985433070866 + 20 +4.648216535433071 + 30 +0.0 + 10 +9.93985433070866 + 20 +4.648216535433071 + 30 +0.0 + 10 +9.937468503937009 + 20 +4.639354330708661 + 30 +0.0 + 10 +9.933051181102362 + 20 +4.632492125984252 + 30 +0.0 + 10 +9.9266062992126 + 20 +4.627606299212599 + 30 +0.0 + 10 +9.9266062992126 + 20 +4.627606299212599 + 30 +0.0 + 10 +9.920133858267716 + 20 +4.622744094488189 + 30 +0.0 + 10 +9.91188188976378 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.90185433070866 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.90185433070866 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.889216535433071 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.879188976377952 + 20 +4.624188976377953 + 30 +0.0 + 10 +9.871799212598425 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.871799212598425 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.864385826771654 + 20 +4.639744094488189 + 30 +0.0 + 10 +9.860688976377952 + 20 +4.650661417322834 + 30 +0.0 + 10 +9.860688976377952 + 20 +4.664716535433071 + 30 +0.0 + 10 +9.860688976377952 + 20 +4.664716535433071 + 30 +0.0 + 10 +9.860688976377952 + 20 +4.679271653543307 + 30 +0.0 + 10 +9.86444094488189 + 20 +4.690547244094488 + 30 +0.0 + 10 +9.871913385826772 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.871913385826772 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.879413385826771 + 20 +4.706606299212599 + 30 +0.0 + 10 +9.889106299212598 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.901051181102362 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.901051181102362 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.912606299212598 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.922051181102363 + 20 +4.706688976377952 + 30 +0.0 + 10 +9.929354330708662 + 20 +4.698826771653543 + 30 +0.0 + 10 +9.929354330708662 + 20 +4.698826771653543 + 30 +0.0 + 10 +9.936688976377953 + 20 +4.690964566929134 + 30 +0.0 + 10 +9.940354330708661 + 20 +4.67988188976378 + 30 +0.0 + 10 +9.940354330708661 + 20 +4.665633858267716 + 30 +0.0 + 10 +9.940354330708661 + 20 +4.665633858267716 + 30 +0.0 + 10 +9.940354330708661 + 20 +4.664744094488189 + 30 +0.0 + 10 +9.940326771653544 + 20 +4.663437007874016 + 30 +0.0 + 10 +9.940271653543308 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.940271653543308 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.940271653543308 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.875826771653543 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.875826771653543 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.875826771653543 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.876358267716535 + 20 +4.65221653543307 + 30 +0.0 + 10 +9.879051181102362 + 20 +4.644937007874016 + 30 +0.0 + 10 +9.883885826771653 + 20 +4.639909448818898 + 30 +0.0 + 10 +9.883885826771653 + 20 +4.639909448818898 + 30 +0.0 + 10 +9.88871653543307 + 20 +4.634854330708661 + 30 +0.0 + 10 +9.894716535433071 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.90194094488189 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.90194094488189 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.907299212598426 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.91188188976378 + 20 +4.633744094488189 + 30 +0.0 + 10 +9.915688976377952 + 20 +4.63657874015748 + 30 +0.0 + 10 +9.915688976377952 + 20 +4.63657874015748 + 30 +0.0 + 10 +9.919496062992126 + 20 +4.639381889763779 + 30 +0.0 + 10 +9.922496062992126 + 20 +4.643881889763779 + 30 +0.0 + 10 +9.92471653543307 + 20 +4.65007874015748 + 30 +0.0 + 0 +SPLINE + 5 +2AD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.876633858267716 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.876633858267716 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.92488188976378 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.92488188976378 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.92488188976378 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.92424409448819 + 20 +4.68101968503937 + 30 +0.0 + 10 +9.922381889763779 + 20 +4.686492125984252 + 30 +0.0 + 10 +9.91935433070866 + 20 +4.690106299212599 + 30 +0.0 + 10 +9.91935433070866 + 20 +4.690106299212599 + 30 +0.0 + 10 +9.914688976377953 + 20 +4.695744094488189 + 30 +0.0 + 10 +9.908633858267716 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.90121653543307 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.90121653543307 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.894496062992125 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.888826771653543 + 20 +4.696326771653544 + 30 +0.0 + 10 +9.884244094488189 + 20 +4.691826771653544 + 30 +0.0 + 10 +9.884244094488189 + 20 +4.691826771653544 + 30 +0.0 + 10 +9.879661417322835 + 20 +4.687326771653543 + 30 +0.0 + 10 +9.877133858267717 + 20 +4.681299212598425 + 30 +0.0 + 10 +9.876633858267716 + 20 +4.673771653543307 + 30 +0.0 + 0 +SPLINE + 5 +2AE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.0174094488189 + 20 +4.65007874015748 + 30 +0.0 + 10 +10.0174094488189 + 20 +4.65007874015748 + 30 +0.0 + 10 +10.03254724409449 + 20 +4.648216535433071 + 30 +0.0 + 10 +10.03254724409449 + 20 +4.648216535433071 + 30 +0.0 + 10 +10.03254724409449 + 20 +4.648216535433071 + 30 +0.0 + 10 +10.03016141732284 + 20 +4.639354330708661 + 30 +0.0 + 10 +10.02574409448819 + 20 +4.632492125984252 + 30 +0.0 + 10 +10.01929921259842 + 20 +4.627606299212599 + 30 +0.0 + 10 +10.01929921259842 + 20 +4.627606299212599 + 30 +0.0 + 10 +10.01282677165354 + 20 +4.622744094488189 + 30 +0.0 + 10 +10.00457480314961 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.994547244094488 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.994547244094488 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.981909448818898 + 20 +4.620299212598425 + 30 +0.0 + 10 +9.971881889763779 + 20 +4.624188976377953 + 30 +0.0 + 10 +9.964492125984252 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.964492125984252 + 20 +4.631964566929134 + 30 +0.0 + 10 +9.957078740157481 + 20 +4.639744094488189 + 30 +0.0 + 10 +9.95338188976378 + 20 +4.650661417322834 + 30 +0.0 + 10 +9.95338188976378 + 20 +4.664716535433071 + 30 +0.0 + 10 +9.95338188976378 + 20 +4.664716535433071 + 30 +0.0 + 10 +9.95338188976378 + 20 +4.679271653543307 + 30 +0.0 + 10 +9.957133858267717 + 20 +4.690547244094488 + 30 +0.0 + 10 +9.964606299212598 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.964606299212598 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.972106299212598 + 20 +4.706606299212599 + 30 +0.0 + 10 +9.981799212598425 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.99374409448819 + 20 +4.710633858267717 + 30 +0.0 + 10 +9.99374409448819 + 20 +4.710633858267717 + 30 +0.0 + 10 +10.00529921259843 + 20 +4.710633858267717 + 30 +0.0 + 10 +10.01474409448819 + 20 +4.706688976377952 + 30 +0.0 + 10 +10.02204724409449 + 20 +4.698826771653543 + 30 +0.0 + 10 +10.02204724409449 + 20 +4.698826771653543 + 30 +0.0 + 10 +10.02938188976378 + 20 +4.690964566929134 + 30 +0.0 + 10 +10.03304724409449 + 20 +4.67988188976378 + 30 +0.0 + 10 +10.03304724409449 + 20 +4.665633858267716 + 30 +0.0 + 10 +10.03304724409449 + 20 +4.665633858267716 + 30 +0.0 + 10 +10.03304724409449 + 20 +4.664744094488189 + 30 +0.0 + 10 +10.03301968503937 + 20 +4.663437007874016 + 30 +0.0 + 10 +10.03296456692913 + 20 +4.661716535433071 + 30 +0.0 + 10 +10.03296456692913 + 20 +4.661716535433071 + 30 +0.0 + 10 +10.03296456692913 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.96851968503937 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.96851968503937 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.96851968503937 + 20 +4.661716535433071 + 30 +0.0 + 10 +9.969051181102362 + 20 +4.65221653543307 + 30 +0.0 + 10 +9.971744094488189 + 20 +4.644937007874016 + 30 +0.0 + 10 +9.97657874015748 + 20 +4.639909448818898 + 30 +0.0 + 10 +9.97657874015748 + 20 +4.639909448818898 + 30 +0.0 + 10 +9.981409448818898 + 20 +4.634854330708661 + 30 +0.0 + 10 +9.987409448818898 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.994633858267717 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.994633858267717 + 20 +4.632326771653544 + 30 +0.0 + 10 +9.999992125984251 + 20 +4.632326771653544 + 30 +0.0 + 10 +10.00457480314961 + 20 +4.633744094488189 + 30 +0.0 + 10 +10.00838188976378 + 20 +4.63657874015748 + 30 +0.0 + 10 +10.00838188976378 + 20 +4.63657874015748 + 30 +0.0 + 10 +10.01218897637795 + 20 +4.639381889763779 + 30 +0.0 + 10 +10.01518897637795 + 20 +4.643881889763779 + 30 +0.0 + 10 +10.0174094488189 + 20 +4.65007874015748 + 30 +0.0 + 0 +SPLINE + 5 +2AF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.969326771653543 + 20 +4.673771653543307 + 30 +0.0 + 10 +9.969326771653543 + 20 +4.673771653543307 + 30 +0.0 + 10 +10.01757480314961 + 20 +4.673771653543307 + 30 +0.0 + 10 +10.01757480314961 + 20 +4.673771653543307 + 30 +0.0 + 10 +10.01757480314961 + 20 +4.673771653543307 + 30 +0.0 + 10 +10.01693700787402 + 20 +4.68101968503937 + 30 +0.0 + 10 +10.01507480314961 + 20 +4.686492125984252 + 30 +0.0 + 10 +10.01204724409449 + 20 +4.690106299212599 + 30 +0.0 + 10 +10.01204724409449 + 20 +4.690106299212599 + 30 +0.0 + 10 +10.00738188976378 + 20 +4.695744094488189 + 30 +0.0 + 10 +10.00132677165354 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.993909448818897 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.993909448818897 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.987188976377952 + 20 +4.698578740157481 + 30 +0.0 + 10 +9.98151968503937 + 20 +4.696326771653544 + 30 +0.0 + 10 +9.976937007874016 + 20 +4.691826771653544 + 30 +0.0 + 10 +9.976937007874016 + 20 +4.691826771653544 + 30 +0.0 + 10 +9.972354330708662 + 20 +4.687326771653543 + 30 +0.0 + 10 +9.969826771653544 + 20 +4.681299212598425 + 30 +0.0 + 10 +9.969326771653543 + 20 +4.673771653543307 + 30 +0.0 + 0 +SPLINE + 5 +2B0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.05501968503937 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.708661417322834 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.691992125984252 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.691992125984252 + 30 +0.0 + 0 +SPLINE + 5 +2B1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.05501968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.638937007874016 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.0717125984252 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.622244094488189 + 30 +0.0 + 10 +10.05501968503937 + 20 +4.622244094488189 + 30 +0.0 + 0 +SPLINE + 5 +2B2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 72 + 73 + 68 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.031417322834645 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.555354330708662 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.512551181102363 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.512551181102363 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.512551181102363 + 30 +0.0 + 10 +8.052889763779527 + 20 +4.520468503937008 + 30 +0.0 + 10 +8.061527559055119 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.071944881889763 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.071944881889763 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.078334645669292 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.083889763779528 + 20 +4.523161417322835 + 30 +0.0 + 10 +8.088610236220472 + 20 +4.520633858267717 + 30 +0.0 + 10 +8.088610236220472 + 20 +4.520633858267717 + 30 +0.0 + 10 +8.093334645669291 + 20 +4.518133858267716 + 30 +0.0 + 10 +8.096720472440945 + 20 +4.514633858267716 + 30 +0.0 + 10 +8.098751968503937 + 20 +4.510188976377953 + 30 +0.0 + 10 +8.098751968503937 + 20 +4.510188976377953 + 30 +0.0 + 10 +8.100779527559055 + 20 +4.505744094488189 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.499271653543307 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.490826771653543 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.490826771653543 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.490826771653543 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.101807086614173 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.490826771653543 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.490826771653543 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.490826771653543 + 30 +0.0 + 10 +8.087137795275591 + 20 +4.498133858267717 + 30 +0.0 + 10 +8.085555118110236 + 20 +4.503468503937007 + 30 +0.0 + 10 +8.082389763779528 + 20 +4.506799212598425 + 30 +0.0 + 10 +8.082389763779528 + 20 +4.506799212598425 + 30 +0.0 + 10 +8.079220472440944 + 20 +4.510133858267716 + 30 +0.0 + 10 +8.07472440944882 + 20 +4.511826771653543 + 30 +0.0 + 10 +8.068917322834645 + 20 +4.511826771653543 + 30 +0.0 + 10 +8.068917322834645 + 20 +4.511826771653543 + 30 +0.0 + 10 +8.064582677165355 + 20 +4.511826771653543 + 30 +0.0 + 10 +8.0605 + 20 +4.510688976377953 + 30 +0.0 + 10 +8.05666535433071 + 20 +4.508440944881889 + 30 +0.0 + 10 +8.05666535433071 + 20 +4.508440944881889 + 30 +0.0 + 10 +8.052834645669291 + 20 +4.506188976377953 + 30 +0.0 + 10 +8.050110236220473 + 20 +4.503133858267717 + 30 +0.0 + 10 +8.0485 + 20 +4.499271653543307 + 30 +0.0 + 10 +8.0485 + 20 +4.499271653543307 + 30 +0.0 + 10 +8.046862204724409 + 20 +4.49544094488189 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.490106299212599 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.483326771653544 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.483326771653544 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.483326771653544 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.046055118110237 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.031417322834645 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2B3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.156082677165355 + 20 +4.449161417322834 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.449161417322834 + 30 +0.0 + 10 +8.158192913385827 + 20 +4.436216535433071 + 30 +0.0 + 10 +8.158192913385827 + 20 +4.436216535433071 + 30 +0.0 + 10 +8.158192913385827 + 20 +4.436216535433071 + 30 +0.0 + 10 +8.154082677165354 + 20 +4.435358267716535 + 30 +0.0 + 10 +8.150385826771654 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.14713779527559 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.14713779527559 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.141803149606298 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.137692913385827 + 20 +4.435744094488189 + 30 +0.0 + 10 +8.134748031496063 + 20 +4.43744094488189 + 30 +0.0 + 10 +8.134748031496063 + 20 +4.43744094488189 + 30 +0.0 + 10 +8.131830708661417 + 20 +4.439106299212598 + 30 +0.0 + 10 +8.129775590551182 + 20 +4.441330708661417 + 30 +0.0 + 10 +8.128582677165355 + 20 +4.44407874015748 + 30 +0.0 + 10 +8.128582677165355 + 20 +4.44407874015748 + 30 +0.0 + 10 +8.127389763779528 + 20 +4.446799212598425 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.45257874015748 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.461358267716536 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.461358267716536 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.461358267716536 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.116027559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.126775590551182 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.460551181102362 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.460551181102362 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.460551181102362 + 30 +0.0 + 10 +8.141358267716535 + 20 +4.456358267716536 + 30 +0.0 + 10 +8.141610236220473 + 20 +4.453688976377952 + 30 +0.0 + 10 +8.142110236220473 + 20 +4.452496062992126 + 30 +0.0 + 10 +8.142110236220473 + 20 +4.452496062992126 + 30 +0.0 + 10 +8.14263779527559 + 20 +4.451299212598425 + 30 +0.0 + 10 +8.143472440944882 + 20 +4.450358267716536 + 30 +0.0 + 10 +8.14463779527559 + 20 +4.449633858267717 + 30 +0.0 + 10 +8.14463779527559 + 20 +4.449633858267717 + 30 +0.0 + 10 +8.1458031496063 + 20 +4.44894094488189 + 30 +0.0 + 10 +8.147472440944881 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.149637795275591 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.149637795275591 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.151275590551181 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.153417322834645 + 20 +4.448771653543307 + 30 +0.0 + 10 +8.156082677165355 + 20 +4.449161417322834 + 30 +0.0 + 0 +SPLINE + 5 +2B4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.202389763779527 + 20 +4.449161417322834 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.449161417322834 + 30 +0.0 + 10 +8.2045 + 20 +4.436216535433071 + 30 +0.0 + 10 +8.2045 + 20 +4.436216535433071 + 30 +0.0 + 10 +8.2045 + 20 +4.436216535433071 + 30 +0.0 + 10 +8.200389763779528 + 20 +4.435358267716535 + 30 +0.0 + 10 +8.196692913385826 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.193444881889764 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.193444881889764 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.188110236220473 + 20 +4.434913385826771 + 30 +0.0 + 10 +8.184 + 20 +4.435744094488189 + 30 +0.0 + 10 +8.181055118110237 + 20 +4.43744094488189 + 30 +0.0 + 10 +8.181055118110237 + 20 +4.43744094488189 + 30 +0.0 + 10 +8.17813779527559 + 20 +4.439106299212598 + 30 +0.0 + 10 +8.176082677165354 + 20 +4.441330708661417 + 30 +0.0 + 10 +8.174889763779527 + 20 +4.44407874015748 + 30 +0.0 + 10 +8.174889763779527 + 20 +4.44407874015748 + 30 +0.0 + 10 +8.1736968503937 + 20 +4.446799212598425 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.45257874015748 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.461358267716536 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.461358267716536 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.461358267716536 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.162334645669292 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.173082677165354 + 20 +4.54388188976378 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.552661417322835 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.511078740157481 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.460551181102362 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.460551181102362 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.460551181102362 + 30 +0.0 + 10 +8.187665354330708 + 20 +4.456358267716536 + 30 +0.0 + 10 +8.187917322834645 + 20 +4.453688976377952 + 30 +0.0 + 10 +8.188417322834646 + 20 +4.452496062992126 + 30 +0.0 + 10 +8.188417322834646 + 20 +4.452496062992126 + 30 +0.0 + 10 +8.188944881889764 + 20 +4.451299212598425 + 30 +0.0 + 10 +8.189779527559056 + 20 +4.450358267716536 + 30 +0.0 + 10 +8.190944881889763 + 20 +4.449633858267717 + 30 +0.0 + 10 +8.190944881889763 + 20 +4.449633858267717 + 30 +0.0 + 10 +8.192110236220472 + 20 +4.44894094488189 + 30 +0.0 + 10 +8.193779527559055 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.195944881889764 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.195944881889764 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.197582677165354 + 20 +4.448578740157481 + 30 +0.0 + 10 +8.19972440944882 + 20 +4.448771653543307 + 30 +0.0 + 10 +8.202389763779527 + 20 +4.449161417322834 + 30 +0.0 + 0 +SPLINE + 5 +2B5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.216724409448819 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.511244094488189 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.511244094488189 + 30 +0.0 + 10 +8.23005905511811 + 20 +4.511244094488189 + 30 +0.0 + 10 +8.233196850393702 + 20 +4.515633858267717 + 30 +0.0 + 10 +8.236751968503937 + 20 +4.51894094488189 + 30 +0.0 + 10 +8.240724409448818 + 20 +4.521133858267716 + 30 +0.0 + 10 +8.240724409448818 + 20 +4.521133858267716 + 30 +0.0 + 10 +8.244669291338584 + 20 +4.523326771653544 + 30 +0.0 + 10 +8.249472440944881 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.255114173228346 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.255114173228346 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.2625 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.269 + 20 +4.522523622047244 + 30 +0.0 + 10 +8.274641732283465 + 20 +4.518744094488189 + 30 +0.0 + 10 +8.274641732283465 + 20 +4.518744094488189 + 30 +0.0 + 10 +8.280307086614172 + 20 +4.514940944881889 + 30 +0.0 + 10 +8.28455905511811 + 20 +4.509578740157481 + 30 +0.0 + 10 +8.287417322834646 + 20 +4.502661417322835 + 30 +0.0 + 10 +8.287417322834646 + 20 +4.502661417322835 + 30 +0.0 + 10 +8.290307086614174 + 20 +4.495744094488189 + 30 +0.0 + 10 +8.291751968503936 + 20 +4.488161417322835 + 30 +0.0 + 10 +8.291751968503936 + 20 +4.479913385826771 + 30 +0.0 + 10 +8.291751968503936 + 20 +4.479913385826771 + 30 +0.0 + 10 +8.291751968503936 + 20 +4.471078740157481 + 30 +0.0 + 10 +8.290169291338582 + 20 +4.463106299212598 + 30 +0.0 + 10 +8.286972440944881 + 20 +4.456023622047244 + 30 +0.0 + 10 +8.286972440944881 + 20 +4.456023622047244 + 30 +0.0 + 10 +8.283807086614173 + 20 +4.44894094488189 + 30 +0.0 + 10 +8.279196850393701 + 20 +4.443523622047244 + 30 +0.0 + 10 +8.273141732283465 + 20 +4.439744094488189 + 30 +0.0 + 10 +8.273141732283465 + 20 +4.439744094488189 + 30 +0.0 + 10 +8.267086614173229 + 20 +4.435996062992126 + 30 +0.0 + 10 +8.26072440944882 + 20 +4.434106299212599 + 30 +0.0 + 10 +8.25405905511811 + 20 +4.434106299212599 + 30 +0.0 + 10 +8.25405905511811 + 20 +4.434106299212599 + 30 +0.0 + 10 +8.249169291338582 + 20 +4.434106299212599 + 30 +0.0 + 10 +8.244807086614173 + 20 +4.435133858267717 + 30 +0.0 + 10 +8.240917322834646 + 20 +4.437188976377953 + 30 +0.0 + 10 +8.240917322834646 + 20 +4.437188976377953 + 30 +0.0 + 10 +8.237031496062992 + 20 +4.439244094488189 + 30 +0.0 + 10 +8.23386220472441 + 20 +4.441858267716535 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.444996062992126 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.444996062992126 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.444996062992126 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.231362204724409 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.40294094488189 + 30 +0.0 + 10 +8.216724409448819 + 20 +4.40294094488189 + 30 +0.0 + 0 +SPLINE + 5 +2B6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.229972440944882 + 20 +4.478771653543308 + 30 +0.0 + 10 +8.229972440944882 + 20 +4.467661417322835 + 30 +0.0 + 10 +8.232224409448818 + 20 +4.45944094488189 + 30 +0.0 + 10 +8.236724409448819 + 20 +4.454106299212598 + 30 +0.0 + 10 +8.236724409448819 + 20 +4.454106299212598 + 30 +0.0 + 10 +8.241224409448819 + 20 +4.448799212598425 + 30 +0.0 + 10 +8.2466968503937 + 20 +4.446133858267716 + 30 +0.0 + 10 +8.253086614173228 + 20 +4.446133858267716 + 30 +0.0 + 10 +8.253086614173228 + 20 +4.446133858267716 + 30 +0.0 + 10 +8.259586614173228 + 20 +4.446133858267716 + 30 +0.0 + 10 +8.265169291338582 + 20 +4.448885826771654 + 30 +0.0 + 10 +8.269807086614174 + 20 +4.454413385826772 + 30 +0.0 + 10 +8.269807086614174 + 20 +4.454413385826772 + 30 +0.0 + 10 +8.274444881889764 + 20 +4.459913385826772 + 30 +0.0 + 10 +8.276779527559055 + 20 +4.468440944881889 + 30 +0.0 + 10 +8.276779527559055 + 20 +4.479996062992126 + 30 +0.0 + 10 +8.276779527559055 + 20 +4.479996062992126 + 30 +0.0 + 10 +8.276779527559055 + 20 +4.491023622047244 + 30 +0.0 + 10 +8.2745 + 20 +4.499244094488189 + 30 +0.0 + 10 +8.269972440944882 + 20 +4.504744094488189 + 30 +0.0 + 10 +8.269972440944882 + 20 +4.504744094488189 + 30 +0.0 + 10 +8.265444881889763 + 20 +4.510216535433071 + 30 +0.0 + 10 +8.260031496062991 + 20 +4.512968503937008 + 30 +0.0 + 10 +8.253751968503938 + 20 +4.512968503937008 + 30 +0.0 + 10 +8.253751968503938 + 20 +4.512968503937008 + 30 +0.0 + 10 +8.2475 + 20 +4.512968503937008 + 30 +0.0 + 10 +8.241972440944881 + 20 +4.510051181102362 + 30 +0.0 + 10 +8.237169291338583 + 20 +4.504216535433071 + 30 +0.0 + 10 +8.237169291338583 + 20 +4.504216535433071 + 30 +0.0 + 10 +8.23236220472441 + 20 +4.498385826771654 + 30 +0.0 + 10 +8.229972440944882 + 20 +4.489885826771654 + 30 +0.0 + 10 +8.229972440944882 + 20 +4.478771653543308 + 30 +0.0 + 0 +SPLINE + 5 +2B7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.313472440944881 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.505799212598426 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.505799212598426 + 30 +0.0 + 0 +SPLINE + 5 +2B8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.313472440944881 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.330165354330708 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.313472440944881 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2B9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.344724409448819 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.344724409448819 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.379307086614173 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.379307086614173 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.379307086614173 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.379307086614173 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.356531496062992 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.356531496062992 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.356531496062992 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.356531496062992 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.344724409448819 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.344724409448819 + 20 +4.434023622047244 + 30 +0.0 + 0 +SPLINE + 5 +2BA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.391031496062991 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.425614173228347 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.425614173228347 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.425614173228347 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.425614173228347 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.437338582677166 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.437338582677166 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.437338582677166 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.437338582677166 + 20 +4.557381889763779 + 30 +0.0 + 10 +8.402838582677166 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.402838582677166 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.402838582677166 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.402838582677166 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.434023622047244 + 30 +0.0 + 10 +8.391031496062991 + 20 +4.434023622047244 + 30 +0.0 + 0 +SPLINE + 5 +2BB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.464283464566929 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.464283464566929 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.437838582677164 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.437838582677164 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.437838582677164 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.437838582677164 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.452976377952757 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.452976377952757 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.452976377952757 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.452976377952757 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.466728346456692 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.466728346456692 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.466728346456692 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.466728346456692 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.471838582677165 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.471838582677165 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.471838582677165 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.47205905511811 + 20 +4.454968503937008 + 30 +0.0 + 10 +8.47355905511811 + 20 +4.460913385826772 + 30 +0.0 + 10 +8.476311023622047 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.476311023622047 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.476311023622047 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.49005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.49005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.49005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.49005905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.505114173228346 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.505114173228346 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.505114173228346 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.505114173228346 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.51805905511811 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.51805905511811 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.51805905511811 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.51805905511811 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.522393700787402 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.522393700787402 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.522393700787402 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.522393700787402 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.527338582677165 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.527338582677165 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.527338582677165 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.527338582677165 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.542141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.542141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.542141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.542141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.556393700787401 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.556393700787401 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.556393700787401 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.556393700787401 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.529366141732284 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.529366141732284 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.529366141732284 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.529366141732284 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.514173228346456 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.514173228346456 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.514173228346456 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.514173228346456 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.50042125984252 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.50042125984252 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.50042125984252 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.50042125984252 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.497059055118111 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.497059055118111 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.497059055118111 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.497059055118111 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.479586614173229 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.479586614173229 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.479586614173229 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.479586614173229 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.464283464566929 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.464283464566929 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2BC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.584641732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.584641732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.558196850393701 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.558196850393701 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.558196850393701 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.558196850393701 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.573334645669291 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.573334645669291 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.573334645669291 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.573334645669291 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.587086614173229 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.587086614173229 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.587086614173229 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.587086614173229 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.592196850393702 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.592196850393702 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.592196850393702 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.592417322834645 + 20 +4.454968503937008 + 30 +0.0 + 10 +8.593917322834645 + 20 +4.460913385826772 + 30 +0.0 + 10 +8.596669291338582 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.596669291338582 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.596669291338582 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.610417322834646 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.610417322834646 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.610417322834646 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.610417322834646 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.625472440944883 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.625472440944883 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.625472440944883 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.625472440944883 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.638417322834645 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.638417322834645 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.638417322834645 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.638417322834645 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.642751968503937 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.642751968503937 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.642751968503937 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.642751968503937 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.6476968503937 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.6476968503937 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.6476968503937 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.6476968503937 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.6625 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.6625 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.6625 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.6625 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.676751968503938 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.676751968503938 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.676751968503938 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.676751968503938 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.649724409448819 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.649724409448819 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.649724409448819 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.649724409448819 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.634531496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.634531496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.634531496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.634531496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.620779527559055 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.620779527559055 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.620779527559055 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.620779527559055 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.617417322834646 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.617417322834646 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.617417322834646 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.617417322834646 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.599944881889764 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.599944881889764 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.599944881889764 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.599944881889764 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.584641732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.584641732283465 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2BD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.705 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.705 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.678555118110236 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.678555118110236 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.678555118110236 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.678555118110236 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.693692913385826 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.693692913385826 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.693692913385826 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.693692913385826 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.707444881889764 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.707444881889764 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.707444881889764 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.707444881889764 + 20 +4.472578740157481 + 30 +0.0 + 10 +8.712555118110236 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.712555118110236 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.712555118110236 + 20 +4.454023622047244 + 30 +0.0 + 10 +8.712775590551182 + 20 +4.454968503937008 + 30 +0.0 + 10 +8.714275590551182 + 20 +4.460913385826772 + 30 +0.0 + 10 +8.717027559055119 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.717027559055119 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.717027559055119 + 20 +4.471858267716535 + 30 +0.0 + 10 +8.73077559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.73077559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.73077559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.73077559055118 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.745830708661417 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.745830708661417 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.745830708661417 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.745830708661417 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.758775590551181 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.758775590551181 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.758775590551181 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.758775590551181 + 20 +4.472358267716535 + 30 +0.0 + 10 +8.763110236220472 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.763110236220472 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.763110236220472 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.763110236220472 + 20 +4.455830708661417 + 30 +0.0 + 10 +8.768055118110237 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.768055118110237 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.768055118110237 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.768055118110237 + 20 +4.472523622047244 + 30 +0.0 + 10 +8.782858267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.782858267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.782858267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.782858267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.797110236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.797110236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.797110236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.797110236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.770082677165354 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.770082677165354 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.770082677165354 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.770082677165354 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.754889763779527 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.754889763779527 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.754889763779527 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.754889763779527 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.741137795275591 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.741137795275591 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.741137795275591 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.741137795275591 + 20 +4.487799212598425 + 30 +0.0 + 10 +8.73777559055118 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.73777559055118 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.73777559055118 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.73777559055118 + 20 +4.502551181102362 + 30 +0.0 + 10 +8.720303149606298 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.720303149606298 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.720303149606298 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.720303149606298 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.705 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.705 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2BE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.804358267716536 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.452744094488189 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.821055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.804358267716536 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2BF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.846527559055119 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.522468503937008 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.510354330708662 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.510354330708662 + 30 +0.0 + 10 +8.859610236220473 + 20 +4.510354330708662 + 30 +0.0 + 10 +8.862334645669291 + 20 +4.51457874015748 + 30 +0.0 + 10 +8.865944881889764 + 20 +4.517996062992126 + 30 +0.0 + 10 +8.870444881889764 + 20 +4.520551181102363 + 30 +0.0 + 10 +8.870444881889764 + 20 +4.520551181102363 + 30 +0.0 + 10 +8.874944881889764 + 20 +4.523133858267717 + 30 +0.0 + 10 +8.880082677165355 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.885834645669291 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.885834645669291 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.892220472440945 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.897472440944881 + 20 +4.523106299212598 + 30 +0.0 + 10 +8.901555118110236 + 20 +4.52044094488189 + 30 +0.0 + 10 +8.901555118110236 + 20 +4.52044094488189 + 30 +0.0 + 10 +8.905665354330708 + 20 +4.517771653543307 + 30 +0.0 + 10 +8.908555118110236 + 20 +4.514078740157481 + 30 +0.0 + 10 +8.910220472440946 + 20 +4.509299212598425 + 30 +0.0 + 10 +8.910220472440946 + 20 +4.509299212598425 + 30 +0.0 + 10 +8.917082677165354 + 20 +4.519385826771654 + 30 +0.0 + 10 +8.925972440944882 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.936917322834645 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.936917322834645 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.9455 + 20 +4.524440944881889 + 30 +0.0 + 10 +8.952082677165354 + 20 +4.522051181102362 + 30 +0.0 + 10 +8.956692913385826 + 20 +4.517299212598425 + 30 +0.0 + 10 +8.956692913385826 + 20 +4.517299212598425 + 30 +0.0 + 10 +8.9613031496063 + 20 +4.512551181102363 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.505244094488189 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.495385826771654 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.495385826771654 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.495385826771654 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.963610236220472 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.490496062992126 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.490496062992126 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.490496062992126 + 30 +0.0 + 10 +8.949055118110236 + 20 +4.496354330708662 + 30 +0.0 + 10 +8.948582677165355 + 20 +4.50057874015748 + 30 +0.0 + 10 +8.94763779527559 + 20 +4.503161417322834 + 30 +0.0 + 10 +8.94763779527559 + 20 +4.503161417322834 + 30 +0.0 + 10 +8.946665354330708 + 20 +4.505716535433071 + 30 +0.0 + 10 +8.944944881889764 + 20 +4.507799212598425 + 30 +0.0 + 10 +8.942472440944881 + 20 +4.509385826771654 + 30 +0.0 + 10 +8.942472440944881 + 20 +4.509385826771654 + 30 +0.0 + 10 +8.939972440944882 + 20 +4.51094094488189 + 30 +0.0 + 10 +8.937027559055117 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.933665354330708 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.933665354330708 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.927582677165354 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.922555118110235 + 20 +4.509716535433071 + 30 +0.0 + 10 +8.918527559055118 + 20 +4.505661417322835 + 30 +0.0 + 10 +8.918527559055118 + 20 +4.505661417322835 + 30 +0.0 + 10 +8.914527559055118 + 20 +4.501633858267716 + 30 +0.0 + 10 +8.9125 + 20 +4.495161417322834 + 30 +0.0 + 10 +8.9125 + 20 +4.486271653543307 + 30 +0.0 + 10 +8.9125 + 20 +4.486271653543307 + 30 +0.0 + 10 +8.9125 + 20 +4.486271653543307 + 30 +0.0 + 10 +8.9125 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.9125 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.9125 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.9125 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.492188976377952 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.492188976377952 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.492188976377952 + 30 +0.0 + 10 +8.89786220472441 + 20 +4.498716535433071 + 30 +0.0 + 10 +8.89666535433071 + 20 +4.503606299212598 + 30 +0.0 + 10 +8.894275590551182 + 20 +4.506854330708661 + 30 +0.0 + 10 +8.894275590551182 + 20 +4.506854330708661 + 30 +0.0 + 10 +8.891889763779528 + 20 +4.510106299212598 + 30 +0.0 + 10 +8.888 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.882555118110236 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.882555118110236 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.878444881889763 + 20 +4.511744094488189 + 30 +0.0 + 10 +8.874637795275591 + 20 +4.510661417322835 + 30 +0.0 + 10 +8.87113779527559 + 20 +4.508468503937008 + 30 +0.0 + 10 +8.87113779527559 + 20 +4.508468503937008 + 30 +0.0 + 10 +8.867637795275591 + 20 +4.506299212598425 + 30 +0.0 + 10 +8.865082677165354 + 20 +4.503133858267717 + 30 +0.0 + 10 +8.863527559055118 + 20 +4.498968503937008 + 30 +0.0 + 10 +8.863527559055118 + 20 +4.498968503937008 + 30 +0.0 + 10 +8.861944881889764 + 20 +4.494771653543307 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.488744094488189 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.480885826771654 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.480885826771654 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.480885826771654 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.861165354330709 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.436051181102362 + 30 +0.0 + 10 +8.846527559055119 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2C0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.979885826771653 + 20 +4.479271653543307 + 30 +0.0 + 10 +8.979885826771653 + 20 +4.495271653543307 + 30 +0.0 + 10 +8.984330708661417 + 20 +4.507133858267717 + 30 +0.0 + 10 +8.993248031496062 + 20 +4.514826771653543 + 30 +0.0 + 10 +8.993248031496062 + 20 +4.514826771653543 + 30 +0.0 + 10 +9.000665354330708 + 20 +4.521216535433071 + 30 +0.0 + 10 +9.009720472440945 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.0323031496063 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.042023622047244 + 20 +4.520551181102363 + 30 +0.0 + 10 +9.049551181102363 + 20 +4.512744094488189 + 30 +0.0 + 10 +9.049551181102363 + 20 +4.512744094488189 + 30 +0.0 + 10 +9.057106299212599 + 20 +4.504968503937008 + 30 +0.0 + 10 +9.060858267716535 + 20 +4.494216535433071 + 30 +0.0 + 10 +9.060858267716535 + 20 +4.480496062992126 + 30 +0.0 + 10 +9.060858267716535 + 20 +4.480496062992126 + 30 +0.0 + 10 +9.060858267716535 + 20 +4.469358267716536 + 30 +0.0 + 10 +9.059188976377953 + 20 +4.460606299212598 + 30 +0.0 + 10 +9.055858267716536 + 20 +4.454244094488189 + 30 +0.0 + 10 +9.055858267716536 + 20 +4.454244094488189 + 30 +0.0 + 10 +9.052523622047245 + 20 +4.447858267716535 + 30 +0.0 + 10 +9.047661417322834 + 20 +4.442913385826771 + 30 +0.0 + 10 +9.0413031496063 + 20 +4.439385826771653 + 30 +0.0 + 10 +9.0413031496063 + 20 +4.439385826771653 + 30 +0.0 + 10 +9.034913385826771 + 20 +4.435858267716536 + 30 +0.0 + 10 +9.027968503937007 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.008330708661417 + 20 +4.434106299212599 + 30 +0.0 + 10 +8.998551181102362 + 20 +4.437968503937008 + 30 +0.0 + 10 +8.99107874015748 + 20 +4.445744094488189 + 30 +0.0 + 10 +8.99107874015748 + 20 +4.445744094488189 + 30 +0.0 + 10 +8.983606299212598 + 20 +4.453496062992126 + 30 +0.0 + 10 +8.979885826771653 + 20 +4.464661417322835 + 30 +0.0 + 10 +8.979885826771653 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2C1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.99494094488189 + 20 +4.479271653543307 + 30 +0.0 + 10 +8.99494094488189 + 20 +4.468188976377952 + 30 +0.0 + 10 +8.997358267716535 + 20 +4.459913385826772 + 30 +0.0 + 10 +9.002192913385827 + 20 +4.454413385826772 + 30 +0.0 + 10 +9.002192913385827 + 20 +4.454413385826772 + 30 +0.0 + 10 +9.007023622047244 + 20 +4.448885826771654 + 30 +0.0 + 10 +9.013106299212598 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.027692913385827 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.033748031496064 + 20 +4.448913385826772 + 30 +0.0 + 10 +9.03857874015748 + 20 +4.45444094488189 + 30 +0.0 + 10 +9.03857874015748 + 20 +4.45444094488189 + 30 +0.0 + 10 +9.043385826771653 + 20 +4.459968503937008 + 30 +0.0 + 10 +9.0458031496063 + 20 +4.468413385826771 + 30 +0.0 + 10 +9.0458031496063 + 20 +4.479744094488189 + 30 +0.0 + 10 +9.0458031496063 + 20 +4.479744094488189 + 30 +0.0 + 10 +9.0458031496063 + 20 +4.49044094488189 + 30 +0.0 + 10 +9.043385826771653 + 20 +4.498551181102362 + 30 +0.0 + 10 +9.038523622047244 + 20 +4.504051181102362 + 30 +0.0 + 10 +9.038523622047244 + 20 +4.504051181102362 + 30 +0.0 + 10 +9.033661417322834 + 20 +4.509551181102363 + 30 +0.0 + 10 +9.027633858267716 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.020413385826771 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.013106299212598 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.007023622047244 + 20 +4.509551181102363 + 30 +0.0 + 10 +9.002192913385827 + 20 +4.50407874015748 + 30 +0.0 + 10 +9.002192913385827 + 20 +4.50407874015748 + 30 +0.0 + 10 +8.997358267716535 + 20 +4.498606299212598 + 30 +0.0 + 10 +8.99494094488189 + 20 +4.490326771653543 + 30 +0.0 + 10 +8.99494094488189 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2C2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.134688976377953 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.134688976377953 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.134688976377953 + 20 +4.448744094488189 + 30 +0.0 + 10 +9.134688976377953 + 20 +4.448744094488189 + 30 +0.0 + 10 +9.134688976377953 + 20 +4.448744094488189 + 30 +0.0 + 10 +9.127940944881889 + 20 +4.438968503937008 + 30 +0.0 + 10 +9.118799212598425 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.10724409448819 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.10724409448819 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.102161417322835 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.097385826771653 + 20 +4.43507874015748 + 30 +0.0 + 10 +9.092968503937009 + 20 +4.437023622047244 + 30 +0.0 + 10 +9.092968503937009 + 20 +4.437023622047244 + 30 +0.0 + 10 +9.088551181102362 + 20 +4.438968503937008 + 30 +0.0 + 10 +9.085271653543307 + 20 +4.44144094488189 + 30 +0.0 + 10 +9.083133858267717 + 20 +4.444385826771653 + 30 +0.0 + 10 +9.083133858267717 + 20 +4.444385826771653 + 30 +0.0 + 10 +9.080968503937008 + 20 +4.447358267716536 + 30 +0.0 + 10 +9.079468503937008 + 20 +4.450968503937008 + 30 +0.0 + 10 +9.078606299212598 + 20 +4.455244094488189 + 30 +0.0 + 10 +9.078606299212598 + 20 +4.455244094488189 + 30 +0.0 + 10 +9.078023622047244 + 20 +4.458133858267717 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.462688976377953 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.46894094488189 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.46894094488189 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.46894094488189 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.07771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.474551181102362 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.474551181102362 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.474551181102362 + 30 +0.0 + 10 +9.092358267716536 + 20 +4.466885826771653 + 30 +0.0 + 10 +9.092661417322836 + 20 +4.461744094488189 + 30 +0.0 + 10 +9.093244094488188 + 20 +4.45907874015748 + 30 +0.0 + 10 +9.093244094488188 + 20 +4.45907874015748 + 30 +0.0 + 10 +9.094188976377954 + 20 +4.455216535433071 + 30 +0.0 + 10 +9.096133858267716 + 20 +4.452216535433071 + 30 +0.0 + 10 +9.099106299212599 + 20 +4.449996062992126 + 30 +0.0 + 10 +9.099106299212599 + 20 +4.449996062992126 + 30 +0.0 + 10 +9.102106299212599 + 20 +4.447799212598425 + 30 +0.0 + 10 +9.105799212598425 + 20 +4.446716535433071 + 30 +0.0 + 10 +9.110188976377954 + 20 +4.446716535433071 + 30 +0.0 + 10 +9.110188976377954 + 20 +4.446716535433071 + 30 +0.0 + 10 +9.11457874015748 + 20 +4.446716535433071 + 30 +0.0 + 10 +9.118688976377953 + 20 +4.447830708661417 + 30 +0.0 + 10 +9.122551181102363 + 20 +4.450078740157481 + 30 +0.0 + 10 +9.122551181102363 + 20 +4.450078740157481 + 30 +0.0 + 10 +9.12641338582677 + 20 +4.452330708661417 + 30 +0.0 + 10 +9.129133858267716 + 20 +4.455413385826771 + 30 +0.0 + 10 +9.130716535433072 + 20 +4.459271653543307 + 30 +0.0 + 10 +9.130716535433072 + 20 +4.459271653543307 + 30 +0.0 + 10 +9.132326771653544 + 20 +4.463161417322834 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.468799212598425 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.476161417322834 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.476161417322834 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.476161417322834 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.133133858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.147771653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.134688976377953 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.134688976377953 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2C3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.16488188976378 + 20 +4.461858267716535 + 30 +0.0 + 10 +9.16488188976378 + 20 +4.461858267716535 + 30 +0.0 + 10 +9.179354330708662 + 20 +4.464133858267717 + 30 +0.0 + 10 +9.179354330708662 + 20 +4.464133858267717 + 30 +0.0 + 10 +9.179354330708662 + 20 +4.464133858267717 + 30 +0.0 + 10 +9.180161417322834 + 20 +4.458330708661418 + 30 +0.0 + 10 +9.182437007874016 + 20 +4.453885826771653 + 30 +0.0 + 10 +9.186161417322834 + 20 +4.450771653543307 + 30 +0.0 + 10 +9.186161417322834 + 20 +4.450771653543307 + 30 +0.0 + 10 +9.18985433070866 + 20 +4.447688976377953 + 30 +0.0 + 10 +9.195051181102363 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.20174409448819 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.20174409448819 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.208464566929134 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.213464566929133 + 20 +4.447523622047244 + 30 +0.0 + 10 +9.21671653543307 + 20 +4.450244094488189 + 30 +0.0 + 10 +9.21671653543307 + 20 +4.450244094488189 + 30 +0.0 + 10 +9.219964566929134 + 20 +4.452996062992126 + 30 +0.0 + 10 +9.221606299212599 + 20 +4.456216535433071 + 30 +0.0 + 10 +9.221606299212599 + 20 +4.459885826771654 + 30 +0.0 + 10 +9.221606299212599 + 20 +4.459885826771654 + 30 +0.0 + 10 +9.221606299212599 + 20 +4.463216535433071 + 30 +0.0 + 10 +9.220161417322835 + 20 +4.465799212598426 + 30 +0.0 + 10 +9.217271653543307 + 20 +4.467716535433071 + 30 +0.0 + 10 +9.217271653543307 + 20 +4.467716535433071 + 30 +0.0 + 10 +9.215271653543308 + 20 +4.469023622047244 + 30 +0.0 + 10 +9.210271653543307 + 20 +4.470661417322835 + 30 +0.0 + 10 +9.202299212598426 + 20 +4.472661417322835 + 30 +0.0 + 10 +9.202299212598426 + 20 +4.472661417322835 + 30 +0.0 + 10 +9.19157874015748 + 20 +4.475385826771654 + 30 +0.0 + 10 +9.184106299212598 + 20 +4.477716535433071 + 30 +0.0 + 10 +9.179964566929133 + 20 +4.479716535433071 + 30 +0.0 + 10 +9.179964566929133 + 20 +4.479716535433071 + 30 +0.0 + 10 +9.175826771653544 + 20 +4.481688976377953 + 30 +0.0 + 10 +9.172661417322834 + 20 +4.484440944881889 + 30 +0.0 + 10 +9.170523622047243 + 20 +4.48794094488189 + 30 +0.0 + 10 +9.170523622047243 + 20 +4.48794094488189 + 30 +0.0 + 10 +9.16838188976378 + 20 +4.49144094488189 + 30 +0.0 + 10 +9.167299212598426 + 20 +4.495299212598425 + 30 +0.0 + 10 +9.167299212598426 + 20 +4.499523622047244 + 30 +0.0 + 10 +9.167299212598426 + 20 +4.499523622047244 + 30 +0.0 + 10 +9.167299212598426 + 20 +4.503385826771654 + 30 +0.0 + 10 +9.168188976377953 + 20 +4.506940944881889 + 30 +0.0 + 10 +9.169964566929133 + 20 +4.510216535433071 + 30 +0.0 + 10 +9.169964566929133 + 20 +4.510216535433071 + 30 +0.0 + 10 +9.17171653543307 + 20 +4.513523622047244 + 30 +0.0 + 10 +9.174133858267716 + 20 +4.516244094488189 + 30 +0.0 + 10 +9.177161417322834 + 20 +4.518413385826771 + 30 +0.0 + 10 +9.177161417322834 + 20 +4.518413385826771 + 30 +0.0 + 10 +9.179437007874016 + 20 +4.52007874015748 + 30 +0.0 + 10 +9.182551181102362 + 20 +4.521523622047244 + 30 +0.0 + 10 +9.186464566929134 + 20 +4.522688976377953 + 30 +0.0 + 10 +9.186464566929134 + 20 +4.522688976377953 + 30 +0.0 + 10 +9.190409448818897 + 20 +4.523854330708661 + 30 +0.0 + 10 +9.194633858267716 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.199133858267716 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.199133858267716 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.205909448818897 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.211854330708661 + 20 +4.52344094488189 + 30 +0.0 + 10 +9.216992125984252 + 20 +4.521496062992126 + 30 +0.0 + 10 +9.216992125984252 + 20 +4.521496062992126 + 30 +0.0 + 10 +9.222133858267716 + 20 +4.519551181102362 + 30 +0.0 + 10 +9.225909448818898 + 20 +4.516913385826772 + 30 +0.0 + 10 +9.228354330708662 + 20 +4.51357874015748 + 30 +0.0 + 10 +9.228354330708662 + 20 +4.51357874015748 + 30 +0.0 + 10 +9.230799212598425 + 20 +4.510216535433071 + 30 +0.0 + 10 +9.232464566929133 + 20 +4.505771653543307 + 30 +0.0 + 10 +9.233381889763779 + 20 +4.500188976377952 + 30 +0.0 + 10 +9.233381889763779 + 20 +4.500188976377952 + 30 +0.0 + 10 +9.233381889763779 + 20 +4.500188976377952 + 30 +0.0 + 10 +9.21907874015748 + 20 +4.498216535433071 + 30 +0.0 + 10 +9.21907874015748 + 20 +4.498216535433071 + 30 +0.0 + 10 +9.21907874015748 + 20 +4.498216535433071 + 30 +0.0 + 10 +9.218409448818898 + 20 +4.502661417322835 + 30 +0.0 + 10 +9.216519685039371 + 20 +4.506133858267717 + 30 +0.0 + 10 +9.213409448818897 + 20 +4.508633858267716 + 30 +0.0 + 10 +9.213409448818897 + 20 +4.508633858267716 + 30 +0.0 + 10 +9.210299212598425 + 20 +4.511133858267717 + 30 +0.0 + 10 +9.205881889763779 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.200188976377953 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.200188976377953 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.193464566929133 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.188661417322834 + 20 +4.511271653543307 + 30 +0.0 + 10 +9.185799212598425 + 20 +4.509051181102362 + 30 +0.0 + 10 +9.185799212598425 + 20 +4.509051181102362 + 30 +0.0 + 10 +9.182909448818897 + 20 +4.506826771653543 + 30 +0.0 + 10 +9.181464566929133 + 20 +4.504216535433071 + 30 +0.0 + 10 +9.181464566929133 + 20 +4.501244094488189 + 30 +0.0 + 10 +9.181464566929133 + 20 +4.501244094488189 + 30 +0.0 + 10 +9.181464566929133 + 20 +4.499326771653544 + 30 +0.0 + 10 +9.18207874015748 + 20 +4.497633858267717 + 30 +0.0 + 10 +9.183271653543308 + 20 +4.496106299212599 + 30 +0.0 + 10 +9.183271653543308 + 20 +4.496106299212599 + 30 +0.0 + 10 +9.184464566929133 + 20 +4.494523622047244 + 30 +0.0 + 10 +9.186326771653544 + 20 +4.493244094488189 + 30 +0.0 + 10 +9.18888188976378 + 20 +4.492188976377952 + 30 +0.0 + 10 +9.18888188976378 + 20 +4.492188976377952 + 30 +0.0 + 10 +9.190354330708661 + 20 +4.491661417322835 + 30 +0.0 + 10 +9.194661417322834 + 20 +4.490413385826772 + 30 +0.0 + 10 +9.201826771653543 + 20 +4.488468503937008 + 30 +0.0 + 10 +9.201826771653543 + 20 +4.488468503937008 + 30 +0.0 + 10 +9.212188976377952 + 20 +4.485688976377952 + 30 +0.0 + 10 +9.219409448818897 + 20 +4.48344094488189 + 30 +0.0 + 10 +9.223492125984253 + 20 +4.481661417322835 + 30 +0.0 + 10 +9.223492125984253 + 20 +4.481661417322835 + 30 +0.0 + 10 +9.227606299212598 + 20 +4.479913385826771 + 30 +0.0 + 10 +9.230826771653543 + 20 +4.477326771653543 + 30 +0.0 + 10 +9.233161417322835 + 20 +4.473968503937008 + 30 +0.0 + 10 +9.233161417322835 + 20 +4.473968503937008 + 30 +0.0 + 10 +9.235492125984251 + 20 +4.470606299212599 + 30 +0.0 + 10 +9.236661417322834 + 20 +4.46644094488189 + 30 +0.0 + 10 +9.236661417322834 + 20 +4.46144094488189 + 30 +0.0 + 10 +9.236661417322834 + 20 +4.46144094488189 + 30 +0.0 + 10 +9.236661417322834 + 20 +4.456551181102363 + 30 +0.0 + 10 +9.235216535433072 + 20 +4.451968503937008 + 30 +0.0 + 10 +9.23238188976378 + 20 +4.447633858267716 + 30 +0.0 + 10 +9.23238188976378 + 20 +4.447633858267716 + 30 +0.0 + 10 +9.22951968503937 + 20 +4.443330708661417 + 30 +0.0 + 10 +9.225409448818898 + 20 +4.439996062992126 + 30 +0.0 + 10 +9.220047244094488 + 20 +4.437633858267716 + 30 +0.0 + 10 +9.220047244094488 + 20 +4.437633858267716 + 30 +0.0 + 10 +9.214688976377953 + 20 +4.435271653543307 + 30 +0.0 + 10 +9.2086062992126 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.201826771653543 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.201826771653543 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.19057874015748 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.182023622047245 + 20 +4.436440944881889 + 30 +0.0 + 10 +9.176133858267717 + 20 +4.441106299212598 + 30 +0.0 + 10 +9.176133858267717 + 20 +4.441106299212598 + 30 +0.0 + 10 +9.170244094488188 + 20 +4.445771653543307 + 30 +0.0 + 10 +9.166492125984252 + 20 +4.452688976377953 + 30 +0.0 + 10 +9.16488188976378 + 20 +4.461858267716535 + 30 +0.0 + 0 +SPLINE + 5 +2C4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.313216535433071 + 20 +4.463885826771653 + 30 +0.0 + 10 +9.313216535433071 + 20 +4.463885826771653 + 30 +0.0 + 10 +9.328354330708661 + 20 +4.462023622047244 + 30 +0.0 + 10 +9.328354330708661 + 20 +4.462023622047244 + 30 +0.0 + 10 +9.328354330708661 + 20 +4.462023622047244 + 30 +0.0 + 10 +9.325968503937007 + 20 +4.453161417322835 + 30 +0.0 + 10 +9.321551181102363 + 20 +4.446299212598425 + 30 +0.0 + 10 +9.315106299212598 + 20 +4.441413385826771 + 30 +0.0 + 10 +9.315106299212598 + 20 +4.441413385826771 + 30 +0.0 + 10 +9.308633858267717 + 20 +4.436551181102362 + 30 +0.0 + 10 +9.300381889763779 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.290354330708661 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.290354330708661 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.27771653543307 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.267688976377952 + 20 +4.437996062992126 + 30 +0.0 + 10 +9.260299212598426 + 20 +4.445771653543307 + 30 +0.0 + 10 +9.260299212598426 + 20 +4.445771653543307 + 30 +0.0 + 10 +9.252885826771653 + 20 +4.453551181102362 + 30 +0.0 + 10 +9.249188976377953 + 20 +4.464468503937008 + 30 +0.0 + 10 +9.249188976377953 + 20 +4.478523622047244 + 30 +0.0 + 10 +9.249188976377953 + 20 +4.478523622047244 + 30 +0.0 + 10 +9.249188976377953 + 20 +4.49307874015748 + 30 +0.0 + 10 +9.252940944881889 + 20 +4.504354330708662 + 30 +0.0 + 10 +9.260413385826771 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.260413385826771 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.267913385826771 + 20 +4.520413385826772 + 30 +0.0 + 10 +9.277606299212598 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.289551181102363 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.289551181102363 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.301106299212599 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.310551181102362 + 20 +4.520496062992126 + 30 +0.0 + 10 +9.317854330708661 + 20 +4.512633858267717 + 30 +0.0 + 10 +9.317854330708661 + 20 +4.512633858267717 + 30 +0.0 + 10 +9.325188976377953 + 20 +4.504771653543307 + 30 +0.0 + 10 +9.328854330708662 + 20 +4.493688976377952 + 30 +0.0 + 10 +9.328854330708662 + 20 +4.479440944881889 + 30 +0.0 + 10 +9.328854330708662 + 20 +4.479440944881889 + 30 +0.0 + 10 +9.328854330708662 + 20 +4.478551181102362 + 30 +0.0 + 10 +9.328826771653544 + 20 +4.477244094488189 + 30 +0.0 + 10 +9.328771653543306 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.328771653543306 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.328771653543306 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.264326771653543 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.264326771653543 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.264326771653543 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.264858267716535 + 20 +4.466023622047244 + 30 +0.0 + 10 +9.267551181102363 + 20 +4.458744094488189 + 30 +0.0 + 10 +9.272385826771654 + 20 +4.453716535433071 + 30 +0.0 + 10 +9.272385826771654 + 20 +4.453716535433071 + 30 +0.0 + 10 +9.277216535433071 + 20 +4.448661417322834 + 30 +0.0 + 10 +9.283216535433072 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.29044094488189 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.29044094488189 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.295799212598425 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.300381889763779 + 20 +4.447551181102362 + 30 +0.0 + 10 +9.304188976377953 + 20 +4.450385826771654 + 30 +0.0 + 10 +9.304188976377953 + 20 +4.450385826771654 + 30 +0.0 + 10 +9.307996062992126 + 20 +4.453188976377953 + 30 +0.0 + 10 +9.310996062992126 + 20 +4.457688976377953 + 30 +0.0 + 10 +9.313216535433071 + 20 +4.463885826771653 + 30 +0.0 + 0 +SPLINE + 5 +2C5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.265133858267717 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.265133858267717 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.313381889763779 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.313381889763779 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.313381889763779 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.312744094488188 + 20 +4.494826771653543 + 30 +0.0 + 10 +9.31088188976378 + 20 +4.500299212598425 + 30 +0.0 + 10 +9.307854330708661 + 20 +4.503913385826771 + 30 +0.0 + 10 +9.307854330708661 + 20 +4.503913385826771 + 30 +0.0 + 10 +9.303188976377953 + 20 +4.509551181102363 + 30 +0.0 + 10 +9.297133858267717 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.28971653543307 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.28971653543307 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.282996062992126 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.277326771653543 + 20 +4.510133858267716 + 30 +0.0 + 10 +9.27274409448819 + 20 +4.505633858267717 + 30 +0.0 + 10 +9.27274409448819 + 20 +4.505633858267717 + 30 +0.0 + 10 +9.268161417322835 + 20 +4.501133858267717 + 30 +0.0 + 10 +9.265633858267716 + 20 +4.495106299212599 + 30 +0.0 + 10 +9.265133858267717 + 20 +4.48757874015748 + 30 +0.0 + 0 +SPLINE + 5 +2C6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.346606299212599 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.509385826771654 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.509385826771654 + 30 +0.0 + 10 +9.359771653543307 + 20 +4.509385826771654 + 30 +0.0 + 10 +9.363133858267716 + 20 +4.515496062992126 + 30 +0.0 + 10 +9.36624409448819 + 20 +4.519551181102362 + 30 +0.0 + 10 +9.369106299212598 + 20 +4.521496062992126 + 30 +0.0 + 10 +9.369106299212598 + 20 +4.521496062992126 + 30 +0.0 + 10 +9.371937007874015 + 20 +4.52344094488189 + 30 +0.0 + 10 +9.37507874015748 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.378492125984252 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.378492125984252 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.383437007874015 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.388437007874016 + 20 +4.522854330708661 + 30 +0.0 + 10 +9.393547244094488 + 20 +4.519716535433071 + 30 +0.0 + 10 +9.393547244094488 + 20 +4.519716535433071 + 30 +0.0 + 10 +9.393547244094488 + 20 +4.519716535433071 + 30 +0.0 + 10 +9.388492125984252 + 20 +4.506106299212599 + 30 +0.0 + 10 +9.388492125984252 + 20 +4.506106299212599 + 30 +0.0 + 10 +9.388492125984252 + 20 +4.506106299212599 + 30 +0.0 + 10 +9.384937007874015 + 20 +4.508244094488189 + 30 +0.0 + 10 +9.381354330708662 + 20 +4.509299212598425 + 30 +0.0 + 10 +9.377771653543308 + 20 +4.509299212598425 + 30 +0.0 + 10 +9.377771653543308 + 20 +4.509299212598425 + 30 +0.0 + 10 +9.374547244094488 + 20 +4.509299212598425 + 30 +0.0 + 10 +9.371688976377953 + 20 +4.508326771653543 + 30 +0.0 + 10 +9.369133858267716 + 20 +4.506413385826772 + 30 +0.0 + 10 +9.369133858267716 + 20 +4.506413385826772 + 30 +0.0 + 10 +9.36657874015748 + 20 +4.504468503937008 + 30 +0.0 + 10 +9.364771653543308 + 20 +4.501799212598425 + 30 +0.0 + 10 +9.363688976377952 + 20 +4.498385826771654 + 30 +0.0 + 10 +9.363688976377952 + 20 +4.498385826771654 + 30 +0.0 + 10 +9.362051181102363 + 20 +4.493188976377953 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.487496062992126 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.481299212598425 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.481299212598425 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.481299212598425 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.361244094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.346606299212599 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2C7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.39721653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.452744094488189 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.413913385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.39721653543307 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2C8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.495775590551181 + 20 +4.467716535433071 + 30 +0.0 + 10 +9.495775590551181 + 20 +4.467716535433071 + 30 +0.0 + 10 +9.510161417322834 + 20 +4.465826771653544 + 30 +0.0 + 10 +9.510161417322834 + 20 +4.465826771653544 + 30 +0.0 + 10 +9.510161417322834 + 20 +4.465826771653544 + 30 +0.0 + 10 +9.508606299212598 + 20 +4.455913385826771 + 30 +0.0 + 10 +9.50457874015748 + 20 +4.448133858267717 + 30 +0.0 + 10 +9.49807874015748 + 20 +4.442523622047244 + 30 +0.0 + 10 +9.49807874015748 + 20 +4.442523622047244 + 30 +0.0 + 10 +9.491606299212599 + 20 +4.436913385826772 + 30 +0.0 + 10 +9.483633858267716 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.474192913385826 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.474192913385826 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.462385826771653 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.452858267716536 + 20 +4.437968503937008 + 30 +0.0 + 10 +9.445692913385827 + 20 +4.445688976377952 + 30 +0.0 + 10 +9.445692913385827 + 20 +4.445688976377952 + 30 +0.0 + 10 +9.438496062992126 + 20 +4.453413385826772 + 30 +0.0 + 10 +9.434885826771653 + 20 +4.464496062992126 + 30 +0.0 + 10 +9.434885826771653 + 20 +4.47894094488189 + 30 +0.0 + 10 +9.434885826771653 + 20 +4.47894094488189 + 30 +0.0 + 10 +9.434885826771653 + 20 +4.488271653543307 + 30 +0.0 + 10 +9.43644094488189 + 20 +4.49644094488189 + 30 +0.0 + 10 +9.439523622047243 + 20 +4.50344094488189 + 30 +0.0 + 10 +9.439523622047243 + 20 +4.50344094488189 + 30 +0.0 + 10 +9.442633858267717 + 20 +4.51044094488189 + 30 +0.0 + 10 +9.447330708661417 + 20 +4.515688976377953 + 30 +0.0 + 10 +9.453665354330708 + 20 +4.519188976377952 + 30 +0.0 + 10 +9.453665354330708 + 20 +4.519188976377952 + 30 +0.0 + 10 +9.459968503937008 + 20 +4.522688976377953 + 30 +0.0 + 10 +9.466858267716535 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.474275590551182 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.474275590551182 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.483661417322836 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.491358267716535 + 20 +4.522051181102362 + 30 +0.0 + 10 +9.4973031496063 + 20 +4.517299212598425 + 30 +0.0 + 10 +9.4973031496063 + 20 +4.517299212598425 + 30 +0.0 + 10 +9.503275590551182 + 20 +4.512551181102363 + 30 +0.0 + 10 +9.507106299212598 + 20 +4.505826771653544 + 30 +0.0 + 10 +9.5088031496063 + 20 +4.49707874015748 + 30 +0.0 + 10 +9.5088031496063 + 20 +4.49707874015748 + 30 +0.0 + 10 +9.5088031496063 + 20 +4.49707874015748 + 30 +0.0 + 10 +9.494551181102363 + 20 +4.494885826771654 + 30 +0.0 + 10 +9.494551181102363 + 20 +4.494885826771654 + 30 +0.0 + 10 +9.494551181102363 + 20 +4.494885826771654 + 30 +0.0 + 10 +9.493188976377953 + 20 +4.500688976377953 + 30 +0.0 + 10 +9.490803149606299 + 20 +4.505051181102362 + 30 +0.0 + 10 +9.487358267716536 + 20 +4.507996062992126 + 30 +0.0 + 10 +9.487358267716536 + 20 +4.507996062992126 + 30 +0.0 + 10 +9.48391338582677 + 20 +4.510913385826772 + 30 +0.0 + 10 +9.479748031496063 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.474858267716536 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.474858267716536 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.467468503937008 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.461468503937008 + 20 +4.509744094488189 + 30 +0.0 + 10 +9.456858267716536 + 20 +4.50444094488189 + 30 +0.0 + 10 +9.456858267716536 + 20 +4.50444094488189 + 30 +0.0 + 10 +9.452248031496064 + 20 +4.499161417322835 + 30 +0.0 + 10 +9.44994094488189 + 20 +4.490799212598425 + 30 +0.0 + 10 +9.44994094488189 + 20 +4.479358267716536 + 30 +0.0 + 10 +9.44994094488189 + 20 +4.479358267716536 + 30 +0.0 + 10 +9.44994094488189 + 20 +4.467744094488189 + 30 +0.0 + 10 +9.452165354330708 + 20 +4.459299212598425 + 30 +0.0 + 10 +9.456633858267717 + 20 +4.454023622047244 + 30 +0.0 + 10 +9.456633858267717 + 20 +4.454023622047244 + 30 +0.0 + 10 +9.46107874015748 + 20 +4.448771653543307 + 30 +0.0 + 10 +9.466885826771653 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.474051181102363 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.474051181102363 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.4798031496063 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.484578740157481 + 20 +4.447913385826772 + 30 +0.0 + 10 +9.488440944881889 + 20 +4.45144094488189 + 30 +0.0 + 10 +9.488440944881889 + 20 +4.45144094488189 + 30 +0.0 + 10 +9.492303149606299 + 20 +4.454968503937008 + 30 +0.0 + 10 +9.494748031496062 + 20 +4.460385826771653 + 30 +0.0 + 10 +9.495775590551181 + 20 +4.467716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2C9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.517248031496063 + 20 +4.479271653543307 + 30 +0.0 + 10 +9.517248031496063 + 20 +4.495271653543307 + 30 +0.0 + 10 +9.521692913385827 + 20 +4.507133858267717 + 30 +0.0 + 10 +9.530610236220472 + 20 +4.514826771653543 + 30 +0.0 + 10 +9.530610236220472 + 20 +4.514826771653543 + 30 +0.0 + 10 +9.538027559055118 + 20 +4.521216535433071 + 30 +0.0 + 10 +9.547082677165355 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.56966535433071 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.579385826771654 + 20 +4.520551181102363 + 30 +0.0 + 10 +9.586913385826772 + 20 +4.512744094488189 + 30 +0.0 + 10 +9.586913385826772 + 20 +4.512744094488189 + 30 +0.0 + 10 +9.594468503937009 + 20 +4.504968503937008 + 30 +0.0 + 10 +9.598220472440945 + 20 +4.494216535433071 + 30 +0.0 + 10 +9.598220472440945 + 20 +4.480496062992126 + 30 +0.0 + 10 +9.598220472440945 + 20 +4.480496062992126 + 30 +0.0 + 10 +9.598220472440945 + 20 +4.469358267716536 + 30 +0.0 + 10 +9.596551181102361 + 20 +4.460606299212598 + 30 +0.0 + 10 +9.593220472440946 + 20 +4.454244094488189 + 30 +0.0 + 10 +9.593220472440946 + 20 +4.454244094488189 + 30 +0.0 + 10 +9.589885826771653 + 20 +4.447858267716535 + 30 +0.0 + 10 +9.585023622047244 + 20 +4.442913385826771 + 30 +0.0 + 10 +9.578665354330708 + 20 +4.439385826771653 + 30 +0.0 + 10 +9.578665354330708 + 20 +4.439385826771653 + 30 +0.0 + 10 +9.57227559055118 + 20 +4.435858267716536 + 30 +0.0 + 10 +9.565330708661417 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.545692913385826 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.535913385826772 + 20 +4.437968503937008 + 30 +0.0 + 10 +9.52844094488189 + 20 +4.445744094488189 + 30 +0.0 + 10 +9.52844094488189 + 20 +4.445744094488189 + 30 +0.0 + 10 +9.520968503937008 + 20 +4.453496062992126 + 30 +0.0 + 10 +9.517248031496063 + 20 +4.464661417322835 + 30 +0.0 + 10 +9.517248031496063 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2CA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.5323031496063 + 20 +4.479271653543307 + 30 +0.0 + 10 +9.5323031496063 + 20 +4.468188976377952 + 30 +0.0 + 10 +9.534720472440945 + 20 +4.459913385826772 + 30 +0.0 + 10 +9.539555118110236 + 20 +4.454413385826772 + 30 +0.0 + 10 +9.539555118110236 + 20 +4.454413385826772 + 30 +0.0 + 10 +9.544385826771654 + 20 +4.448885826771654 + 30 +0.0 + 10 +9.550468503937008 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.565055118110235 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.571110236220472 + 20 +4.448913385826772 + 30 +0.0 + 10 +9.57594094488189 + 20 +4.45444094488189 + 30 +0.0 + 10 +9.57594094488189 + 20 +4.45444094488189 + 30 +0.0 + 10 +9.580748031496062 + 20 +4.459968503937008 + 30 +0.0 + 10 +9.583165354330708 + 20 +4.468413385826771 + 30 +0.0 + 10 +9.583165354330708 + 20 +4.479744094488189 + 30 +0.0 + 10 +9.583165354330708 + 20 +4.479744094488189 + 30 +0.0 + 10 +9.583165354330708 + 20 +4.49044094488189 + 30 +0.0 + 10 +9.580748031496062 + 20 +4.498551181102362 + 30 +0.0 + 10 +9.575885826771653 + 20 +4.504051181102362 + 30 +0.0 + 10 +9.575885826771653 + 20 +4.504051181102362 + 30 +0.0 + 10 +9.571023622047244 + 20 +4.509551181102363 + 30 +0.0 + 10 +9.564996062992126 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.55777559055118 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.550468503937008 + 20 +4.512299212598426 + 30 +0.0 + 10 +9.544385826771654 + 20 +4.509551181102363 + 30 +0.0 + 10 +9.539555118110236 + 20 +4.50407874015748 + 30 +0.0 + 10 +9.539555118110236 + 20 +4.50407874015748 + 30 +0.0 + 10 +9.534720472440945 + 20 +4.498606299212598 + 30 +0.0 + 10 +9.5323031496063 + 20 +4.490326771653543 + 30 +0.0 + 10 +9.5323031496063 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2CB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.615413385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.510354330708662 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.510354330708662 + 30 +0.0 + 10 +9.628496062992125 + 20 +4.510354330708662 + 30 +0.0 + 10 +9.631220472440944 + 20 +4.51457874015748 + 30 +0.0 + 10 +9.634830708661417 + 20 +4.517996062992126 + 30 +0.0 + 10 +9.639330708661417 + 20 +4.520551181102363 + 30 +0.0 + 10 +9.639330708661417 + 20 +4.520551181102363 + 30 +0.0 + 10 +9.643830708661417 + 20 +4.523133858267717 + 30 +0.0 + 10 +9.648968503937008 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.654720472440944 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.654720472440944 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.661106299212598 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.666358267716536 + 20 +4.523106299212598 + 30 +0.0 + 10 +9.67044094488189 + 20 +4.52044094488189 + 30 +0.0 + 10 +9.67044094488189 + 20 +4.52044094488189 + 30 +0.0 + 10 +9.674551181102363 + 20 +4.517771653543307 + 30 +0.0 + 10 +9.677440944881889 + 20 +4.514078740157481 + 30 +0.0 + 10 +9.679106299212599 + 20 +4.509299212598425 + 30 +0.0 + 10 +9.679106299212599 + 20 +4.509299212598425 + 30 +0.0 + 10 +9.685968503937008 + 20 +4.519385826771654 + 30 +0.0 + 10 +9.694858267716535 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.705803149606298 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.705803149606298 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.714385826771654 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.720968503937009 + 20 +4.522051181102362 + 30 +0.0 + 10 +9.72557874015748 + 20 +4.517299212598425 + 30 +0.0 + 10 +9.72557874015748 + 20 +4.517299212598425 + 30 +0.0 + 10 +9.730188976377953 + 20 +4.512551181102363 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.505244094488189 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.495385826771654 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.495385826771654 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.495385826771654 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.732496062992126 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.490496062992126 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.490496062992126 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.490496062992126 + 30 +0.0 + 10 +9.71794094488189 + 20 +4.496354330708662 + 30 +0.0 + 10 +9.717468503937008 + 20 +4.50057874015748 + 30 +0.0 + 10 +9.716523622047244 + 20 +4.503161417322834 + 30 +0.0 + 10 +9.716523622047244 + 20 +4.503161417322834 + 30 +0.0 + 10 +9.715551181102363 + 20 +4.505716535433071 + 30 +0.0 + 10 +9.713830708661417 + 20 +4.507799212598425 + 30 +0.0 + 10 +9.711358267716536 + 20 +4.509385826771654 + 30 +0.0 + 10 +9.711358267716536 + 20 +4.509385826771654 + 30 +0.0 + 10 +9.708858267716536 + 20 +4.51094094488189 + 30 +0.0 + 10 +9.705913385826772 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.702551181102363 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.702551181102363 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.696468503937007 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.69144094488189 + 20 +4.509716535433071 + 30 +0.0 + 10 +9.68741338582677 + 20 +4.505661417322835 + 30 +0.0 + 10 +9.68741338582677 + 20 +4.505661417322835 + 30 +0.0 + 10 +9.683413385826771 + 20 +4.501633858267716 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.495161417322834 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.486271653543307 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.486271653543307 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.486271653543307 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.681385826771654 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.492188976377952 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.492188976377952 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.492188976377952 + 30 +0.0 + 10 +9.666748031496063 + 20 +4.498716535433071 + 30 +0.0 + 10 +9.665551181102362 + 20 +4.503606299212598 + 30 +0.0 + 10 +9.663161417322835 + 20 +4.506854330708661 + 30 +0.0 + 10 +9.663161417322835 + 20 +4.506854330708661 + 30 +0.0 + 10 +9.66077559055118 + 20 +4.510106299212598 + 30 +0.0 + 10 +9.656885826771653 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.65144094488189 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.65144094488189 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.647330708661418 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.643523622047244 + 20 +4.510661417322835 + 30 +0.0 + 10 +9.640023622047243 + 20 +4.508468503937008 + 30 +0.0 + 10 +9.640023622047243 + 20 +4.508468503937008 + 30 +0.0 + 10 +9.636523622047244 + 20 +4.506299212598425 + 30 +0.0 + 10 +9.633968503937007 + 20 +4.503133858267717 + 30 +0.0 + 10 +9.632413385826771 + 20 +4.498968503937008 + 30 +0.0 + 10 +9.632413385826771 + 20 +4.498968503937008 + 30 +0.0 + 10 +9.630830708661417 + 20 +4.494771653543307 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.488744094488189 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.480885826771654 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.480885826771654 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.480885826771654 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.630051181102361 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.615413385826772 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2CC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.743244094488189 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.743244094488189 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.777826771653544 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.777826771653544 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.777826771653544 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.777826771653544 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.789551181102363 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.789551181102363 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.789551181102363 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.789551181102363 + 20 +4.557381889763779 + 30 +0.0 + 10 +9.755051181102361 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.755051181102361 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.755051181102361 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.755051181102361 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.743244094488189 + 20 +4.434023622047244 + 30 +0.0 + 10 +9.743244094488189 + 20 +4.434023622047244 + 30 +0.0 + 0 +SPLINE + 5 +2CD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.800551181102362 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.510188976377953 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.510188976377953 + 30 +0.0 + 10 +9.813716535433072 + 20 +4.510188976377953 + 30 +0.0 + 10 +9.82007874015748 + 20 +4.519688976377953 + 30 +0.0 + 10 +9.829244094488189 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.841216535433071 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.841216535433071 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.84644094488189 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.851216535433071 + 20 +4.523496062992126 + 30 +0.0 + 10 +9.85557874015748 + 20 +4.521633858267717 + 30 +0.0 + 10 +9.85557874015748 + 20 +4.521633858267717 + 30 +0.0 + 10 +9.859968503937008 + 20 +4.519744094488189 + 30 +0.0 + 10 +9.863216535433072 + 20 +4.517299212598425 + 30 +0.0 + 10 +9.865385826771654 + 20 +4.514244094488189 + 30 +0.0 + 10 +9.865385826771654 + 20 +4.514244094488189 + 30 +0.0 + 10 +9.86757874015748 + 20 +4.51121653543307 + 30 +0.0 + 10 +9.86907874015748 + 20 +4.507606299212599 + 30 +0.0 + 10 +9.869968503937008 + 20 +4.50344094488189 + 30 +0.0 + 10 +9.869968503937008 + 20 +4.50344094488189 + 30 +0.0 + 10 +9.870496062992126 + 20 +4.500716535433071 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.495968503937008 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.489188976377953 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.489188976377953 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.489188976377953 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.870771653543308 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.488633858267717 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.488633858267717 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.488633858267717 + 30 +0.0 + 10 +9.856106299212598 + 20 +4.49457874015748 + 30 +0.0 + 10 +9.855551181102362 + 20 +4.499051181102362 + 30 +0.0 + 10 +9.854413385826772 + 20 +4.502023622047244 + 30 +0.0 + 10 +9.854413385826772 + 20 +4.502023622047244 + 30 +0.0 + 10 +9.853271653543308 + 20 +4.504968503937008 + 30 +0.0 + 10 +9.85124409448819 + 20 +4.507326771653544 + 30 +0.0 + 10 +9.848354330708661 + 20 +4.50907874015748 + 30 +0.0 + 10 +9.848354330708661 + 20 +4.50907874015748 + 30 +0.0 + 10 +9.84544094488189 + 20 +4.510854330708661 + 30 +0.0 + 10 +9.842051181102363 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.838133858267717 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.838133858267717 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.831885826771654 + 20 +4.511744094488189 + 30 +0.0 + 10 +9.826523622047244 + 20 +4.509744094488189 + 30 +0.0 + 10 +9.821968503937008 + 20 +4.505799212598426 + 30 +0.0 + 10 +9.821968503937008 + 20 +4.505799212598426 + 30 +0.0 + 10 +9.81744094488189 + 20 +4.501826771653543 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.494326771653543 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.483244094488189 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.483244094488189 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.483244094488189 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.815188976377954 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.800551181102362 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2CE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.95238188976378 + 20 +4.463885826771653 + 30 +0.0 + 10 +9.95238188976378 + 20 +4.463885826771653 + 30 +0.0 + 10 +9.96751968503937 + 20 +4.462023622047244 + 30 +0.0 + 10 +9.96751968503937 + 20 +4.462023622047244 + 30 +0.0 + 10 +9.96751968503937 + 20 +4.462023622047244 + 30 +0.0 + 10 +9.965133858267716 + 20 +4.453161417322835 + 30 +0.0 + 10 +9.96071653543307 + 20 +4.446299212598425 + 30 +0.0 + 10 +9.954271653543307 + 20 +4.441413385826771 + 30 +0.0 + 10 +9.954271653543307 + 20 +4.441413385826771 + 30 +0.0 + 10 +9.947799212598426 + 20 +4.436551181102362 + 30 +0.0 + 10 +9.939547244094488 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.92951968503937 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.92951968503937 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.91688188976378 + 20 +4.434106299212599 + 30 +0.0 + 10 +9.906854330708661 + 20 +4.437996062992126 + 30 +0.0 + 10 +9.899464566929133 + 20 +4.445771653543307 + 30 +0.0 + 10 +9.899464566929133 + 20 +4.445771653543307 + 30 +0.0 + 10 +9.892051181102362 + 20 +4.453551181102362 + 30 +0.0 + 10 +9.888354330708662 + 20 +4.464468503937008 + 30 +0.0 + 10 +9.888354330708662 + 20 +4.478523622047244 + 30 +0.0 + 10 +9.888354330708662 + 20 +4.478523622047244 + 30 +0.0 + 10 +9.888354330708662 + 20 +4.49307874015748 + 30 +0.0 + 10 +9.892106299212598 + 20 +4.504354330708662 + 30 +0.0 + 10 +9.89957874015748 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.89957874015748 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.90707874015748 + 20 +4.520413385826772 + 30 +0.0 + 10 +9.916771653543307 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.92871653543307 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.92871653543307 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.940271653543308 + 20 +4.524440944881889 + 30 +0.0 + 10 +9.94971653543307 + 20 +4.520496062992126 + 30 +0.0 + 10 +9.95701968503937 + 20 +4.512633858267717 + 30 +0.0 + 10 +9.95701968503937 + 20 +4.512633858267717 + 30 +0.0 + 10 +9.96435433070866 + 20 +4.504771653543307 + 30 +0.0 + 10 +9.96801968503937 + 20 +4.493688976377952 + 30 +0.0 + 10 +9.96801968503937 + 20 +4.479440944881889 + 30 +0.0 + 10 +9.96801968503937 + 20 +4.479440944881889 + 30 +0.0 + 10 +9.96801968503937 + 20 +4.478551181102362 + 30 +0.0 + 10 +9.967992125984251 + 20 +4.477244094488189 + 30 +0.0 + 10 +9.967937007874015 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.967937007874015 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.967937007874015 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.903492125984252 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.903492125984252 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.903492125984252 + 20 +4.475523622047244 + 30 +0.0 + 10 +9.904023622047244 + 20 +4.466023622047244 + 30 +0.0 + 10 +9.906716535433072 + 20 +4.458744094488189 + 30 +0.0 + 10 +9.911551181102363 + 20 +4.453716535433071 + 30 +0.0 + 10 +9.911551181102363 + 20 +4.453716535433071 + 30 +0.0 + 10 +9.91638188976378 + 20 +4.448661417322834 + 30 +0.0 + 10 +9.922381889763779 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.9296062992126 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.9296062992126 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.934964566929134 + 20 +4.446133858267716 + 30 +0.0 + 10 +9.939547244094488 + 20 +4.447551181102362 + 30 +0.0 + 10 +9.943354330708662 + 20 +4.450385826771654 + 30 +0.0 + 10 +9.943354330708662 + 20 +4.450385826771654 + 30 +0.0 + 10 +9.947161417322835 + 20 +4.453188976377953 + 30 +0.0 + 10 +9.950161417322835 + 20 +4.457688976377953 + 30 +0.0 + 10 +9.95238188976378 + 20 +4.463885826771653 + 30 +0.0 + 0 +SPLINE + 5 +2CF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.904299212598426 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.904299212598426 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.952547244094488 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.952547244094488 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.952547244094488 + 20 +4.48757874015748 + 30 +0.0 + 10 +9.951909448818897 + 20 +4.494826771653543 + 30 +0.0 + 10 +9.950047244094488 + 20 +4.500299212598425 + 30 +0.0 + 10 +9.94701968503937 + 20 +4.503913385826771 + 30 +0.0 + 10 +9.94701968503937 + 20 +4.503913385826771 + 30 +0.0 + 10 +9.942354330708662 + 20 +4.509551181102363 + 30 +0.0 + 10 +9.936299212598426 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.92888188976378 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.92888188976378 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.922161417322835 + 20 +4.512385826771654 + 30 +0.0 + 10 +9.916492125984252 + 20 +4.510133858267716 + 30 +0.0 + 10 +9.911909448818898 + 20 +4.505633858267717 + 30 +0.0 + 10 +9.911909448818898 + 20 +4.505633858267717 + 30 +0.0 + 10 +9.907326771653544 + 20 +4.501133858267717 + 30 +0.0 + 10 +9.904799212598425 + 20 +4.495106299212599 + 30 +0.0 + 10 +9.904299212598426 + 20 +4.48757874015748 + 30 +0.0 + 0 +SPLINE + 5 +2D0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.00188188976378 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.00188188976378 + 20 +4.436051181102362 + 30 +0.0 + 10 +9.975437007874016 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.975437007874016 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.975437007874016 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.975437007874016 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.990574803149606 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.990574803149606 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.990574803149606 + 20 +4.522468503937008 + 30 +0.0 + 10 +9.990574803149606 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.00432677165354 + 20 +4.472578740157481 + 30 +0.0 + 10 +10.00432677165354 + 20 +4.472578740157481 + 30 +0.0 + 10 +10.00432677165354 + 20 +4.472578740157481 + 30 +0.0 + 10 +10.00432677165354 + 20 +4.472578740157481 + 30 +0.0 + 10 +10.00943700787402 + 20 +4.454023622047244 + 30 +0.0 + 10 +10.00943700787402 + 20 +4.454023622047244 + 30 +0.0 + 10 +10.00943700787402 + 20 +4.454023622047244 + 30 +0.0 + 10 +10.00965748031496 + 20 +4.454968503937008 + 30 +0.0 + 10 +10.01115748031496 + 20 +4.460913385826772 + 30 +0.0 + 10 +10.0139094488189 + 20 +4.471858267716535 + 30 +0.0 + 10 +10.0139094488189 + 20 +4.471858267716535 + 30 +0.0 + 10 +10.0139094488189 + 20 +4.471858267716535 + 30 +0.0 + 10 +10.02765748031496 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.02765748031496 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.02765748031496 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.02765748031496 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.0427125984252 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.0427125984252 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.0427125984252 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.0427125984252 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.05565748031496 + 20 +4.472358267716535 + 30 +0.0 + 10 +10.05565748031496 + 20 +4.472358267716535 + 30 +0.0 + 10 +10.05565748031496 + 20 +4.472358267716535 + 30 +0.0 + 10 +10.05565748031496 + 20 +4.472358267716535 + 30 +0.0 + 10 +10.05999212598425 + 20 +4.455830708661417 + 30 +0.0 + 10 +10.05999212598425 + 20 +4.455830708661417 + 30 +0.0 + 10 +10.05999212598425 + 20 +4.455830708661417 + 30 +0.0 + 10 +10.05999212598425 + 20 +4.455830708661417 + 30 +0.0 + 10 +10.06493700787402 + 20 +4.472523622047244 + 30 +0.0 + 10 +10.06493700787402 + 20 +4.472523622047244 + 30 +0.0 + 10 +10.06493700787402 + 20 +4.472523622047244 + 30 +0.0 + 10 +10.06493700787402 + 20 +4.472523622047244 + 30 +0.0 + 10 +10.07974015748031 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.07974015748031 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.07974015748031 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.07974015748031 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.09399212598425 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.09399212598425 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.09399212598425 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.09399212598425 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.06696456692913 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.06696456692913 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.06696456692913 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.06696456692913 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.05177165354331 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.05177165354331 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.05177165354331 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.05177165354331 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.03801968503937 + 20 +4.487799212598425 + 30 +0.0 + 10 +10.03801968503937 + 20 +4.487799212598425 + 30 +0.0 + 10 +10.03801968503937 + 20 +4.487799212598425 + 30 +0.0 + 10 +10.03801968503937 + 20 +4.487799212598425 + 30 +0.0 + 10 +10.03465748031496 + 20 +4.502551181102362 + 30 +0.0 + 10 +10.03465748031496 + 20 +4.502551181102362 + 30 +0.0 + 10 +10.03465748031496 + 20 +4.502551181102362 + 30 +0.0 + 10 +10.03465748031496 + 20 +4.502551181102362 + 30 +0.0 + 10 +10.01718503937008 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.01718503937008 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.01718503937008 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.01718503937008 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.00188188976378 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.00188188976378 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2D1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.09529527559055 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.09529527559055 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.1298779527559 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.1298779527559 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.1298779527559 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.1298779527559 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.14160236220472 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.14160236220472 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.14160236220472 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.14160236220472 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.10710236220472 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.10710236220472 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.10710236220472 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.10710236220472 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.09529527559055 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.09529527559055 + 20 +4.434023622047244 + 30 +0.0 + 0 +SPLINE + 5 +2D2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.15260236220472 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.511244094488189 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.511244094488189 + 30 +0.0 + 10 +10.16593700787402 + 20 +4.511244094488189 + 30 +0.0 + 10 +10.16907480314961 + 20 +4.515633858267717 + 30 +0.0 + 10 +10.17262992125984 + 20 +4.51894094488189 + 30 +0.0 + 10 +10.17660236220472 + 20 +4.521133858267716 + 30 +0.0 + 10 +10.17660236220472 + 20 +4.521133858267716 + 30 +0.0 + 10 +10.18054724409449 + 20 +4.523326771653544 + 30 +0.0 + 10 +10.18535039370079 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.19099212598425 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.19099212598425 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.19837795275591 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.20487795275591 + 20 +4.522523622047244 + 30 +0.0 + 10 +10.21051968503937 + 20 +4.518744094488189 + 30 +0.0 + 10 +10.21051968503937 + 20 +4.518744094488189 + 30 +0.0 + 10 +10.21618503937008 + 20 +4.514940944881889 + 30 +0.0 + 10 +10.22043700787402 + 20 +4.509578740157481 + 30 +0.0 + 10 +10.22329527559055 + 20 +4.502661417322835 + 30 +0.0 + 10 +10.22329527559055 + 20 +4.502661417322835 + 30 +0.0 + 10 +10.22618503937008 + 20 +4.495744094488189 + 30 +0.0 + 10 +10.22762992125984 + 20 +4.488161417322835 + 30 +0.0 + 10 +10.22762992125984 + 20 +4.479913385826771 + 30 +0.0 + 10 +10.22762992125984 + 20 +4.479913385826771 + 30 +0.0 + 10 +10.22762992125984 + 20 +4.471078740157481 + 30 +0.0 + 10 +10.22604724409449 + 20 +4.463106299212598 + 30 +0.0 + 10 +10.22285039370079 + 20 +4.456023622047244 + 30 +0.0 + 10 +10.22285039370079 + 20 +4.456023622047244 + 30 +0.0 + 10 +10.21968503937008 + 20 +4.44894094488189 + 30 +0.0 + 10 +10.21507480314961 + 20 +4.443523622047244 + 30 +0.0 + 10 +10.20901968503937 + 20 +4.439744094488189 + 30 +0.0 + 10 +10.20901968503937 + 20 +4.439744094488189 + 30 +0.0 + 10 +10.20296456692913 + 20 +4.435996062992126 + 30 +0.0 + 10 +10.19660236220473 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.18993700787402 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.18993700787402 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.18504724409449 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.18068503937008 + 20 +4.435133858267717 + 30 +0.0 + 10 +10.17679527559055 + 20 +4.437188976377953 + 30 +0.0 + 10 +10.17679527559055 + 20 +4.437188976377953 + 30 +0.0 + 10 +10.1729094488189 + 20 +4.439244094488189 + 30 +0.0 + 10 +10.16974015748031 + 20 +4.441858267716535 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.444996062992126 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.444996062992126 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.444996062992126 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.16724015748031 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.15260236220472 + 20 +4.40294094488189 + 30 +0.0 + 0 +SPLINE + 5 +2D3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.16585039370079 + 20 +4.478771653543308 + 30 +0.0 + 10 +10.16585039370079 + 20 +4.467661417322835 + 30 +0.0 + 10 +10.16810236220472 + 20 +4.45944094488189 + 30 +0.0 + 10 +10.17260236220472 + 20 +4.454106299212598 + 30 +0.0 + 10 +10.17260236220472 + 20 +4.454106299212598 + 30 +0.0 + 10 +10.17710236220472 + 20 +4.448799212598425 + 30 +0.0 + 10 +10.18257480314961 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.18896456692913 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.18896456692913 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.19546456692913 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.20104724409449 + 20 +4.448885826771654 + 30 +0.0 + 10 +10.20568503937008 + 20 +4.454413385826772 + 30 +0.0 + 10 +10.20568503937008 + 20 +4.454413385826772 + 30 +0.0 + 10 +10.21032283464567 + 20 +4.459913385826772 + 30 +0.0 + 10 +10.21265748031496 + 20 +4.468440944881889 + 30 +0.0 + 10 +10.21265748031496 + 20 +4.479996062992126 + 30 +0.0 + 10 +10.21265748031496 + 20 +4.479996062992126 + 30 +0.0 + 10 +10.21265748031496 + 20 +4.491023622047244 + 30 +0.0 + 10 +10.21037795275591 + 20 +4.499244094488189 + 30 +0.0 + 10 +10.20585039370079 + 20 +4.504744094488189 + 30 +0.0 + 10 +10.20585039370079 + 20 +4.504744094488189 + 30 +0.0 + 10 +10.20132283464567 + 20 +4.510216535433071 + 30 +0.0 + 10 +10.1959094488189 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.18962992125984 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.18962992125984 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.18337795275591 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.17785039370079 + 20 +4.510051181102362 + 30 +0.0 + 10 +10.17304724409449 + 20 +4.504216535433071 + 30 +0.0 + 10 +10.17304724409449 + 20 +4.504216535433071 + 30 +0.0 + 10 +10.16824015748032 + 20 +4.498385826771654 + 30 +0.0 + 10 +10.16585039370079 + 20 +4.489885826771654 + 30 +0.0 + 10 +10.16585039370079 + 20 +4.478771653543308 + 30 +0.0 + 0 +SPLINE + 5 +2D4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.30168503937008 + 20 +4.446716535433071 + 30 +0.0 + 10 +10.29624015748031 + 20 +4.442106299212599 + 30 +0.0 + 10 +10.2910157480315 + 20 +4.438858267716536 + 30 +0.0 + 10 +10.2860157480315 + 20 +4.43694094488189 + 30 +0.0 + 10 +10.2860157480315 + 20 +4.43694094488189 + 30 +0.0 + 10 +10.28098818897638 + 20 +4.435051181102362 + 30 +0.0 + 10 +10.27560236220472 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.26985039370079 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.26985039370079 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.26035039370079 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.25307480314961 + 20 +4.436413385826771 + 30 +0.0 + 10 +10.24796062992126 + 20 +4.441051181102362 + 30 +0.0 + 10 +10.24796062992126 + 20 +4.441051181102362 + 30 +0.0 + 10 +10.24287795275591 + 20 +4.445688976377952 + 30 +0.0 + 10 +10.24032283464567 + 20 +4.451633858267717 + 30 +0.0 + 10 +10.24032283464567 + 20 +4.458830708661417 + 30 +0.0 + 10 +10.24032283464567 + 20 +4.458830708661417 + 30 +0.0 + 10 +10.24032283464567 + 20 +4.463078740157481 + 30 +0.0 + 10 +10.24126771653543 + 20 +4.46694094488189 + 30 +0.0 + 10 +10.2432125984252 + 20 +4.47044094488189 + 30 +0.0 + 10 +10.2432125984252 + 20 +4.47044094488189 + 30 +0.0 + 10 +10.24512992125984 + 20 +4.47394094488189 + 30 +0.0 + 10 +10.24765748031496 + 20 +4.476744094488189 + 30 +0.0 + 10 +10.25076771653543 + 20 +4.478858267716536 + 30 +0.0 + 10 +10.25076771653543 + 20 +4.478858267716536 + 30 +0.0 + 10 +10.25390551181102 + 20 +4.480968503937008 + 30 +0.0 + 10 +10.25740551181102 + 20 +4.48257874015748 + 30 +0.0 + 10 +10.26132283464567 + 20 +4.483661417322835 + 30 +0.0 + 10 +10.26132283464567 + 20 +4.483661417322835 + 30 +0.0 + 10 +10.26418503937008 + 20 +4.484413385826771 + 30 +0.0 + 10 +10.2685157480315 + 20 +4.485161417322835 + 30 +0.0 + 10 +10.27432283464567 + 20 +4.485858267716536 + 30 +0.0 + 10 +10.27432283464567 + 20 +4.485858267716536 + 30 +0.0 + 10 +10.28615748031496 + 20 +4.487271653543307 + 30 +0.0 + 10 +10.29487795275591 + 20 +4.48894094488189 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.490913385826771 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.490913385826771 + 30 +0.0 + 10 +10.3005157480315 + 20 +4.492913385826772 + 30 +0.0 + 10 +10.30054330708662 + 20 +4.494188976377953 + 30 +0.0 + 10 +10.30054330708662 + 20 +4.494716535433071 + 30 +0.0 + 10 +10.30054330708662 + 20 +4.494716535433071 + 30 +0.0 + 10 +10.30054330708662 + 20 +4.500688976377953 + 30 +0.0 + 10 +10.29915748031496 + 20 +4.504913385826772 + 30 +0.0 + 10 +10.29637795275591 + 20 +4.507326771653544 + 30 +0.0 + 10 +10.29637795275591 + 20 +4.507326771653544 + 30 +0.0 + 10 +10.29265748031496 + 20 +4.510661417322835 + 30 +0.0 + 10 +10.28707086614173 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.2797125984252 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.2797125984252 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.27282283464567 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.26774015748031 + 20 +4.511106299212599 + 30 +0.0 + 10 +10.26443307086614 + 20 +4.508688976377953 + 30 +0.0 + 10 +10.26443307086614 + 20 +4.508688976377953 + 30 +0.0 + 10 +10.26115748031496 + 20 +4.506271653543307 + 30 +0.0 + 10 +10.25874015748031 + 20 +4.501996062992126 + 30 +0.0 + 10 +10.25715748031496 + 20 +4.495854330708662 + 30 +0.0 + 10 +10.25715748031496 + 20 +4.495854330708662 + 30 +0.0 + 10 +10.25715748031496 + 20 +4.495854330708662 + 30 +0.0 + 10 +10.24285039370079 + 20 +4.497826771653544 + 30 +0.0 + 10 +10.24285039370079 + 20 +4.497826771653544 + 30 +0.0 + 10 +10.24285039370079 + 20 +4.497826771653544 + 30 +0.0 + 10 +10.24415748031496 + 20 +4.50394094488189 + 30 +0.0 + 10 +10.24629527559055 + 20 +4.508913385826772 + 30 +0.0 + 10 +10.24926771653543 + 20 +4.512661417322835 + 30 +0.0 + 10 +10.24926771653543 + 20 +4.512661417322835 + 30 +0.0 + 10 +10.25224015748032 + 20 +4.516440944881889 + 30 +0.0 + 10 +10.25657480314961 + 20 +4.519354330708661 + 30 +0.0 + 10 +10.2622125984252 + 20 +4.52138188976378 + 30 +0.0 + 10 +10.2622125984252 + 20 +4.52138188976378 + 30 +0.0 + 10 +10.26785039370079 + 20 +4.523413385826772 + 30 +0.0 + 10 +10.27437795275591 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.28182283464567 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.28182283464567 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.2892125984252 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.29518503937008 + 20 +4.523551181102362 + 30 +0.0 + 10 +10.29979527559055 + 20 +4.521826771653544 + 30 +0.0 + 10 +10.29979527559055 + 20 +4.521826771653544 + 30 +0.0 + 10 +10.30440551181102 + 20 +4.52007874015748 + 30 +0.0 + 10 +10.30779527559055 + 20 +4.517913385826771 + 30 +0.0 + 10 +10.30998818897638 + 20 +4.515271653543307 + 30 +0.0 + 10 +10.30998818897638 + 20 +4.515271653543307 + 30 +0.0 + 10 +10.31215748031496 + 20 +4.512633858267717 + 30 +0.0 + 10 +10.31365748031496 + 20 +4.509326771653543 + 30 +0.0 + 10 +10.31454330708661 + 20 +4.505299212598425 + 30 +0.0 + 10 +10.31454330708661 + 20 +4.505299212598425 + 30 +0.0 + 10 +10.3150157480315 + 20 +4.502799212598426 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.498299212598425 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.491799212598425 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.491799212598425 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.491799212598425 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.472271653543307 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.472271653543307 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.472271653543307 + 30 +0.0 + 10 +10.31526771653543 + 20 +4.458633858267716 + 30 +0.0 + 10 +10.31557086614173 + 20 +4.450023622047244 + 30 +0.0 + 10 +10.3162125984252 + 20 +4.44644094488189 + 30 +0.0 + 10 +10.3162125984252 + 20 +4.44644094488189 + 30 +0.0 + 10 +10.31682283464567 + 20 +4.442830708661417 + 30 +0.0 + 10 +10.31807086614173 + 20 +4.439358267716536 + 30 +0.0 + 10 +10.31990551181102 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.31990551181102 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.31990551181102 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.30459842519685 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.30459842519685 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.30459842519685 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.30309842519685 + 20 +4.43907874015748 + 30 +0.0 + 10 +10.30209842519685 + 20 +4.442633858267716 + 30 +0.0 + 10 +10.30168503937008 + 20 +4.446716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2D5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.30046062992126 + 20 +4.479440944881889 + 30 +0.0 + 10 +10.29512992125984 + 20 +4.477244094488189 + 30 +0.0 + 10 +10.28715748031496 + 20 +4.475413385826772 + 30 +0.0 + 10 +10.27654330708661 + 20 +4.473885826771654 + 30 +0.0 + 10 +10.27654330708661 + 20 +4.473885826771654 + 30 +0.0 + 10 +10.2705157480315 + 20 +4.473023622047244 + 30 +0.0 + 10 +10.26624015748031 + 20 +4.472051181102362 + 30 +0.0 + 10 +10.26376771653543 + 20 +4.470968503937008 + 30 +0.0 + 10 +10.26376771653543 + 20 +4.470968503937008 + 30 +0.0 + 10 +10.26126771653543 + 20 +4.469885826771653 + 30 +0.0 + 10 +10.25932283464567 + 20 +4.468299212598425 + 30 +0.0 + 10 +10.25798818897638 + 20 +4.466188976377953 + 30 +0.0 + 10 +10.25798818897638 + 20 +4.466188976377953 + 30 +0.0 + 10 +10.25662992125984 + 20 +4.464106299212599 + 30 +0.0 + 10 +10.25593307086614 + 20 +4.461799212598425 + 30 +0.0 + 10 +10.25593307086614 + 20 +4.459244094488189 + 30 +0.0 + 10 +10.25593307086614 + 20 +4.459244094488189 + 30 +0.0 + 10 +10.25593307086614 + 20 +4.455330708661418 + 30 +0.0 + 10 +10.25743307086614 + 20 +4.45207874015748 + 30 +0.0 + 10 +10.26037795275591 + 20 +4.449468503937008 + 30 +0.0 + 10 +10.26037795275591 + 20 +4.449468503937008 + 30 +0.0 + 10 +10.26332283464567 + 20 +4.446885826771654 + 30 +0.0 + 10 +10.26765748031496 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.27335039370079 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.27335039370079 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.27898818897638 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.2840157480315 + 20 +4.446799212598425 + 30 +0.0 + 10 +10.28840551181102 + 20 +4.449271653543307 + 30 +0.0 + 10 +10.28840551181102 + 20 +4.449271653543307 + 30 +0.0 + 10 +10.29279527559055 + 20 +4.451744094488189 + 30 +0.0 + 10 +10.29604330708661 + 20 +4.455133858267716 + 30 +0.0 + 10 +10.29809842519685 + 20 +4.459413385826772 + 30 +0.0 + 10 +10.29809842519685 + 20 +4.459413385826772 + 30 +0.0 + 10 +10.29968503937008 + 20 +4.462716535433071 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.467606299212599 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.474051181102362 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.474051181102362 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.474051181102362 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.479440944881889 + 30 +0.0 + 10 +10.30046062992126 + 20 +4.479440944881889 + 30 +0.0 + 0 +SPLINE + 5 +2D6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.33798818897638 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.510188976377953 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.510188976377953 + 30 +0.0 + 10 +10.35115354330709 + 20 +4.510188976377953 + 30 +0.0 + 10 +10.3575157480315 + 20 +4.519688976377953 + 30 +0.0 + 10 +10.3666811023622 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.37865354330709 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.37865354330709 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.38387795275591 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.38865354330709 + 20 +4.523496062992126 + 30 +0.0 + 10 +10.3930157480315 + 20 +4.521633858267717 + 30 +0.0 + 10 +10.3930157480315 + 20 +4.521633858267717 + 30 +0.0 + 10 +10.39740551181102 + 20 +4.519744094488189 + 30 +0.0 + 10 +10.40065354330709 + 20 +4.517299212598425 + 30 +0.0 + 10 +10.40282283464567 + 20 +4.514244094488189 + 30 +0.0 + 10 +10.40282283464567 + 20 +4.514244094488189 + 30 +0.0 + 10 +10.4050157480315 + 20 +4.51121653543307 + 30 +0.0 + 10 +10.4065157480315 + 20 +4.507606299212599 + 30 +0.0 + 10 +10.40740551181102 + 20 +4.50344094488189 + 30 +0.0 + 10 +10.40740551181102 + 20 +4.50344094488189 + 30 +0.0 + 10 +10.40793307086614 + 20 +4.500716535433071 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.495968503937008 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.489188976377953 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.489188976377953 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.489188976377953 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.40820866141732 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.488633858267717 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.488633858267717 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.488633858267717 + 30 +0.0 + 10 +10.39354330708662 + 20 +4.49457874015748 + 30 +0.0 + 10 +10.39298818897638 + 20 +4.499051181102362 + 30 +0.0 + 10 +10.39185039370079 + 20 +4.502023622047244 + 30 +0.0 + 10 +10.39185039370079 + 20 +4.502023622047244 + 30 +0.0 + 10 +10.39070866141732 + 20 +4.504968503937008 + 30 +0.0 + 10 +10.3886811023622 + 20 +4.507326771653544 + 30 +0.0 + 10 +10.38579133858268 + 20 +4.50907874015748 + 30 +0.0 + 10 +10.38579133858268 + 20 +4.50907874015748 + 30 +0.0 + 10 +10.3828779527559 + 20 +4.510854330708661 + 30 +0.0 + 10 +10.37948818897638 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.37557086614173 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.37557086614173 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.36932283464567 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.36396062992126 + 20 +4.509744094488189 + 30 +0.0 + 10 +10.35940551181102 + 20 +4.505799212598426 + 30 +0.0 + 10 +10.35940551181102 + 20 +4.505799212598426 + 30 +0.0 + 10 +10.35487795275591 + 20 +4.501826771653543 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.494326771653543 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.483244094488189 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.483244094488189 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.483244094488189 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.35262598425197 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.33798818897638 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2D7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.48707086614173 + 20 +4.446716535433071 + 30 +0.0 + 10 +10.48162598425197 + 20 +4.442106299212599 + 30 +0.0 + 10 +10.47640157480315 + 20 +4.438858267716536 + 30 +0.0 + 10 +10.47140157480315 + 20 +4.43694094488189 + 30 +0.0 + 10 +10.47140157480315 + 20 +4.43694094488189 + 30 +0.0 + 10 +10.46637401574803 + 20 +4.435051181102362 + 30 +0.0 + 10 +10.46098818897638 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.45523622047244 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.45523622047244 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.44573622047244 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.43846062992126 + 20 +4.436413385826771 + 30 +0.0 + 10 +10.43334645669291 + 20 +4.441051181102362 + 30 +0.0 + 10 +10.43334645669291 + 20 +4.441051181102362 + 30 +0.0 + 10 +10.42826377952756 + 20 +4.445688976377952 + 30 +0.0 + 10 +10.42570866141732 + 20 +4.451633858267717 + 30 +0.0 + 10 +10.42570866141732 + 20 +4.458830708661417 + 30 +0.0 + 10 +10.42570866141732 + 20 +4.458830708661417 + 30 +0.0 + 10 +10.42570866141732 + 20 +4.463078740157481 + 30 +0.0 + 10 +10.42665354330709 + 20 +4.46694094488189 + 30 +0.0 + 10 +10.42859842519685 + 20 +4.47044094488189 + 30 +0.0 + 10 +10.42859842519685 + 20 +4.47044094488189 + 30 +0.0 + 10 +10.4305157480315 + 20 +4.47394094488189 + 30 +0.0 + 10 +10.43304330708661 + 20 +4.476744094488189 + 30 +0.0 + 10 +10.43615354330709 + 20 +4.478858267716536 + 30 +0.0 + 10 +10.43615354330709 + 20 +4.478858267716536 + 30 +0.0 + 10 +10.43929133858268 + 20 +4.480968503937008 + 30 +0.0 + 10 +10.44279133858268 + 20 +4.48257874015748 + 30 +0.0 + 10 +10.44670866141732 + 20 +4.483661417322835 + 30 +0.0 + 10 +10.44670866141732 + 20 +4.483661417322835 + 30 +0.0 + 10 +10.44957086614173 + 20 +4.484413385826771 + 30 +0.0 + 10 +10.45390157480315 + 20 +4.485161417322835 + 30 +0.0 + 10 +10.45970866141732 + 20 +4.485858267716536 + 30 +0.0 + 10 +10.45970866141732 + 20 +4.485858267716536 + 30 +0.0 + 10 +10.47154330708661 + 20 +4.487271653543307 + 30 +0.0 + 10 +10.48026377952756 + 20 +4.48894094488189 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.490913385826771 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.490913385826771 + 30 +0.0 + 10 +10.48590157480315 + 20 +4.492913385826772 + 30 +0.0 + 10 +10.48592913385827 + 20 +4.494188976377953 + 30 +0.0 + 10 +10.48592913385827 + 20 +4.494716535433071 + 30 +0.0 + 10 +10.48592913385827 + 20 +4.494716535433071 + 30 +0.0 + 10 +10.48592913385827 + 20 +4.500688976377953 + 30 +0.0 + 10 +10.48454330708661 + 20 +4.504913385826772 + 30 +0.0 + 10 +10.48176377952756 + 20 +4.507326771653544 + 30 +0.0 + 10 +10.48176377952756 + 20 +4.507326771653544 + 30 +0.0 + 10 +10.47804330708661 + 20 +4.510661417322835 + 30 +0.0 + 10 +10.47245669291339 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.46509842519685 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.46509842519685 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.45820866141732 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.45312598425197 + 20 +4.511106299212599 + 30 +0.0 + 10 +10.4498188976378 + 20 +4.508688976377953 + 30 +0.0 + 10 +10.4498188976378 + 20 +4.508688976377953 + 30 +0.0 + 10 +10.44654330708661 + 20 +4.506271653543307 + 30 +0.0 + 10 +10.44412598425197 + 20 +4.501996062992126 + 30 +0.0 + 10 +10.44254330708661 + 20 +4.495854330708662 + 30 +0.0 + 10 +10.44254330708661 + 20 +4.495854330708662 + 30 +0.0 + 10 +10.44254330708661 + 20 +4.495854330708662 + 30 +0.0 + 10 +10.42823622047244 + 20 +4.497826771653544 + 30 +0.0 + 10 +10.42823622047244 + 20 +4.497826771653544 + 30 +0.0 + 10 +10.42823622047244 + 20 +4.497826771653544 + 30 +0.0 + 10 +10.42954330708661 + 20 +4.50394094488189 + 30 +0.0 + 10 +10.43168110236221 + 20 +4.508913385826772 + 30 +0.0 + 10 +10.43465354330709 + 20 +4.512661417322835 + 30 +0.0 + 10 +10.43465354330709 + 20 +4.512661417322835 + 30 +0.0 + 10 +10.43762598425197 + 20 +4.516440944881889 + 30 +0.0 + 10 +10.44196062992126 + 20 +4.519354330708661 + 30 +0.0 + 10 +10.44759842519685 + 20 +4.52138188976378 + 30 +0.0 + 10 +10.44759842519685 + 20 +4.52138188976378 + 30 +0.0 + 10 +10.45323622047244 + 20 +4.523413385826772 + 30 +0.0 + 10 +10.45976377952756 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.46720866141732 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.46720866141732 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.47459842519685 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.48057086614173 + 20 +4.523551181102362 + 30 +0.0 + 10 +10.4851811023622 + 20 +4.521826771653544 + 30 +0.0 + 10 +10.4851811023622 + 20 +4.521826771653544 + 30 +0.0 + 10 +10.48979133858268 + 20 +4.52007874015748 + 30 +0.0 + 10 +10.4931811023622 + 20 +4.517913385826771 + 30 +0.0 + 10 +10.49537401574803 + 20 +4.515271653543307 + 30 +0.0 + 10 +10.49537401574803 + 20 +4.515271653543307 + 30 +0.0 + 10 +10.49754330708661 + 20 +4.512633858267717 + 30 +0.0 + 10 +10.49904330708661 + 20 +4.509326771653543 + 30 +0.0 + 10 +10.49992913385827 + 20 +4.505299212598425 + 30 +0.0 + 10 +10.49992913385827 + 20 +4.505299212598425 + 30 +0.0 + 10 +10.50040157480315 + 20 +4.502799212598426 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.498299212598425 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.491799212598425 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.491799212598425 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.491799212598425 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.472271653543307 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.472271653543307 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.472271653543307 + 30 +0.0 + 10 +10.50065354330709 + 20 +4.458633858267716 + 30 +0.0 + 10 +10.50095669291339 + 20 +4.450023622047244 + 30 +0.0 + 10 +10.50159842519685 + 20 +4.44644094488189 + 30 +0.0 + 10 +10.50159842519685 + 20 +4.44644094488189 + 30 +0.0 + 10 +10.50220866141732 + 20 +4.442830708661417 + 30 +0.0 + 10 +10.50345669291339 + 20 +4.439358267716536 + 30 +0.0 + 10 +10.50529133858268 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.50529133858268 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.50529133858268 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.4899842519685 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.4899842519685 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.4899842519685 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.4884842519685 + 20 +4.43907874015748 + 30 +0.0 + 10 +10.4874842519685 + 20 +4.442633858267716 + 30 +0.0 + 10 +10.48707086614173 + 20 +4.446716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2D8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.48584645669291 + 20 +4.479440944881889 + 30 +0.0 + 10 +10.4805157480315 + 20 +4.477244094488189 + 30 +0.0 + 10 +10.47254330708661 + 20 +4.475413385826772 + 30 +0.0 + 10 +10.46192913385827 + 20 +4.473885826771654 + 30 +0.0 + 10 +10.46192913385827 + 20 +4.473885826771654 + 30 +0.0 + 10 +10.45590157480315 + 20 +4.473023622047244 + 30 +0.0 + 10 +10.45162598425197 + 20 +4.472051181102362 + 30 +0.0 + 10 +10.44915354330709 + 20 +4.470968503937008 + 30 +0.0 + 10 +10.44915354330709 + 20 +4.470968503937008 + 30 +0.0 + 10 +10.44665354330709 + 20 +4.469885826771653 + 30 +0.0 + 10 +10.44470866141732 + 20 +4.468299212598425 + 30 +0.0 + 10 +10.44337401574803 + 20 +4.466188976377953 + 30 +0.0 + 10 +10.44337401574803 + 20 +4.466188976377953 + 30 +0.0 + 10 +10.4420157480315 + 20 +4.464106299212599 + 30 +0.0 + 10 +10.4413188976378 + 20 +4.461799212598425 + 30 +0.0 + 10 +10.4413188976378 + 20 +4.459244094488189 + 30 +0.0 + 10 +10.4413188976378 + 20 +4.459244094488189 + 30 +0.0 + 10 +10.4413188976378 + 20 +4.455330708661418 + 30 +0.0 + 10 +10.4428188976378 + 20 +4.45207874015748 + 30 +0.0 + 10 +10.44576377952756 + 20 +4.449468503937008 + 30 +0.0 + 10 +10.44576377952756 + 20 +4.449468503937008 + 30 +0.0 + 10 +10.44870866141732 + 20 +4.446885826771654 + 30 +0.0 + 10 +10.45304330708661 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.45873622047244 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.45873622047244 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.46437401574803 + 20 +4.44557874015748 + 30 +0.0 + 10 +10.46940157480315 + 20 +4.446799212598425 + 30 +0.0 + 10 +10.47379133858268 + 20 +4.449271653543307 + 30 +0.0 + 10 +10.47379133858268 + 20 +4.449271653543307 + 30 +0.0 + 10 +10.47818110236221 + 20 +4.451744094488189 + 30 +0.0 + 10 +10.48142913385827 + 20 +4.455133858267716 + 30 +0.0 + 10 +10.4834842519685 + 20 +4.459413385826772 + 30 +0.0 + 10 +10.4834842519685 + 20 +4.459413385826772 + 30 +0.0 + 10 +10.48507086614173 + 20 +4.462716535433071 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.467606299212599 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.474051181102362 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.474051181102362 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.474051181102362 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.479440944881889 + 30 +0.0 + 10 +10.48584645669291 + 20 +4.479440944881889 + 30 +0.0 + 0 +SPLINE + 5 +2D9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.51751181102362 + 20 +4.461858267716535 + 30 +0.0 + 10 +10.51751181102362 + 20 +4.461858267716535 + 30 +0.0 + 10 +10.5319842519685 + 20 +4.464133858267717 + 30 +0.0 + 10 +10.5319842519685 + 20 +4.464133858267717 + 30 +0.0 + 10 +10.5319842519685 + 20 +4.464133858267717 + 30 +0.0 + 10 +10.53279133858268 + 20 +4.458330708661418 + 30 +0.0 + 10 +10.53506692913386 + 20 +4.453885826771653 + 30 +0.0 + 10 +10.53879133858268 + 20 +4.450771653543307 + 30 +0.0 + 10 +10.53879133858268 + 20 +4.450771653543307 + 30 +0.0 + 10 +10.5424842519685 + 20 +4.447688976377953 + 30 +0.0 + 10 +10.5476811023622 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.55437401574803 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.55437401574803 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.56109448818898 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.56609448818898 + 20 +4.447523622047244 + 30 +0.0 + 10 +10.56934645669291 + 20 +4.450244094488189 + 30 +0.0 + 10 +10.56934645669291 + 20 +4.450244094488189 + 30 +0.0 + 10 +10.57259448818898 + 20 +4.452996062992126 + 30 +0.0 + 10 +10.57423622047244 + 20 +4.456216535433071 + 30 +0.0 + 10 +10.57423622047244 + 20 +4.459885826771654 + 30 +0.0 + 10 +10.57423622047244 + 20 +4.459885826771654 + 30 +0.0 + 10 +10.57423622047244 + 20 +4.463216535433071 + 30 +0.0 + 10 +10.57279133858268 + 20 +4.465799212598426 + 30 +0.0 + 10 +10.56990157480315 + 20 +4.467716535433071 + 30 +0.0 + 10 +10.56990157480315 + 20 +4.467716535433071 + 30 +0.0 + 10 +10.56790157480315 + 20 +4.469023622047244 + 30 +0.0 + 10 +10.56290157480315 + 20 +4.470661417322835 + 30 +0.0 + 10 +10.55492913385827 + 20 +4.472661417322835 + 30 +0.0 + 10 +10.55492913385827 + 20 +4.472661417322835 + 30 +0.0 + 10 +10.54420866141732 + 20 +4.475385826771654 + 30 +0.0 + 10 +10.53673622047244 + 20 +4.477716535433071 + 30 +0.0 + 10 +10.53259448818898 + 20 +4.479716535433071 + 30 +0.0 + 10 +10.53259448818898 + 20 +4.479716535433071 + 30 +0.0 + 10 +10.52845669291339 + 20 +4.481688976377953 + 30 +0.0 + 10 +10.52529133858268 + 20 +4.484440944881889 + 30 +0.0 + 10 +10.52315354330709 + 20 +4.48794094488189 + 30 +0.0 + 10 +10.52315354330709 + 20 +4.48794094488189 + 30 +0.0 + 10 +10.52101181102362 + 20 +4.49144094488189 + 30 +0.0 + 10 +10.51992913385827 + 20 +4.495299212598425 + 30 +0.0 + 10 +10.51992913385827 + 20 +4.499523622047244 + 30 +0.0 + 10 +10.51992913385827 + 20 +4.499523622047244 + 30 +0.0 + 10 +10.51992913385827 + 20 +4.503385826771654 + 30 +0.0 + 10 +10.5208188976378 + 20 +4.506940944881889 + 30 +0.0 + 10 +10.52259448818898 + 20 +4.510216535433071 + 30 +0.0 + 10 +10.52259448818898 + 20 +4.510216535433071 + 30 +0.0 + 10 +10.52434645669291 + 20 +4.513523622047244 + 30 +0.0 + 10 +10.52676377952756 + 20 +4.516244094488189 + 30 +0.0 + 10 +10.52979133858268 + 20 +4.518413385826771 + 30 +0.0 + 10 +10.52979133858268 + 20 +4.518413385826771 + 30 +0.0 + 10 +10.53206692913386 + 20 +4.52007874015748 + 30 +0.0 + 10 +10.53518110236221 + 20 +4.521523622047244 + 30 +0.0 + 10 +10.53909448818898 + 20 +4.522688976377953 + 30 +0.0 + 10 +10.53909448818898 + 20 +4.522688976377953 + 30 +0.0 + 10 +10.54303937007874 + 20 +4.523854330708661 + 30 +0.0 + 10 +10.54726377952756 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.55176377952756 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.55176377952756 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.55853937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.5644842519685 + 20 +4.52344094488189 + 30 +0.0 + 10 +10.56962204724409 + 20 +4.521496062992126 + 30 +0.0 + 10 +10.56962204724409 + 20 +4.521496062992126 + 30 +0.0 + 10 +10.57476377952756 + 20 +4.519551181102362 + 30 +0.0 + 10 +10.57853937007874 + 20 +4.516913385826772 + 30 +0.0 + 10 +10.5809842519685 + 20 +4.51357874015748 + 30 +0.0 + 10 +10.5809842519685 + 20 +4.51357874015748 + 30 +0.0 + 10 +10.58342913385827 + 20 +4.510216535433071 + 30 +0.0 + 10 +10.58509448818898 + 20 +4.505771653543307 + 30 +0.0 + 10 +10.58601181102362 + 20 +4.500188976377952 + 30 +0.0 + 10 +10.58601181102362 + 20 +4.500188976377952 + 30 +0.0 + 10 +10.58601181102362 + 20 +4.500188976377952 + 30 +0.0 + 10 +10.57170866141732 + 20 +4.498216535433071 + 30 +0.0 + 10 +10.57170866141732 + 20 +4.498216535433071 + 30 +0.0 + 10 +10.57170866141732 + 20 +4.498216535433071 + 30 +0.0 + 10 +10.57103937007874 + 20 +4.502661417322835 + 30 +0.0 + 10 +10.56914960629921 + 20 +4.506133858267717 + 30 +0.0 + 10 +10.56603937007874 + 20 +4.508633858267716 + 30 +0.0 + 10 +10.56603937007874 + 20 +4.508633858267716 + 30 +0.0 + 10 +10.56292913385827 + 20 +4.511133858267717 + 30 +0.0 + 10 +10.55851181102362 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.5528188976378 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.5528188976378 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.54609448818898 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.54129133858268 + 20 +4.511271653543307 + 30 +0.0 + 10 +10.53842913385827 + 20 +4.509051181102362 + 30 +0.0 + 10 +10.53842913385827 + 20 +4.509051181102362 + 30 +0.0 + 10 +10.53553937007874 + 20 +4.506826771653543 + 30 +0.0 + 10 +10.53409448818898 + 20 +4.504216535433071 + 30 +0.0 + 10 +10.53409448818898 + 20 +4.501244094488189 + 30 +0.0 + 10 +10.53409448818898 + 20 +4.501244094488189 + 30 +0.0 + 10 +10.53409448818898 + 20 +4.499326771653544 + 30 +0.0 + 10 +10.53470866141732 + 20 +4.497633858267717 + 30 +0.0 + 10 +10.53590157480315 + 20 +4.496106299212599 + 30 +0.0 + 10 +10.53590157480315 + 20 +4.496106299212599 + 30 +0.0 + 10 +10.53709448818898 + 20 +4.494523622047244 + 30 +0.0 + 10 +10.53895669291339 + 20 +4.493244094488189 + 30 +0.0 + 10 +10.54151181102362 + 20 +4.492188976377952 + 30 +0.0 + 10 +10.54151181102362 + 20 +4.492188976377952 + 30 +0.0 + 10 +10.5429842519685 + 20 +4.491661417322835 + 30 +0.0 + 10 +10.54729133858268 + 20 +4.490413385826772 + 30 +0.0 + 10 +10.55445669291339 + 20 +4.488468503937008 + 30 +0.0 + 10 +10.55445669291339 + 20 +4.488468503937008 + 30 +0.0 + 10 +10.5648188976378 + 20 +4.485688976377952 + 30 +0.0 + 10 +10.57203937007874 + 20 +4.48344094488189 + 30 +0.0 + 10 +10.57612204724409 + 20 +4.481661417322835 + 30 +0.0 + 10 +10.57612204724409 + 20 +4.481661417322835 + 30 +0.0 + 10 +10.58023622047244 + 20 +4.479913385826771 + 30 +0.0 + 10 +10.58345669291339 + 20 +4.477326771653543 + 30 +0.0 + 10 +10.58579133858268 + 20 +4.473968503937008 + 30 +0.0 + 10 +10.58579133858268 + 20 +4.473968503937008 + 30 +0.0 + 10 +10.5881220472441 + 20 +4.470606299212599 + 30 +0.0 + 10 +10.58929133858268 + 20 +4.46644094488189 + 30 +0.0 + 10 +10.58929133858268 + 20 +4.46144094488189 + 30 +0.0 + 10 +10.58929133858268 + 20 +4.46144094488189 + 30 +0.0 + 10 +10.58929133858268 + 20 +4.456551181102363 + 30 +0.0 + 10 +10.58784645669291 + 20 +4.451968503937008 + 30 +0.0 + 10 +10.58501181102362 + 20 +4.447633858267716 + 30 +0.0 + 10 +10.58501181102362 + 20 +4.447633858267716 + 30 +0.0 + 10 +10.58214960629921 + 20 +4.443330708661417 + 30 +0.0 + 10 +10.57803937007874 + 20 +4.439996062992126 + 30 +0.0 + 10 +10.57267716535433 + 20 +4.437633858267716 + 30 +0.0 + 10 +10.57267716535433 + 20 +4.437633858267716 + 30 +0.0 + 10 +10.5673188976378 + 20 +4.435271653543307 + 30 +0.0 + 10 +10.56123622047244 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.55445669291339 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.55445669291339 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.54320866141732 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.53465354330709 + 20 +4.436440944881889 + 30 +0.0 + 10 +10.52876377952756 + 20 +4.441106299212598 + 30 +0.0 + 10 +10.52876377952756 + 20 +4.441106299212598 + 30 +0.0 + 10 +10.52287401574803 + 20 +4.445771653543307 + 30 +0.0 + 10 +10.51912204724409 + 20 +4.452688976377953 + 30 +0.0 + 10 +10.51751181102362 + 20 +4.461858267716535 + 30 +0.0 + 0 +SPLINE + 5 +2DA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.60123622047244 + 20 +4.479271653543307 + 30 +0.0 + 10 +10.60123622047244 + 20 +4.495271653543307 + 30 +0.0 + 10 +10.6056811023622 + 20 +4.507133858267717 + 30 +0.0 + 10 +10.61459842519685 + 20 +4.514826771653543 + 30 +0.0 + 10 +10.61459842519685 + 20 +4.514826771653543 + 30 +0.0 + 10 +10.6220157480315 + 20 +4.521216535433071 + 30 +0.0 + 10 +10.63107086614173 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.65365354330709 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.66337401574803 + 20 +4.520551181102363 + 30 +0.0 + 10 +10.67090157480315 + 20 +4.512744094488189 + 30 +0.0 + 10 +10.67090157480315 + 20 +4.512744094488189 + 30 +0.0 + 10 +10.67845669291339 + 20 +4.504968503937008 + 30 +0.0 + 10 +10.68220866141732 + 20 +4.494216535433071 + 30 +0.0 + 10 +10.68220866141732 + 20 +4.480496062992126 + 30 +0.0 + 10 +10.68220866141732 + 20 +4.480496062992126 + 30 +0.0 + 10 +10.68220866141732 + 20 +4.469358267716536 + 30 +0.0 + 10 +10.68053937007874 + 20 +4.460606299212598 + 30 +0.0 + 10 +10.67720866141732 + 20 +4.454244094488189 + 30 +0.0 + 10 +10.67720866141732 + 20 +4.454244094488189 + 30 +0.0 + 10 +10.67387401574803 + 20 +4.447858267716535 + 30 +0.0 + 10 +10.66901181102362 + 20 +4.442913385826771 + 30 +0.0 + 10 +10.66265354330709 + 20 +4.439385826771653 + 30 +0.0 + 10 +10.66265354330709 + 20 +4.439385826771653 + 30 +0.0 + 10 +10.65626377952756 + 20 +4.435858267716536 + 30 +0.0 + 10 +10.6493188976378 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.62968110236221 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.61990157480315 + 20 +4.437968503937008 + 30 +0.0 + 10 +10.61242913385827 + 20 +4.445744094488189 + 30 +0.0 + 10 +10.61242913385827 + 20 +4.445744094488189 + 30 +0.0 + 10 +10.60495669291338 + 20 +4.453496062992126 + 30 +0.0 + 10 +10.60123622047244 + 20 +4.464661417322835 + 30 +0.0 + 10 +10.60123622047244 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2DB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.61629133858268 + 20 +4.479271653543307 + 30 +0.0 + 10 +10.61629133858268 + 20 +4.468188976377952 + 30 +0.0 + 10 +10.61870866141732 + 20 +4.459913385826772 + 30 +0.0 + 10 +10.62354330708661 + 20 +4.454413385826772 + 30 +0.0 + 10 +10.62354330708661 + 20 +4.454413385826772 + 30 +0.0 + 10 +10.62837401574803 + 20 +4.448885826771654 + 30 +0.0 + 10 +10.63445669291339 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.64904330708661 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.65509842519685 + 20 +4.448913385826772 + 30 +0.0 + 10 +10.65992913385827 + 20 +4.45444094488189 + 30 +0.0 + 10 +10.65992913385827 + 20 +4.45444094488189 + 30 +0.0 + 10 +10.66473622047244 + 20 +4.459968503937008 + 30 +0.0 + 10 +10.66715354330709 + 20 +4.468413385826771 + 30 +0.0 + 10 +10.66715354330709 + 20 +4.479744094488189 + 30 +0.0 + 10 +10.66715354330709 + 20 +4.479744094488189 + 30 +0.0 + 10 +10.66715354330709 + 20 +4.49044094488189 + 30 +0.0 + 10 +10.66473622047244 + 20 +4.498551181102362 + 30 +0.0 + 10 +10.65987401574803 + 20 +4.504051181102362 + 30 +0.0 + 10 +10.65987401574803 + 20 +4.504051181102362 + 30 +0.0 + 10 +10.65501181102362 + 20 +4.509551181102363 + 30 +0.0 + 10 +10.6489842519685 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.64176377952756 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.63445669291339 + 20 +4.512299212598426 + 30 +0.0 + 10 +10.62837401574803 + 20 +4.509551181102363 + 30 +0.0 + 10 +10.62354330708661 + 20 +4.50407874015748 + 30 +0.0 + 10 +10.62354330708661 + 20 +4.50407874015748 + 30 +0.0 + 10 +10.61870866141732 + 20 +4.498606299212598 + 30 +0.0 + 10 +10.61629133858268 + 20 +4.490326771653543 + 30 +0.0 + 10 +10.61629133858268 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2DC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.69940157480315 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.510188976377953 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.510188976377953 + 30 +0.0 + 10 +10.71256692913386 + 20 +4.510188976377953 + 30 +0.0 + 10 +10.71892913385827 + 20 +4.519688976377953 + 30 +0.0 + 10 +10.72809448818898 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.74006692913386 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.74006692913386 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.74529133858268 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.75006692913386 + 20 +4.523496062992126 + 30 +0.0 + 10 +10.75442913385827 + 20 +4.521633858267717 + 30 +0.0 + 10 +10.75442913385827 + 20 +4.521633858267717 + 30 +0.0 + 10 +10.75881889763779 + 20 +4.519744094488189 + 30 +0.0 + 10 +10.76206692913386 + 20 +4.517299212598425 + 30 +0.0 + 10 +10.76423622047244 + 20 +4.514244094488189 + 30 +0.0 + 10 +10.76423622047244 + 20 +4.514244094488189 + 30 +0.0 + 10 +10.76642913385827 + 20 +4.51121653543307 + 30 +0.0 + 10 +10.76792913385827 + 20 +4.507606299212599 + 30 +0.0 + 10 +10.76881889763779 + 20 +4.50344094488189 + 30 +0.0 + 10 +10.76881889763779 + 20 +4.50344094488189 + 30 +0.0 + 10 +10.76934645669291 + 20 +4.500716535433071 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.495968503937008 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.489188976377953 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.489188976377953 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.489188976377953 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.76962204724409 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.488633858267717 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.488633858267717 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.488633858267717 + 30 +0.0 + 10 +10.75495669291339 + 20 +4.49457874015748 + 30 +0.0 + 10 +10.75440157480315 + 20 +4.499051181102362 + 30 +0.0 + 10 +10.75326377952756 + 20 +4.502023622047244 + 30 +0.0 + 10 +10.75326377952756 + 20 +4.502023622047244 + 30 +0.0 + 10 +10.75212204724409 + 20 +4.504968503937008 + 30 +0.0 + 10 +10.75009448818898 + 20 +4.507326771653544 + 30 +0.0 + 10 +10.74720472440945 + 20 +4.50907874015748 + 30 +0.0 + 10 +10.74720472440945 + 20 +4.50907874015748 + 30 +0.0 + 10 +10.74429133858268 + 20 +4.510854330708661 + 30 +0.0 + 10 +10.74090157480315 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.7369842519685 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.7369842519685 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.73073622047244 + 20 +4.511744094488189 + 30 +0.0 + 10 +10.72537401574803 + 20 +4.509744094488189 + 30 +0.0 + 10 +10.72081889763779 + 20 +4.505799212598426 + 30 +0.0 + 10 +10.72081889763779 + 20 +4.505799212598426 + 30 +0.0 + 10 +10.71629133858268 + 20 +4.501826771653543 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.494326771653543 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.483244094488189 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.483244094488189 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.483244094488189 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.71403937007874 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.69940157480315 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2DD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.79214960629921 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.555354330708662 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.538496062992126 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.538496062992126 + 30 +0.0 + 0 +SPLINE + 5 +2DE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.79214960629921 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.80681496062992 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.436051181102362 + 30 +0.0 + 10 +10.79214960629921 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2DF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.88551181102362 + 20 +4.467716535433071 + 30 +0.0 + 10 +10.88551181102362 + 20 +4.467716535433071 + 30 +0.0 + 10 +10.89989763779528 + 20 +4.465826771653544 + 30 +0.0 + 10 +10.89989763779528 + 20 +4.465826771653544 + 30 +0.0 + 10 +10.89989763779528 + 20 +4.465826771653544 + 30 +0.0 + 10 +10.89834251968504 + 20 +4.455913385826771 + 30 +0.0 + 10 +10.89431496062992 + 20 +4.448133858267717 + 30 +0.0 + 10 +10.88781496062992 + 20 +4.442523622047244 + 30 +0.0 + 10 +10.88781496062992 + 20 +4.442523622047244 + 30 +0.0 + 10 +10.88134251968504 + 20 +4.436913385826772 + 30 +0.0 + 10 +10.87337007874016 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.86392913385827 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.86392913385827 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.85212204724409 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.84259448818898 + 20 +4.437968503937008 + 30 +0.0 + 10 +10.83542913385827 + 20 +4.445688976377952 + 30 +0.0 + 10 +10.83542913385827 + 20 +4.445688976377952 + 30 +0.0 + 10 +10.82823228346457 + 20 +4.453413385826772 + 30 +0.0 + 10 +10.82462204724409 + 20 +4.464496062992126 + 30 +0.0 + 10 +10.82462204724409 + 20 +4.47894094488189 + 30 +0.0 + 10 +10.82462204724409 + 20 +4.47894094488189 + 30 +0.0 + 10 +10.82462204724409 + 20 +4.488271653543307 + 30 +0.0 + 10 +10.82617716535433 + 20 +4.49644094488189 + 30 +0.0 + 10 +10.82925984251968 + 20 +4.50344094488189 + 30 +0.0 + 10 +10.82925984251968 + 20 +4.50344094488189 + 30 +0.0 + 10 +10.83237007874016 + 20 +4.51044094488189 + 30 +0.0 + 10 +10.83706692913386 + 20 +4.515688976377953 + 30 +0.0 + 10 +10.84340157480315 + 20 +4.519188976377952 + 30 +0.0 + 10 +10.84340157480315 + 20 +4.519188976377952 + 30 +0.0 + 10 +10.84970472440945 + 20 +4.522688976377953 + 30 +0.0 + 10 +10.85659448818898 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.86401181102362 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.86401181102362 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.87339763779528 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.88109448818898 + 20 +4.522051181102362 + 30 +0.0 + 10 +10.88703937007874 + 20 +4.517299212598425 + 30 +0.0 + 10 +10.88703937007874 + 20 +4.517299212598425 + 30 +0.0 + 10 +10.89301181102362 + 20 +4.512551181102363 + 30 +0.0 + 10 +10.89684251968504 + 20 +4.505826771653544 + 30 +0.0 + 10 +10.89853937007874 + 20 +4.49707874015748 + 30 +0.0 + 10 +10.89853937007874 + 20 +4.49707874015748 + 30 +0.0 + 10 +10.89853937007874 + 20 +4.49707874015748 + 30 +0.0 + 10 +10.8842874015748 + 20 +4.494885826771654 + 30 +0.0 + 10 +10.8842874015748 + 20 +4.494885826771654 + 30 +0.0 + 10 +10.8842874015748 + 20 +4.494885826771654 + 30 +0.0 + 10 +10.88292519685039 + 20 +4.500688976377953 + 30 +0.0 + 10 +10.88053937007874 + 20 +4.505051181102362 + 30 +0.0 + 10 +10.87709448818898 + 20 +4.507996062992126 + 30 +0.0 + 10 +10.87709448818898 + 20 +4.507996062992126 + 30 +0.0 + 10 +10.87364960629921 + 20 +4.510913385826772 + 30 +0.0 + 10 +10.8694842519685 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.86459448818898 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.86459448818898 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.85720472440945 + 20 +4.512385826771654 + 30 +0.0 + 10 +10.85120472440945 + 20 +4.509744094488189 + 30 +0.0 + 10 +10.84659448818898 + 20 +4.50444094488189 + 30 +0.0 + 10 +10.84659448818898 + 20 +4.50444094488189 + 30 +0.0 + 10 +10.8419842519685 + 20 +4.499161417322835 + 30 +0.0 + 10 +10.83967716535433 + 20 +4.490799212598425 + 30 +0.0 + 10 +10.83967716535433 + 20 +4.479358267716536 + 30 +0.0 + 10 +10.83967716535433 + 20 +4.479358267716536 + 30 +0.0 + 10 +10.83967716535433 + 20 +4.467744094488189 + 30 +0.0 + 10 +10.84190157480315 + 20 +4.459299212598425 + 30 +0.0 + 10 +10.84637007874016 + 20 +4.454023622047244 + 30 +0.0 + 10 +10.84637007874016 + 20 +4.454023622047244 + 30 +0.0 + 10 +10.85081496062992 + 20 +4.448771653543307 + 30 +0.0 + 10 +10.85662204724409 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.8637874015748 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.8637874015748 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.86953937007874 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.87431496062992 + 20 +4.447913385826772 + 30 +0.0 + 10 +10.87817716535433 + 20 +4.45144094488189 + 30 +0.0 + 10 +10.87817716535433 + 20 +4.45144094488189 + 30 +0.0 + 10 +10.88203937007874 + 20 +4.454968503937008 + 30 +0.0 + 10 +10.8844842519685 + 20 +4.460385826771653 + 30 +0.0 + 10 +10.88551181102362 + 20 +4.467716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2E0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.90145669291339 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.90145669291339 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.93603937007874 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.93603937007874 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.93603937007874 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.93603937007874 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.94776377952756 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.94776377952756 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.94776377952756 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.94776377952756 + 20 +4.557381889763779 + 30 +0.0 + 10 +10.91326377952756 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.91326377952756 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.91326377952756 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.91326377952756 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.90145669291339 + 20 +4.434023622047244 + 30 +0.0 + 10 +10.90145669291339 + 20 +4.434023622047244 + 30 +0.0 + 0 +SPLINE + 5 +2E1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.95876377952756 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.522468503937008 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.511244094488189 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.511244094488189 + 30 +0.0 + 10 +10.97209842519685 + 20 +4.511244094488189 + 30 +0.0 + 10 +10.97523622047244 + 20 +4.515633858267717 + 30 +0.0 + 10 +10.97879133858268 + 20 +4.51894094488189 + 30 +0.0 + 10 +10.98276377952756 + 20 +4.521133858267716 + 30 +0.0 + 10 +10.98276377952756 + 20 +4.521133858267716 + 30 +0.0 + 10 +10.98670866141732 + 20 +4.523326771653544 + 30 +0.0 + 10 +10.99151181102362 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.99715354330709 + 20 +4.524440944881889 + 30 +0.0 + 10 +10.99715354330709 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.00453937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.01103937007874 + 20 +4.522523622047244 + 30 +0.0 + 10 +11.0166811023622 + 20 +4.518744094488189 + 30 +0.0 + 10 +11.0166811023622 + 20 +4.518744094488189 + 30 +0.0 + 10 +11.02234645669291 + 20 +4.514940944881889 + 30 +0.0 + 10 +11.02659842519685 + 20 +4.509578740157481 + 30 +0.0 + 10 +11.02945669291339 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.02945669291339 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.03234645669291 + 20 +4.495744094488189 + 30 +0.0 + 10 +11.03379133858268 + 20 +4.488161417322835 + 30 +0.0 + 10 +11.03379133858268 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.03379133858268 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.03379133858268 + 20 +4.471078740157481 + 30 +0.0 + 10 +11.03220866141732 + 20 +4.463106299212598 + 30 +0.0 + 10 +11.02901181102362 + 20 +4.456023622047244 + 30 +0.0 + 10 +11.02901181102362 + 20 +4.456023622047244 + 30 +0.0 + 10 +11.02584645669291 + 20 +4.44894094488189 + 30 +0.0 + 10 +11.02123622047244 + 20 +4.443523622047244 + 30 +0.0 + 10 +11.0151811023622 + 20 +4.439744094488189 + 30 +0.0 + 10 +11.0151811023622 + 20 +4.439744094488189 + 30 +0.0 + 10 +11.00912598425197 + 20 +4.435996062992126 + 30 +0.0 + 10 +11.00276377952756 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.99609842519685 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.99609842519685 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.99120866141732 + 20 +4.434106299212599 + 30 +0.0 + 10 +10.98684645669291 + 20 +4.435133858267717 + 30 +0.0 + 10 +10.98295669291339 + 20 +4.437188976377953 + 30 +0.0 + 10 +10.98295669291339 + 20 +4.437188976377953 + 30 +0.0 + 10 +10.97907086614173 + 20 +4.439244094488189 + 30 +0.0 + 10 +10.97590157480315 + 20 +4.441858267716535 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.444996062992126 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.444996062992126 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.444996062992126 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.97340157480315 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.40294094488189 + 30 +0.0 + 10 +10.95876377952756 + 20 +4.40294094488189 + 30 +0.0 + 0 +SPLINE + 5 +2E2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.97201181102362 + 20 +4.478771653543308 + 30 +0.0 + 10 +10.97201181102362 + 20 +4.467661417322835 + 30 +0.0 + 10 +10.97426377952756 + 20 +4.45944094488189 + 30 +0.0 + 10 +10.97876377952756 + 20 +4.454106299212598 + 30 +0.0 + 10 +10.97876377952756 + 20 +4.454106299212598 + 30 +0.0 + 10 +10.98326377952756 + 20 +4.448799212598425 + 30 +0.0 + 10 +10.98873622047244 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.99512598425197 + 20 +4.446133858267716 + 30 +0.0 + 10 +10.99512598425197 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.00162598425197 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.00720866141732 + 20 +4.448885826771654 + 30 +0.0 + 10 +11.01184645669291 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.01184645669291 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.0164842519685 + 20 +4.459913385826772 + 30 +0.0 + 10 +11.01881889763779 + 20 +4.468440944881889 + 30 +0.0 + 10 +11.01881889763779 + 20 +4.479996062992126 + 30 +0.0 + 10 +11.01881889763779 + 20 +4.479996062992126 + 30 +0.0 + 10 +11.01881889763779 + 20 +4.491023622047244 + 30 +0.0 + 10 +11.01653937007874 + 20 +4.499244094488189 + 30 +0.0 + 10 +11.01201181102362 + 20 +4.504744094488189 + 30 +0.0 + 10 +11.01201181102362 + 20 +4.504744094488189 + 30 +0.0 + 10 +11.0074842519685 + 20 +4.510216535433071 + 30 +0.0 + 10 +11.00207086614173 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.99579133858268 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.99579133858268 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.98953937007874 + 20 +4.512968503937008 + 30 +0.0 + 10 +10.98401181102362 + 20 +4.510051181102362 + 30 +0.0 + 10 +10.97920866141732 + 20 +4.504216535433071 + 30 +0.0 + 10 +10.97920866141732 + 20 +4.504216535433071 + 30 +0.0 + 10 +10.97440157480315 + 20 +4.498385826771654 + 30 +0.0 + 10 +10.97201181102362 + 20 +4.489885826771654 + 30 +0.0 + 10 +10.97201181102362 + 20 +4.478771653543308 + 30 +0.0 + 0 +SPLINE + 5 +2E3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.10784645669291 + 20 +4.446716535433071 + 30 +0.0 + 10 +11.10240157480315 + 20 +4.442106299212599 + 30 +0.0 + 10 +11.09717716535433 + 20 +4.438858267716536 + 30 +0.0 + 10 +11.09217716535433 + 20 +4.43694094488189 + 30 +0.0 + 10 +11.09217716535433 + 20 +4.43694094488189 + 30 +0.0 + 10 +11.08714960629921 + 20 +4.435051181102362 + 30 +0.0 + 10 +11.08176377952756 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.07601181102362 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.07601181102362 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.06651181102362 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.05923622047244 + 20 +4.436413385826771 + 30 +0.0 + 10 +11.05412204724409 + 20 +4.441051181102362 + 30 +0.0 + 10 +11.05412204724409 + 20 +4.441051181102362 + 30 +0.0 + 10 +11.04903937007874 + 20 +4.445688976377952 + 30 +0.0 + 10 +11.0464842519685 + 20 +4.451633858267717 + 30 +0.0 + 10 +11.0464842519685 + 20 +4.458830708661417 + 30 +0.0 + 10 +11.0464842519685 + 20 +4.458830708661417 + 30 +0.0 + 10 +11.0464842519685 + 20 +4.463078740157481 + 30 +0.0 + 10 +11.04742913385827 + 20 +4.46694094488189 + 30 +0.0 + 10 +11.04937401574803 + 20 +4.47044094488189 + 30 +0.0 + 10 +11.04937401574803 + 20 +4.47044094488189 + 30 +0.0 + 10 +11.05129133858268 + 20 +4.47394094488189 + 30 +0.0 + 10 +11.05381889763779 + 20 +4.476744094488189 + 30 +0.0 + 10 +11.05692913385827 + 20 +4.478858267716536 + 30 +0.0 + 10 +11.05692913385827 + 20 +4.478858267716536 + 30 +0.0 + 10 +11.06006692913386 + 20 +4.480968503937008 + 30 +0.0 + 10 +11.06356692913386 + 20 +4.48257874015748 + 30 +0.0 + 10 +11.0674842519685 + 20 +4.483661417322835 + 30 +0.0 + 10 +11.0674842519685 + 20 +4.483661417322835 + 30 +0.0 + 10 +11.07034645669291 + 20 +4.484413385826771 + 30 +0.0 + 10 +11.07467716535433 + 20 +4.485161417322835 + 30 +0.0 + 10 +11.0804842519685 + 20 +4.485858267716536 + 30 +0.0 + 10 +11.0804842519685 + 20 +4.485858267716536 + 30 +0.0 + 10 +11.0923188976378 + 20 +4.487271653543307 + 30 +0.0 + 10 +11.10103937007874 + 20 +4.48894094488189 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.490913385826771 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.490913385826771 + 30 +0.0 + 10 +11.10667716535433 + 20 +4.492913385826772 + 30 +0.0 + 10 +11.10670472440945 + 20 +4.494188976377953 + 30 +0.0 + 10 +11.10670472440945 + 20 +4.494716535433071 + 30 +0.0 + 10 +11.10670472440945 + 20 +4.494716535433071 + 30 +0.0 + 10 +11.10670472440945 + 20 +4.500688976377953 + 30 +0.0 + 10 +11.1053188976378 + 20 +4.504913385826772 + 30 +0.0 + 10 +11.10253937007874 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.10253937007874 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.09881889763779 + 20 +4.510661417322835 + 30 +0.0 + 10 +11.09323228346457 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.08587401574803 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.08587401574803 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.0789842519685 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.07390157480315 + 20 +4.511106299212599 + 30 +0.0 + 10 +11.07059448818898 + 20 +4.508688976377953 + 30 +0.0 + 10 +11.07059448818898 + 20 +4.508688976377953 + 30 +0.0 + 10 +11.0673188976378 + 20 +4.506271653543307 + 30 +0.0 + 10 +11.06490157480315 + 20 +4.501996062992126 + 30 +0.0 + 10 +11.0633188976378 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.0633188976378 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.0633188976378 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.04901181102362 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.04901181102362 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.04901181102362 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.0503188976378 + 20 +4.50394094488189 + 30 +0.0 + 10 +11.05245669291339 + 20 +4.508913385826772 + 30 +0.0 + 10 +11.05542913385827 + 20 +4.512661417322835 + 30 +0.0 + 10 +11.05542913385827 + 20 +4.512661417322835 + 30 +0.0 + 10 +11.05840157480315 + 20 +4.516440944881889 + 30 +0.0 + 10 +11.06273622047244 + 20 +4.519354330708661 + 30 +0.0 + 10 +11.06837401574803 + 20 +4.52138188976378 + 30 +0.0 + 10 +11.06837401574803 + 20 +4.52138188976378 + 30 +0.0 + 10 +11.07401181102362 + 20 +4.523413385826772 + 30 +0.0 + 10 +11.08053937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.0879842519685 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.0879842519685 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.09537401574803 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.10134645669291 + 20 +4.523551181102362 + 30 +0.0 + 10 +11.10595669291339 + 20 +4.521826771653544 + 30 +0.0 + 10 +11.10595669291339 + 20 +4.521826771653544 + 30 +0.0 + 10 +11.11056692913386 + 20 +4.52007874015748 + 30 +0.0 + 10 +11.11395669291339 + 20 +4.517913385826771 + 30 +0.0 + 10 +11.11614960629921 + 20 +4.515271653543307 + 30 +0.0 + 10 +11.11614960629921 + 20 +4.515271653543307 + 30 +0.0 + 10 +11.1183188976378 + 20 +4.512633858267717 + 30 +0.0 + 10 +11.1198188976378 + 20 +4.509326771653543 + 30 +0.0 + 10 +11.12070472440945 + 20 +4.505299212598425 + 30 +0.0 + 10 +11.12070472440945 + 20 +4.505299212598425 + 30 +0.0 + 10 +11.12117716535433 + 20 +4.502799212598426 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.498299212598425 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.12142913385827 + 20 +4.458633858267716 + 30 +0.0 + 10 +11.12173228346457 + 20 +4.450023622047244 + 30 +0.0 + 10 +11.12237401574803 + 20 +4.44644094488189 + 30 +0.0 + 10 +11.12237401574803 + 20 +4.44644094488189 + 30 +0.0 + 10 +11.1229842519685 + 20 +4.442830708661417 + 30 +0.0 + 10 +11.12423228346457 + 20 +4.439358267716536 + 30 +0.0 + 10 +11.12606692913386 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.12606692913386 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.12606692913386 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.11075984251969 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.11075984251969 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.11075984251969 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.10925984251969 + 20 +4.43907874015748 + 30 +0.0 + 10 +11.10825984251968 + 20 +4.442633858267716 + 30 +0.0 + 10 +11.10784645669291 + 20 +4.446716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2E4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.10662204724409 + 20 +4.479440944881889 + 30 +0.0 + 10 +11.10129133858268 + 20 +4.477244094488189 + 30 +0.0 + 10 +11.0933188976378 + 20 +4.475413385826772 + 30 +0.0 + 10 +11.08270472440945 + 20 +4.473885826771654 + 30 +0.0 + 10 +11.08270472440945 + 20 +4.473885826771654 + 30 +0.0 + 10 +11.07667716535433 + 20 +4.473023622047244 + 30 +0.0 + 10 +11.07240157480315 + 20 +4.472051181102362 + 30 +0.0 + 10 +11.06992913385827 + 20 +4.470968503937008 + 30 +0.0 + 10 +11.06992913385827 + 20 +4.470968503937008 + 30 +0.0 + 10 +11.06742913385827 + 20 +4.469885826771653 + 30 +0.0 + 10 +11.0654842519685 + 20 +4.468299212598425 + 30 +0.0 + 10 +11.06414960629921 + 20 +4.466188976377953 + 30 +0.0 + 10 +11.06414960629921 + 20 +4.466188976377953 + 30 +0.0 + 10 +11.06279133858268 + 20 +4.464106299212599 + 30 +0.0 + 10 +11.06209448818898 + 20 +4.461799212598425 + 30 +0.0 + 10 +11.06209448818898 + 20 +4.459244094488189 + 30 +0.0 + 10 +11.06209448818898 + 20 +4.459244094488189 + 30 +0.0 + 10 +11.06209448818898 + 20 +4.455330708661418 + 30 +0.0 + 10 +11.06359448818898 + 20 +4.45207874015748 + 30 +0.0 + 10 +11.06653937007874 + 20 +4.449468503937008 + 30 +0.0 + 10 +11.06653937007874 + 20 +4.449468503937008 + 30 +0.0 + 10 +11.0694842519685 + 20 +4.446885826771654 + 30 +0.0 + 10 +11.07381889763779 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.07951181102362 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.07951181102362 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.08514960629921 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.09017716535433 + 20 +4.446799212598425 + 30 +0.0 + 10 +11.09456692913386 + 20 +4.449271653543307 + 30 +0.0 + 10 +11.09456692913386 + 20 +4.449271653543307 + 30 +0.0 + 10 +11.09895669291339 + 20 +4.451744094488189 + 30 +0.0 + 10 +11.10220472440945 + 20 +4.455133858267716 + 30 +0.0 + 10 +11.10425984251969 + 20 +4.459413385826772 + 30 +0.0 + 10 +11.10425984251969 + 20 +4.459413385826772 + 30 +0.0 + 10 +11.10584645669291 + 20 +4.462716535433071 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.467606299212599 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.479440944881889 + 30 +0.0 + 10 +11.10662204724409 + 20 +4.479440944881889 + 30 +0.0 + 0 +SPLINE + 5 +2E5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.14414960629921 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.510188976377953 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.510188976377953 + 30 +0.0 + 10 +11.15731496062992 + 20 +4.510188976377953 + 30 +0.0 + 10 +11.16367716535433 + 20 +4.519688976377953 + 30 +0.0 + 10 +11.17284251968504 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.18481496062992 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.18481496062992 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.19003937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.19481496062992 + 20 +4.523496062992126 + 30 +0.0 + 10 +11.19917716535433 + 20 +4.521633858267717 + 30 +0.0 + 10 +11.19917716535433 + 20 +4.521633858267717 + 30 +0.0 + 10 +11.20356692913386 + 20 +4.519744094488189 + 30 +0.0 + 10 +11.20681496062992 + 20 +4.517299212598425 + 30 +0.0 + 10 +11.2089842519685 + 20 +4.514244094488189 + 30 +0.0 + 10 +11.2089842519685 + 20 +4.514244094488189 + 30 +0.0 + 10 +11.21117716535433 + 20 +4.51121653543307 + 30 +0.0 + 10 +11.21267716535433 + 20 +4.507606299212599 + 30 +0.0 + 10 +11.21356692913386 + 20 +4.50344094488189 + 30 +0.0 + 10 +11.21356692913386 + 20 +4.50344094488189 + 30 +0.0 + 10 +11.21409448818898 + 20 +4.500716535433071 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.495968503937008 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.489188976377953 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.489188976377953 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.489188976377953 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.21437007874016 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.488633858267717 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.488633858267717 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.488633858267717 + 30 +0.0 + 10 +11.19970472440945 + 20 +4.49457874015748 + 30 +0.0 + 10 +11.19914960629921 + 20 +4.499051181102362 + 30 +0.0 + 10 +11.19801181102362 + 20 +4.502023622047244 + 30 +0.0 + 10 +11.19801181102362 + 20 +4.502023622047244 + 30 +0.0 + 10 +11.19687007874016 + 20 +4.504968503937008 + 30 +0.0 + 10 +11.19484251968504 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.19195275590551 + 20 +4.50907874015748 + 30 +0.0 + 10 +11.19195275590551 + 20 +4.50907874015748 + 30 +0.0 + 10 +11.18903937007874 + 20 +4.510854330708661 + 30 +0.0 + 10 +11.18564960629921 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.18173228346457 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.18173228346457 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.1754842519685 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.17012204724409 + 20 +4.509744094488189 + 30 +0.0 + 10 +11.16556692913386 + 20 +4.505799212598426 + 30 +0.0 + 10 +11.16556692913386 + 20 +4.505799212598426 + 30 +0.0 + 10 +11.16103937007874 + 20 +4.501826771653543 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.494326771653543 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.483244094488189 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.483244094488189 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.483244094488189 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.1587874015748 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.14414960629921 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2E6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.29323228346457 + 20 +4.446716535433071 + 30 +0.0 + 10 +11.2877874015748 + 20 +4.442106299212599 + 30 +0.0 + 10 +11.28256299212598 + 20 +4.438858267716536 + 30 +0.0 + 10 +11.27756299212598 + 20 +4.43694094488189 + 30 +0.0 + 10 +11.27756299212598 + 20 +4.43694094488189 + 30 +0.0 + 10 +11.27253543307087 + 20 +4.435051181102362 + 30 +0.0 + 10 +11.26714960629921 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.26139763779527 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.26139763779527 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.25189763779528 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.24462204724409 + 20 +4.436413385826771 + 30 +0.0 + 10 +11.23950787401575 + 20 +4.441051181102362 + 30 +0.0 + 10 +11.23950787401575 + 20 +4.441051181102362 + 30 +0.0 + 10 +11.23442519685039 + 20 +4.445688976377952 + 30 +0.0 + 10 +11.23187007874016 + 20 +4.451633858267717 + 30 +0.0 + 10 +11.23187007874016 + 20 +4.458830708661417 + 30 +0.0 + 10 +11.23187007874016 + 20 +4.458830708661417 + 30 +0.0 + 10 +11.23187007874016 + 20 +4.463078740157481 + 30 +0.0 + 10 +11.23281496062992 + 20 +4.46694094488189 + 30 +0.0 + 10 +11.23475984251968 + 20 +4.47044094488189 + 30 +0.0 + 10 +11.23475984251968 + 20 +4.47044094488189 + 30 +0.0 + 10 +11.23667716535433 + 20 +4.47394094488189 + 30 +0.0 + 10 +11.23920472440945 + 20 +4.476744094488189 + 30 +0.0 + 10 +11.24231496062992 + 20 +4.478858267716536 + 30 +0.0 + 10 +11.24231496062992 + 20 +4.478858267716536 + 30 +0.0 + 10 +11.24545275590551 + 20 +4.480968503937008 + 30 +0.0 + 10 +11.24895275590551 + 20 +4.48257874015748 + 30 +0.0 + 10 +11.25287007874016 + 20 +4.483661417322835 + 30 +0.0 + 10 +11.25287007874016 + 20 +4.483661417322835 + 30 +0.0 + 10 +11.25573228346457 + 20 +4.484413385826771 + 30 +0.0 + 10 +11.26006299212598 + 20 +4.485161417322835 + 30 +0.0 + 10 +11.26587007874016 + 20 +4.485858267716536 + 30 +0.0 + 10 +11.26587007874016 + 20 +4.485858267716536 + 30 +0.0 + 10 +11.27770472440945 + 20 +4.487271653543307 + 30 +0.0 + 10 +11.28642519685039 + 20 +4.48894094488189 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.490913385826771 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.490913385826771 + 30 +0.0 + 10 +11.29206299212598 + 20 +4.492913385826772 + 30 +0.0 + 10 +11.2920905511811 + 20 +4.494188976377953 + 30 +0.0 + 10 +11.2920905511811 + 20 +4.494716535433071 + 30 +0.0 + 10 +11.2920905511811 + 20 +4.494716535433071 + 30 +0.0 + 10 +11.2920905511811 + 20 +4.500688976377953 + 30 +0.0 + 10 +11.29070472440945 + 20 +4.504913385826772 + 30 +0.0 + 10 +11.28792519685039 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.28792519685039 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.28420472440945 + 20 +4.510661417322835 + 30 +0.0 + 10 +11.27861811023622 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.27125984251968 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.27125984251968 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.26437007874016 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.2592874015748 + 20 +4.511106299212599 + 30 +0.0 + 10 +11.25598031496063 + 20 +4.508688976377953 + 30 +0.0 + 10 +11.25598031496063 + 20 +4.508688976377953 + 30 +0.0 + 10 +11.25270472440945 + 20 +4.506271653543307 + 30 +0.0 + 10 +11.2502874015748 + 20 +4.501996062992126 + 30 +0.0 + 10 +11.24870472440945 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.24870472440945 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.24870472440945 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.23439763779528 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.23439763779528 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.23439763779528 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.23570472440945 + 20 +4.50394094488189 + 30 +0.0 + 10 +11.23784251968504 + 20 +4.508913385826772 + 30 +0.0 + 10 +11.24081496062992 + 20 +4.512661417322835 + 30 +0.0 + 10 +11.24081496062992 + 20 +4.512661417322835 + 30 +0.0 + 10 +11.2437874015748 + 20 +4.516440944881889 + 30 +0.0 + 10 +11.2481220472441 + 20 +4.519354330708661 + 30 +0.0 + 10 +11.25375984251968 + 20 +4.52138188976378 + 30 +0.0 + 10 +11.25375984251968 + 20 +4.52138188976378 + 30 +0.0 + 10 +11.25939763779528 + 20 +4.523413385826772 + 30 +0.0 + 10 +11.26592519685039 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.27337007874016 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.27337007874016 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.28075984251969 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.28673228346457 + 20 +4.523551181102362 + 30 +0.0 + 10 +11.29134251968504 + 20 +4.521826771653544 + 30 +0.0 + 10 +11.29134251968504 + 20 +4.521826771653544 + 30 +0.0 + 10 +11.29595275590551 + 20 +4.52007874015748 + 30 +0.0 + 10 +11.29934251968504 + 20 +4.517913385826771 + 30 +0.0 + 10 +11.30153543307087 + 20 +4.515271653543307 + 30 +0.0 + 10 +11.30153543307087 + 20 +4.515271653543307 + 30 +0.0 + 10 +11.30370472440945 + 20 +4.512633858267717 + 30 +0.0 + 10 +11.30520472440945 + 20 +4.509326771653543 + 30 +0.0 + 10 +11.3060905511811 + 20 +4.505299212598425 + 30 +0.0 + 10 +11.3060905511811 + 20 +4.505299212598425 + 30 +0.0 + 10 +11.30656299212598 + 20 +4.502799212598426 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.498299212598425 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.30681496062992 + 20 +4.458633858267716 + 30 +0.0 + 10 +11.30711811023622 + 20 +4.450023622047244 + 30 +0.0 + 10 +11.30775984251969 + 20 +4.44644094488189 + 30 +0.0 + 10 +11.30775984251969 + 20 +4.44644094488189 + 30 +0.0 + 10 +11.30837007874016 + 20 +4.442830708661417 + 30 +0.0 + 10 +11.30961811023622 + 20 +4.439358267716536 + 30 +0.0 + 10 +11.31145275590551 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.31145275590551 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.31145275590551 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.29614566929134 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.29614566929134 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.29614566929134 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.29464566929134 + 20 +4.43907874015748 + 30 +0.0 + 10 +11.29364566929134 + 20 +4.442633858267716 + 30 +0.0 + 10 +11.29323228346457 + 20 +4.446716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2E7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.29200787401575 + 20 +4.479440944881889 + 30 +0.0 + 10 +11.28667716535433 + 20 +4.477244094488189 + 30 +0.0 + 10 +11.27870472440945 + 20 +4.475413385826772 + 30 +0.0 + 10 +11.2680905511811 + 20 +4.473885826771654 + 30 +0.0 + 10 +11.2680905511811 + 20 +4.473885826771654 + 30 +0.0 + 10 +11.26206299212598 + 20 +4.473023622047244 + 30 +0.0 + 10 +11.2577874015748 + 20 +4.472051181102362 + 30 +0.0 + 10 +11.25531496062992 + 20 +4.470968503937008 + 30 +0.0 + 10 +11.25531496062992 + 20 +4.470968503937008 + 30 +0.0 + 10 +11.25281496062992 + 20 +4.469885826771653 + 30 +0.0 + 10 +11.25087007874016 + 20 +4.468299212598425 + 30 +0.0 + 10 +11.24953543307087 + 20 +4.466188976377953 + 30 +0.0 + 10 +11.24953543307087 + 20 +4.466188976377953 + 30 +0.0 + 10 +11.24817716535433 + 20 +4.464106299212599 + 30 +0.0 + 10 +11.24748031496063 + 20 +4.461799212598425 + 30 +0.0 + 10 +11.24748031496063 + 20 +4.459244094488189 + 30 +0.0 + 10 +11.24748031496063 + 20 +4.459244094488189 + 30 +0.0 + 10 +11.24748031496063 + 20 +4.455330708661418 + 30 +0.0 + 10 +11.24898031496063 + 20 +4.45207874015748 + 30 +0.0 + 10 +11.25192519685039 + 20 +4.449468503937008 + 30 +0.0 + 10 +11.25192519685039 + 20 +4.449468503937008 + 30 +0.0 + 10 +11.25487007874016 + 20 +4.446885826771654 + 30 +0.0 + 10 +11.25920472440945 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.26489763779528 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.26489763779528 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.27053543307087 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.27556299212598 + 20 +4.446799212598425 + 30 +0.0 + 10 +11.27995275590551 + 20 +4.449271653543307 + 30 +0.0 + 10 +11.27995275590551 + 20 +4.449271653543307 + 30 +0.0 + 10 +11.28434251968504 + 20 +4.451744094488189 + 30 +0.0 + 10 +11.2875905511811 + 20 +4.455133858267716 + 30 +0.0 + 10 +11.28964566929134 + 20 +4.459413385826772 + 30 +0.0 + 10 +11.28964566929134 + 20 +4.459413385826772 + 30 +0.0 + 10 +11.29123228346457 + 20 +4.462716535433071 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.467606299212599 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.479440944881889 + 30 +0.0 + 10 +11.29200787401575 + 20 +4.479440944881889 + 30 +0.0 + 0 +SPLINE + 5 +2E8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.32367322834646 + 20 +4.461858267716535 + 30 +0.0 + 10 +11.32367322834646 + 20 +4.461858267716535 + 30 +0.0 + 10 +11.33814566929134 + 20 +4.464133858267717 + 30 +0.0 + 10 +11.33814566929134 + 20 +4.464133858267717 + 30 +0.0 + 10 +11.33814566929134 + 20 +4.464133858267717 + 30 +0.0 + 10 +11.33895275590551 + 20 +4.458330708661418 + 30 +0.0 + 10 +11.34122834645669 + 20 +4.453885826771653 + 30 +0.0 + 10 +11.34495275590551 + 20 +4.450771653543307 + 30 +0.0 + 10 +11.34495275590551 + 20 +4.450771653543307 + 30 +0.0 + 10 +11.34864566929134 + 20 +4.447688976377953 + 30 +0.0 + 10 +11.35384251968504 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.36053543307087 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.36053543307087 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.36725590551181 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.37225590551181 + 20 +4.447523622047244 + 30 +0.0 + 10 +11.37550787401575 + 20 +4.450244094488189 + 30 +0.0 + 10 +11.37550787401575 + 20 +4.450244094488189 + 30 +0.0 + 10 +11.37875590551181 + 20 +4.452996062992126 + 30 +0.0 + 10 +11.38039763779528 + 20 +4.456216535433071 + 30 +0.0 + 10 +11.38039763779528 + 20 +4.459885826771654 + 30 +0.0 + 10 +11.38039763779528 + 20 +4.459885826771654 + 30 +0.0 + 10 +11.38039763779528 + 20 +4.463216535433071 + 30 +0.0 + 10 +11.37895275590551 + 20 +4.465799212598426 + 30 +0.0 + 10 +11.37606299212598 + 20 +4.467716535433071 + 30 +0.0 + 10 +11.37606299212598 + 20 +4.467716535433071 + 30 +0.0 + 10 +11.37406299212598 + 20 +4.469023622047244 + 30 +0.0 + 10 +11.36906299212598 + 20 +4.470661417322835 + 30 +0.0 + 10 +11.3610905511811 + 20 +4.472661417322835 + 30 +0.0 + 10 +11.3610905511811 + 20 +4.472661417322835 + 30 +0.0 + 10 +11.35037007874016 + 20 +4.475385826771654 + 30 +0.0 + 10 +11.34289763779528 + 20 +4.477716535433071 + 30 +0.0 + 10 +11.33875590551181 + 20 +4.479716535433071 + 30 +0.0 + 10 +11.33875590551181 + 20 +4.479716535433071 + 30 +0.0 + 10 +11.33461811023622 + 20 +4.481688976377953 + 30 +0.0 + 10 +11.33145275590551 + 20 +4.484440944881889 + 30 +0.0 + 10 +11.32931496062992 + 20 +4.48794094488189 + 30 +0.0 + 10 +11.32931496062992 + 20 +4.48794094488189 + 30 +0.0 + 10 +11.32717322834646 + 20 +4.49144094488189 + 30 +0.0 + 10 +11.3260905511811 + 20 +4.495299212598425 + 30 +0.0 + 10 +11.3260905511811 + 20 +4.499523622047244 + 30 +0.0 + 10 +11.3260905511811 + 20 +4.499523622047244 + 30 +0.0 + 10 +11.3260905511811 + 20 +4.503385826771654 + 30 +0.0 + 10 +11.32698031496063 + 20 +4.506940944881889 + 30 +0.0 + 10 +11.32875590551181 + 20 +4.510216535433071 + 30 +0.0 + 10 +11.32875590551181 + 20 +4.510216535433071 + 30 +0.0 + 10 +11.33050787401575 + 20 +4.513523622047244 + 30 +0.0 + 10 +11.33292519685039 + 20 +4.516244094488189 + 30 +0.0 + 10 +11.33595275590551 + 20 +4.518413385826771 + 30 +0.0 + 10 +11.33595275590551 + 20 +4.518413385826771 + 30 +0.0 + 10 +11.33822834645669 + 20 +4.52007874015748 + 30 +0.0 + 10 +11.34134251968504 + 20 +4.521523622047244 + 30 +0.0 + 10 +11.34525590551181 + 20 +4.522688976377953 + 30 +0.0 + 10 +11.34525590551181 + 20 +4.522688976377953 + 30 +0.0 + 10 +11.34920078740157 + 20 +4.523854330708661 + 30 +0.0 + 10 +11.35342519685039 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.35792519685039 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.35792519685039 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.36470078740157 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.37064566929134 + 20 +4.52344094488189 + 30 +0.0 + 10 +11.37578346456693 + 20 +4.521496062992126 + 30 +0.0 + 10 +11.37578346456693 + 20 +4.521496062992126 + 30 +0.0 + 10 +11.38092519685039 + 20 +4.519551181102362 + 30 +0.0 + 10 +11.38470078740158 + 20 +4.516913385826772 + 30 +0.0 + 10 +11.38714566929134 + 20 +4.51357874015748 + 30 +0.0 + 10 +11.38714566929134 + 20 +4.51357874015748 + 30 +0.0 + 10 +11.3895905511811 + 20 +4.510216535433071 + 30 +0.0 + 10 +11.39125590551181 + 20 +4.505771653543307 + 30 +0.0 + 10 +11.39217322834646 + 20 +4.500188976377952 + 30 +0.0 + 10 +11.39217322834646 + 20 +4.500188976377952 + 30 +0.0 + 10 +11.39217322834646 + 20 +4.500188976377952 + 30 +0.0 + 10 +11.37787007874016 + 20 +4.498216535433071 + 30 +0.0 + 10 +11.37787007874016 + 20 +4.498216535433071 + 30 +0.0 + 10 +11.37787007874016 + 20 +4.498216535433071 + 30 +0.0 + 10 +11.37720078740158 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.37531102362205 + 20 +4.506133858267717 + 30 +0.0 + 10 +11.37220078740157 + 20 +4.508633858267716 + 30 +0.0 + 10 +11.37220078740157 + 20 +4.508633858267716 + 30 +0.0 + 10 +11.3690905511811 + 20 +4.511133858267717 + 30 +0.0 + 10 +11.36467322834646 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.35898031496063 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.35898031496063 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.35225590551181 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.34745275590551 + 20 +4.511271653543307 + 30 +0.0 + 10 +11.3445905511811 + 20 +4.509051181102362 + 30 +0.0 + 10 +11.3445905511811 + 20 +4.509051181102362 + 30 +0.0 + 10 +11.34170078740157 + 20 +4.506826771653543 + 30 +0.0 + 10 +11.34025590551181 + 20 +4.504216535433071 + 30 +0.0 + 10 +11.34025590551181 + 20 +4.501244094488189 + 30 +0.0 + 10 +11.34025590551181 + 20 +4.501244094488189 + 30 +0.0 + 10 +11.34025590551181 + 20 +4.499326771653544 + 30 +0.0 + 10 +11.34087007874016 + 20 +4.497633858267717 + 30 +0.0 + 10 +11.34206299212598 + 20 +4.496106299212599 + 30 +0.0 + 10 +11.34206299212598 + 20 +4.496106299212599 + 30 +0.0 + 10 +11.34325590551181 + 20 +4.494523622047244 + 30 +0.0 + 10 +11.34511811023622 + 20 +4.493244094488189 + 30 +0.0 + 10 +11.34767322834646 + 20 +4.492188976377952 + 30 +0.0 + 10 +11.34767322834646 + 20 +4.492188976377952 + 30 +0.0 + 10 +11.34914566929134 + 20 +4.491661417322835 + 30 +0.0 + 10 +11.35345275590551 + 20 +4.490413385826772 + 30 +0.0 + 10 +11.36061811023622 + 20 +4.488468503937008 + 30 +0.0 + 10 +11.36061811023622 + 20 +4.488468503937008 + 30 +0.0 + 10 +11.37098031496063 + 20 +4.485688976377952 + 30 +0.0 + 10 +11.37820078740157 + 20 +4.48344094488189 + 30 +0.0 + 10 +11.38228346456693 + 20 +4.481661417322835 + 30 +0.0 + 10 +11.38228346456693 + 20 +4.481661417322835 + 30 +0.0 + 10 +11.38639763779527 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.38961811023622 + 20 +4.477326771653543 + 30 +0.0 + 10 +11.39195275590551 + 20 +4.473968503937008 + 30 +0.0 + 10 +11.39195275590551 + 20 +4.473968503937008 + 30 +0.0 + 10 +11.39428346456693 + 20 +4.470606299212599 + 30 +0.0 + 10 +11.39545275590551 + 20 +4.46644094488189 + 30 +0.0 + 10 +11.39545275590551 + 20 +4.46144094488189 + 30 +0.0 + 10 +11.39545275590551 + 20 +4.46144094488189 + 30 +0.0 + 10 +11.39545275590551 + 20 +4.456551181102363 + 30 +0.0 + 10 +11.39400787401575 + 20 +4.451968503937008 + 30 +0.0 + 10 +11.39117322834646 + 20 +4.447633858267716 + 30 +0.0 + 10 +11.39117322834646 + 20 +4.447633858267716 + 30 +0.0 + 10 +11.38831102362205 + 20 +4.443330708661417 + 30 +0.0 + 10 +11.38420078740157 + 20 +4.439996062992126 + 30 +0.0 + 10 +11.37883858267717 + 20 +4.437633858267716 + 30 +0.0 + 10 +11.37883858267717 + 20 +4.437633858267716 + 30 +0.0 + 10 +11.37348031496063 + 20 +4.435271653543307 + 30 +0.0 + 10 +11.36739763779527 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.36061811023622 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.36061811023622 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.34937007874016 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.34081496062992 + 20 +4.436440944881889 + 30 +0.0 + 10 +11.33492519685039 + 20 +4.441106299212598 + 30 +0.0 + 10 +11.33492519685039 + 20 +4.441106299212598 + 30 +0.0 + 10 +11.32903543307087 + 20 +4.445771653543307 + 30 +0.0 + 10 +11.32528346456693 + 20 +4.452688976377953 + 30 +0.0 + 10 +11.32367322834646 + 20 +4.461858267716535 + 30 +0.0 + 0 +SPLINE + 5 +2E9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.40739763779528 + 20 +4.479271653543307 + 30 +0.0 + 10 +11.40739763779528 + 20 +4.495271653543307 + 30 +0.0 + 10 +11.41184251968504 + 20 +4.507133858267717 + 30 +0.0 + 10 +11.42075984251968 + 20 +4.514826771653543 + 30 +0.0 + 10 +11.42075984251968 + 20 +4.514826771653543 + 30 +0.0 + 10 +11.42817716535433 + 20 +4.521216535433071 + 30 +0.0 + 10 +11.43723228346457 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.45981496062992 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.46953543307087 + 20 +4.520551181102363 + 30 +0.0 + 10 +11.47706299212599 + 20 +4.512744094488189 + 30 +0.0 + 10 +11.47706299212599 + 20 +4.512744094488189 + 30 +0.0 + 10 +11.48461811023622 + 20 +4.504968503937008 + 30 +0.0 + 10 +11.48837007874016 + 20 +4.494216535433071 + 30 +0.0 + 10 +11.48837007874016 + 20 +4.480496062992126 + 30 +0.0 + 10 +11.48837007874016 + 20 +4.480496062992126 + 30 +0.0 + 10 +11.48837007874016 + 20 +4.469358267716536 + 30 +0.0 + 10 +11.48670078740157 + 20 +4.460606299212598 + 30 +0.0 + 10 +11.48337007874016 + 20 +4.454244094488189 + 30 +0.0 + 10 +11.48337007874016 + 20 +4.454244094488189 + 30 +0.0 + 10 +11.48003543307087 + 20 +4.447858267716535 + 30 +0.0 + 10 +11.47517322834646 + 20 +4.442913385826771 + 30 +0.0 + 10 +11.46881496062992 + 20 +4.439385826771653 + 30 +0.0 + 10 +11.46881496062992 + 20 +4.439385826771653 + 30 +0.0 + 10 +11.46242519685039 + 20 +4.435858267716536 + 30 +0.0 + 10 +11.45548031496063 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.43584251968504 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.42606299212598 + 20 +4.437968503937008 + 30 +0.0 + 10 +11.4185905511811 + 20 +4.445744094488189 + 30 +0.0 + 10 +11.4185905511811 + 20 +4.445744094488189 + 30 +0.0 + 10 +11.41111811023622 + 20 +4.453496062992126 + 30 +0.0 + 10 +11.40739763779528 + 20 +4.464661417322835 + 30 +0.0 + 10 +11.40739763779528 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2EA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.42245275590551 + 20 +4.479271653543307 + 30 +0.0 + 10 +11.42245275590551 + 20 +4.468188976377952 + 30 +0.0 + 10 +11.42487007874016 + 20 +4.459913385826772 + 30 +0.0 + 10 +11.42970472440945 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.42970472440945 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.43453543307087 + 20 +4.448885826771654 + 30 +0.0 + 10 +11.44061811023622 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.45520472440945 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.46125984251968 + 20 +4.448913385826772 + 30 +0.0 + 10 +11.4660905511811 + 20 +4.45444094488189 + 30 +0.0 + 10 +11.4660905511811 + 20 +4.45444094488189 + 30 +0.0 + 10 +11.47089763779528 + 20 +4.459968503937008 + 30 +0.0 + 10 +11.47331496062992 + 20 +4.468413385826771 + 30 +0.0 + 10 +11.47331496062992 + 20 +4.479744094488189 + 30 +0.0 + 10 +11.47331496062992 + 20 +4.479744094488189 + 30 +0.0 + 10 +11.47331496062992 + 20 +4.49044094488189 + 30 +0.0 + 10 +11.47089763779528 + 20 +4.498551181102362 + 30 +0.0 + 10 +11.46603543307087 + 20 +4.504051181102362 + 30 +0.0 + 10 +11.46603543307087 + 20 +4.504051181102362 + 30 +0.0 + 10 +11.46117322834646 + 20 +4.509551181102363 + 30 +0.0 + 10 +11.45514566929134 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.44792519685039 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.44061811023622 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.43453543307087 + 20 +4.509551181102363 + 30 +0.0 + 10 +11.42970472440945 + 20 +4.50407874015748 + 30 +0.0 + 10 +11.42970472440945 + 20 +4.50407874015748 + 30 +0.0 + 10 +11.42487007874016 + 20 +4.498606299212598 + 30 +0.0 + 10 +11.42245275590551 + 20 +4.490326771653543 + 30 +0.0 + 10 +11.42245275590551 + 20 +4.479271653543307 + 30 +0.0 + 0 +SPLINE + 5 +2EB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.50556299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.510188976377953 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.510188976377953 + 30 +0.0 + 10 +11.51872834645669 + 20 +4.510188976377953 + 30 +0.0 + 10 +11.5250905511811 + 20 +4.519688976377953 + 30 +0.0 + 10 +11.53425590551181 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.54622834645669 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.54622834645669 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.55145275590551 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.55622834645669 + 20 +4.523496062992126 + 30 +0.0 + 10 +11.5605905511811 + 20 +4.521633858267717 + 30 +0.0 + 10 +11.5605905511811 + 20 +4.521633858267717 + 30 +0.0 + 10 +11.56498031496063 + 20 +4.519744094488189 + 30 +0.0 + 10 +11.56822834645669 + 20 +4.517299212598425 + 30 +0.0 + 10 +11.57039763779528 + 20 +4.514244094488189 + 30 +0.0 + 10 +11.57039763779528 + 20 +4.514244094488189 + 30 +0.0 + 10 +11.5725905511811 + 20 +4.51121653543307 + 30 +0.0 + 10 +11.5740905511811 + 20 +4.507606299212599 + 30 +0.0 + 10 +11.57498031496063 + 20 +4.50344094488189 + 30 +0.0 + 10 +11.57498031496063 + 20 +4.50344094488189 + 30 +0.0 + 10 +11.57550787401575 + 20 +4.500716535433071 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.495968503937008 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.489188976377953 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.489188976377953 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.489188976377953 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.57578346456693 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.488633858267717 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.488633858267717 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.488633858267717 + 30 +0.0 + 10 +11.56111811023622 + 20 +4.49457874015748 + 30 +0.0 + 10 +11.56056299212598 + 20 +4.499051181102362 + 30 +0.0 + 10 +11.55942519685039 + 20 +4.502023622047244 + 30 +0.0 + 10 +11.55942519685039 + 20 +4.502023622047244 + 30 +0.0 + 10 +11.55828346456693 + 20 +4.504968503937008 + 30 +0.0 + 10 +11.55625590551181 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.55336614173228 + 20 +4.50907874015748 + 30 +0.0 + 10 +11.55336614173228 + 20 +4.50907874015748 + 30 +0.0 + 10 +11.55045275590551 + 20 +4.510854330708661 + 30 +0.0 + 10 +11.54706299212598 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.54314566929134 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.54314566929134 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.53689763779528 + 20 +4.511744094488189 + 30 +0.0 + 10 +11.53153543307087 + 20 +4.509744094488189 + 30 +0.0 + 10 +11.52698031496063 + 20 +4.505799212598426 + 30 +0.0 + 10 +11.52698031496063 + 20 +4.505799212598426 + 30 +0.0 + 10 +11.52245275590551 + 20 +4.501826771653543 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.494326771653543 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.483244094488189 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.483244094488189 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.483244094488189 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.52020078740157 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.50556299212598 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2EC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.59831102362205 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.538496062992126 + 30 +0.0 + 0 +SPLINE + 5 +2ED +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.59831102362205 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.61297637795276 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.59831102362205 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2EE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.69167322834646 + 20 +4.467716535433071 + 30 +0.0 + 10 +11.69167322834646 + 20 +4.467716535433071 + 30 +0.0 + 10 +11.70605905511811 + 20 +4.465826771653544 + 30 +0.0 + 10 +11.70605905511811 + 20 +4.465826771653544 + 30 +0.0 + 10 +11.70605905511811 + 20 +4.465826771653544 + 30 +0.0 + 10 +11.70450393700787 + 20 +4.455913385826771 + 30 +0.0 + 10 +11.70047637795276 + 20 +4.448133858267717 + 30 +0.0 + 10 +11.69397637795276 + 20 +4.442523622047244 + 30 +0.0 + 10 +11.69397637795276 + 20 +4.442523622047244 + 30 +0.0 + 10 +11.68750393700787 + 20 +4.436913385826772 + 30 +0.0 + 10 +11.67953149606299 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.6700905511811 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.6700905511811 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.65828346456693 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.64875590551181 + 20 +4.437968503937008 + 30 +0.0 + 10 +11.6415905511811 + 20 +4.445688976377952 + 30 +0.0 + 10 +11.6415905511811 + 20 +4.445688976377952 + 30 +0.0 + 10 +11.6343937007874 + 20 +4.453413385826772 + 30 +0.0 + 10 +11.63078346456693 + 20 +4.464496062992126 + 30 +0.0 + 10 +11.63078346456693 + 20 +4.47894094488189 + 30 +0.0 + 10 +11.63078346456693 + 20 +4.47894094488189 + 30 +0.0 + 10 +11.63078346456693 + 20 +4.488271653543307 + 30 +0.0 + 10 +11.63233858267717 + 20 +4.49644094488189 + 30 +0.0 + 10 +11.63542125984252 + 20 +4.50344094488189 + 30 +0.0 + 10 +11.63542125984252 + 20 +4.50344094488189 + 30 +0.0 + 10 +11.63853149606299 + 20 +4.51044094488189 + 30 +0.0 + 10 +11.64322834645669 + 20 +4.515688976377953 + 30 +0.0 + 10 +11.64956299212598 + 20 +4.519188976377952 + 30 +0.0 + 10 +11.64956299212598 + 20 +4.519188976377952 + 30 +0.0 + 10 +11.65586614173228 + 20 +4.522688976377953 + 30 +0.0 + 10 +11.66275590551181 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.67017322834646 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.67017322834646 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.67955905511811 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.68725590551181 + 20 +4.522051181102362 + 30 +0.0 + 10 +11.69320078740157 + 20 +4.517299212598425 + 30 +0.0 + 10 +11.69320078740157 + 20 +4.517299212598425 + 30 +0.0 + 10 +11.69917322834646 + 20 +4.512551181102363 + 30 +0.0 + 10 +11.70300393700787 + 20 +4.505826771653544 + 30 +0.0 + 10 +11.70470078740157 + 20 +4.49707874015748 + 30 +0.0 + 10 +11.70470078740157 + 20 +4.49707874015748 + 30 +0.0 + 10 +11.70470078740157 + 20 +4.49707874015748 + 30 +0.0 + 10 +11.69044881889764 + 20 +4.494885826771654 + 30 +0.0 + 10 +11.69044881889764 + 20 +4.494885826771654 + 30 +0.0 + 10 +11.69044881889764 + 20 +4.494885826771654 + 30 +0.0 + 10 +11.68908661417323 + 20 +4.500688976377953 + 30 +0.0 + 10 +11.68670078740158 + 20 +4.505051181102362 + 30 +0.0 + 10 +11.68325590551181 + 20 +4.507996062992126 + 30 +0.0 + 10 +11.68325590551181 + 20 +4.507996062992126 + 30 +0.0 + 10 +11.67981102362205 + 20 +4.510913385826772 + 30 +0.0 + 10 +11.67564566929134 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.67075590551181 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.67075590551181 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.66336614173228 + 20 +4.512385826771654 + 30 +0.0 + 10 +11.65736614173228 + 20 +4.509744094488189 + 30 +0.0 + 10 +11.65275590551181 + 20 +4.50444094488189 + 30 +0.0 + 10 +11.65275590551181 + 20 +4.50444094488189 + 30 +0.0 + 10 +11.64814566929134 + 20 +4.499161417322835 + 30 +0.0 + 10 +11.64583858267716 + 20 +4.490799212598425 + 30 +0.0 + 10 +11.64583858267716 + 20 +4.479358267716536 + 30 +0.0 + 10 +11.64583858267716 + 20 +4.479358267716536 + 30 +0.0 + 10 +11.64583858267716 + 20 +4.467744094488189 + 30 +0.0 + 10 +11.64806299212598 + 20 +4.459299212598425 + 30 +0.0 + 10 +11.65253149606299 + 20 +4.454023622047244 + 30 +0.0 + 10 +11.65253149606299 + 20 +4.454023622047244 + 30 +0.0 + 10 +11.65697637795276 + 20 +4.448771653543307 + 30 +0.0 + 10 +11.66278346456693 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.66994881889764 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.66994881889764 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.67570078740157 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.68047637795276 + 20 +4.447913385826772 + 30 +0.0 + 10 +11.68433858267717 + 20 +4.45144094488189 + 30 +0.0 + 10 +11.68433858267717 + 20 +4.45144094488189 + 30 +0.0 + 10 +11.68820078740158 + 20 +4.454968503937008 + 30 +0.0 + 10 +11.69064566929134 + 20 +4.460385826771653 + 30 +0.0 + 10 +11.69167322834646 + 20 +4.467716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2EF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.71861811023622 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.511244094488189 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.511244094488189 + 30 +0.0 + 10 +11.73195275590551 + 20 +4.511244094488189 + 30 +0.0 + 10 +11.7350905511811 + 20 +4.515633858267717 + 30 +0.0 + 10 +11.73864566929134 + 20 +4.51894094488189 + 30 +0.0 + 10 +11.74261811023622 + 20 +4.521133858267716 + 30 +0.0 + 10 +11.74261811023622 + 20 +4.521133858267716 + 30 +0.0 + 10 +11.74656299212598 + 20 +4.523326771653544 + 30 +0.0 + 10 +11.75136614173228 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.75700787401575 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.75700787401575 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.7643937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.7708937007874 + 20 +4.522523622047244 + 30 +0.0 + 10 +11.77653543307087 + 20 +4.518744094488189 + 30 +0.0 + 10 +11.77653543307087 + 20 +4.518744094488189 + 30 +0.0 + 10 +11.78220078740157 + 20 +4.514940944881889 + 30 +0.0 + 10 +11.78645275590551 + 20 +4.509578740157481 + 30 +0.0 + 10 +11.78931102362205 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.78931102362205 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.79220078740157 + 20 +4.495744094488189 + 30 +0.0 + 10 +11.79364566929134 + 20 +4.488161417322835 + 30 +0.0 + 10 +11.79364566929134 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.79364566929134 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.79364566929134 + 20 +4.471078740157481 + 30 +0.0 + 10 +11.79206299212598 + 20 +4.463106299212598 + 30 +0.0 + 10 +11.78886614173228 + 20 +4.456023622047244 + 30 +0.0 + 10 +11.78886614173228 + 20 +4.456023622047244 + 30 +0.0 + 10 +11.78570078740158 + 20 +4.44894094488189 + 30 +0.0 + 10 +11.7810905511811 + 20 +4.443523622047244 + 30 +0.0 + 10 +11.77503543307087 + 20 +4.439744094488189 + 30 +0.0 + 10 +11.77503543307087 + 20 +4.439744094488189 + 30 +0.0 + 10 +11.76898031496063 + 20 +4.435996062992126 + 30 +0.0 + 10 +11.76261811023622 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.75595275590551 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.75595275590551 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.75106299212598 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.74670078740158 + 20 +4.435133858267717 + 30 +0.0 + 10 +11.74281102362205 + 20 +4.437188976377953 + 30 +0.0 + 10 +11.74281102362205 + 20 +4.437188976377953 + 30 +0.0 + 10 +11.73892519685039 + 20 +4.439244094488189 + 30 +0.0 + 10 +11.73575590551181 + 20 +4.441858267716535 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.444996062992126 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.444996062992126 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.444996062992126 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.73325590551181 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.71861811023622 + 20 +4.40294094488189 + 30 +0.0 + 0 +SPLINE + 5 +2F0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.73186614173228 + 20 +4.478771653543308 + 30 +0.0 + 10 +11.73186614173228 + 20 +4.467661417322835 + 30 +0.0 + 10 +11.73411811023622 + 20 +4.45944094488189 + 30 +0.0 + 10 +11.73861811023622 + 20 +4.454106299212598 + 30 +0.0 + 10 +11.73861811023622 + 20 +4.454106299212598 + 30 +0.0 + 10 +11.74311811023622 + 20 +4.448799212598425 + 30 +0.0 + 10 +11.7485905511811 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.75498031496063 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.75498031496063 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.76148031496063 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.76706299212598 + 20 +4.448885826771654 + 30 +0.0 + 10 +11.77170078740157 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.77170078740157 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.77633858267717 + 20 +4.459913385826772 + 30 +0.0 + 10 +11.77867322834646 + 20 +4.468440944881889 + 30 +0.0 + 10 +11.77867322834646 + 20 +4.479996062992126 + 30 +0.0 + 10 +11.77867322834646 + 20 +4.479996062992126 + 30 +0.0 + 10 +11.77867322834646 + 20 +4.491023622047244 + 30 +0.0 + 10 +11.7763937007874 + 20 +4.499244094488189 + 30 +0.0 + 10 +11.77186614173228 + 20 +4.504744094488189 + 30 +0.0 + 10 +11.77186614173228 + 20 +4.504744094488189 + 30 +0.0 + 10 +11.76733858267717 + 20 +4.510216535433071 + 30 +0.0 + 10 +11.76192519685039 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.75564566929134 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.75564566929134 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.7493937007874 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.74386614173228 + 20 +4.510051181102362 + 30 +0.0 + 10 +11.73906299212598 + 20 +4.504216535433071 + 30 +0.0 + 10 +11.73906299212598 + 20 +4.504216535433071 + 30 +0.0 + 10 +11.73425590551181 + 20 +4.498385826771654 + 30 +0.0 + 10 +11.73186614173228 + 20 +4.489885826771654 + 30 +0.0 + 10 +11.73186614173228 + 20 +4.478771653543308 + 30 +0.0 + 0 +SPLINE + 5 +2F1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.86770078740157 + 20 +4.446716535433071 + 30 +0.0 + 10 +11.86225590551181 + 20 +4.442106299212599 + 30 +0.0 + 10 +11.85703149606299 + 20 +4.438858267716536 + 30 +0.0 + 10 +11.85203149606299 + 20 +4.43694094488189 + 30 +0.0 + 10 +11.85203149606299 + 20 +4.43694094488189 + 30 +0.0 + 10 +11.84700393700787 + 20 +4.435051181102362 + 30 +0.0 + 10 +11.84161811023622 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.83586614173228 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.83586614173228 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.82636614173228 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.8190905511811 + 20 +4.436413385826771 + 30 +0.0 + 10 +11.81397637795276 + 20 +4.441051181102362 + 30 +0.0 + 10 +11.81397637795276 + 20 +4.441051181102362 + 30 +0.0 + 10 +11.8088937007874 + 20 +4.445688976377952 + 30 +0.0 + 10 +11.80633858267717 + 20 +4.451633858267717 + 30 +0.0 + 10 +11.80633858267717 + 20 +4.458830708661417 + 30 +0.0 + 10 +11.80633858267717 + 20 +4.458830708661417 + 30 +0.0 + 10 +11.80633858267717 + 20 +4.463078740157481 + 30 +0.0 + 10 +11.80728346456693 + 20 +4.46694094488189 + 30 +0.0 + 10 +11.80922834645669 + 20 +4.47044094488189 + 30 +0.0 + 10 +11.80922834645669 + 20 +4.47044094488189 + 30 +0.0 + 10 +11.81114566929134 + 20 +4.47394094488189 + 30 +0.0 + 10 +11.81367322834646 + 20 +4.476744094488189 + 30 +0.0 + 10 +11.81678346456693 + 20 +4.478858267716536 + 30 +0.0 + 10 +11.81678346456693 + 20 +4.478858267716536 + 30 +0.0 + 10 +11.81992125984252 + 20 +4.480968503937008 + 30 +0.0 + 10 +11.82342125984252 + 20 +4.48257874015748 + 30 +0.0 + 10 +11.82733858267717 + 20 +4.483661417322835 + 30 +0.0 + 10 +11.82733858267717 + 20 +4.483661417322835 + 30 +0.0 + 10 +11.83020078740157 + 20 +4.484413385826771 + 30 +0.0 + 10 +11.83453149606299 + 20 +4.485161417322835 + 30 +0.0 + 10 +11.84033858267717 + 20 +4.485858267716536 + 30 +0.0 + 10 +11.84033858267717 + 20 +4.485858267716536 + 30 +0.0 + 10 +11.85217322834646 + 20 +4.487271653543307 + 30 +0.0 + 10 +11.8608937007874 + 20 +4.48894094488189 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.490913385826771 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.490913385826771 + 30 +0.0 + 10 +11.86653149606299 + 20 +4.492913385826772 + 30 +0.0 + 10 +11.86655905511811 + 20 +4.494188976377953 + 30 +0.0 + 10 +11.86655905511811 + 20 +4.494716535433071 + 30 +0.0 + 10 +11.86655905511811 + 20 +4.494716535433071 + 30 +0.0 + 10 +11.86655905511811 + 20 +4.500688976377953 + 30 +0.0 + 10 +11.86517322834646 + 20 +4.504913385826772 + 30 +0.0 + 10 +11.8623937007874 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.8623937007874 + 20 +4.507326771653544 + 30 +0.0 + 10 +11.85867322834646 + 20 +4.510661417322835 + 30 +0.0 + 10 +11.85308661417323 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.84572834645669 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.84572834645669 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.83883858267717 + 20 +4.512299212598426 + 30 +0.0 + 10 +11.83375590551181 + 20 +4.511106299212599 + 30 +0.0 + 10 +11.83044881889764 + 20 +4.508688976377953 + 30 +0.0 + 10 +11.83044881889764 + 20 +4.508688976377953 + 30 +0.0 + 10 +11.82717322834646 + 20 +4.506271653543307 + 30 +0.0 + 10 +11.82475590551181 + 20 +4.501996062992126 + 30 +0.0 + 10 +11.82317322834646 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.82317322834646 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.82317322834646 + 20 +4.495854330708662 + 30 +0.0 + 10 +11.80886614173228 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.80886614173228 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.80886614173228 + 20 +4.497826771653544 + 30 +0.0 + 10 +11.81017322834646 + 20 +4.50394094488189 + 30 +0.0 + 10 +11.81231102362205 + 20 +4.508913385826772 + 30 +0.0 + 10 +11.81528346456693 + 20 +4.512661417322835 + 30 +0.0 + 10 +11.81528346456693 + 20 +4.512661417322835 + 30 +0.0 + 10 +11.81825590551181 + 20 +4.516440944881889 + 30 +0.0 + 10 +11.8225905511811 + 20 +4.519354330708661 + 30 +0.0 + 10 +11.82822834645669 + 20 +4.52138188976378 + 30 +0.0 + 10 +11.82822834645669 + 20 +4.52138188976378 + 30 +0.0 + 10 +11.83386614173228 + 20 +4.523413385826772 + 30 +0.0 + 10 +11.8403937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.84783858267716 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.84783858267716 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.85522834645669 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.86120078740158 + 20 +4.523551181102362 + 30 +0.0 + 10 +11.86581102362205 + 20 +4.521826771653544 + 30 +0.0 + 10 +11.86581102362205 + 20 +4.521826771653544 + 30 +0.0 + 10 +11.87042125984252 + 20 +4.52007874015748 + 30 +0.0 + 10 +11.87381102362205 + 20 +4.517913385826771 + 30 +0.0 + 10 +11.87600393700787 + 20 +4.515271653543307 + 30 +0.0 + 10 +11.87600393700787 + 20 +4.515271653543307 + 30 +0.0 + 10 +11.87817322834646 + 20 +4.512633858267717 + 30 +0.0 + 10 +11.87967322834646 + 20 +4.509326771653543 + 30 +0.0 + 10 +11.88055905511811 + 20 +4.505299212598425 + 30 +0.0 + 10 +11.88055905511811 + 20 +4.505299212598425 + 30 +0.0 + 10 +11.88103149606299 + 20 +4.502799212598426 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.498299212598425 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.491799212598425 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.472271653543307 + 30 +0.0 + 10 +11.88128346456693 + 20 +4.458633858267716 + 30 +0.0 + 10 +11.88158661417323 + 20 +4.450023622047244 + 30 +0.0 + 10 +11.88222834645669 + 20 +4.44644094488189 + 30 +0.0 + 10 +11.88222834645669 + 20 +4.44644094488189 + 30 +0.0 + 10 +11.88283858267716 + 20 +4.442830708661417 + 30 +0.0 + 10 +11.88408661417323 + 20 +4.439358267716536 + 30 +0.0 + 10 +11.88592125984252 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.88592125984252 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.88592125984252 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.87061417322835 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.87061417322835 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.87061417322835 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.86911417322835 + 20 +4.43907874015748 + 30 +0.0 + 10 +11.86811417322835 + 20 +4.442633858267716 + 30 +0.0 + 10 +11.86770078740157 + 20 +4.446716535433071 + 30 +0.0 + 0 +SPLINE + 5 +2F2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.86647637795276 + 20 +4.479440944881889 + 30 +0.0 + 10 +11.86114566929134 + 20 +4.477244094488189 + 30 +0.0 + 10 +11.85317322834646 + 20 +4.475413385826772 + 30 +0.0 + 10 +11.84255905511811 + 20 +4.473885826771654 + 30 +0.0 + 10 +11.84255905511811 + 20 +4.473885826771654 + 30 +0.0 + 10 +11.83653149606299 + 20 +4.473023622047244 + 30 +0.0 + 10 +11.83225590551181 + 20 +4.472051181102362 + 30 +0.0 + 10 +11.82978346456693 + 20 +4.470968503937008 + 30 +0.0 + 10 +11.82978346456693 + 20 +4.470968503937008 + 30 +0.0 + 10 +11.82728346456693 + 20 +4.469885826771653 + 30 +0.0 + 10 +11.82533858267717 + 20 +4.468299212598425 + 30 +0.0 + 10 +11.82400393700787 + 20 +4.466188976377953 + 30 +0.0 + 10 +11.82400393700787 + 20 +4.466188976377953 + 30 +0.0 + 10 +11.82264566929134 + 20 +4.464106299212599 + 30 +0.0 + 10 +11.82194881889764 + 20 +4.461799212598425 + 30 +0.0 + 10 +11.82194881889764 + 20 +4.459244094488189 + 30 +0.0 + 10 +11.82194881889764 + 20 +4.459244094488189 + 30 +0.0 + 10 +11.82194881889764 + 20 +4.455330708661418 + 30 +0.0 + 10 +11.82344881889764 + 20 +4.45207874015748 + 30 +0.0 + 10 +11.8263937007874 + 20 +4.449468503937008 + 30 +0.0 + 10 +11.8263937007874 + 20 +4.449468503937008 + 30 +0.0 + 10 +11.82933858267717 + 20 +4.446885826771654 + 30 +0.0 + 10 +11.83367322834646 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.83936614173228 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.83936614173228 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.84500393700787 + 20 +4.44557874015748 + 30 +0.0 + 10 +11.85003149606299 + 20 +4.446799212598425 + 30 +0.0 + 10 +11.85442125984252 + 20 +4.449271653543307 + 30 +0.0 + 10 +11.85442125984252 + 20 +4.449271653543307 + 30 +0.0 + 10 +11.85881102362205 + 20 +4.451744094488189 + 30 +0.0 + 10 +11.86205905511811 + 20 +4.455133858267716 + 30 +0.0 + 10 +11.86411417322835 + 20 +4.459413385826772 + 30 +0.0 + 10 +11.86411417322835 + 20 +4.459413385826772 + 30 +0.0 + 10 +11.86570078740158 + 20 +4.462716535433071 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.467606299212599 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.474051181102362 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.479440944881889 + 30 +0.0 + 10 +11.86647637795276 + 20 +4.479440944881889 + 30 +0.0 + 0 +SPLINE + 5 +2F3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.90400393700787 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.511244094488189 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.511244094488189 + 30 +0.0 + 10 +11.91733858267717 + 20 +4.511244094488189 + 30 +0.0 + 10 +11.92047637795276 + 20 +4.515633858267717 + 30 +0.0 + 10 +11.92403149606299 + 20 +4.51894094488189 + 30 +0.0 + 10 +11.92800393700787 + 20 +4.521133858267716 + 30 +0.0 + 10 +11.92800393700787 + 20 +4.521133858267716 + 30 +0.0 + 10 +11.93194881889764 + 20 +4.523326771653544 + 30 +0.0 + 10 +11.93675196850394 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.9423937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.9423937007874 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.94977952755906 + 20 +4.524440944881889 + 30 +0.0 + 10 +11.95627952755905 + 20 +4.522523622047244 + 30 +0.0 + 10 +11.96192125984252 + 20 +4.518744094488189 + 30 +0.0 + 10 +11.96192125984252 + 20 +4.518744094488189 + 30 +0.0 + 10 +11.96758661417323 + 20 +4.514940944881889 + 30 +0.0 + 10 +11.97183858267717 + 20 +4.509578740157481 + 30 +0.0 + 10 +11.9746968503937 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.9746968503937 + 20 +4.502661417322835 + 30 +0.0 + 10 +11.97758661417323 + 20 +4.495744094488189 + 30 +0.0 + 10 +11.97903149606299 + 20 +4.488161417322835 + 30 +0.0 + 10 +11.97903149606299 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.97903149606299 + 20 +4.479913385826771 + 30 +0.0 + 10 +11.97903149606299 + 20 +4.471078740157481 + 30 +0.0 + 10 +11.97744881889764 + 20 +4.463106299212598 + 30 +0.0 + 10 +11.97425196850394 + 20 +4.456023622047244 + 30 +0.0 + 10 +11.97425196850394 + 20 +4.456023622047244 + 30 +0.0 + 10 +11.97108661417323 + 20 +4.44894094488189 + 30 +0.0 + 10 +11.96647637795276 + 20 +4.443523622047244 + 30 +0.0 + 10 +11.96042125984252 + 20 +4.439744094488189 + 30 +0.0 + 10 +11.96042125984252 + 20 +4.439744094488189 + 30 +0.0 + 10 +11.95436614173228 + 20 +4.435996062992126 + 30 +0.0 + 10 +11.94800393700787 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.94133858267717 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.94133858267717 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.93644881889764 + 20 +4.434106299212599 + 30 +0.0 + 10 +11.93208661417323 + 20 +4.435133858267717 + 30 +0.0 + 10 +11.9281968503937 + 20 +4.437188976377953 + 30 +0.0 + 10 +11.9281968503937 + 20 +4.437188976377953 + 30 +0.0 + 10 +11.92431102362205 + 20 +4.439244094488189 + 30 +0.0 + 10 +11.92114173228346 + 20 +4.441858267716535 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.444996062992126 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.444996062992126 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.444996062992126 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.91864173228347 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.40294094488189 + 30 +0.0 + 10 +11.90400393700787 + 20 +4.40294094488189 + 30 +0.0 + 0 +SPLINE + 5 +2F4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.91725196850394 + 20 +4.478771653543308 + 30 +0.0 + 10 +11.91725196850394 + 20 +4.467661417322835 + 30 +0.0 + 10 +11.91950393700787 + 20 +4.45944094488189 + 30 +0.0 + 10 +11.92400393700787 + 20 +4.454106299212598 + 30 +0.0 + 10 +11.92400393700787 + 20 +4.454106299212598 + 30 +0.0 + 10 +11.92850393700787 + 20 +4.448799212598425 + 30 +0.0 + 10 +11.93397637795276 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.94036614173228 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.94036614173228 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.94686614173228 + 20 +4.446133858267716 + 30 +0.0 + 10 +11.95244881889764 + 20 +4.448885826771654 + 30 +0.0 + 10 +11.95708661417323 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.95708661417323 + 20 +4.454413385826772 + 30 +0.0 + 10 +11.96172440944882 + 20 +4.459913385826772 + 30 +0.0 + 10 +11.96405905511811 + 20 +4.468440944881889 + 30 +0.0 + 10 +11.96405905511811 + 20 +4.479996062992126 + 30 +0.0 + 10 +11.96405905511811 + 20 +4.479996062992126 + 30 +0.0 + 10 +11.96405905511811 + 20 +4.491023622047244 + 30 +0.0 + 10 +11.96177952755906 + 20 +4.499244094488189 + 30 +0.0 + 10 +11.95725196850394 + 20 +4.504744094488189 + 30 +0.0 + 10 +11.95725196850394 + 20 +4.504744094488189 + 30 +0.0 + 10 +11.95272440944882 + 20 +4.510216535433071 + 30 +0.0 + 10 +11.94731102362205 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.94103149606299 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.94103149606299 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.93477952755905 + 20 +4.512968503937008 + 30 +0.0 + 10 +11.92925196850394 + 20 +4.510051181102362 + 30 +0.0 + 10 +11.92444881889764 + 20 +4.504216535433071 + 30 +0.0 + 10 +11.92444881889764 + 20 +4.504216535433071 + 30 +0.0 + 10 +11.91964173228346 + 20 +4.498385826771654 + 30 +0.0 + 10 +11.91725196850394 + 20 +4.489885826771654 + 30 +0.0 + 10 +11.91725196850394 + 20 +4.478771653543308 + 30 +0.0 + 0 +SPLINE + 5 +2F5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.99675196850394 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.555354330708662 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.555354330708662 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.555354330708662 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.555354330708662 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.555354330708662 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.555354330708662 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.538496062992126 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.538496062992126 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.538496062992126 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.538496062992126 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.538496062992126 + 30 +0.0 + 0 +SPLINE + 5 +2F6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.99675196850394 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.522468503937008 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.01141732283465 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.436051181102362 + 30 +0.0 + 10 +11.99675196850394 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2F7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.03355905511811 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.522468503937008 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.509385826771654 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.509385826771654 + 30 +0.0 + 10 +12.04672440944882 + 20 +4.509385826771654 + 30 +0.0 + 10 +12.05008661417323 + 20 +4.515496062992126 + 30 +0.0 + 10 +12.0531968503937 + 20 +4.519551181102362 + 30 +0.0 + 10 +12.05605905511811 + 20 +4.521496062992126 + 30 +0.0 + 10 +12.05605905511811 + 20 +4.521496062992126 + 30 +0.0 + 10 +12.05888976377953 + 20 +4.52344094488189 + 30 +0.0 + 10 +12.06203149606299 + 20 +4.524440944881889 + 30 +0.0 + 10 +12.06544488188976 + 20 +4.524440944881889 + 30 +0.0 + 10 +12.06544488188976 + 20 +4.524440944881889 + 30 +0.0 + 10 +12.07038976377953 + 20 +4.524440944881889 + 30 +0.0 + 10 +12.07538976377953 + 20 +4.522854330708661 + 30 +0.0 + 10 +12.0805 + 20 +4.519716535433071 + 30 +0.0 + 10 +12.0805 + 20 +4.519716535433071 + 30 +0.0 + 10 +12.0805 + 20 +4.519716535433071 + 30 +0.0 + 10 +12.07544488188976 + 20 +4.506106299212599 + 30 +0.0 + 10 +12.07544488188976 + 20 +4.506106299212599 + 30 +0.0 + 10 +12.07544488188976 + 20 +4.506106299212599 + 30 +0.0 + 10 +12.07188976377953 + 20 +4.508244094488189 + 30 +0.0 + 10 +12.06830708661417 + 20 +4.509299212598425 + 30 +0.0 + 10 +12.06472440944882 + 20 +4.509299212598425 + 30 +0.0 + 10 +12.06472440944882 + 20 +4.509299212598425 + 30 +0.0 + 10 +12.0615 + 20 +4.509299212598425 + 30 +0.0 + 10 +12.05864173228346 + 20 +4.508326771653543 + 30 +0.0 + 10 +12.05608661417323 + 20 +4.506413385826772 + 30 +0.0 + 10 +12.05608661417323 + 20 +4.506413385826772 + 30 +0.0 + 10 +12.05353149606299 + 20 +4.504468503937008 + 30 +0.0 + 10 +12.05172440944882 + 20 +4.501799212598425 + 30 +0.0 + 10 +12.05064173228346 + 20 +4.498385826771654 + 30 +0.0 + 10 +12.05064173228346 + 20 +4.498385826771654 + 30 +0.0 + 10 +12.04900393700787 + 20 +4.493188976377953 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.487496062992126 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.481299212598425 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.481299212598425 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.481299212598425 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.0481968503937 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.436051181102362 + 30 +0.0 + 10 +12.03355905511811 + 20 +4.436051181102362 + 30 +0.0 + 0 +SPLINE + 5 +2F8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.07822440944882 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.07822440944882 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.11280708661417 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.11280708661417 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.11280708661417 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.11280708661417 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.12453149606299 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.12453149606299 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.12453149606299 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.12453149606299 + 20 +4.557381889763779 + 30 +0.0 + 10 +12.09003149606299 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.09003149606299 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.09003149606299 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.09003149606299 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.07822440944882 + 20 +4.434023622047244 + 30 +0.0 + 10 +12.07822440944882 + 20 +4.434023622047244 + 30 +0.0 + 0 +SPLINE + 5 +2F9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.19863385826772 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.24363385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.24363385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.24363385826772 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.25154724409449 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.2576062992126 + 20 +3.668704724409449 + 30 +0.0 + 10 +10.26177165354331 + 20 +3.667952755905512 + 30 +0.0 + 10 +10.26177165354331 + 20 +3.667952755905512 + 30 +0.0 + 10 +10.26763385826772 + 20 +3.66698031496063 + 30 +0.0 + 10 +10.27254724409449 + 20 +3.665118110236221 + 30 +0.0 + 10 +10.27651968503937 + 20 +3.662370078740158 + 30 +0.0 + 10 +10.27651968503937 + 20 +3.662370078740158 + 30 +0.0 + 10 +10.28046456692913 + 20 +3.659649606299213 + 30 +0.0 + 10 +10.28366141732283 + 20 +3.655787401574803 + 30 +0.0 + 10 +10.28607480314961 + 20 +3.650870078740157 + 30 +0.0 + 10 +10.28607480314961 + 20 +3.650870078740157 + 30 +0.0 + 10 +10.28849212598425 + 20 +3.645925196850394 + 30 +0.0 + 10 +10.28968897637795 + 20 +3.640507874015748 + 30 +0.0 + 10 +10.28968897637795 + 20 +3.634590551181102 + 30 +0.0 + 10 +10.28968897637795 + 20 +3.634590551181102 + 30 +0.0 + 10 +10.28968897637795 + 20 +3.624452755905512 + 30 +0.0 + 10 +10.28646456692913 + 20 +3.615842519685039 + 30 +0.0 + 10 +10.28001968503937 + 20 +3.608814960629921 + 30 +0.0 + 10 +10.28001968503937 + 20 +3.608814960629921 + 30 +0.0 + 10 +10.27354724409449 + 20 +3.601814960629921 + 30 +0.0 + 10 +10.26188188976378 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.24501968503937 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.24501968503937 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.24501968503937 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.598287401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.19863385826772 + 20 +3.549787401574803 + 30 +0.0 + 0 +SPLINE + 5 +2FA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.2144094488189 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.24527165354331 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.24527165354331 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.24527165354331 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.25546456692913 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.26271653543307 + 20 +3.614259842519685 + 30 +0.0 + 10 +10.26699212598425 + 20 +3.618062992125984 + 30 +0.0 + 10 +10.26699212598425 + 20 +3.618062992125984 + 30 +0.0 + 10 +10.27127165354331 + 20 +3.621870078740157 + 30 +0.0 + 10 +10.2734094488189 + 20 +3.627204724409449 + 30 +0.0 + 10 +10.2734094488189 + 20 +3.634090551181103 + 30 +0.0 + 10 +10.2734094488189 + 20 +3.634090551181103 + 30 +0.0 + 10 +10.2734094488189 + 20 +3.639090551181102 + 30 +0.0 + 10 +10.27216141732283 + 20 +3.643370078740158 + 30 +0.0 + 10 +10.26963385826772 + 20 +3.646925196850394 + 30 +0.0 + 10 +10.26963385826772 + 20 +3.646925196850394 + 30 +0.0 + 10 +10.2671062992126 + 20 +3.65048031496063 + 30 +0.0 + 10 +10.26379921259842 + 20 +3.652814960629921 + 30 +0.0 + 10 +10.25966141732284 + 20 +3.653952755905512 + 30 +0.0 + 10 +10.25966141732284 + 20 +3.653952755905512 + 30 +0.0 + 10 +10.25699212598425 + 20 +3.654649606299213 + 30 +0.0 + 10 +10.2521062992126 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.24493700787402 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.24493700787402 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.24493700787402 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.655007874015748 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.612370078740157 + 30 +0.0 + 10 +10.2144094488189 + 20 +3.612370078740157 + 30 +0.0 + 0 +SPLINE + 5 +2FB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.36432677165354 + 20 +3.560452755905512 + 30 +0.0 + 10 +10.35888188976378 + 20 +3.555842519685039 + 30 +0.0 + 10 +10.35365748031496 + 20 +3.552594488188976 + 30 +0.0 + 10 +10.34865748031496 + 20 +3.550677165354331 + 30 +0.0 + 10 +10.34865748031496 + 20 +3.550677165354331 + 30 +0.0 + 10 +10.34362992125984 + 20 +3.548787401574803 + 30 +0.0 + 10 +10.33824409448819 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.33249212598425 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.33249212598425 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.32299212598425 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.31571653543307 + 20 +3.550149606299212 + 30 +0.0 + 10 +10.31060236220472 + 20 +3.554787401574803 + 30 +0.0 + 10 +10.31060236220472 + 20 +3.554787401574803 + 30 +0.0 + 10 +10.30551968503937 + 20 +3.559425196850394 + 30 +0.0 + 10 +10.30296456692913 + 20 +3.565370078740158 + 30 +0.0 + 10 +10.30296456692913 + 20 +3.572566929133858 + 30 +0.0 + 10 +10.30296456692913 + 20 +3.572566929133858 + 30 +0.0 + 10 +10.30296456692913 + 20 +3.576814960629921 + 30 +0.0 + 10 +10.3039094488189 + 20 +3.580677165354331 + 30 +0.0 + 10 +10.30585433070866 + 20 +3.584177165354331 + 30 +0.0 + 10 +10.30585433070866 + 20 +3.584177165354331 + 30 +0.0 + 10 +10.30777165354331 + 20 +3.587677165354331 + 30 +0.0 + 10 +10.31029921259842 + 20 +3.59048031496063 + 30 +0.0 + 10 +10.3134094488189 + 20 +3.592594488188976 + 30 +0.0 + 10 +10.3134094488189 + 20 +3.592594488188976 + 30 +0.0 + 10 +10.31654724409449 + 20 +3.594704724409449 + 30 +0.0 + 10 +10.32004724409449 + 20 +3.596314960629921 + 30 +0.0 + 10 +10.32396456692913 + 20 +3.597397637795276 + 30 +0.0 + 10 +10.32396456692913 + 20 +3.597397637795276 + 30 +0.0 + 10 +10.32682677165354 + 20 +3.598149606299212 + 30 +0.0 + 10 +10.33115748031496 + 20 +3.598897637795276 + 30 +0.0 + 10 +10.33696456692913 + 20 +3.599594488188977 + 30 +0.0 + 10 +10.33696456692913 + 20 +3.599594488188977 + 30 +0.0 + 10 +10.34879921259843 + 20 +3.601007874015748 + 30 +0.0 + 10 +10.35751968503937 + 20 +3.602677165354331 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.604649606299212 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.604649606299212 + 30 +0.0 + 10 +10.36315748031496 + 20 +3.606649606299213 + 30 +0.0 + 10 +10.36318503937008 + 20 +3.607925196850394 + 30 +0.0 + 10 +10.36318503937008 + 20 +3.608452755905512 + 30 +0.0 + 10 +10.36318503937008 + 20 +3.608452755905512 + 30 +0.0 + 10 +10.36318503937008 + 20 +3.614425196850394 + 30 +0.0 + 10 +10.36179921259843 + 20 +3.618649606299213 + 30 +0.0 + 10 +10.35901968503937 + 20 +3.621062992125984 + 30 +0.0 + 10 +10.35901968503937 + 20 +3.621062992125984 + 30 +0.0 + 10 +10.35529921259842 + 20 +3.624397637795276 + 30 +0.0 + 10 +10.3497125984252 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.34235433070866 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.34235433070866 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.33546456692913 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.33038188976378 + 20 +3.62484251968504 + 30 +0.0 + 10 +10.32707480314961 + 20 +3.622425196850394 + 30 +0.0 + 10 +10.32707480314961 + 20 +3.622425196850394 + 30 +0.0 + 10 +10.32379921259843 + 20 +3.620007874015748 + 30 +0.0 + 10 +10.32138188976378 + 20 +3.615732283464567 + 30 +0.0 + 10 +10.31979921259843 + 20 +3.609590551181102 + 30 +0.0 + 10 +10.31979921259843 + 20 +3.609590551181102 + 30 +0.0 + 10 +10.31979921259843 + 20 +3.609590551181102 + 30 +0.0 + 10 +10.30549212598425 + 20 +3.611562992125984 + 30 +0.0 + 10 +10.30549212598425 + 20 +3.611562992125984 + 30 +0.0 + 10 +10.30549212598425 + 20 +3.611562992125984 + 30 +0.0 + 10 +10.30679921259843 + 20 +3.617677165354331 + 30 +0.0 + 10 +10.30893700787402 + 20 +3.622649606299213 + 30 +0.0 + 10 +10.3119094488189 + 20 +3.626397637795276 + 30 +0.0 + 10 +10.3119094488189 + 20 +3.626397637795276 + 30 +0.0 + 10 +10.31488188976378 + 20 +3.630177165354331 + 30 +0.0 + 10 +10.31921653543307 + 20 +3.633090551181102 + 30 +0.0 + 10 +10.32485433070866 + 20 +3.63511811023622 + 30 +0.0 + 10 +10.32485433070866 + 20 +3.63511811023622 + 30 +0.0 + 10 +10.33049212598425 + 20 +3.637149606299213 + 30 +0.0 + 10 +10.33701968503937 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.34446456692913 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.34446456692913 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.35185433070866 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.35782677165354 + 20 +3.637287401574803 + 30 +0.0 + 10 +10.36243700787402 + 20 +3.635562992125984 + 30 +0.0 + 10 +10.36243700787402 + 20 +3.635562992125984 + 30 +0.0 + 10 +10.36704724409449 + 20 +3.633814960629921 + 30 +0.0 + 10 +10.37043700787402 + 20 +3.631649606299213 + 30 +0.0 + 10 +10.37262992125984 + 20 +3.629007874015748 + 30 +0.0 + 10 +10.37262992125984 + 20 +3.629007874015748 + 30 +0.0 + 10 +10.37479921259843 + 20 +3.626370078740158 + 30 +0.0 + 10 +10.37629921259843 + 20 +3.623062992125984 + 30 +0.0 + 10 +10.37718503937008 + 20 +3.619035433070866 + 30 +0.0 + 10 +10.37718503937008 + 20 +3.619035433070866 + 30 +0.0 + 10 +10.37765748031496 + 20 +3.616535433070866 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.612035433070866 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.605535433070866 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.605535433070866 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.605535433070866 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.586007874015748 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.586007874015748 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.586007874015748 + 30 +0.0 + 10 +10.3779094488189 + 20 +3.572370078740157 + 30 +0.0 + 10 +10.3782125984252 + 20 +3.563759842519685 + 30 +0.0 + 10 +10.37885433070866 + 20 +3.560177165354331 + 30 +0.0 + 10 +10.37885433070866 + 20 +3.560177165354331 + 30 +0.0 + 10 +10.37946456692913 + 20 +3.556566929133858 + 30 +0.0 + 10 +10.3807125984252 + 20 +3.553094488188977 + 30 +0.0 + 10 +10.38254724409449 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.38254724409449 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.38254724409449 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.36724015748032 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.36724015748032 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.36724015748032 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.36574015748032 + 20 +3.552814960629921 + 30 +0.0 + 10 +10.36474015748031 + 20 +3.556370078740157 + 30 +0.0 + 10 +10.36432677165354 + 20 +3.560452755905512 + 30 +0.0 + 0 +SPLINE + 5 +2FC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.36310236220472 + 20 +3.593177165354331 + 30 +0.0 + 10 +10.35777165354331 + 20 +3.59098031496063 + 30 +0.0 + 10 +10.34979921259843 + 20 +3.589149606299213 + 30 +0.0 + 10 +10.33918503937008 + 20 +3.587622047244095 + 30 +0.0 + 10 +10.33918503937008 + 20 +3.587622047244095 + 30 +0.0 + 10 +10.33315748031496 + 20 +3.586759842519685 + 30 +0.0 + 10 +10.32888188976378 + 20 +3.585787401574803 + 30 +0.0 + 10 +10.3264094488189 + 20 +3.584704724409449 + 30 +0.0 + 10 +10.3264094488189 + 20 +3.584704724409449 + 30 +0.0 + 10 +10.3239094488189 + 20 +3.583622047244094 + 30 +0.0 + 10 +10.32196456692913 + 20 +3.582035433070866 + 30 +0.0 + 10 +10.32062992125984 + 20 +3.579925196850394 + 30 +0.0 + 10 +10.32062992125984 + 20 +3.579925196850394 + 30 +0.0 + 10 +10.31927165354331 + 20 +3.577842519685039 + 30 +0.0 + 10 +10.31857480314961 + 20 +3.575535433070866 + 30 +0.0 + 10 +10.31857480314961 + 20 +3.57298031496063 + 30 +0.0 + 10 +10.31857480314961 + 20 +3.57298031496063 + 30 +0.0 + 10 +10.31857480314961 + 20 +3.569066929133858 + 30 +0.0 + 10 +10.32007480314961 + 20 +3.565814960629921 + 30 +0.0 + 10 +10.32301968503937 + 20 +3.563204724409449 + 30 +0.0 + 10 +10.32301968503937 + 20 +3.563204724409449 + 30 +0.0 + 10 +10.32596456692913 + 20 +3.560622047244094 + 30 +0.0 + 10 +10.33029921259842 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.33599212598425 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.33599212598425 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.34162992125984 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.34665748031496 + 20 +3.560535433070866 + 30 +0.0 + 10 +10.35104724409449 + 20 +3.563007874015748 + 30 +0.0 + 10 +10.35104724409449 + 20 +3.563007874015748 + 30 +0.0 + 10 +10.35543700787402 + 20 +3.56548031496063 + 30 +0.0 + 10 +10.35868503937008 + 20 +3.568870078740157 + 30 +0.0 + 10 +10.36074015748031 + 20 +3.573149606299213 + 30 +0.0 + 10 +10.36074015748031 + 20 +3.573149606299213 + 30 +0.0 + 10 +10.36232677165354 + 20 +3.576452755905512 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.581342519685039 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.587787401574803 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.587787401574803 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.587787401574803 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.593177165354331 + 30 +0.0 + 10 +10.36310236220472 + 20 +3.593177165354331 + 30 +0.0 + 0 +SPLINE + 5 +2FD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.40062992125984 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.623925196850394 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.623925196850394 + 30 +0.0 + 10 +10.41379527559055 + 20 +3.623925196850394 + 30 +0.0 + 10 +10.42015748031496 + 20 +3.633425196850394 + 30 +0.0 + 10 +10.42932283464567 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.44129527559055 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.44129527559055 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.44651968503937 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.45129527559055 + 20 +3.637232283464567 + 30 +0.0 + 10 +10.45565748031496 + 20 +3.635370078740157 + 30 +0.0 + 10 +10.45565748031496 + 20 +3.635370078740157 + 30 +0.0 + 10 +10.46004724409449 + 20 +3.63348031496063 + 30 +0.0 + 10 +10.46329527559055 + 20 +3.631035433070866 + 30 +0.0 + 10 +10.46546456692913 + 20 +3.62798031496063 + 30 +0.0 + 10 +10.46546456692913 + 20 +3.62798031496063 + 30 +0.0 + 10 +10.46765748031496 + 20 +3.624952755905512 + 30 +0.0 + 10 +10.46915748031496 + 20 +3.621342519685039 + 30 +0.0 + 10 +10.47004724409449 + 20 +3.617177165354331 + 30 +0.0 + 10 +10.47004724409449 + 20 +3.617177165354331 + 30 +0.0 + 10 +10.47057480314961 + 20 +3.614452755905512 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.609704724409449 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.602925196850394 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.602925196850394 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.602925196850394 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.47085039370079 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.602370078740158 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.602370078740158 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.602370078740158 + 30 +0.0 + 10 +10.45618503937008 + 20 +3.608314960629921 + 30 +0.0 + 10 +10.45562992125984 + 20 +3.612787401574803 + 30 +0.0 + 10 +10.45449212598425 + 20 +3.615759842519685 + 30 +0.0 + 10 +10.45449212598425 + 20 +3.615759842519685 + 30 +0.0 + 10 +10.45335039370079 + 20 +3.618704724409449 + 30 +0.0 + 10 +10.45132283464567 + 20 +3.621062992125984 + 30 +0.0 + 10 +10.44843307086614 + 20 +3.622814960629921 + 30 +0.0 + 10 +10.44843307086614 + 20 +3.622814960629921 + 30 +0.0 + 10 +10.44551968503937 + 20 +3.624590551181103 + 30 +0.0 + 10 +10.44212992125984 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.4382125984252 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.4382125984252 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.43196456692913 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.42660236220472 + 20 +3.62348031496063 + 30 +0.0 + 10 +10.42204724409449 + 20 +3.619535433070866 + 30 +0.0 + 10 +10.42204724409449 + 20 +3.619535433070866 + 30 +0.0 + 10 +10.41751968503937 + 20 +3.615562992125984 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.608062992125984 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.59698031496063 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.59698031496063 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.59698031496063 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.41526771653543 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.40062992125984 + 20 +3.549787401574803 + 30 +0.0 + 0 +SPLINE + 5 +2FE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.5497125984252 + 20 +3.560452755905512 + 30 +0.0 + 10 +10.54426771653543 + 20 +3.555842519685039 + 30 +0.0 + 10 +10.53904330708661 + 20 +3.552594488188976 + 30 +0.0 + 10 +10.53404330708661 + 20 +3.550677165354331 + 30 +0.0 + 10 +10.53404330708661 + 20 +3.550677165354331 + 30 +0.0 + 10 +10.5290157480315 + 20 +3.548787401574803 + 30 +0.0 + 10 +10.52362992125984 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.5178779527559 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.5178779527559 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.50837795275591 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.50110236220472 + 20 +3.550149606299212 + 30 +0.0 + 10 +10.49598818897638 + 20 +3.554787401574803 + 30 +0.0 + 10 +10.49598818897638 + 20 +3.554787401574803 + 30 +0.0 + 10 +10.49090551181102 + 20 +3.559425196850394 + 30 +0.0 + 10 +10.48835039370079 + 20 +3.565370078740158 + 30 +0.0 + 10 +10.48835039370079 + 20 +3.572566929133858 + 30 +0.0 + 10 +10.48835039370079 + 20 +3.572566929133858 + 30 +0.0 + 10 +10.48835039370079 + 20 +3.576814960629921 + 30 +0.0 + 10 +10.48929527559055 + 20 +3.580677165354331 + 30 +0.0 + 10 +10.49124015748031 + 20 +3.584177165354331 + 30 +0.0 + 10 +10.49124015748031 + 20 +3.584177165354331 + 30 +0.0 + 10 +10.49315748031496 + 20 +3.587677165354331 + 30 +0.0 + 10 +10.49568503937008 + 20 +3.59048031496063 + 30 +0.0 + 10 +10.49879527559055 + 20 +3.592594488188976 + 30 +0.0 + 10 +10.49879527559055 + 20 +3.592594488188976 + 30 +0.0 + 10 +10.50193307086614 + 20 +3.594704724409449 + 30 +0.0 + 10 +10.50543307086614 + 20 +3.596314960629921 + 30 +0.0 + 10 +10.50935039370079 + 20 +3.597397637795276 + 30 +0.0 + 10 +10.50935039370079 + 20 +3.597397637795276 + 30 +0.0 + 10 +10.5122125984252 + 20 +3.598149606299212 + 30 +0.0 + 10 +10.51654330708661 + 20 +3.598897637795276 + 30 +0.0 + 10 +10.52235039370079 + 20 +3.599594488188977 + 30 +0.0 + 10 +10.52235039370079 + 20 +3.599594488188977 + 30 +0.0 + 10 +10.53418503937008 + 20 +3.601007874015748 + 30 +0.0 + 10 +10.54290551181102 + 20 +3.602677165354331 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.604649606299212 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.604649606299212 + 30 +0.0 + 10 +10.54854330708661 + 20 +3.606649606299213 + 30 +0.0 + 10 +10.54857086614173 + 20 +3.607925196850394 + 30 +0.0 + 10 +10.54857086614173 + 20 +3.608452755905512 + 30 +0.0 + 10 +10.54857086614173 + 20 +3.608452755905512 + 30 +0.0 + 10 +10.54857086614173 + 20 +3.614425196850394 + 30 +0.0 + 10 +10.54718503937008 + 20 +3.618649606299213 + 30 +0.0 + 10 +10.54440551181102 + 20 +3.621062992125984 + 30 +0.0 + 10 +10.54440551181102 + 20 +3.621062992125984 + 30 +0.0 + 10 +10.54068503937008 + 20 +3.624397637795276 + 30 +0.0 + 10 +10.53509842519685 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.52774015748031 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.52774015748031 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.52085039370079 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.51576771653543 + 20 +3.62484251968504 + 30 +0.0 + 10 +10.51246062992126 + 20 +3.622425196850394 + 30 +0.0 + 10 +10.51246062992126 + 20 +3.622425196850394 + 30 +0.0 + 10 +10.50918503937008 + 20 +3.620007874015748 + 30 +0.0 + 10 +10.50676771653543 + 20 +3.615732283464567 + 30 +0.0 + 10 +10.50518503937008 + 20 +3.609590551181102 + 30 +0.0 + 10 +10.50518503937008 + 20 +3.609590551181102 + 30 +0.0 + 10 +10.50518503937008 + 20 +3.609590551181102 + 30 +0.0 + 10 +10.49087795275591 + 20 +3.611562992125984 + 30 +0.0 + 10 +10.49087795275591 + 20 +3.611562992125984 + 30 +0.0 + 10 +10.49087795275591 + 20 +3.611562992125984 + 30 +0.0 + 10 +10.49218503937008 + 20 +3.617677165354331 + 30 +0.0 + 10 +10.49432283464567 + 20 +3.622649606299213 + 30 +0.0 + 10 +10.49729527559055 + 20 +3.626397637795276 + 30 +0.0 + 10 +10.49729527559055 + 20 +3.626397637795276 + 30 +0.0 + 10 +10.50026771653543 + 20 +3.630177165354331 + 30 +0.0 + 10 +10.50460236220473 + 20 +3.633090551181102 + 30 +0.0 + 10 +10.51024015748031 + 20 +3.63511811023622 + 30 +0.0 + 10 +10.51024015748031 + 20 +3.63511811023622 + 30 +0.0 + 10 +10.51587795275591 + 20 +3.637149606299213 + 30 +0.0 + 10 +10.52240551181102 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.52985039370079 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.52985039370079 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.53724015748032 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.5432125984252 + 20 +3.637287401574803 + 30 +0.0 + 10 +10.54782283464567 + 20 +3.635562992125984 + 30 +0.0 + 10 +10.54782283464567 + 20 +3.635562992125984 + 30 +0.0 + 10 +10.55243307086614 + 20 +3.633814960629921 + 30 +0.0 + 10 +10.55582283464567 + 20 +3.631649606299213 + 30 +0.0 + 10 +10.5580157480315 + 20 +3.629007874015748 + 30 +0.0 + 10 +10.5580157480315 + 20 +3.629007874015748 + 30 +0.0 + 10 +10.56018503937008 + 20 +3.626370078740158 + 30 +0.0 + 10 +10.56168503937008 + 20 +3.623062992125984 + 30 +0.0 + 10 +10.56257086614173 + 20 +3.619035433070866 + 30 +0.0 + 10 +10.56257086614173 + 20 +3.619035433070866 + 30 +0.0 + 10 +10.56304330708661 + 20 +3.616535433070866 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.612035433070866 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.605535433070866 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.605535433070866 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.605535433070866 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.586007874015748 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.586007874015748 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.586007874015748 + 30 +0.0 + 10 +10.56329527559055 + 20 +3.572370078740157 + 30 +0.0 + 10 +10.56359842519685 + 20 +3.563759842519685 + 30 +0.0 + 10 +10.56424015748031 + 20 +3.560177165354331 + 30 +0.0 + 10 +10.56424015748031 + 20 +3.560177165354331 + 30 +0.0 + 10 +10.56485039370079 + 20 +3.556566929133858 + 30 +0.0 + 10 +10.56609842519685 + 20 +3.553094488188977 + 30 +0.0 + 10 +10.56793307086614 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.56793307086614 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.56793307086614 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.55262598425197 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.55262598425197 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.55262598425197 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.55112598425197 + 20 +3.552814960629921 + 30 +0.0 + 10 +10.55012598425197 + 20 +3.556370078740157 + 30 +0.0 + 10 +10.5497125984252 + 20 +3.560452755905512 + 30 +0.0 + 0 +SPLINE + 5 +2FF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.54848818897638 + 20 +3.593177165354331 + 30 +0.0 + 10 +10.54315748031496 + 20 +3.59098031496063 + 30 +0.0 + 10 +10.53518503937008 + 20 +3.589149606299213 + 30 +0.0 + 10 +10.52457086614173 + 20 +3.587622047244095 + 30 +0.0 + 10 +10.52457086614173 + 20 +3.587622047244095 + 30 +0.0 + 10 +10.51854330708662 + 20 +3.586759842519685 + 30 +0.0 + 10 +10.51426771653543 + 20 +3.585787401574803 + 30 +0.0 + 10 +10.51179527559055 + 20 +3.584704724409449 + 30 +0.0 + 10 +10.51179527559055 + 20 +3.584704724409449 + 30 +0.0 + 10 +10.50929527559055 + 20 +3.583622047244094 + 30 +0.0 + 10 +10.50735039370079 + 20 +3.582035433070866 + 30 +0.0 + 10 +10.5060157480315 + 20 +3.579925196850394 + 30 +0.0 + 10 +10.5060157480315 + 20 +3.579925196850394 + 30 +0.0 + 10 +10.50465748031496 + 20 +3.577842519685039 + 30 +0.0 + 10 +10.50396062992126 + 20 +3.575535433070866 + 30 +0.0 + 10 +10.50396062992126 + 20 +3.57298031496063 + 30 +0.0 + 10 +10.50396062992126 + 20 +3.57298031496063 + 30 +0.0 + 10 +10.50396062992126 + 20 +3.569066929133858 + 30 +0.0 + 10 +10.50546062992126 + 20 +3.565814960629921 + 30 +0.0 + 10 +10.50840551181102 + 20 +3.563204724409449 + 30 +0.0 + 10 +10.50840551181102 + 20 +3.563204724409449 + 30 +0.0 + 10 +10.51135039370079 + 20 +3.560622047244094 + 30 +0.0 + 10 +10.51568503937008 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.52137795275591 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.52137795275591 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.5270157480315 + 20 +3.559314960629921 + 30 +0.0 + 10 +10.53204330708661 + 20 +3.560535433070866 + 30 +0.0 + 10 +10.53643307086614 + 20 +3.563007874015748 + 30 +0.0 + 10 +10.53643307086614 + 20 +3.563007874015748 + 30 +0.0 + 10 +10.54082283464567 + 20 +3.56548031496063 + 30 +0.0 + 10 +10.54407086614173 + 20 +3.568870078740157 + 30 +0.0 + 10 +10.54612598425197 + 20 +3.573149606299213 + 30 +0.0 + 10 +10.54612598425197 + 20 +3.573149606299213 + 30 +0.0 + 10 +10.5477125984252 + 20 +3.576452755905512 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.581342519685039 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.587787401574803 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.587787401574803 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.587787401574803 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.593177165354331 + 30 +0.0 + 10 +10.54848818897638 + 20 +3.593177165354331 + 30 +0.0 + 0 +SPLINE + 5 +300 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.58015354330709 + 20 +3.575594488188977 + 30 +0.0 + 10 +10.58015354330709 + 20 +3.575594488188977 + 30 +0.0 + 10 +10.59462598425197 + 20 +3.577870078740157 + 30 +0.0 + 10 +10.59462598425197 + 20 +3.577870078740157 + 30 +0.0 + 10 +10.59462598425197 + 20 +3.577870078740157 + 30 +0.0 + 10 +10.59543307086614 + 20 +3.572066929133858 + 30 +0.0 + 10 +10.59770866141732 + 20 +3.567622047244094 + 30 +0.0 + 10 +10.60143307086614 + 20 +3.564507874015748 + 30 +0.0 + 10 +10.60143307086614 + 20 +3.564507874015748 + 30 +0.0 + 10 +10.60512598425197 + 20 +3.561425196850394 + 30 +0.0 + 10 +10.61032283464567 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.6170157480315 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.6170157480315 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.62373622047244 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.62873622047244 + 20 +3.561259842519685 + 30 +0.0 + 10 +10.63198818897638 + 20 +3.56398031496063 + 30 +0.0 + 10 +10.63198818897638 + 20 +3.56398031496063 + 30 +0.0 + 10 +10.63523622047244 + 20 +3.566732283464567 + 30 +0.0 + 10 +10.63687795275591 + 20 +3.569952755905512 + 30 +0.0 + 10 +10.63687795275591 + 20 +3.573622047244094 + 30 +0.0 + 10 +10.63687795275591 + 20 +3.573622047244094 + 30 +0.0 + 10 +10.63687795275591 + 20 +3.576952755905512 + 30 +0.0 + 10 +10.63543307086614 + 20 +3.579535433070866 + 30 +0.0 + 10 +10.63254330708661 + 20 +3.581452755905512 + 30 +0.0 + 10 +10.63254330708661 + 20 +3.581452755905512 + 30 +0.0 + 10 +10.63054330708661 + 20 +3.582759842519685 + 30 +0.0 + 10 +10.62554330708661 + 20 +3.584397637795276 + 30 +0.0 + 10 +10.61757086614173 + 20 +3.586397637795276 + 30 +0.0 + 10 +10.61757086614173 + 20 +3.586397637795276 + 30 +0.0 + 10 +10.60685039370079 + 20 +3.589122047244095 + 30 +0.0 + 10 +10.5993779527559 + 20 +3.591452755905512 + 30 +0.0 + 10 +10.59523622047244 + 20 +3.593452755905512 + 30 +0.0 + 10 +10.59523622047244 + 20 +3.593452755905512 + 30 +0.0 + 10 +10.59109842519685 + 20 +3.595425196850394 + 30 +0.0 + 10 +10.58793307086614 + 20 +3.598177165354331 + 30 +0.0 + 10 +10.58579527559055 + 20 +3.601677165354331 + 30 +0.0 + 10 +10.58579527559055 + 20 +3.601677165354331 + 30 +0.0 + 10 +10.58365354330709 + 20 +3.605177165354331 + 30 +0.0 + 10 +10.58257086614173 + 20 +3.609035433070866 + 30 +0.0 + 10 +10.58257086614173 + 20 +3.613259842519685 + 30 +0.0 + 10 +10.58257086614173 + 20 +3.613259842519685 + 30 +0.0 + 10 +10.58257086614173 + 20 +3.617122047244095 + 30 +0.0 + 10 +10.58346062992126 + 20 +3.620677165354331 + 30 +0.0 + 10 +10.58523622047244 + 20 +3.623952755905512 + 30 +0.0 + 10 +10.58523622047244 + 20 +3.623952755905512 + 30 +0.0 + 10 +10.58698818897638 + 20 +3.627259842519685 + 30 +0.0 + 10 +10.58940551181102 + 20 +3.62998031496063 + 30 +0.0 + 10 +10.59243307086614 + 20 +3.632149606299213 + 30 +0.0 + 10 +10.59243307086614 + 20 +3.632149606299213 + 30 +0.0 + 10 +10.59470866141732 + 20 +3.633814960629921 + 30 +0.0 + 10 +10.59782283464567 + 20 +3.635259842519685 + 30 +0.0 + 10 +10.60173622047244 + 20 +3.636425196850394 + 30 +0.0 + 10 +10.60173622047244 + 20 +3.636425196850394 + 30 +0.0 + 10 +10.6056811023622 + 20 +3.637590551181102 + 30 +0.0 + 10 +10.60990551181102 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.61440551181102 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.61440551181102 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.6211811023622 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.62712598425197 + 20 +3.637177165354331 + 30 +0.0 + 10 +10.63226377952756 + 20 +3.635232283464567 + 30 +0.0 + 10 +10.63226377952756 + 20 +3.635232283464567 + 30 +0.0 + 10 +10.63740551181102 + 20 +3.633287401574803 + 30 +0.0 + 10 +10.64118110236221 + 20 +3.630649606299213 + 30 +0.0 + 10 +10.64362598425197 + 20 +3.627314960629921 + 30 +0.0 + 10 +10.64362598425197 + 20 +3.627314960629921 + 30 +0.0 + 10 +10.64607086614173 + 20 +3.623952755905512 + 30 +0.0 + 10 +10.64773622047244 + 20 +3.619507874015748 + 30 +0.0 + 10 +10.64865354330709 + 20 +3.613925196850394 + 30 +0.0 + 10 +10.64865354330709 + 20 +3.613925196850394 + 30 +0.0 + 10 +10.64865354330709 + 20 +3.613925196850394 + 30 +0.0 + 10 +10.63435039370079 + 20 +3.611952755905512 + 30 +0.0 + 10 +10.63435039370079 + 20 +3.611952755905512 + 30 +0.0 + 10 +10.63435039370079 + 20 +3.611952755905512 + 30 +0.0 + 10 +10.63368110236221 + 20 +3.616397637795276 + 30 +0.0 + 10 +10.63179133858268 + 20 +3.619870078740158 + 30 +0.0 + 10 +10.6286811023622 + 20 +3.622370078740158 + 30 +0.0 + 10 +10.6286811023622 + 20 +3.622370078740158 + 30 +0.0 + 10 +10.62557086614173 + 20 +3.624870078740158 + 30 +0.0 + 10 +10.62115354330709 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.61546062992126 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.61546062992126 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.60873622047244 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.60393307086614 + 20 +3.625007874015748 + 30 +0.0 + 10 +10.60107086614173 + 20 +3.622787401574803 + 30 +0.0 + 10 +10.60107086614173 + 20 +3.622787401574803 + 30 +0.0 + 10 +10.5981811023622 + 20 +3.620562992125984 + 30 +0.0 + 10 +10.59673622047244 + 20 +3.617952755905512 + 30 +0.0 + 10 +10.59673622047244 + 20 +3.61498031496063 + 30 +0.0 + 10 +10.59673622047244 + 20 +3.61498031496063 + 30 +0.0 + 10 +10.59673622047244 + 20 +3.613062992125984 + 30 +0.0 + 10 +10.59735039370079 + 20 +3.611370078740157 + 30 +0.0 + 10 +10.59854330708661 + 20 +3.609842519685039 + 30 +0.0 + 10 +10.59854330708661 + 20 +3.609842519685039 + 30 +0.0 + 10 +10.59973622047244 + 20 +3.608259842519685 + 30 +0.0 + 10 +10.60159842519685 + 20 +3.60698031496063 + 30 +0.0 + 10 +10.60415354330709 + 20 +3.605925196850394 + 30 +0.0 + 10 +10.60415354330709 + 20 +3.605925196850394 + 30 +0.0 + 10 +10.60562598425197 + 20 +3.605397637795276 + 30 +0.0 + 10 +10.60993307086614 + 20 +3.604149606299213 + 30 +0.0 + 10 +10.61709842519685 + 20 +3.602204724409449 + 30 +0.0 + 10 +10.61709842519685 + 20 +3.602204724409449 + 30 +0.0 + 10 +10.62746062992126 + 20 +3.599425196850394 + 30 +0.0 + 10 +10.6346811023622 + 20 +3.597177165354331 + 30 +0.0 + 10 +10.63876377952756 + 20 +3.595397637795275 + 30 +0.0 + 10 +10.63876377952756 + 20 +3.595397637795275 + 30 +0.0 + 10 +10.6428779527559 + 20 +3.593649606299213 + 30 +0.0 + 10 +10.64609842519685 + 20 +3.591062992125984 + 30 +0.0 + 10 +10.64843307086614 + 20 +3.587704724409449 + 30 +0.0 + 10 +10.64843307086614 + 20 +3.587704724409449 + 30 +0.0 + 10 +10.65076377952756 + 20 +3.584342519685039 + 30 +0.0 + 10 +10.65193307086614 + 20 +3.580177165354331 + 30 +0.0 + 10 +10.65193307086614 + 20 +3.575177165354331 + 30 +0.0 + 10 +10.65193307086614 + 20 +3.575177165354331 + 30 +0.0 + 10 +10.65193307086614 + 20 +3.570287401574803 + 30 +0.0 + 10 +10.65048818897638 + 20 +3.565704724409449 + 30 +0.0 + 10 +10.64765354330709 + 20 +3.561370078740158 + 30 +0.0 + 10 +10.64765354330709 + 20 +3.561370078740158 + 30 +0.0 + 10 +10.64479133858268 + 20 +3.557066929133858 + 30 +0.0 + 10 +10.6406811023622 + 20 +3.553732283464567 + 30 +0.0 + 10 +10.6353188976378 + 20 +3.551370078740157 + 30 +0.0 + 10 +10.6353188976378 + 20 +3.551370078740157 + 30 +0.0 + 10 +10.62996062992126 + 20 +3.549007874015748 + 30 +0.0 + 10 +10.6238779527559 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.61709842519685 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.61709842519685 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.60585039370079 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.59729527559055 + 20 +3.550177165354331 + 30 +0.0 + 10 +10.59140551181102 + 20 +3.554842519685039 + 30 +0.0 + 10 +10.59140551181102 + 20 +3.554842519685039 + 30 +0.0 + 10 +10.5855157480315 + 20 +3.559507874015748 + 30 +0.0 + 10 +10.58176377952756 + 20 +3.566425196850393 + 30 +0.0 + 10 +10.58015354330709 + 20 +3.575594488188977 + 30 +0.0 + 0 +SPLINE + 5 +301 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.66387795275591 + 20 +3.593007874015748 + 30 +0.0 + 10 +10.66387795275591 + 20 +3.609007874015748 + 30 +0.0 + 10 +10.66832283464567 + 20 +3.620870078740158 + 30 +0.0 + 10 +10.67724015748031 + 20 +3.628562992125984 + 30 +0.0 + 10 +10.67724015748031 + 20 +3.628562992125984 + 30 +0.0 + 10 +10.68465748031496 + 20 +3.634952755905512 + 30 +0.0 + 10 +10.6937125984252 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.71629527559055 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.7260157480315 + 20 +3.634287401574803 + 30 +0.0 + 10 +10.73354330708661 + 20 +3.62648031496063 + 30 +0.0 + 10 +10.73354330708661 + 20 +3.62648031496063 + 30 +0.0 + 10 +10.74109842519685 + 20 +3.618704724409449 + 30 +0.0 + 10 +10.74485039370079 + 20 +3.607952755905512 + 30 +0.0 + 10 +10.74485039370079 + 20 +3.594232283464567 + 30 +0.0 + 10 +10.74485039370079 + 20 +3.594232283464567 + 30 +0.0 + 10 +10.74485039370079 + 20 +3.583094488188976 + 30 +0.0 + 10 +10.7431811023622 + 20 +3.57434251968504 + 30 +0.0 + 10 +10.73985039370079 + 20 +3.56798031496063 + 30 +0.0 + 10 +10.73985039370079 + 20 +3.56798031496063 + 30 +0.0 + 10 +10.7365157480315 + 20 +3.561594488188976 + 30 +0.0 + 10 +10.73165354330709 + 20 +3.556649606299213 + 30 +0.0 + 10 +10.72529527559055 + 20 +3.553122047244095 + 30 +0.0 + 10 +10.72529527559055 + 20 +3.553122047244095 + 30 +0.0 + 10 +10.71890551181102 + 20 +3.549594488188976 + 30 +0.0 + 10 +10.71196062992126 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.69232283464567 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.68254330708661 + 20 +3.551704724409449 + 30 +0.0 + 10 +10.67507086614173 + 20 +3.55948031496063 + 30 +0.0 + 10 +10.67507086614173 + 20 +3.55948031496063 + 30 +0.0 + 10 +10.66759842519685 + 20 +3.567232283464567 + 30 +0.0 + 10 +10.66387795275591 + 20 +3.578397637795276 + 30 +0.0 + 10 +10.66387795275591 + 20 +3.593007874015748 + 30 +0.0 + 0 +SPLINE + 5 +302 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.67893307086614 + 20 +3.593007874015748 + 30 +0.0 + 10 +10.67893307086614 + 20 +3.581925196850394 + 30 +0.0 + 10 +10.68135039370079 + 20 +3.573649606299213 + 30 +0.0 + 10 +10.68618503937008 + 20 +3.568149606299213 + 30 +0.0 + 10 +10.68618503937008 + 20 +3.568149606299213 + 30 +0.0 + 10 +10.6910157480315 + 20 +3.562622047244095 + 30 +0.0 + 10 +10.69709842519685 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.71168503937008 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.71774015748031 + 20 +3.562649606299213 + 30 +0.0 + 10 +10.72257086614173 + 20 +3.568177165354331 + 30 +0.0 + 10 +10.72257086614173 + 20 +3.568177165354331 + 30 +0.0 + 10 +10.7273779527559 + 20 +3.573704724409449 + 30 +0.0 + 10 +10.72979527559055 + 20 +3.582149606299212 + 30 +0.0 + 10 +10.72979527559055 + 20 +3.59348031496063 + 30 +0.0 + 10 +10.72979527559055 + 20 +3.59348031496063 + 30 +0.0 + 10 +10.72979527559055 + 20 +3.604177165354331 + 30 +0.0 + 10 +10.7273779527559 + 20 +3.612287401574803 + 30 +0.0 + 10 +10.7225157480315 + 20 +3.617787401574803 + 30 +0.0 + 10 +10.7225157480315 + 20 +3.617787401574803 + 30 +0.0 + 10 +10.71765354330709 + 20 +3.623287401574803 + 30 +0.0 + 10 +10.71162598425197 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.70440551181102 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.69709842519685 + 20 +3.626035433070866 + 30 +0.0 + 10 +10.6910157480315 + 20 +3.623287401574803 + 30 +0.0 + 10 +10.68618503937008 + 20 +3.617814960629921 + 30 +0.0 + 10 +10.68618503937008 + 20 +3.617814960629921 + 30 +0.0 + 10 +10.68135039370079 + 20 +3.612342519685039 + 30 +0.0 + 10 +10.67893307086614 + 20 +3.604062992125984 + 30 +0.0 + 10 +10.67893307086614 + 20 +3.593007874015748 + 30 +0.0 + 0 +SPLINE + 5 +303 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.76204330708661 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.623925196850394 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.623925196850394 + 30 +0.0 + 10 +10.77520866141732 + 20 +3.623925196850394 + 30 +0.0 + 10 +10.78157086614173 + 20 +3.633425196850394 + 30 +0.0 + 10 +10.79073622047244 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.80270866141732 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.80270866141732 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.80793307086614 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.81270866141732 + 20 +3.637232283464567 + 30 +0.0 + 10 +10.81707086614173 + 20 +3.635370078740157 + 30 +0.0 + 10 +10.81707086614173 + 20 +3.635370078740157 + 30 +0.0 + 10 +10.82146062992126 + 20 +3.63348031496063 + 30 +0.0 + 10 +10.82470866141732 + 20 +3.631035433070866 + 30 +0.0 + 10 +10.82687795275591 + 20 +3.62798031496063 + 30 +0.0 + 10 +10.82687795275591 + 20 +3.62798031496063 + 30 +0.0 + 10 +10.82907086614173 + 20 +3.624952755905512 + 30 +0.0 + 10 +10.83057086614173 + 20 +3.621342519685039 + 30 +0.0 + 10 +10.83146062992126 + 20 +3.617177165354331 + 30 +0.0 + 10 +10.83146062992126 + 20 +3.617177165354331 + 30 +0.0 + 10 +10.83198818897638 + 20 +3.614452755905512 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.609704724409449 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.602925196850394 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.602925196850394 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.602925196850394 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.83226377952756 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.602370078740158 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.602370078740158 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.602370078740158 + 30 +0.0 + 10 +10.81759842519685 + 20 +3.608314960629921 + 30 +0.0 + 10 +10.81704330708661 + 20 +3.612787401574803 + 30 +0.0 + 10 +10.81590551181102 + 20 +3.615759842519685 + 30 +0.0 + 10 +10.81590551181102 + 20 +3.615759842519685 + 30 +0.0 + 10 +10.81476377952756 + 20 +3.618704724409449 + 30 +0.0 + 10 +10.81273622047244 + 20 +3.621062992125984 + 30 +0.0 + 10 +10.80984645669291 + 20 +3.622814960629921 + 30 +0.0 + 10 +10.80984645669291 + 20 +3.622814960629921 + 30 +0.0 + 10 +10.80693307086614 + 20 +3.624590551181103 + 30 +0.0 + 10 +10.80354330708661 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.79962598425197 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.79962598425197 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.79337795275591 + 20 +3.62548031496063 + 30 +0.0 + 10 +10.7880157480315 + 20 +3.62348031496063 + 30 +0.0 + 10 +10.78346062992126 + 20 +3.619535433070866 + 30 +0.0 + 10 +10.78346062992126 + 20 +3.619535433070866 + 30 +0.0 + 10 +10.77893307086614 + 20 +3.615562992125984 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.608062992125984 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.59698031496063 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.59698031496063 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.59698031496063 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.7766811023622 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.76204330708661 + 20 +3.549787401574803 + 30 +0.0 + 0 +SPLINE + 5 +304 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.85479133858268 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.669090551181102 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.652232283464567 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.652232283464567 + 30 +0.0 + 0 +SPLINE + 5 +305 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.85479133858268 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.636204724409449 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.86945669291339 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.549787401574803 + 30 +0.0 + 10 +10.85479133858268 + 20 +3.549787401574803 + 30 +0.0 + 0 +SPLINE + 5 +306 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.94815354330709 + 20 +3.581452755905512 + 30 +0.0 + 10 +10.94815354330709 + 20 +3.581452755905512 + 30 +0.0 + 10 +10.96253937007874 + 20 +3.579562992125984 + 30 +0.0 + 10 +10.96253937007874 + 20 +3.579562992125984 + 30 +0.0 + 10 +10.96253937007874 + 20 +3.579562992125984 + 30 +0.0 + 10 +10.9609842519685 + 20 +3.569649606299213 + 30 +0.0 + 10 +10.95695669291339 + 20 +3.561870078740157 + 30 +0.0 + 10 +10.95045669291339 + 20 +3.556259842519685 + 30 +0.0 + 10 +10.95045669291339 + 20 +3.556259842519685 + 30 +0.0 + 10 +10.9439842519685 + 20 +3.550649606299213 + 30 +0.0 + 10 +10.93601181102362 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.92657086614173 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.92657086614173 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.91476377952756 + 20 +3.547842519685039 + 30 +0.0 + 10 +10.90523622047244 + 20 +3.551704724409449 + 30 +0.0 + 10 +10.89807086614173 + 20 +3.559425196850394 + 30 +0.0 + 10 +10.89807086614173 + 20 +3.559425196850394 + 30 +0.0 + 10 +10.89087401574803 + 20 +3.567149606299213 + 30 +0.0 + 10 +10.88726377952756 + 20 +3.578232283464567 + 30 +0.0 + 10 +10.88726377952756 + 20 +3.592677165354331 + 30 +0.0 + 10 +10.88726377952756 + 20 +3.592677165354331 + 30 +0.0 + 10 +10.88726377952756 + 20 +3.602007874015748 + 30 +0.0 + 10 +10.8888188976378 + 20 +3.610177165354331 + 30 +0.0 + 10 +10.89190157480315 + 20 +3.617177165354331 + 30 +0.0 + 10 +10.89190157480315 + 20 +3.617177165354331 + 30 +0.0 + 10 +10.89501181102362 + 20 +3.624177165354331 + 30 +0.0 + 10 +10.89970866141732 + 20 +3.629425196850394 + 30 +0.0 + 10 +10.90604330708661 + 20 +3.632925196850394 + 30 +0.0 + 10 +10.90604330708661 + 20 +3.632925196850394 + 30 +0.0 + 10 +10.91234645669291 + 20 +3.636425196850394 + 30 +0.0 + 10 +10.91923622047244 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.92665354330709 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.92665354330709 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.93603937007874 + 20 +3.638177165354331 + 30 +0.0 + 10 +10.94373622047244 + 20 +3.635787401574803 + 30 +0.0 + 10 +10.9496811023622 + 20 +3.631035433070866 + 30 +0.0 + 10 +10.9496811023622 + 20 +3.631035433070866 + 30 +0.0 + 10 +10.95565354330709 + 20 +3.626287401574803 + 30 +0.0 + 10 +10.9594842519685 + 20 +3.619562992125984 + 30 +0.0 + 10 +10.9611811023622 + 20 +3.610814960629921 + 30 +0.0 + 10 +10.9611811023622 + 20 +3.610814960629921 + 30 +0.0 + 10 +10.9611811023622 + 20 +3.610814960629921 + 30 +0.0 + 10 +10.94692913385827 + 20 +3.608622047244094 + 30 +0.0 + 10 +10.94692913385827 + 20 +3.608622047244094 + 30 +0.0 + 10 +10.94692913385827 + 20 +3.608622047244094 + 30 +0.0 + 10 +10.94556692913386 + 20 +3.614425196850394 + 30 +0.0 + 10 +10.9431811023622 + 20 +3.618787401574803 + 30 +0.0 + 10 +10.93973622047244 + 20 +3.621732283464567 + 30 +0.0 + 10 +10.93973622047244 + 20 +3.621732283464567 + 30 +0.0 + 10 +10.93629133858268 + 20 +3.624649606299212 + 30 +0.0 + 10 +10.93212598425197 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.92723622047244 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.92723622047244 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.91984645669291 + 20 +3.626122047244094 + 30 +0.0 + 10 +10.91384645669291 + 20 +3.62348031496063 + 30 +0.0 + 10 +10.90923622047244 + 20 +3.618177165354331 + 30 +0.0 + 10 +10.90923622047244 + 20 +3.618177165354331 + 30 +0.0 + 10 +10.90462598425197 + 20 +3.612897637795276 + 30 +0.0 + 10 +10.90231889763779 + 20 +3.604535433070866 + 30 +0.0 + 10 +10.90231889763779 + 20 +3.593094488188977 + 30 +0.0 + 10 +10.90231889763779 + 20 +3.593094488188977 + 30 +0.0 + 10 +10.90231889763779 + 20 +3.58148031496063 + 30 +0.0 + 10 +10.90454330708661 + 20 +3.573035433070866 + 30 +0.0 + 10 +10.90901181102362 + 20 +3.567759842519685 + 30 +0.0 + 10 +10.90901181102362 + 20 +3.567759842519685 + 30 +0.0 + 10 +10.91345669291339 + 20 +3.562507874015748 + 30 +0.0 + 10 +10.91926377952756 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.92642913385827 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.92642913385827 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.9321811023622 + 20 +3.559870078740158 + 30 +0.0 + 10 +10.93695669291339 + 20 +3.561649606299213 + 30 +0.0 + 10 +10.9408188976378 + 20 +3.56517716535433 + 30 +0.0 + 10 +10.9408188976378 + 20 +3.56517716535433 + 30 +0.0 + 10 +10.94468110236221 + 20 +3.568704724409449 + 30 +0.0 + 10 +10.94712598425197 + 20 +3.574122047244094 + 30 +0.0 + 10 +10.94815354330709 + 20 +3.581452755905512 + 30 +0.0 + 0 +SPLINE + 5 +307 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.19896456692913 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.28521653543307 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.432287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.28074409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.418287401574803 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.21474409448819 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.28799212598425 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.19896456692913 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +308 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.30912992125984 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.423732283464567 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.423732283464567 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.423732283464567 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.423732283464567 + 30 +0.0 + 10 +10.38418503937008 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.38418503937008 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.38418503937008 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.38418503937008 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.40557480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.40557480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.40557480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.40557480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.35551968503937 + 20 +3.434566929133858 + 30 +0.0 + 10 +10.35551968503937 + 20 +3.434566929133858 + 30 +0.0 + 10 +10.35551968503937 + 20 +3.434566929133858 + 30 +0.0 + 10 +10.35551968503937 + 20 +3.434566929133858 + 30 +0.0 + 10 +10.40776771653543 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.40776771653543 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.40776771653543 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.40776771653543 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.38693700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.38693700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.38693700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.38693700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.34446456692913 + 20 +3.423984251968504 + 30 +0.0 + 10 +10.34446456692913 + 20 +3.423984251968504 + 30 +0.0 + 10 +10.34446456692913 + 20 +3.423984251968504 + 30 +0.0 + 10 +10.34446456692913 + 20 +3.423984251968504 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.404929133858268 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.404929133858268 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.404929133858268 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.404929133858268 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.32493700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.30912992125984 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +309 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.42046456692913 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.44424015748032 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.44424015748032 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.44424015748032 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.44424015748032 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.47246456692913 + 20 +3.398429133858268 + 30 +0.0 + 10 +10.47246456692913 + 20 +3.398429133858268 + 30 +0.0 + 10 +10.47246456692913 + 20 +3.398429133858268 + 30 +0.0 + 10 +10.47507480314961 + 20 +3.390566929133858 + 30 +0.0 + 10 +10.47699212598425 + 20 +3.384677165354331 + 30 +0.0 + 10 +10.47815748031496 + 20 +3.380759842519685 + 30 +0.0 + 10 +10.47815748031496 + 20 +3.380759842519685 + 30 +0.0 + 10 +10.47951968503937 + 20 +3.385094488188976 + 30 +0.0 + 10 +10.48162992125984 + 20 +3.391484251968504 + 30 +0.0 + 10 +10.48451968503937 + 20 +3.39990157480315 + 30 +0.0 + 10 +10.48451968503937 + 20 +3.39990157480315 + 30 +0.0 + 10 +10.48451968503937 + 20 +3.39990157480315 + 30 +0.0 + 10 +10.51307480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.51307480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.51307480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.51307480314961 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.53432283464567 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.463456692913386 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.463456692913386 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.463456692913386 + 30 +0.0 + 10 +10.51910236220473 + 20 +3.463456692913386 + 30 +0.0 + 10 +10.48443700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.48443700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.48443700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.48443700787402 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.47018503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.47018503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.47018503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.47018503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.465149606299212 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.465149606299212 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.465149606299212 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.465149606299212 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.43568503937008 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.42046456692913 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +30A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.55912598425197 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.60390551181102 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.60390551181102 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.60390551181102 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.6130157480315 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.62032283464567 + 20 +3.481677165354331 + 30 +0.0 + 10 +10.62582283464567 + 20 +3.479287401574803 + 30 +0.0 + 10 +10.62582283464567 + 20 +3.479287401574803 + 30 +0.0 + 10 +10.63135039370079 + 20 +3.476870078740157 + 30 +0.0 + 10 +10.63565354330709 + 20 +3.473149606299212 + 30 +0.0 + 10 +10.63876377952756 + 20 +3.468122047244095 + 30 +0.0 + 10 +10.63876377952756 + 20 +3.468122047244095 + 30 +0.0 + 10 +10.64187795275591 + 20 +3.463122047244095 + 30 +0.0 + 10 +10.64346062992126 + 20 +3.457870078740157 + 30 +0.0 + 10 +10.64346062992126 + 20 +3.452370078740158 + 30 +0.0 + 10 +10.64346062992126 + 20 +3.452370078740158 + 30 +0.0 + 10 +10.64346062992126 + 20 +3.447287401574803 + 30 +0.0 + 10 +10.64207086614173 + 20 +3.442484251968504 + 30 +0.0 + 10 +10.63929527559055 + 20 +3.437984251968504 + 30 +0.0 + 10 +10.63929527559055 + 20 +3.437984251968504 + 30 +0.0 + 10 +10.63654330708661 + 20 +3.433484251968504 + 30 +0.0 + 10 +10.63235039370079 + 20 +3.429842519685039 + 30 +0.0 + 10 +10.62676771653543 + 20 +3.427066929133858 + 30 +0.0 + 10 +10.62676771653543 + 20 +3.427066929133858 + 30 +0.0 + 10 +10.63398818897638 + 20 +3.424956692913386 + 30 +0.0 + 10 +10.6395157480315 + 20 +3.42134251968504 + 30 +0.0 + 10 +10.64340551181102 + 20 +3.416259842519685 + 30 +0.0 + 10 +10.64340551181102 + 20 +3.416259842519685 + 30 +0.0 + 10 +10.64729527559055 + 20 +3.411149606299213 + 30 +0.0 + 10 +10.64923622047244 + 20 +3.405122047244094 + 30 +0.0 + 10 +10.64923622047244 + 20 +3.398177165354331 + 30 +0.0 + 10 +10.64923622047244 + 20 +3.398177165354331 + 30 +0.0 + 10 +10.64923622047244 + 20 +3.392594488188976 + 30 +0.0 + 10 +10.64804330708661 + 20 +3.38740157480315 + 30 +0.0 + 10 +10.64568110236221 + 20 +3.382594488188976 + 30 +0.0 + 10 +10.64568110236221 + 20 +3.382594488188976 + 30 +0.0 + 10 +10.64332283464567 + 20 +3.377787401574803 + 30 +0.0 + 10 +10.64040551181102 + 20 +3.374094488188976 + 30 +0.0 + 10 +10.63693307086614 + 20 +3.371484251968504 + 30 +0.0 + 10 +10.63693307086614 + 20 +3.371484251968504 + 30 +0.0 + 10 +10.63346062992126 + 20 +3.368874015748032 + 30 +0.0 + 10 +10.62909842519685 + 20 +3.366929133858268 + 30 +0.0 + 10 +10.6238779527559 + 20 +3.365594488188977 + 30 +0.0 + 10 +10.6238779527559 + 20 +3.365594488188977 + 30 +0.0 + 10 +10.61865354330709 + 20 +3.364259842519685 + 30 +0.0 + 10 +10.61223622047244 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.60462598425197 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.60462598425197 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.60462598425197 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.55912598425197 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +30B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.57493307086614 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.60074015748032 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.60074015748032 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.60074015748032 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.60770866141732 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.61273622047244 + 20 +3.433232283464567 + 30 +0.0 + 10 +10.61579527559055 + 20 +3.434149606299213 + 30 +0.0 + 10 +10.61579527559055 + 20 +3.434149606299213 + 30 +0.0 + 10 +10.61979527559055 + 20 +3.435342519685039 + 30 +0.0 + 10 +10.62282283464567 + 20 +3.437314960629921 + 30 +0.0 + 10 +10.62485039370079 + 20 +3.440094488188977 + 30 +0.0 + 10 +10.62485039370079 + 20 +3.440094488188977 + 30 +0.0 + 10 +10.6268779527559 + 20 +3.442870078740158 + 30 +0.0 + 10 +10.62790551181102 + 20 +3.446342519685039 + 30 +0.0 + 10 +10.62790551181102 + 20 +3.450511811023622 + 30 +0.0 + 10 +10.62790551181102 + 20 +3.450511811023622 + 30 +0.0 + 10 +10.62790551181102 + 20 +3.454456692913386 + 30 +0.0 + 10 +10.62696062992126 + 20 +3.457956692913386 + 30 +0.0 + 10 +10.62507086614173 + 20 +3.460956692913386 + 30 +0.0 + 10 +10.62507086614173 + 20 +3.460956692913386 + 30 +0.0 + 10 +10.62315354330709 + 20 +3.463984251968504 + 30 +0.0 + 10 +10.62043307086614 + 20 +3.46603937007874 + 30 +0.0 + 10 +10.61693307086614 + 20 +3.467149606299213 + 30 +0.0 + 10 +10.61693307086614 + 20 +3.467149606299213 + 30 +0.0 + 10 +10.61340551181102 + 20 +3.468259842519685 + 30 +0.0 + 10 +10.60735039370079 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.59876771653543 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.59876771653543 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.59876771653543 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.468814960629921 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.432759842519685 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.432759842519685 + 30 +0.0 + 0 +SPLINE + 5 +30C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.57493307086614 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.60462598425197 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.60462598425197 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.60462598425197 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.60973622047244 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.61332283464567 + 20 +3.377874015748032 + 30 +0.0 + 10 +10.6153779527559 + 20 +3.378232283464567 + 30 +0.0 + 10 +10.6153779527559 + 20 +3.378232283464567 + 30 +0.0 + 10 +10.6190157480315 + 20 +3.378901574803149 + 30 +0.0 + 10 +10.62204330708661 + 20 +3.379984251968504 + 30 +0.0 + 10 +10.62448818897638 + 20 +3.381511811023622 + 30 +0.0 + 10 +10.62448818897638 + 20 +3.381511811023622 + 30 +0.0 + 10 +10.62693307086614 + 20 +3.383011811023622 + 30 +0.0 + 10 +10.62893307086614 + 20 +3.385232283464567 + 30 +0.0 + 10 +10.6305157480315 + 20 +3.388122047244094 + 30 +0.0 + 10 +10.6305157480315 + 20 +3.388122047244094 + 30 +0.0 + 10 +10.63207086614173 + 20 +3.39103937007874 + 30 +0.0 + 10 +10.6328779527559 + 20 +3.394370078740157 + 30 +0.0 + 10 +10.6328779527559 + 20 +3.398177165354331 + 30 +0.0 + 10 +10.6328779527559 + 20 +3.398177165354331 + 30 +0.0 + 10 +10.6328779527559 + 20 +3.402622047244094 + 30 +0.0 + 10 +10.63173622047244 + 20 +3.406484251968504 + 30 +0.0 + 10 +10.62946062992126 + 20 +3.409787401574803 + 30 +0.0 + 10 +10.62946062992126 + 20 +3.409787401574803 + 30 +0.0 + 10 +10.6271811023622 + 20 +3.413066929133858 + 30 +0.0 + 10 +10.6240157480315 + 20 +3.415370078740157 + 30 +0.0 + 10 +10.61996062992126 + 20 +3.416704724409449 + 30 +0.0 + 10 +10.61996062992126 + 20 +3.416704724409449 + 30 +0.0 + 10 +10.61593307086614 + 20 +3.418011811023622 + 30 +0.0 + 10 +10.61009842519685 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.6025157480315 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.6025157480315 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.6025157480315 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.418677165354331 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.37767716535433 + 30 +0.0 + 10 +10.57493307086614 + 20 +3.37767716535433 + 30 +0.0 + 0 +SPLINE + 5 +30D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.7201811023622 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.456925196850394 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.456925196850394 + 30 +0.0 + 10 +10.70554330708661 + 20 +3.456925196850394 + 30 +0.0 + 10 +10.7020157480315 + 20 +3.453566929133858 + 30 +0.0 + 10 +10.69740551181102 + 20 +3.450204724409449 + 30 +0.0 + 10 +10.6916811023622 + 20 +3.446842519685039 + 30 +0.0 + 10 +10.6916811023622 + 20 +3.446842519685039 + 30 +0.0 + 10 +10.68593307086614 + 20 +3.443484251968504 + 30 +0.0 + 10 +10.68079133858268 + 20 +3.440956692913386 + 30 +0.0 + 10 +10.67623622047244 + 20 +3.439287401574803 + 30 +0.0 + 10 +10.67623622047244 + 20 +3.439287401574803 + 30 +0.0 + 10 +10.67623622047244 + 20 +3.439287401574803 + 30 +0.0 + 10 +10.67623622047244 + 20 +3.453425196850394 + 30 +0.0 + 10 +10.67623622047244 + 20 +3.453425196850394 + 30 +0.0 + 10 +10.67623622047244 + 20 +3.453425196850394 + 30 +0.0 + 10 +10.68443307086614 + 20 +3.457287401574803 + 30 +0.0 + 10 +10.69159842519685 + 20 +3.461956692913386 + 30 +0.0 + 10 +10.69773622047244 + 20 +3.467425196850394 + 30 +0.0 + 10 +10.69773622047244 + 20 +3.467425196850394 + 30 +0.0 + 10 +10.70384645669291 + 20 +3.472925196850394 + 30 +0.0 + 10 +10.70820866141732 + 20 +3.478232283464567 + 30 +0.0 + 10 +10.71076377952756 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.71076377952756 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.71076377952756 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.483397637795276 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.7201811023622 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +30E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.75151181102362 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.75151181102362 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.7976811023622 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.7976811023622 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.7976811023622 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.7976811023622 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.7569842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.7569842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.7569842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.7569842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.77576377952756 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.77576377952756 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.77576377952756 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.77576377952756 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.79742913385827 + 20 +3.452287401574803 + 30 +0.0 + 10 +10.79742913385827 + 20 +3.452287401574803 + 30 +0.0 + 10 +10.79742913385827 + 20 +3.452287401574803 + 30 +0.0 + 10 +10.80192913385827 + 20 +3.445956692913386 + 30 +0.0 + 10 +10.80512598425197 + 20 +3.441066929133858 + 30 +0.0 + 10 +10.80701181102362 + 20 +3.437649606299213 + 30 +0.0 + 10 +10.80701181102362 + 20 +3.437649606299213 + 30 +0.0 + 10 +10.80968110236221 + 20 +3.441984251968504 + 30 +0.0 + 10 +10.8128188976378 + 20 +3.446511811023622 + 30 +0.0 + 10 +10.81645669291339 + 20 +3.451232283464567 + 30 +0.0 + 10 +10.81645669291339 + 20 +3.451232283464567 + 30 +0.0 + 10 +10.81645669291339 + 20 +3.451232283464567 + 30 +0.0 + 10 +10.8404842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.8404842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.8404842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.8404842519685 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.85765354330709 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.85765354330709 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.85765354330709 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.85765354330709 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.81573622047244 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.81573622047244 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.81573622047244 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.81573622047244 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.86090157480315 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.86090157480315 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.86090157480315 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.86090157480315 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.84137401574803 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.84137401574803 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.84137401574803 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.84137401574803 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.81134645669291 + 20 +3.406149606299213 + 30 +0.0 + 10 +10.81134645669291 + 20 +3.406149606299213 + 30 +0.0 + 10 +10.81134645669291 + 20 +3.406149606299213 + 30 +0.0 + 10 +10.80965354330709 + 20 +3.408594488188976 + 30 +0.0 + 10 +10.80792913385827 + 20 +3.411259842519685 + 30 +0.0 + 10 +10.80612598425197 + 20 +3.414122047244094 + 30 +0.0 + 10 +10.80612598425197 + 20 +3.414122047244094 + 30 +0.0 + 10 +10.80345669291339 + 20 +3.409787401574803 + 30 +0.0 + 10 +10.80156692913386 + 20 +3.406814960629921 + 30 +0.0 + 10 +10.80042913385827 + 20 +3.405177165354331 + 30 +0.0 + 10 +10.80042913385827 + 20 +3.405177165354331 + 30 +0.0 + 10 +10.80042913385827 + 20 +3.405177165354331 + 30 +0.0 + 10 +10.7704842519685 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.7704842519685 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.7704842519685 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.7704842519685 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.75151181102362 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.75151181102362 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +30F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.86267716535433 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.86267716535433 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.90884645669291 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.90884645669291 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.90884645669291 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.90884645669291 + 20 +3.425759842519685 + 30 +0.0 + 10 +10.86814960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.86814960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.86814960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.86814960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.88692913385827 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.88692913385827 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.88692913385827 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.88692913385827 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.90859448818898 + 20 +3.452287401574803 + 30 +0.0 + 10 +10.90859448818898 + 20 +3.452287401574803 + 30 +0.0 + 10 +10.90859448818898 + 20 +3.452287401574803 + 30 +0.0 + 10 +10.91309448818898 + 20 +3.445956692913386 + 30 +0.0 + 10 +10.91629133858268 + 20 +3.441066929133858 + 30 +0.0 + 10 +10.91817716535433 + 20 +3.437649606299213 + 30 +0.0 + 10 +10.91817716535433 + 20 +3.437649606299213 + 30 +0.0 + 10 +10.92084645669291 + 20 +3.441984251968504 + 30 +0.0 + 10 +10.9239842519685 + 20 +3.446511811023622 + 30 +0.0 + 10 +10.92762204724409 + 20 +3.451232283464567 + 30 +0.0 + 10 +10.92762204724409 + 20 +3.451232283464567 + 30 +0.0 + 10 +10.92762204724409 + 20 +3.451232283464567 + 30 +0.0 + 10 +10.95164960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.95164960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.95164960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.95164960629921 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.9688188976378 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.9688188976378 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.9688188976378 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.9688188976378 + 20 +3.482897637795276 + 30 +0.0 + 10 +10.92690157480315 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.92690157480315 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.92690157480315 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.92690157480315 + 20 +3.426677165354331 + 30 +0.0 + 10 +10.97206692913386 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.97206692913386 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.97206692913386 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.97206692913386 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.95253937007874 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.95253937007874 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.95253937007874 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.95253937007874 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.92251181102362 + 20 +3.406149606299213 + 30 +0.0 + 10 +10.92251181102362 + 20 +3.406149606299213 + 30 +0.0 + 10 +10.92251181102362 + 20 +3.406149606299213 + 30 +0.0 + 10 +10.9208188976378 + 20 +3.408594488188976 + 30 +0.0 + 10 +10.91909448818898 + 20 +3.411259842519685 + 30 +0.0 + 10 +10.91729133858268 + 20 +3.414122047244094 + 30 +0.0 + 10 +10.91729133858268 + 20 +3.414122047244094 + 30 +0.0 + 10 +10.91462204724409 + 20 +3.409787401574803 + 30 +0.0 + 10 +10.91273228346457 + 20 +3.406814960629921 + 30 +0.0 + 10 +10.91159448818898 + 20 +3.405177165354331 + 30 +0.0 + 10 +10.91159448818898 + 20 +3.405177165354331 + 30 +0.0 + 10 +10.91159448818898 + 20 +3.405177165354331 + 30 +0.0 + 10 +10.88164960629921 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.88164960629921 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.88164960629921 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.88164960629921 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.86267716535433 + 20 +3.363594488188976 + 30 +0.0 + 10 +10.86267716535433 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +310 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.98012204724409 + 20 +3.395094488188976 + 30 +0.0 + 10 +10.98012204724409 + 20 +3.395094488188976 + 30 +0.0 + 10 +10.99475984251968 + 20 +3.39703937007874 + 30 +0.0 + 10 +10.99475984251968 + 20 +3.39703937007874 + 30 +0.0 + 10 +10.99475984251968 + 20 +3.39703937007874 + 30 +0.0 + 10 +10.99645669291339 + 20 +3.388732283464567 + 30 +0.0 + 10 +10.99931496062992 + 20 +3.382759842519685 + 30 +0.0 + 10 +11.00334251968504 + 20 +3.379094488188976 + 30 +0.0 + 10 +11.00334251968504 + 20 +3.379094488188976 + 30 +0.0 + 10 +11.00739763779528 + 20 +3.375429133858268 + 30 +0.0 + 10 +11.01231496062992 + 20 +3.373594488188977 + 30 +0.0 + 10 +11.01812204724409 + 20 +3.373594488188977 + 30 +0.0 + 10 +11.01812204724409 + 20 +3.373594488188977 + 30 +0.0 + 10 +11.02501181102362 + 20 +3.373594488188977 + 30 +0.0 + 10 +11.03084251968504 + 20 +3.375984251968504 + 30 +0.0 + 10 +11.03559448818898 + 20 +3.380759842519685 + 30 +0.0 + 10 +11.03559448818898 + 20 +3.380759842519685 + 30 +0.0 + 10 +11.04031496062992 + 20 +3.38553937007874 + 30 +0.0 + 10 +11.04270472440945 + 20 +3.391456692913386 + 30 +0.0 + 10 +11.04270472440945 + 20 +3.398511811023622 + 30 +0.0 + 10 +11.04270472440945 + 20 +3.398511811023622 + 30 +0.0 + 10 +11.04270472440945 + 20 +3.405232283464567 + 30 +0.0 + 10 +11.04051181102362 + 20 +3.410787401574803 + 30 +0.0 + 10 +11.03612204724409 + 20 +3.415149606299213 + 30 +0.0 + 10 +11.03612204724409 + 20 +3.415149606299213 + 30 +0.0 + 10 +11.03170472440945 + 20 +3.419511811023622 + 30 +0.0 + 10 +11.02612204724409 + 20 +3.421704724409449 + 30 +0.0 + 10 +11.01934251968504 + 20 +3.421704724409449 + 30 +0.0 + 10 +11.01934251968504 + 20 +3.421704724409449 + 30 +0.0 + 10 +11.01656692913386 + 20 +3.421704724409449 + 30 +0.0 + 10 +11.01312204724409 + 20 +3.421149606299212 + 30 +0.0 + 10 +11.00901181102362 + 20 +3.420066929133858 + 30 +0.0 + 10 +11.00901181102362 + 20 +3.420066929133858 + 30 +0.0 + 10 +11.00901181102362 + 20 +3.420066929133858 + 30 +0.0 + 10 +11.01064960629921 + 20 +3.432929133858268 + 30 +0.0 + 10 +11.01064960629921 + 20 +3.432929133858268 + 30 +0.0 + 10 +11.01064960629921 + 20 +3.432929133858268 + 30 +0.0 + 10 +11.01162204724409 + 20 +3.432814960629921 + 30 +0.0 + 10 +11.01239763779528 + 20 +3.432759842519685 + 30 +0.0 + 10 +11.01301181102362 + 20 +3.432759842519685 + 30 +0.0 + 10 +11.01301181102362 + 20 +3.432759842519685 + 30 +0.0 + 10 +11.01923228346457 + 20 +3.432759842519685 + 30 +0.0 + 10 +11.02484251968504 + 20 +3.434397637795275 + 30 +0.0 + 10 +11.02984251968504 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.02984251968504 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.03484251968504 + 20 +3.440897637795276 + 30 +0.0 + 10 +11.03734251968504 + 20 +3.445929133858268 + 30 +0.0 + 10 +11.03734251968504 + 20 +3.452704724409449 + 30 +0.0 + 10 +11.03734251968504 + 20 +3.452704724409449 + 30 +0.0 + 10 +11.03734251968504 + 20 +3.458066929133858 + 30 +0.0 + 10 +11.03551181102362 + 20 +3.46253937007874 + 30 +0.0 + 10 +11.03187007874016 + 20 +3.46603937007874 + 30 +0.0 + 10 +11.03187007874016 + 20 +3.46603937007874 + 30 +0.0 + 10 +11.02823228346457 + 20 +3.469566929133858 + 30 +0.0 + 10 +11.02353937007874 + 20 +3.471342519685039 + 30 +0.0 + 10 +11.0177874015748 + 20 +3.471342519685039 + 30 +0.0 + 10 +11.0177874015748 + 20 +3.471342519685039 + 30 +0.0 + 10 +11.01209448818898 + 20 +3.471342519685039 + 30 +0.0 + 10 +11.00734251968504 + 20 +3.46953937007874 + 30 +0.0 + 10 +11.00356692913386 + 20 +3.465984251968504 + 30 +0.0 + 10 +11.00356692913386 + 20 +3.465984251968504 + 30 +0.0 + 10 +10.99975984251969 + 20 +3.462397637795275 + 30 +0.0 + 10 +10.99731496062992 + 20 +3.457011811023622 + 30 +0.0 + 10 +10.99623228346457 + 20 +3.449842519685039 + 30 +0.0 + 10 +10.99623228346457 + 20 +3.449842519685039 + 30 +0.0 + 10 +10.99623228346457 + 20 +3.449842519685039 + 30 +0.0 + 10 +10.98159448818898 + 20 +3.452456692913386 + 30 +0.0 + 10 +10.98159448818898 + 20 +3.452456692913386 + 30 +0.0 + 10 +10.98159448818898 + 20 +3.452456692913386 + 30 +0.0 + 10 +10.98337007874016 + 20 +3.462287401574803 + 30 +0.0 + 10 +10.98745669291339 + 20 +3.469897637795276 + 30 +0.0 + 10 +10.9937874015748 + 20 +3.475287401574803 + 30 +0.0 + 10 +10.9937874015748 + 20 +3.475287401574803 + 30 +0.0 + 10 +11.00014960629921 + 20 +3.480677165354331 + 30 +0.0 + 10 +11.00803937007874 + 20 +3.483397637795276 + 30 +0.0 + 10 +11.0174842519685 + 20 +3.483397637795276 + 30 +0.0 + 10 +11.0174842519685 + 20 +3.483397637795276 + 30 +0.0 + 10 +11.0239842519685 + 20 +3.483397637795276 + 30 +0.0 + 10 +11.0299842519685 + 20 +3.481984251968504 + 30 +0.0 + 10 +11.03545669291339 + 20 +3.479204724409449 + 30 +0.0 + 10 +11.03545669291339 + 20 +3.479204724409449 + 30 +0.0 + 10 +11.04092519685039 + 20 +3.476397637795276 + 30 +0.0 + 10 +11.04512204724409 + 20 +3.472594488188976 + 30 +0.0 + 10 +11.04803937007874 + 20 +3.467759842519685 + 30 +0.0 + 10 +11.04803937007874 + 20 +3.467759842519685 + 30 +0.0 + 10 +11.05092519685039 + 20 +3.462925196850394 + 30 +0.0 + 10 +11.05239763779528 + 20 +3.457814960629921 + 30 +0.0 + 10 +11.05239763779528 + 20 +3.452370078740158 + 30 +0.0 + 10 +11.05239763779528 + 20 +3.452370078740158 + 30 +0.0 + 10 +11.05239763779528 + 20 +3.447232283464567 + 30 +0.0 + 10 +11.05101181102362 + 20 +3.44253937007874 + 30 +0.0 + 10 +11.04823228346457 + 20 +3.438287401574803 + 30 +0.0 + 10 +11.04823228346457 + 20 +3.438287401574803 + 30 +0.0 + 10 +11.04545669291339 + 20 +3.434066929133858 + 30 +0.0 + 10 +11.04137007874016 + 20 +3.430704724409449 + 30 +0.0 + 10 +11.03595669291339 + 20 +3.428204724409449 + 30 +0.0 + 10 +11.03595669291339 + 20 +3.428204724409449 + 30 +0.0 + 10 +11.04301181102362 + 20 +3.426594488188976 + 30 +0.0 + 10 +11.0484842519685 + 20 +3.423204724409449 + 30 +0.0 + 10 +11.05239763779528 + 20 +3.418066929133858 + 30 +0.0 + 10 +11.05239763779528 + 20 +3.418066929133858 + 30 +0.0 + 10 +11.0562874015748 + 20 +3.412956692913386 + 30 +0.0 + 10 +11.05823228346457 + 20 +3.40653937007874 + 30 +0.0 + 10 +11.05823228346457 + 20 +3.39884251968504 + 30 +0.0 + 10 +11.05823228346457 + 20 +3.39884251968504 + 30 +0.0 + 10 +11.05823228346457 + 20 +3.388429133858267 + 30 +0.0 + 10 +11.05445669291339 + 20 +3.379594488188976 + 30 +0.0 + 10 +11.04684251968504 + 20 +3.372342519685039 + 30 +0.0 + 10 +11.04684251968504 + 20 +3.372342519685039 + 30 +0.0 + 10 +11.03925984251969 + 20 +3.365094488188976 + 30 +0.0 + 10 +11.02964960629921 + 20 +3.361484251968504 + 30 +0.0 + 10 +11.01803937007874 + 20 +3.361484251968504 + 30 +0.0 + 10 +11.01803937007874 + 20 +3.361484251968504 + 30 +0.0 + 10 +11.00756692913386 + 20 +3.361484251968504 + 30 +0.0 + 10 +10.99887007874016 + 20 +3.364594488188976 + 30 +0.0 + 10 +10.99195669291339 + 20 +3.37084251968504 + 30 +0.0 + 10 +10.99195669291339 + 20 +3.37084251968504 + 30 +0.0 + 10 +10.98503937007874 + 20 +3.377066929133858 + 30 +0.0 + 10 +10.98109448818898 + 20 +3.385149606299213 + 30 +0.0 + 10 +10.98012204724409 + 20 +3.395094488188976 + 30 +0.0 + 0 +SPLINE + 5 +311 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.06653543307087 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.06653543307087 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.11270472440945 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.11270472440945 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.11270472440945 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.11270472440945 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.07200787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.07200787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.07200787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.07200787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.0907874015748 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.0907874015748 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.0907874015748 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.0907874015748 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.11245275590551 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.11245275590551 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.11245275590551 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.11695275590551 + 20 +3.445956692913386 + 30 +0.0 + 10 +11.12014960629921 + 20 +3.441066929133858 + 30 +0.0 + 10 +11.12203543307087 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.12203543307087 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.12470472440945 + 20 +3.441984251968504 + 30 +0.0 + 10 +11.12784251968504 + 20 +3.446511811023622 + 30 +0.0 + 10 +11.13148031496063 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.13148031496063 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.13148031496063 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.15550787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.15550787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.15550787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.15550787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.17267716535433 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.17267716535433 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.17267716535433 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.17267716535433 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.13075984251969 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.13075984251969 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.13075984251969 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.13075984251969 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.17592519685039 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.15639763779528 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.15639763779528 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.15639763779528 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.15639763779528 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.12637007874016 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.12637007874016 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.12637007874016 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.12467716535433 + 20 +3.408594488188976 + 30 +0.0 + 10 +11.12295275590551 + 20 +3.411259842519685 + 30 +0.0 + 10 +11.12114960629921 + 20 +3.414122047244094 + 30 +0.0 + 10 +11.12114960629921 + 20 +3.414122047244094 + 30 +0.0 + 10 +11.11848031496063 + 20 +3.409787401574803 + 30 +0.0 + 10 +11.1165905511811 + 20 +3.406814960629921 + 30 +0.0 + 10 +11.11545275590551 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.11545275590551 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.11545275590551 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.08550787401575 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.08550787401575 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.08550787401575 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.08550787401575 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.06653543307087 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.06653543307087 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +312 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.17770078740157 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.17770078740157 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.22387007874016 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.22387007874016 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.22387007874016 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.22387007874016 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.18317322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.18317322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.18317322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.18317322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.20195275590551 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.20195275590551 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.20195275590551 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.20195275590551 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.22361811023622 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.22361811023622 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.22361811023622 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.22811811023622 + 20 +3.445956692913386 + 30 +0.0 + 10 +11.23131496062992 + 20 +3.441066929133858 + 30 +0.0 + 10 +11.23320078740158 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.23320078740158 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.23587007874016 + 20 +3.441984251968504 + 30 +0.0 + 10 +11.23900787401575 + 20 +3.446511811023622 + 30 +0.0 + 10 +11.24264566929134 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.24264566929134 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.24264566929134 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.26667322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.26667322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.26667322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.26667322834646 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.28384251968504 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.28384251968504 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.28384251968504 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.28384251968504 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.24192519685039 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.24192519685039 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.24192519685039 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.24192519685039 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.2870905511811 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.2870905511811 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.2870905511811 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.2870905511811 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.26756299212598 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.26756299212598 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.26756299212598 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.26756299212598 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.23753543307087 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.23753543307087 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.23753543307087 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.23584251968504 + 20 +3.408594488188976 + 30 +0.0 + 10 +11.23411811023622 + 20 +3.411259842519685 + 30 +0.0 + 10 +11.23231496062992 + 20 +3.414122047244094 + 30 +0.0 + 10 +11.23231496062992 + 20 +3.414122047244094 + 30 +0.0 + 10 +11.22964566929134 + 20 +3.409787401574803 + 30 +0.0 + 10 +11.22775590551181 + 20 +3.406814960629921 + 30 +0.0 + 10 +11.22661811023622 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.22661811023622 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.22661811023622 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.19667322834646 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.19667322834646 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.19667322834646 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.19667322834646 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.17770078740157 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.17770078740157 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +313 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.28886614173228 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.28886614173228 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.33503543307087 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.33503543307087 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.33503543307087 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.33503543307087 + 20 +3.425759842519685 + 30 +0.0 + 10 +11.29433858267716 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.29433858267716 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.29433858267716 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.29433858267716 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.31311811023622 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.31311811023622 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.31311811023622 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.31311811023622 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.33478346456693 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.33478346456693 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.33478346456693 + 20 +3.452287401574803 + 30 +0.0 + 10 +11.33928346456693 + 20 +3.445956692913386 + 30 +0.0 + 10 +11.34248031496063 + 20 +3.441066929133858 + 30 +0.0 + 10 +11.34436614173228 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.34436614173228 + 20 +3.437649606299213 + 30 +0.0 + 10 +11.34703543307087 + 20 +3.441984251968504 + 30 +0.0 + 10 +11.35017322834646 + 20 +3.446511811023622 + 30 +0.0 + 10 +11.35381102362205 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.35381102362205 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.35381102362205 + 20 +3.451232283464567 + 30 +0.0 + 10 +11.37783858267717 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.37783858267717 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.37783858267717 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.37783858267717 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.39500787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.39500787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.39500787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.39500787401575 + 20 +3.482897637795276 + 30 +0.0 + 10 +11.3530905511811 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.3530905511811 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.3530905511811 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.3530905511811 + 20 +3.426677165354331 + 30 +0.0 + 10 +11.39825590551181 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.39825590551181 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.39825590551181 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.39825590551181 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.37872834645669 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.37872834645669 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.37872834645669 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.37872834645669 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.34870078740157 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.34870078740157 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.34870078740157 + 20 +3.406149606299213 + 30 +0.0 + 10 +11.34700787401575 + 20 +3.408594488188976 + 30 +0.0 + 10 +11.34528346456693 + 20 +3.411259842519685 + 30 +0.0 + 10 +11.34348031496063 + 20 +3.414122047244094 + 30 +0.0 + 10 +11.34348031496063 + 20 +3.414122047244094 + 30 +0.0 + 10 +11.34081102362205 + 20 +3.409787401574803 + 30 +0.0 + 10 +11.33892125984252 + 20 +3.406814960629921 + 30 +0.0 + 10 +11.33778346456693 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.33778346456693 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.33778346456693 + 20 +3.405177165354331 + 30 +0.0 + 10 +11.30783858267717 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.30783858267717 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.30783858267717 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.30783858267717 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.28886614173228 + 20 +3.363594488188976 + 30 +0.0 + 10 +11.28886614173228 + 20 +3.363594488188976 + 30 +0.0 + 0 +SPLINE + 5 +314 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.625811023622047 + 20 +5.369944881889764 + 30 +0.0 + 10 +7.625811023622047 + 20 +5.369944881889764 + 30 +0.0 + 10 +7.657421259842519 + 20 +5.361944881889764 + 30 +0.0 + 10 +7.657421259842519 + 20 +5.361944881889764 + 30 +0.0 + 10 +7.657421259842519 + 20 +5.361944881889764 + 30 +0.0 + 10 +7.650811023622047 + 20 +5.336059055118111 + 30 +0.0 + 10 +7.638866141732284 + 20 +5.316279527559055 + 30 +0.0 + 10 +7.621700787401575 + 20 +5.302614173228346 + 30 +0.0 + 10 +7.621700787401575 + 20 +5.302614173228346 + 30 +0.0 + 10 +7.604476377952756 + 20 +5.289 + 30 +0.0 + 10 +7.583476377952756 + 20 +5.282224409448819 + 30 +0.0 + 10 +7.558590551181102 + 20 +5.282224409448819 + 30 +0.0 + 10 +7.558590551181102 + 20 +5.282224409448819 + 30 +0.0 + 10 +7.532866141732283 + 20 +5.282224409448819 + 30 +0.0 + 10 +7.511976377952756 + 20 +5.287444881889764 + 30 +0.0 + 10 +7.495866141732283 + 20 +5.297889763779527 + 30 +0.0 + 10 +7.495866141732283 + 20 +5.297889763779527 + 30 +0.0 + 10 +7.479755905511811 + 20 +5.308389763779528 + 30 +0.0 + 10 +7.467476377952756 + 20 +5.32355905511811 + 30 +0.0 + 10 +7.459086614173228 + 20 +5.343389763779528 + 30 +0.0 + 10 +7.459086614173228 + 20 +5.343389763779528 + 30 +0.0 + 10 +7.450700787401574 + 20 +5.363279527559055 + 30 +0.0 + 10 +7.446476377952756 + 20 +5.384614173228346 + 30 +0.0 + 10 +7.446476377952756 + 20 +5.407389763779528 + 30 +0.0 + 10 +7.446476377952756 + 20 +5.407389763779528 + 30 +0.0 + 10 +7.446476377952756 + 20 +5.432224409448819 + 30 +0.0 + 10 +7.451200787401575 + 20 +5.453889763779528 + 30 +0.0 + 10 +7.460700787401575 + 20 +5.472389763779527 + 30 +0.0 + 10 +7.460700787401575 + 20 +5.472389763779527 + 30 +0.0 + 10 +7.470200787401575 + 20 +5.490889763779528 + 30 +0.0 + 10 +7.483700787401575 + 20 +5.504948818897637 + 30 +0.0 + 10 +7.501255905511811 + 20 +5.51455905511811 + 30 +0.0 + 10 +7.501255905511811 + 20 +5.51455905511811 + 30 +0.0 + 10 +7.518755905511811 + 20 +5.524169291338582 + 30 +0.0 + 10 +7.538031496062992 + 20 +5.528948818897637 + 30 +0.0 + 10 +7.559090551181102 + 20 +5.528948818897637 + 30 +0.0 + 10 +7.559090551181102 + 20 +5.528948818897637 + 30 +0.0 + 10 +7.582976377952756 + 20 +5.528948818897637 + 30 +0.0 + 10 +7.603035433070866 + 20 +5.522889763779528 + 30 +0.0 + 10 +7.619311023622047 + 20 +5.510724409448819 + 30 +0.0 + 10 +7.619311023622047 + 20 +5.510724409448819 + 30 +0.0 + 10 +7.635590551181102 + 20 +5.49855905511811 + 30 +0.0 + 10 +7.64692125984252 + 20 +5.481503937007874 + 30 +0.0 + 10 +7.653311023622047 + 20 +5.459448818897638 + 30 +0.0 + 10 +7.653311023622047 + 20 +5.459448818897638 + 30 +0.0 + 10 +7.653311023622047 + 20 +5.459448818897638 + 30 +0.0 + 10 +7.622255905511811 + 20 +5.452114173228346 + 30 +0.0 + 10 +7.622255905511811 + 20 +5.452114173228346 + 30 +0.0 + 10 +7.622255905511811 + 20 +5.452114173228346 + 30 +0.0 + 10 +7.616700787401575 + 20 +5.469503937007874 + 30 +0.0 + 10 +7.608700787401575 + 20 +5.482114173228346 + 30 +0.0 + 10 +7.598145669291338 + 20 +5.490059055118111 + 30 +0.0 + 10 +7.598145669291338 + 20 +5.490059055118111 + 30 +0.0 + 10 +7.587645669291339 + 20 +5.498003937007874 + 30 +0.0 + 10 +7.57442125984252 + 20 +5.501948818897638 + 30 +0.0 + 10 +7.55842125984252 + 20 +5.501948818897638 + 30 +0.0 + 10 +7.55842125984252 + 20 +5.501948818897638 + 30 +0.0 + 10 +7.540090551181103 + 20 +5.501948818897638 + 30 +0.0 + 10 +7.524811023622047 + 20 +5.49755905511811 + 30 +0.0 + 10 +7.512476377952756 + 20 +5.488779527559055 + 30 +0.0 + 10 +7.512476377952756 + 20 +5.488779527559055 + 30 +0.0 + 10 +7.500145669291339 + 20 +5.479948818897638 + 30 +0.0 + 10 +7.491476377952756 + 20 +5.468169291338583 + 30 +0.0 + 10 +7.486531496062992 + 20 +5.453334645669291 + 30 +0.0 + 10 +7.486531496062992 + 20 +5.453334645669291 + 30 +0.0 + 10 +7.481531496062992 + 20 +5.438559055118111 + 30 +0.0 + 10 +7.479031496062992 + 20 +5.423279527559055 + 30 +0.0 + 10 +7.479031496062992 + 20 +5.40755905511811 + 30 +0.0 + 10 +7.479031496062992 + 20 +5.40755905511811 + 30 +0.0 + 10 +7.479031496062992 + 20 +5.387224409448819 + 30 +0.0 + 10 +7.481976377952756 + 20 +5.36955905511811 + 30 +0.0 + 10 +7.487866141732283 + 20 +5.354389763779528 + 30 +0.0 + 10 +7.487866141732283 + 20 +5.354389763779528 + 30 +0.0 + 10 +7.493811023622047 + 20 +5.339279527559055 + 30 +0.0 + 10 +7.502976377952756 + 20 +5.327944881889763 + 30 +0.0 + 10 +7.515476377952756 + 20 +5.320444881889764 + 30 +0.0 + 10 +7.515476377952756 + 20 +5.320444881889764 + 30 +0.0 + 10 +7.527976377952756 + 20 +5.312944881889764 + 30 +0.0 + 10 +7.541476377952756 + 20 +5.309224409448819 + 30 +0.0 + 10 +7.556031496062992 + 20 +5.309224409448819 + 30 +0.0 + 10 +7.556031496062992 + 20 +5.309224409448819 + 30 +0.0 + 10 +7.573700787401575 + 20 +5.309224409448819 + 30 +0.0 + 10 +7.588645669291338 + 20 +5.314334645669291 + 30 +0.0 + 10 +7.60092125984252 + 20 +5.3245 + 30 +0.0 + 10 +7.60092125984252 + 20 +5.3245 + 30 +0.0 + 10 +7.613200787401575 + 20 +5.334724409448819 + 30 +0.0 + 10 +7.621476377952756 + 20 +5.349889763779528 + 30 +0.0 + 10 +7.625811023622047 + 20 +5.369944881889764 + 30 +0.0 + 0 +SPLINE + 5 +315 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.670090551181103 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.670090551181103 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.761755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.761755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.761755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.761755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.795755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.795755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.795755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.795755905511811 + 20 +5.524889763779528 + 30 +0.0 + 10 +7.893425196850393 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.893425196850393 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.893425196850393 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.893425196850393 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.857425196850394 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.857425196850394 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.857425196850394 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.857425196850394 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.829590551181102 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.829590551181102 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.829590551181102 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.829590551181102 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.729814960629922 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.729814960629922 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.729814960629922 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.729814960629922 + 20 +5.358559055118111 + 30 +0.0 + 10 +7.703645669291339 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.703645669291339 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.703645669291339 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.703645669291339 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.670090551181103 + 20 +5.286279527559056 + 30 +0.0 + 10 +7.670090551181103 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +316 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.738925196850394 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.738925196850394 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.819870078740157 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.819870078740157 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.819870078740157 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.819870078740157 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.794925196850394 + 20 +5.450334645669291 + 30 +0.0 + 10 +7.794925196850394 + 20 +5.450334645669291 + 30 +0.0 + 10 +7.794925196850394 + 20 +5.450334645669291 + 30 +0.0 + 10 +7.787370078740158 + 20 +5.470389763779528 + 30 +0.0 + 10 +7.781700787401575 + 20 +5.486889763779527 + 30 +0.0 + 10 +7.778035433070866 + 20 +5.499834645669291 + 30 +0.0 + 10 +7.778035433070866 + 20 +5.499834645669291 + 30 +0.0 + 10 +7.77498031496063 + 20 +5.484503937007874 + 30 +0.0 + 10 +7.770700787401575 + 20 +5.469334645669291 + 30 +0.0 + 10 +7.765145669291338 + 20 +5.454224409448819 + 30 +0.0 + 10 +7.765145669291338 + 20 +5.454224409448819 + 30 +0.0 + 10 +7.765145669291338 + 20 +5.454224409448819 + 30 +0.0 + 10 +7.738925196850394 + 20 +5.384279527559055 + 30 +0.0 + 10 +7.738925196850394 + 20 +5.384279527559055 + 30 +0.0 + 0 +SPLINE + 5 +317 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.907925196850393 + 20 +5.362944881889764 + 30 +0.0 + 10 +7.907925196850393 + 20 +5.362944881889764 + 30 +0.0 + 10 +7.937704724409449 + 20 +5.36555905511811 + 30 +0.0 + 10 +7.937704724409449 + 20 +5.36555905511811 + 30 +0.0 + 10 +7.937704724409449 + 20 +5.36555905511811 + 30 +0.0 + 10 +7.939090551181103 + 20 +5.353614173228347 + 30 +0.0 + 10 +7.942370078740158 + 20 +5.343834645669292 + 30 +0.0 + 10 +7.947535433070867 + 20 +5.336169291338583 + 30 +0.0 + 10 +7.947535433070867 + 20 +5.336169291338583 + 30 +0.0 + 10 +7.952704724409449 + 20 +5.3285 + 30 +0.0 + 10 +7.960704724409449 + 20 +5.322334645669291 + 30 +0.0 + 10 +7.971535433070867 + 20 +5.317614173228346 + 30 +0.0 + 10 +7.971535433070867 + 20 +5.317614173228346 + 30 +0.0 + 10 +7.982370078740158 + 20 +5.312889763779528 + 30 +0.0 + 10 +7.994590551181102 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.008149606299213 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.008149606299213 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.02020472440945 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.030814960629922 + 20 +5.312334645669291 + 30 +0.0 + 10 +8.040035433070866 + 20 +5.315889763779528 + 30 +0.0 + 10 +8.040035433070866 + 20 +5.315889763779528 + 30 +0.0 + 10 +8.049259842519685 + 20 +5.3195 + 30 +0.0 + 10 +8.056149606299213 + 20 +5.324389763779528 + 30 +0.0 + 10 +8.060649606299213 + 20 +5.330614173228346 + 30 +0.0 + 10 +8.060649606299213 + 20 +5.330614173228346 + 30 +0.0 + 10 +8.065149606299213 + 20 +5.336889763779528 + 30 +0.0 + 10 +8.067425196850394 + 20 +5.343669291338583 + 30 +0.0 + 10 +8.067425196850394 + 20 +5.35105905511811 + 30 +0.0 + 10 +8.067425196850394 + 20 +5.35105905511811 + 30 +0.0 + 10 +8.067425196850394 + 20 +5.358559055118111 + 30 +0.0 + 10 +8.065259842519685 + 20 +5.365059055118111 + 30 +0.0 + 10 +8.060870078740157 + 20 +5.370669291338583 + 30 +0.0 + 10 +8.060870078740157 + 20 +5.370669291338583 + 30 +0.0 + 10 +8.056535433070867 + 20 +5.376279527559055 + 30 +0.0 + 10 +8.049370078740157 + 20 +5.380944881889763 + 30 +0.0 + 10 +8.039425196850393 + 20 +5.384724409448819 + 30 +0.0 + 10 +8.039425196850393 + 20 +5.384724409448819 + 30 +0.0 + 10 +8.03298031496063 + 20 +5.387224409448819 + 30 +0.0 + 10 +8.018870078740157 + 20 +5.391114173228346 + 30 +0.0 + 10 +7.996925196850394 + 20 +5.396389763779528 + 30 +0.0 + 10 +7.996925196850394 + 20 +5.396389763779528 + 30 +0.0 + 10 +7.975035433070866 + 20 +5.401669291338583 + 30 +0.0 + 10 +7.959649606299212 + 20 +5.406614173228347 + 30 +0.0 + 10 +7.950870078740158 + 20 +5.411279527559056 + 30 +0.0 + 10 +7.950870078740158 + 20 +5.411279527559056 + 30 +0.0 + 10 +7.93948031496063 + 20 +5.417224409448819 + 30 +0.0 + 10 +7.93098031496063 + 20 +5.424669291338582 + 30 +0.0 + 10 +7.925370078740158 + 20 +5.433503937007874 + 30 +0.0 + 10 +7.925370078740158 + 20 +5.433503937007874 + 30 +0.0 + 10 +7.919814960629921 + 20 +5.442334645669291 + 30 +0.0 + 10 +7.917035433070867 + 20 +5.452224409448819 + 30 +0.0 + 10 +7.917035433070867 + 20 +5.463224409448819 + 30 +0.0 + 10 +7.917035433070867 + 20 +5.463224409448819 + 30 +0.0 + 10 +7.917035433070867 + 20 +5.475224409448819 + 30 +0.0 + 10 +7.920425196850394 + 20 +5.486503937007874 + 30 +0.0 + 10 +7.927259842519685 + 20 +5.496948818897637 + 30 +0.0 + 10 +7.927259842519685 + 20 +5.496948818897637 + 30 +0.0 + 10 +7.934090551181102 + 20 +5.507448818897638 + 30 +0.0 + 10 +7.944090551181103 + 20 +5.515389763779527 + 30 +0.0 + 10 +7.957204724409449 + 20 +5.520834645669291 + 30 +0.0 + 10 +7.957204724409449 + 20 +5.520834645669291 + 30 +0.0 + 10 +7.970370078740157 + 20 +5.526224409448819 + 30 +0.0 + 10 +7.984925196850393 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.00098031496063 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.00098031496063 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.01870472440945 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.034259842519685 + 20 +5.526114173228346 + 30 +0.0 + 10 +8.047814960629921 + 20 +5.520389763779527 + 30 +0.0 + 10 +8.047814960629921 + 20 +5.520389763779527 + 30 +0.0 + 10 +8.061314960629922 + 20 +5.514724409448819 + 30 +0.0 + 10 +8.071704724409448 + 20 +5.506334645669291 + 30 +0.0 + 10 +8.07898031496063 + 20 +5.495279527559055 + 30 +0.0 + 10 +8.07898031496063 + 20 +5.495279527559055 + 30 +0.0 + 10 +8.086204724409448 + 20 +5.484224409448819 + 30 +0.0 + 10 +8.090149606299212 + 20 +5.471669291338583 + 30 +0.0 + 10 +8.090704724409449 + 20 +5.457669291338583 + 30 +0.0 + 10 +8.090704724409449 + 20 +5.457669291338583 + 30 +0.0 + 10 +8.090704724409449 + 20 +5.457669291338583 + 30 +0.0 + 10 +8.060425196850394 + 20 +5.455389763779528 + 30 +0.0 + 10 +8.060425196850394 + 20 +5.455389763779528 + 30 +0.0 + 10 +8.060425196850394 + 20 +5.455389763779528 + 30 +0.0 + 10 +8.058759842519684 + 20 +5.470448818897638 + 30 +0.0 + 10 +8.053259842519685 + 20 +5.481889763779527 + 30 +0.0 + 10 +8.043870078740158 + 20 +5.48955905511811 + 30 +0.0 + 10 +8.043870078740158 + 20 +5.48955905511811 + 30 +0.0 + 10 +8.03448031496063 + 20 +5.497279527559055 + 30 +0.0 + 10 +8.020649606299212 + 20 +5.501114173228347 + 30 +0.0 + 10 +8.00231496062992 + 20 +5.501114173228347 + 30 +0.0 + 10 +8.00231496062992 + 20 +5.501114173228347 + 30 +0.0 + 10 +7.983204724409449 + 20 +5.501114173228347 + 30 +0.0 + 10 +7.969314960629921 + 20 +5.497614173228347 + 30 +0.0 + 10 +7.960535433070866 + 20 +5.490614173228346 + 30 +0.0 + 10 +7.960535433070866 + 20 +5.490614173228346 + 30 +0.0 + 10 +7.951814960629921 + 20 +5.483614173228347 + 30 +0.0 + 10 +7.947425196850394 + 20 +5.475169291338583 + 30 +0.0 + 10 +7.947425196850394 + 20 +5.465334645669292 + 30 +0.0 + 10 +7.947425196850394 + 20 +5.465334645669292 + 30 +0.0 + 10 +7.947425196850394 + 20 +5.456724409448819 + 30 +0.0 + 10 +7.950535433070866 + 20 +5.449669291338583 + 30 +0.0 + 10 +7.956704724409449 + 20 +5.444169291338583 + 30 +0.0 + 10 +7.956704724409449 + 20 +5.444169291338583 + 30 +0.0 + 10 +7.962814960629921 + 20 +5.438614173228347 + 30 +0.0 + 10 +7.978649606299212 + 20 +5.432944881889764 + 30 +0.0 + 10 +8.004314960629921 + 20 +5.427169291338583 + 30 +0.0 + 10 +8.004314960629921 + 20 +5.427169291338583 + 30 +0.0 + 10 +8.02998031496063 + 20 +5.421334645669291 + 30 +0.0 + 10 +8.047590551181102 + 20 +5.416279527559055 + 30 +0.0 + 10 +8.057149606299213 + 20 +5.411944881889764 + 30 +0.0 + 10 +8.057149606299213 + 20 +5.411944881889764 + 30 +0.0 + 10 +8.071035433070866 + 20 +5.405503937007874 + 30 +0.0 + 10 +8.081314960629921 + 20 +5.397389763779527 + 30 +0.0 + 10 +8.087925196850394 + 20 +5.387614173228346 + 30 +0.0 + 10 +8.087925196850394 + 20 +5.387614173228346 + 30 +0.0 + 10 +8.094535433070867 + 20 +5.377779527559055 + 30 +0.0 + 10 +8.097814960629922 + 20 +5.366444881889763 + 30 +0.0 + 10 +8.097814960629922 + 20 +5.353669291338583 + 30 +0.0 + 10 +8.097814960629922 + 20 +5.353669291338583 + 30 +0.0 + 10 +8.097814960629922 + 20 +5.340944881889763 + 30 +0.0 + 10 +8.09420472440945 + 20 +5.329 + 30 +0.0 + 10 +8.086925196850395 + 20 +5.317779527559055 + 30 +0.0 + 10 +8.086925196850395 + 20 +5.317779527559055 + 30 +0.0 + 10 +8.079649606299213 + 20 +5.30655905511811 + 30 +0.0 + 10 +8.069204724409449 + 20 +5.297834645669291 + 30 +0.0 + 10 +8.055590551181103 + 20 +5.29155905511811 + 30 +0.0 + 10 +8.055590551181103 + 20 +5.29155905511811 + 30 +0.0 + 10 +8.04198031496063 + 20 +5.285334645669291 + 30 +0.0 + 10 +8.026649606299213 + 20 +5.282224409448819 + 30 +0.0 + 10 +8.009649606299213 + 20 +5.282224409448819 + 30 +0.0 + 10 +8.009649606299213 + 20 +5.282224409448819 + 30 +0.0 + 10 +7.988035433070866 + 20 +5.282224409448819 + 30 +0.0 + 10 +7.969925196850394 + 20 +5.285334645669291 + 30 +0.0 + 10 +7.955370078740158 + 20 +5.291669291338582 + 30 +0.0 + 10 +7.955370078740158 + 20 +5.291669291338582 + 30 +0.0 + 10 +7.940759842519685 + 20 +5.297944881889764 + 30 +0.0 + 10 +7.929314960629921 + 20 +5.307389763779527 + 30 +0.0 + 10 +7.92098031496063 + 20 +5.320059055118111 + 30 +0.0 + 10 +7.92098031496063 + 20 +5.320059055118111 + 30 +0.0 + 10 +7.912704724409449 + 20 +5.332669291338583 + 30 +0.0 + 10 +7.908314960629921 + 20 +5.347003937007874 + 30 +0.0 + 10 +7.907925196850393 + 20 +5.362944881889764 + 30 +0.0 + 0 +SPLINE + 5 +318 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.141649606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.314149606299212 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.423669291338583 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.30520472440945 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.395669291338582 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.173204724409448 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.31970472440945 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.141649606299213 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +319 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.445204724409448 + 20 +5.362944881889764 + 30 +0.0 + 10 +8.445204724409448 + 20 +5.362944881889764 + 30 +0.0 + 10 +8.474984251968504 + 20 +5.36555905511811 + 30 +0.0 + 10 +8.474984251968504 + 20 +5.36555905511811 + 30 +0.0 + 10 +8.474984251968504 + 20 +5.36555905511811 + 30 +0.0 + 10 +8.476370078740157 + 20 +5.353614173228347 + 30 +0.0 + 10 +8.479649606299212 + 20 +5.343834645669292 + 30 +0.0 + 10 +8.48481496062992 + 20 +5.336169291338583 + 30 +0.0 + 10 +8.48481496062992 + 20 +5.336169291338583 + 30 +0.0 + 10 +8.489984251968504 + 20 +5.3285 + 30 +0.0 + 10 +8.497984251968504 + 20 +5.322334645669291 + 30 +0.0 + 10 +8.508814960629921 + 20 +5.317614173228346 + 30 +0.0 + 10 +8.508814960629921 + 20 +5.317614173228346 + 30 +0.0 + 10 +8.519649606299213 + 20 +5.312889763779528 + 30 +0.0 + 10 +8.531870078740157 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.545429133858267 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.545429133858267 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.557484251968503 + 20 +5.310559055118111 + 30 +0.0 + 10 +8.568094488188976 + 20 +5.312334645669291 + 30 +0.0 + 10 +8.577314960629922 + 20 +5.315889763779528 + 30 +0.0 + 10 +8.577314960629922 + 20 +5.315889763779528 + 30 +0.0 + 10 +8.58653937007874 + 20 +5.3195 + 30 +0.0 + 10 +8.593429133858267 + 20 +5.324389763779528 + 30 +0.0 + 10 +8.597929133858267 + 20 +5.330614173228346 + 30 +0.0 + 10 +8.597929133858267 + 20 +5.330614173228346 + 30 +0.0 + 10 +8.602429133858267 + 20 +5.336889763779528 + 30 +0.0 + 10 +8.60470472440945 + 20 +5.343669291338583 + 30 +0.0 + 10 +8.60470472440945 + 20 +5.35105905511811 + 30 +0.0 + 10 +8.60470472440945 + 20 +5.35105905511811 + 30 +0.0 + 10 +8.60470472440945 + 20 +5.358559055118111 + 30 +0.0 + 10 +8.60253937007874 + 20 +5.365059055118111 + 30 +0.0 + 10 +8.598149606299213 + 20 +5.370669291338583 + 30 +0.0 + 10 +8.598149606299213 + 20 +5.370669291338583 + 30 +0.0 + 10 +8.59381496062992 + 20 +5.376279527559055 + 30 +0.0 + 10 +8.586649606299213 + 20 +5.380944881889763 + 30 +0.0 + 10 +8.57670472440945 + 20 +5.384724409448819 + 30 +0.0 + 10 +8.57670472440945 + 20 +5.384724409448819 + 30 +0.0 + 10 +8.570259842519684 + 20 +5.387224409448819 + 30 +0.0 + 10 +8.556149606299213 + 20 +5.391114173228346 + 30 +0.0 + 10 +8.534204724409449 + 20 +5.396389763779528 + 30 +0.0 + 10 +8.534204724409449 + 20 +5.396389763779528 + 30 +0.0 + 10 +8.51231496062992 + 20 +5.401669291338583 + 30 +0.0 + 10 +8.496929133858268 + 20 +5.406614173228347 + 30 +0.0 + 10 +8.488149606299213 + 20 +5.411279527559056 + 30 +0.0 + 10 +8.488149606299213 + 20 +5.411279527559056 + 30 +0.0 + 10 +8.476759842519686 + 20 +5.417224409448819 + 30 +0.0 + 10 +8.468259842519686 + 20 +5.424669291338582 + 30 +0.0 + 10 +8.462649606299212 + 20 +5.433503937007874 + 30 +0.0 + 10 +8.462649606299212 + 20 +5.433503937007874 + 30 +0.0 + 10 +8.457094488188977 + 20 +5.442334645669291 + 30 +0.0 + 10 +8.45431496062992 + 20 +5.452224409448819 + 30 +0.0 + 10 +8.45431496062992 + 20 +5.463224409448819 + 30 +0.0 + 10 +8.45431496062992 + 20 +5.463224409448819 + 30 +0.0 + 10 +8.45431496062992 + 20 +5.475224409448819 + 30 +0.0 + 10 +8.45770472440945 + 20 +5.486503937007874 + 30 +0.0 + 10 +8.46453937007874 + 20 +5.496948818897637 + 30 +0.0 + 10 +8.46453937007874 + 20 +5.496948818897637 + 30 +0.0 + 10 +8.471370078740158 + 20 +5.507448818897638 + 30 +0.0 + 10 +8.481370078740158 + 20 +5.515389763779527 + 30 +0.0 + 10 +8.494484251968505 + 20 +5.520834645669291 + 30 +0.0 + 10 +8.494484251968505 + 20 +5.520834645669291 + 30 +0.0 + 10 +8.507649606299212 + 20 +5.526224409448819 + 30 +0.0 + 10 +8.522204724409448 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.538259842519684 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.538259842519684 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.555984251968503 + 20 +5.528948818897637 + 30 +0.0 + 10 +8.57153937007874 + 20 +5.526114173228346 + 30 +0.0 + 10 +8.585094488188977 + 20 +5.520389763779527 + 30 +0.0 + 10 +8.585094488188977 + 20 +5.520389763779527 + 30 +0.0 + 10 +8.598594488188976 + 20 +5.514724409448819 + 30 +0.0 + 10 +8.608984251968504 + 20 +5.506334645669291 + 30 +0.0 + 10 +8.616259842519685 + 20 +5.495279527559055 + 30 +0.0 + 10 +8.616259842519685 + 20 +5.495279527559055 + 30 +0.0 + 10 +8.623484251968504 + 20 +5.484224409448819 + 30 +0.0 + 10 +8.627429133858268 + 20 +5.471669291338583 + 30 +0.0 + 10 +8.627984251968504 + 20 +5.457669291338583 + 30 +0.0 + 10 +8.627984251968504 + 20 +5.457669291338583 + 30 +0.0 + 10 +8.627984251968504 + 20 +5.457669291338583 + 30 +0.0 + 10 +8.597704724409448 + 20 +5.455389763779528 + 30 +0.0 + 10 +8.597704724409448 + 20 +5.455389763779528 + 30 +0.0 + 10 +8.597704724409448 + 20 +5.455389763779528 + 30 +0.0 + 10 +8.59603937007874 + 20 +5.470448818897638 + 30 +0.0 + 10 +8.59053937007874 + 20 +5.481889763779527 + 30 +0.0 + 10 +8.581149606299213 + 20 +5.48955905511811 + 30 +0.0 + 10 +8.581149606299213 + 20 +5.48955905511811 + 30 +0.0 + 10 +8.571759842519684 + 20 +5.497279527559055 + 30 +0.0 + 10 +8.557929133858268 + 20 +5.501114173228347 + 30 +0.0 + 10 +8.539594488188976 + 20 +5.501114173228347 + 30 +0.0 + 10 +8.539594488188976 + 20 +5.501114173228347 + 30 +0.0 + 10 +8.520484251968504 + 20 +5.501114173228347 + 30 +0.0 + 10 +8.506594488188977 + 20 +5.497614173228347 + 30 +0.0 + 10 +8.49781496062992 + 20 +5.490614173228346 + 30 +0.0 + 10 +8.49781496062992 + 20 +5.490614173228346 + 30 +0.0 + 10 +8.489094488188977 + 20 +5.483614173228347 + 30 +0.0 + 10 +8.484704724409449 + 20 +5.475169291338583 + 30 +0.0 + 10 +8.484704724409449 + 20 +5.465334645669292 + 30 +0.0 + 10 +8.484704724409449 + 20 +5.465334645669292 + 30 +0.0 + 10 +8.484704724409449 + 20 +5.456724409448819 + 30 +0.0 + 10 +8.48781496062992 + 20 +5.449669291338583 + 30 +0.0 + 10 +8.493984251968504 + 20 +5.444169291338583 + 30 +0.0 + 10 +8.493984251968504 + 20 +5.444169291338583 + 30 +0.0 + 10 +8.500094488188976 + 20 +5.438614173228347 + 30 +0.0 + 10 +8.515929133858268 + 20 +5.432944881889764 + 30 +0.0 + 10 +8.541594488188977 + 20 +5.427169291338583 + 30 +0.0 + 10 +8.541594488188977 + 20 +5.427169291338583 + 30 +0.0 + 10 +8.567259842519684 + 20 +5.421334645669291 + 30 +0.0 + 10 +8.584870078740158 + 20 +5.416279527559055 + 30 +0.0 + 10 +8.594429133858268 + 20 +5.411944881889764 + 30 +0.0 + 10 +8.594429133858268 + 20 +5.411944881889764 + 30 +0.0 + 10 +8.60831496062992 + 20 +5.405503937007874 + 30 +0.0 + 10 +8.618594488188977 + 20 +5.397389763779527 + 30 +0.0 + 10 +8.625204724409448 + 20 +5.387614173228346 + 30 +0.0 + 10 +8.625204724409448 + 20 +5.387614173228346 + 30 +0.0 + 10 +8.63181496062992 + 20 +5.377779527559055 + 30 +0.0 + 10 +8.635094488188976 + 20 +5.366444881889763 + 30 +0.0 + 10 +8.635094488188976 + 20 +5.353669291338583 + 30 +0.0 + 10 +8.635094488188976 + 20 +5.353669291338583 + 30 +0.0 + 10 +8.635094488188976 + 20 +5.340944881889763 + 30 +0.0 + 10 +8.631484251968503 + 20 +5.329 + 30 +0.0 + 10 +8.624204724409449 + 20 +5.317779527559055 + 30 +0.0 + 10 +8.624204724409449 + 20 +5.317779527559055 + 30 +0.0 + 10 +8.616929133858267 + 20 +5.30655905511811 + 30 +0.0 + 10 +8.606484251968505 + 20 +5.297834645669291 + 30 +0.0 + 10 +8.592870078740157 + 20 +5.29155905511811 + 30 +0.0 + 10 +8.592870078740157 + 20 +5.29155905511811 + 30 +0.0 + 10 +8.579259842519685 + 20 +5.285334645669291 + 30 +0.0 + 10 +8.563929133858268 + 20 +5.282224409448819 + 30 +0.0 + 10 +8.546929133858267 + 20 +5.282224409448819 + 30 +0.0 + 10 +8.546929133858267 + 20 +5.282224409448819 + 30 +0.0 + 10 +8.525314960629922 + 20 +5.282224409448819 + 30 +0.0 + 10 +8.50720472440945 + 20 +5.285334645669291 + 30 +0.0 + 10 +8.492649606299212 + 20 +5.291669291338582 + 30 +0.0 + 10 +8.492649606299212 + 20 +5.291669291338582 + 30 +0.0 + 10 +8.47803937007874 + 20 +5.297944881889764 + 30 +0.0 + 10 +8.466594488188976 + 20 +5.307389763779527 + 30 +0.0 + 10 +8.458259842519684 + 20 +5.320059055118111 + 30 +0.0 + 10 +8.458259842519684 + 20 +5.320059055118111 + 30 +0.0 + 10 +8.449984251968504 + 20 +5.332669291338583 + 30 +0.0 + 10 +8.445594488188977 + 20 +5.347003937007874 + 30 +0.0 + 10 +8.445204724409448 + 20 +5.362944881889764 + 30 +0.0 + 0 +SPLINE + 5 +31A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.683649606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.715204724409448 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.683649606299213 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +31B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.751814960629922 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.31555905511811 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.31555905511811 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.31555905511811 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.31555905511811 + 30 +0.0 + 10 +8.87403937007874 + 20 +5.468389763779528 + 30 +0.0 + 10 +8.87403937007874 + 20 +5.468389763779528 + 30 +0.0 + 10 +8.87403937007874 + 20 +5.468389763779528 + 30 +0.0 + 10 +8.882759842519684 + 20 +5.479279527559055 + 30 +0.0 + 10 +8.890984251968504 + 20 +5.488724409448819 + 30 +0.0 + 10 +8.898814960629922 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.898814960629922 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.898814960629922 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.765649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.93653937007874 + 20 +5.496724409448819 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.331224409448819 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.331224409448819 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.331224409448819 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.331224409448819 + 30 +0.0 + 10 +8.788094488188976 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.788094488188976 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.788094488188976 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.788094488188976 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.314444881889764 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.940484251968504 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.751814960629922 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +31C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.975149606299212 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.147649606299213 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.496724409448819 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.423669291338583 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.138704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.395669291338582 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.006704724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.314444881889764 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.153204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.286279527559056 + 30 +0.0 + 10 +8.975149606299212 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +31D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.201204724409449 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.459114173228347 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.425779527559055 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.425779527559055 + 30 +0.0 + 0 +SPLINE + 5 +31E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.201204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.234594488188977 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.201204724409449 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +31F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.370314960629921 + 20 +5.349279527559055 + 30 +0.0 + 10 +9.370314960629921 + 20 +5.349279527559055 + 30 +0.0 + 10 +9.399594488188976 + 20 +5.353169291338583 + 30 +0.0 + 10 +9.399594488188976 + 20 +5.353169291338583 + 30 +0.0 + 10 +9.399594488188976 + 20 +5.353169291338583 + 30 +0.0 + 10 +9.40298031496063 + 20 +5.33655905511811 + 30 +0.0 + 10 +9.408704724409448 + 20 +5.324614173228347 + 30 +0.0 + 10 +9.416759842519685 + 20 +5.317279527559055 + 30 +0.0 + 10 +9.416759842519685 + 20 +5.317279527559055 + 30 +0.0 + 10 +9.424870078740158 + 20 +5.309944881889764 + 30 +0.0 + 10 +9.434704724409448 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.446314960629921 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.446314960629921 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.460094488188977 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.471759842519685 + 20 +5.31105905511811 + 30 +0.0 + 10 +9.481259842519686 + 20 +5.320614173228346 + 30 +0.0 + 10 +9.481259842519686 + 20 +5.320614173228346 + 30 +0.0 + 10 +9.490704724409449 + 20 +5.330169291338582 + 30 +0.0 + 10 +9.49548031496063 + 20 +5.342003937007874 + 30 +0.0 + 10 +9.49548031496063 + 20 +5.356114173228346 + 30 +0.0 + 10 +9.49548031496063 + 20 +5.356114173228346 + 30 +0.0 + 10 +9.49548031496063 + 20 +5.36955905511811 + 30 +0.0 + 10 +9.491094488188976 + 20 +5.380669291338583 + 30 +0.0 + 10 +9.482314960629921 + 20 +5.389389763779527 + 30 +0.0 + 10 +9.482314960629921 + 20 +5.389389763779527 + 30 +0.0 + 10 +9.47348031496063 + 20 +5.398114173228347 + 30 +0.0 + 10 +9.462314960629922 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.448759842519685 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.448759842519685 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.44320472440945 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.436314960629922 + 20 +5.401389763779528 + 30 +0.0 + 10 +9.428094488188977 + 20 +5.399224409448819 + 30 +0.0 + 10 +9.428094488188977 + 20 +5.399224409448819 + 30 +0.0 + 10 +9.428094488188977 + 20 +5.399224409448819 + 30 +0.0 + 10 +9.431370078740157 + 20 +5.424944881889764 + 30 +0.0 + 10 +9.431370078740157 + 20 +5.424944881889764 + 30 +0.0 + 10 +9.431370078740157 + 20 +5.424944881889764 + 30 +0.0 + 10 +9.433314960629922 + 20 +5.424724409448819 + 30 +0.0 + 10 +9.434870078740158 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.436094488188976 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.436094488188976 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.44853937007874 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.459759842519684 + 20 +5.427889763779527 + 30 +0.0 + 10 +9.469759842519686 + 20 +5.434389763779528 + 30 +0.0 + 10 +9.469759842519686 + 20 +5.434389763779528 + 30 +0.0 + 10 +9.479759842519686 + 20 +5.440889763779528 + 30 +0.0 + 10 +9.484759842519685 + 20 +5.450944881889764 + 30 +0.0 + 10 +9.484759842519685 + 20 +5.464503937007874 + 30 +0.0 + 10 +9.484759842519685 + 20 +5.464503937007874 + 30 +0.0 + 10 +9.484759842519685 + 20 +5.475224409448819 + 30 +0.0 + 10 +9.481094488188976 + 20 +5.484169291338583 + 30 +0.0 + 10 +9.473814960629921 + 20 +5.491169291338583 + 30 +0.0 + 10 +9.473814960629921 + 20 +5.491169291338583 + 30 +0.0 + 10 +9.46653937007874 + 20 +5.498224409448819 + 30 +0.0 + 10 +9.457149606299213 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.445649606299213 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.445649606299213 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.434259842519685 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.424759842519686 + 20 +5.498169291338582 + 30 +0.0 + 10 +9.41720472440945 + 20 +5.49105905511811 + 30 +0.0 + 10 +9.41720472440945 + 20 +5.49105905511811 + 30 +0.0 + 10 +9.409594488188976 + 20 +5.483889763779527 + 30 +0.0 + 10 +9.404704724409449 + 20 +5.473114173228346 + 30 +0.0 + 10 +9.402535433070867 + 20 +5.458779527559055 + 30 +0.0 + 10 +9.402535433070867 + 20 +5.458779527559055 + 30 +0.0 + 10 +9.402535433070867 + 20 +5.458779527559055 + 30 +0.0 + 10 +9.373259842519685 + 20 +5.464003937007874 + 30 +0.0 + 10 +9.373259842519685 + 20 +5.464003937007874 + 30 +0.0 + 10 +9.373259842519685 + 20 +5.464003937007874 + 30 +0.0 + 10 +9.376814960629922 + 20 +5.483669291338582 + 30 +0.0 + 10 +9.38498031496063 + 20 +5.498889763779528 + 30 +0.0 + 10 +9.397649606299213 + 20 +5.509669291338582 + 30 +0.0 + 10 +9.397649606299213 + 20 +5.509669291338582 + 30 +0.0 + 10 +9.410370078740158 + 20 +5.520448818897638 + 30 +0.0 + 10 +9.426149606299212 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.44503937007874 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.44503937007874 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.45803937007874 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.47003937007874 + 20 +5.52305905511811 + 30 +0.0 + 10 +9.48098031496063 + 20 +5.517503937007874 + 30 +0.0 + 10 +9.48098031496063 + 20 +5.517503937007874 + 30 +0.0 + 10 +9.491925196850394 + 20 +5.511889763779528 + 30 +0.0 + 10 +9.500314960629922 + 20 +5.504279527559055 + 30 +0.0 + 10 +9.506149606299212 + 20 +5.494614173228347 + 30 +0.0 + 10 +9.506149606299212 + 20 +5.494614173228347 + 30 +0.0 + 10 +9.511925196850394 + 20 +5.484948818897638 + 30 +0.0 + 10 +9.514870078740158 + 20 +5.474724409448819 + 30 +0.0 + 10 +9.514870078740158 + 20 +5.463834645669292 + 30 +0.0 + 10 +9.514870078740158 + 20 +5.463834645669292 + 30 +0.0 + 10 +9.514870078740158 + 20 +5.45355905511811 + 30 +0.0 + 10 +9.512094488188977 + 20 +5.444169291338583 + 30 +0.0 + 10 +9.50653937007874 + 20 +5.435669291338582 + 30 +0.0 + 10 +9.50653937007874 + 20 +5.435669291338582 + 30 +0.0 + 10 +9.50098031496063 + 20 +5.427224409448819 + 30 +0.0 + 10 +9.492814960629921 + 20 +5.420503937007874 + 30 +0.0 + 10 +9.48198031496063 + 20 +5.415503937007874 + 30 +0.0 + 10 +9.48198031496063 + 20 +5.415503937007874 + 30 +0.0 + 10 +9.496094488188977 + 20 +5.412279527559055 + 30 +0.0 + 10 +9.50703937007874 + 20 +5.405503937007874 + 30 +0.0 + 10 +9.514870078740158 + 20 +5.395224409448819 + 30 +0.0 + 10 +9.514870078740158 + 20 +5.395224409448819 + 30 +0.0 + 10 +9.522649606299213 + 20 +5.385003937007874 + 30 +0.0 + 10 +9.52653937007874 + 20 +5.372169291338583 + 30 +0.0 + 10 +9.52653937007874 + 20 +5.356779527559056 + 30 +0.0 + 10 +9.52653937007874 + 20 +5.356779527559056 + 30 +0.0 + 10 +9.52653937007874 + 20 +5.335944881889763 + 30 +0.0 + 10 +9.51898031496063 + 20 +5.318279527559056 + 30 +0.0 + 10 +9.503759842519685 + 20 +5.303779527559055 + 30 +0.0 + 10 +9.503759842519685 + 20 +5.303779527559055 + 30 +0.0 + 10 +9.488594488188976 + 20 +5.289279527559055 + 30 +0.0 + 10 +9.469370078740157 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.446149606299212 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.446149606299212 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.425204724409449 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.40781496062992 + 20 +5.288279527559055 + 30 +0.0 + 10 +9.39398031496063 + 20 +5.300779527559055 + 30 +0.0 + 10 +9.39398031496063 + 20 +5.300779527559055 + 30 +0.0 + 10 +9.380149606299213 + 20 +5.313224409448819 + 30 +0.0 + 10 +9.372259842519686 + 20 +5.329389763779528 + 30 +0.0 + 10 +9.370314960629921 + 20 +5.349279527559055 + 30 +0.0 + 0 +SPLINE + 5 +320 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.649429133858268 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.545925196850394 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.65481496062992 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.65481496062992 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.65481496062992 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.65481496062992 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.524889763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.710984251968505 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.678759842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +321 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.649429133858268 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.477834645669291 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.477834645669291 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.477834645669291 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.477834645669291 + 30 +0.0 + 10 +9.574759842519684 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.574759842519684 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.574759842519684 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.574759842519684 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.370279527559055 + 30 +0.0 + 10 +9.649429133858268 + 20 +5.370279527559055 + 30 +0.0 + 0 +SPLINE + 5 +322 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.75737401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.319669291338583 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.790759842519686 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +9.75737401574803 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +323 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.833704724409449 + 20 +5.349279527559055 + 30 +0.0 + 10 +9.833704724409449 + 20 +5.349279527559055 + 30 +0.0 + 10 +9.862984251968504 + 20 +5.353169291338583 + 30 +0.0 + 10 +9.862984251968504 + 20 +5.353169291338583 + 30 +0.0 + 10 +9.862984251968504 + 20 +5.353169291338583 + 30 +0.0 + 10 +9.866370078740157 + 20 +5.33655905511811 + 30 +0.0 + 10 +9.872094488188976 + 20 +5.324614173228347 + 30 +0.0 + 10 +9.880149606299213 + 20 +5.317279527559055 + 30 +0.0 + 10 +9.880149606299213 + 20 +5.317279527559055 + 30 +0.0 + 10 +9.888259842519686 + 20 +5.309944881889764 + 30 +0.0 + 10 +9.898094488188976 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.90970472440945 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.90970472440945 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.923484251968503 + 20 +5.306279527559055 + 30 +0.0 + 10 +9.935149606299213 + 20 +5.31105905511811 + 30 +0.0 + 10 +9.944649606299212 + 20 +5.320614173228346 + 30 +0.0 + 10 +9.944649606299212 + 20 +5.320614173228346 + 30 +0.0 + 10 +9.954094488188977 + 20 +5.330169291338582 + 30 +0.0 + 10 +9.958870078740157 + 20 +5.342003937007874 + 30 +0.0 + 10 +9.958870078740157 + 20 +5.356114173228346 + 30 +0.0 + 10 +9.958870078740157 + 20 +5.356114173228346 + 30 +0.0 + 10 +9.958870078740157 + 20 +5.36955905511811 + 30 +0.0 + 10 +9.954484251968504 + 20 +5.380669291338583 + 30 +0.0 + 10 +9.945704724409449 + 20 +5.389389763779527 + 30 +0.0 + 10 +9.945704724409449 + 20 +5.389389763779527 + 30 +0.0 + 10 +9.936870078740158 + 20 +5.398114173228347 + 30 +0.0 + 10 +9.92570472440945 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.912149606299213 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.912149606299213 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.906594488188976 + 20 +5.402503937007874 + 30 +0.0 + 10 +9.89970472440945 + 20 +5.401389763779528 + 30 +0.0 + 10 +9.891484251968503 + 20 +5.399224409448819 + 30 +0.0 + 10 +9.891484251968503 + 20 +5.399224409448819 + 30 +0.0 + 10 +9.891484251968503 + 20 +5.399224409448819 + 30 +0.0 + 10 +9.894759842519685 + 20 +5.424944881889764 + 30 +0.0 + 10 +9.894759842519685 + 20 +5.424944881889764 + 30 +0.0 + 10 +9.894759842519685 + 20 +5.424944881889764 + 30 +0.0 + 10 +9.89670472440945 + 20 +5.424724409448819 + 30 +0.0 + 10 +9.898259842519685 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.899484251968504 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.899484251968504 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.911929133858267 + 20 +5.424614173228346 + 30 +0.0 + 10 +9.923149606299212 + 20 +5.427889763779527 + 30 +0.0 + 10 +9.933149606299212 + 20 +5.434389763779528 + 30 +0.0 + 10 +9.933149606299212 + 20 +5.434389763779528 + 30 +0.0 + 10 +9.943149606299212 + 20 +5.440889763779528 + 30 +0.0 + 10 +9.948149606299213 + 20 +5.450944881889764 + 30 +0.0 + 10 +9.948149606299213 + 20 +5.464503937007874 + 30 +0.0 + 10 +9.948149606299213 + 20 +5.464503937007874 + 30 +0.0 + 10 +9.948149606299213 + 20 +5.475224409448819 + 30 +0.0 + 10 +9.944484251968504 + 20 +5.484169291338583 + 30 +0.0 + 10 +9.93720472440945 + 20 +5.491169291338583 + 30 +0.0 + 10 +9.93720472440945 + 20 +5.491169291338583 + 30 +0.0 + 10 +9.929929133858268 + 20 +5.498224409448819 + 30 +0.0 + 10 +9.92053937007874 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.909039370078741 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.909039370078741 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.897649606299213 + 20 +5.501779527559055 + 30 +0.0 + 10 +9.888149606299212 + 20 +5.498169291338582 + 30 +0.0 + 10 +9.880594488188976 + 20 +5.49105905511811 + 30 +0.0 + 10 +9.880594488188976 + 20 +5.49105905511811 + 30 +0.0 + 10 +9.872984251968504 + 20 +5.483889763779527 + 30 +0.0 + 10 +9.868094488188976 + 20 +5.473114173228346 + 30 +0.0 + 10 +9.865925196850394 + 20 +5.458779527559055 + 30 +0.0 + 10 +9.865925196850394 + 20 +5.458779527559055 + 30 +0.0 + 10 +9.865925196850394 + 20 +5.458779527559055 + 30 +0.0 + 10 +9.836649606299213 + 20 +5.464003937007874 + 30 +0.0 + 10 +9.836649606299213 + 20 +5.464003937007874 + 30 +0.0 + 10 +9.836649606299213 + 20 +5.464003937007874 + 30 +0.0 + 10 +9.840204724409448 + 20 +5.483669291338582 + 30 +0.0 + 10 +9.848370078740157 + 20 +5.498889763779528 + 30 +0.0 + 10 +9.86103937007874 + 20 +5.509669291338582 + 30 +0.0 + 10 +9.86103937007874 + 20 +5.509669291338582 + 30 +0.0 + 10 +9.873759842519686 + 20 +5.520448818897638 + 30 +0.0 + 10 +9.88953937007874 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.908429133858268 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.908429133858268 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.921429133858268 + 20 +5.525889763779528 + 30 +0.0 + 10 +9.933429133858267 + 20 +5.52305905511811 + 30 +0.0 + 10 +9.944370078740157 + 20 +5.517503937007874 + 30 +0.0 + 10 +9.944370078740157 + 20 +5.517503937007874 + 30 +0.0 + 10 +9.955314960629922 + 20 +5.511889763779528 + 30 +0.0 + 10 +9.96370472440945 + 20 +5.504279527559055 + 30 +0.0 + 10 +9.96953937007874 + 20 +5.494614173228347 + 30 +0.0 + 10 +9.96953937007874 + 20 +5.494614173228347 + 30 +0.0 + 10 +9.975314960629921 + 20 +5.484948818897638 + 30 +0.0 + 10 +9.978259842519686 + 20 +5.474724409448819 + 30 +0.0 + 10 +9.978259842519686 + 20 +5.463834645669292 + 30 +0.0 + 10 +9.978259842519686 + 20 +5.463834645669292 + 30 +0.0 + 10 +9.978259842519686 + 20 +5.45355905511811 + 30 +0.0 + 10 +9.975484251968505 + 20 +5.444169291338583 + 30 +0.0 + 10 +9.969929133858267 + 20 +5.435669291338582 + 30 +0.0 + 10 +9.969929133858267 + 20 +5.435669291338582 + 30 +0.0 + 10 +9.964370078740158 + 20 +5.427224409448819 + 30 +0.0 + 10 +9.95620472440945 + 20 +5.420503937007874 + 30 +0.0 + 10 +9.945370078740158 + 20 +5.415503937007874 + 30 +0.0 + 10 +9.945370078740158 + 20 +5.415503937007874 + 30 +0.0 + 10 +9.959484251968505 + 20 +5.412279527559055 + 30 +0.0 + 10 +9.970429133858268 + 20 +5.405503937007874 + 30 +0.0 + 10 +9.978259842519686 + 20 +5.395224409448819 + 30 +0.0 + 10 +9.978259842519686 + 20 +5.395224409448819 + 30 +0.0 + 10 +9.98603937007874 + 20 +5.385003937007874 + 30 +0.0 + 10 +9.989929133858269 + 20 +5.372169291338583 + 30 +0.0 + 10 +9.989929133858269 + 20 +5.356779527559056 + 30 +0.0 + 10 +9.989929133858269 + 20 +5.356779527559056 + 30 +0.0 + 10 +9.989929133858269 + 20 +5.335944881889763 + 30 +0.0 + 10 +9.982370078740157 + 20 +5.318279527559056 + 30 +0.0 + 10 +9.967149606299213 + 20 +5.303779527559055 + 30 +0.0 + 10 +9.967149606299213 + 20 +5.303779527559055 + 30 +0.0 + 10 +9.951984251968504 + 20 +5.289279527559055 + 30 +0.0 + 10 +9.932759842519685 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.90953937007874 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.90953937007874 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.888594488188977 + 20 +5.28205905511811 + 30 +0.0 + 10 +9.871204724409449 + 20 +5.288279527559055 + 30 +0.0 + 10 +9.857370078740157 + 20 +5.300779527559055 + 30 +0.0 + 10 +9.857370078740157 + 20 +5.300779527559055 + 30 +0.0 + 10 +9.84353937007874 + 20 +5.313224409448819 + 30 +0.0 + 10 +9.835649606299212 + 20 +5.329389763779528 + 30 +0.0 + 10 +9.833704724409449 + 20 +5.349279527559055 + 30 +0.0 + 0 +SPLINE + 5 +324 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.01909448818898 + 20 +5.349279527559055 + 30 +0.0 + 10 +10.01909448818898 + 20 +5.349279527559055 + 30 +0.0 + 10 +10.04837401574803 + 20 +5.353169291338583 + 30 +0.0 + 10 +10.04837401574803 + 20 +5.353169291338583 + 30 +0.0 + 10 +10.04837401574803 + 20 +5.353169291338583 + 30 +0.0 + 10 +10.05175984251968 + 20 +5.33655905511811 + 30 +0.0 + 10 +10.0574842519685 + 20 +5.324614173228347 + 30 +0.0 + 10 +10.06553937007874 + 20 +5.317279527559055 + 30 +0.0 + 10 +10.06553937007874 + 20 +5.317279527559055 + 30 +0.0 + 10 +10.07364960629921 + 20 +5.309944881889764 + 30 +0.0 + 10 +10.0834842519685 + 20 +5.306279527559055 + 30 +0.0 + 10 +10.09509448818898 + 20 +5.306279527559055 + 30 +0.0 + 10 +10.09509448818898 + 20 +5.306279527559055 + 30 +0.0 + 10 +10.10887401574803 + 20 +5.306279527559055 + 30 +0.0 + 10 +10.12053937007874 + 20 +5.31105905511811 + 30 +0.0 + 10 +10.13003937007874 + 20 +5.320614173228346 + 30 +0.0 + 10 +10.13003937007874 + 20 +5.320614173228346 + 30 +0.0 + 10 +10.1394842519685 + 20 +5.330169291338582 + 30 +0.0 + 10 +10.14425984251968 + 20 +5.342003937007874 + 30 +0.0 + 10 +10.14425984251968 + 20 +5.356114173228346 + 30 +0.0 + 10 +10.14425984251968 + 20 +5.356114173228346 + 30 +0.0 + 10 +10.14425984251968 + 20 +5.36955905511811 + 30 +0.0 + 10 +10.13987401574803 + 20 +5.380669291338583 + 30 +0.0 + 10 +10.13109448818898 + 20 +5.389389763779527 + 30 +0.0 + 10 +10.13109448818898 + 20 +5.389389763779527 + 30 +0.0 + 10 +10.12225984251969 + 20 +5.398114173228347 + 30 +0.0 + 10 +10.11109448818898 + 20 +5.402503937007874 + 30 +0.0 + 10 +10.09753937007874 + 20 +5.402503937007874 + 30 +0.0 + 10 +10.09753937007874 + 20 +5.402503937007874 + 30 +0.0 + 10 +10.0919842519685 + 20 +5.402503937007874 + 30 +0.0 + 10 +10.08509448818898 + 20 +5.401389763779528 + 30 +0.0 + 10 +10.07687401574803 + 20 +5.399224409448819 + 30 +0.0 + 10 +10.07687401574803 + 20 +5.399224409448819 + 30 +0.0 + 10 +10.07687401574803 + 20 +5.399224409448819 + 30 +0.0 + 10 +10.08014960629921 + 20 +5.424944881889764 + 30 +0.0 + 10 +10.08014960629921 + 20 +5.424944881889764 + 30 +0.0 + 10 +10.08014960629921 + 20 +5.424944881889764 + 30 +0.0 + 10 +10.08209448818898 + 20 +5.424724409448819 + 30 +0.0 + 10 +10.08364960629921 + 20 +5.424614173228346 + 30 +0.0 + 10 +10.08487401574803 + 20 +5.424614173228346 + 30 +0.0 + 10 +10.08487401574803 + 20 +5.424614173228346 + 30 +0.0 + 10 +10.09731889763779 + 20 +5.424614173228346 + 30 +0.0 + 10 +10.10853937007874 + 20 +5.427889763779527 + 30 +0.0 + 10 +10.11853937007874 + 20 +5.434389763779528 + 30 +0.0 + 10 +10.11853937007874 + 20 +5.434389763779528 + 30 +0.0 + 10 +10.12853937007874 + 20 +5.440889763779528 + 30 +0.0 + 10 +10.13353937007874 + 20 +5.450944881889764 + 30 +0.0 + 10 +10.13353937007874 + 20 +5.464503937007874 + 30 +0.0 + 10 +10.13353937007874 + 20 +5.464503937007874 + 30 +0.0 + 10 +10.13353937007874 + 20 +5.475224409448819 + 30 +0.0 + 10 +10.12987401574803 + 20 +5.484169291338583 + 30 +0.0 + 10 +10.12259448818898 + 20 +5.491169291338583 + 30 +0.0 + 10 +10.12259448818898 + 20 +5.491169291338583 + 30 +0.0 + 10 +10.1153188976378 + 20 +5.498224409448819 + 30 +0.0 + 10 +10.10592913385827 + 20 +5.501779527559055 + 30 +0.0 + 10 +10.09442913385827 + 20 +5.501779527559055 + 30 +0.0 + 10 +10.09442913385827 + 20 +5.501779527559055 + 30 +0.0 + 10 +10.08303937007874 + 20 +5.501779527559055 + 30 +0.0 + 10 +10.07353937007874 + 20 +5.498169291338582 + 30 +0.0 + 10 +10.0659842519685 + 20 +5.49105905511811 + 30 +0.0 + 10 +10.0659842519685 + 20 +5.49105905511811 + 30 +0.0 + 10 +10.05837401574803 + 20 +5.483889763779527 + 30 +0.0 + 10 +10.0534842519685 + 20 +5.473114173228346 + 30 +0.0 + 10 +10.05131496062992 + 20 +5.458779527559055 + 30 +0.0 + 10 +10.05131496062992 + 20 +5.458779527559055 + 30 +0.0 + 10 +10.05131496062992 + 20 +5.458779527559055 + 30 +0.0 + 10 +10.02203937007874 + 20 +5.464003937007874 + 30 +0.0 + 10 +10.02203937007874 + 20 +5.464003937007874 + 30 +0.0 + 10 +10.02203937007874 + 20 +5.464003937007874 + 30 +0.0 + 10 +10.02559448818898 + 20 +5.483669291338582 + 30 +0.0 + 10 +10.03375984251969 + 20 +5.498889763779528 + 30 +0.0 + 10 +10.04642913385827 + 20 +5.509669291338582 + 30 +0.0 + 10 +10.04642913385827 + 20 +5.509669291338582 + 30 +0.0 + 10 +10.05914960629921 + 20 +5.520448818897638 + 30 +0.0 + 10 +10.07492913385827 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.0938188976378 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.0938188976378 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.1068188976378 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.11881889763779 + 20 +5.52305905511811 + 30 +0.0 + 10 +10.12975984251968 + 20 +5.517503937007874 + 30 +0.0 + 10 +10.12975984251968 + 20 +5.517503937007874 + 30 +0.0 + 10 +10.14070472440945 + 20 +5.511889763779528 + 30 +0.0 + 10 +10.14909448818898 + 20 +5.504279527559055 + 30 +0.0 + 10 +10.15492913385827 + 20 +5.494614173228347 + 30 +0.0 + 10 +10.15492913385827 + 20 +5.494614173228347 + 30 +0.0 + 10 +10.16070472440945 + 20 +5.484948818897638 + 30 +0.0 + 10 +10.16364960629921 + 20 +5.474724409448819 + 30 +0.0 + 10 +10.16364960629921 + 20 +5.463834645669292 + 30 +0.0 + 10 +10.16364960629921 + 20 +5.463834645669292 + 30 +0.0 + 10 +10.16364960629921 + 20 +5.45355905511811 + 30 +0.0 + 10 +10.16087401574803 + 20 +5.444169291338583 + 30 +0.0 + 10 +10.15531889763779 + 20 +5.435669291338582 + 30 +0.0 + 10 +10.15531889763779 + 20 +5.435669291338582 + 30 +0.0 + 10 +10.14975984251969 + 20 +5.427224409448819 + 30 +0.0 + 10 +10.14159448818898 + 20 +5.420503937007874 + 30 +0.0 + 10 +10.13075984251969 + 20 +5.415503937007874 + 30 +0.0 + 10 +10.13075984251969 + 20 +5.415503937007874 + 30 +0.0 + 10 +10.14487401574803 + 20 +5.412279527559055 + 30 +0.0 + 10 +10.1558188976378 + 20 +5.405503937007874 + 30 +0.0 + 10 +10.16364960629921 + 20 +5.395224409448819 + 30 +0.0 + 10 +10.16364960629921 + 20 +5.395224409448819 + 30 +0.0 + 10 +10.17142913385827 + 20 +5.385003937007874 + 30 +0.0 + 10 +10.1753188976378 + 20 +5.372169291338583 + 30 +0.0 + 10 +10.1753188976378 + 20 +5.356779527559056 + 30 +0.0 + 10 +10.1753188976378 + 20 +5.356779527559056 + 30 +0.0 + 10 +10.1753188976378 + 20 +5.335944881889763 + 30 +0.0 + 10 +10.16775984251968 + 20 +5.318279527559056 + 30 +0.0 + 10 +10.15253937007874 + 20 +5.303779527559055 + 30 +0.0 + 10 +10.15253937007874 + 20 +5.303779527559055 + 30 +0.0 + 10 +10.13737401574803 + 20 +5.289279527559055 + 30 +0.0 + 10 +10.11814960629921 + 20 +5.28205905511811 + 30 +0.0 + 10 +10.09492913385827 + 20 +5.28205905511811 + 30 +0.0 + 10 +10.09492913385827 + 20 +5.28205905511811 + 30 +0.0 + 10 +10.0739842519685 + 20 +5.28205905511811 + 30 +0.0 + 10 +10.05659448818898 + 20 +5.288279527559055 + 30 +0.0 + 10 +10.04275984251968 + 20 +5.300779527559055 + 30 +0.0 + 10 +10.04275984251968 + 20 +5.300779527559055 + 30 +0.0 + 10 +10.02892913385827 + 20 +5.313224409448819 + 30 +0.0 + 10 +10.02103937007874 + 20 +5.329389763779528 + 30 +0.0 + 10 +10.01909448818898 + 20 +5.349279527559055 + 30 +0.0 + 0 +SPLINE + 5 +325 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.28553937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.28553937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.34870472440945 + 20 +5.376114173228347 + 30 +0.0 + 10 +10.34870472440945 + 20 +5.376114173228347 + 30 +0.0 + 10 +10.34870472440945 + 20 +5.376114173228347 + 30 +0.0 + 10 +10.34870472440945 + 20 +5.376114173228347 + 30 +0.0 + 10 +10.29025984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.29025984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.29025984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.29025984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.32687401574803 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.32687401574803 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.32687401574803 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.32687401574803 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.35342913385827 + 20 +5.418614173228346 + 30 +0.0 + 10 +10.35342913385827 + 20 +5.418614173228346 + 30 +0.0 + 10 +10.35342913385827 + 20 +5.418614173228346 + 30 +0.0 + 10 +10.35837401574803 + 20 +5.410889763779528 + 30 +0.0 + 10 +10.36242913385827 + 20 +5.404444881889764 + 30 +0.0 + 10 +10.36542913385827 + 20 +5.399224409448819 + 30 +0.0 + 10 +10.36542913385827 + 20 +5.399224409448819 + 30 +0.0 + 10 +10.37020472440945 + 20 +5.406389763779528 + 30 +0.0 + 10 +10.37459448818898 + 20 +5.412724409448819 + 30 +0.0 + 10 +10.37864960629921 + 20 +5.418279527559055 + 30 +0.0 + 10 +10.37864960629921 + 20 +5.418279527559055 + 30 +0.0 + 10 +10.37864960629921 + 20 +5.418279527559055 + 30 +0.0 + 10 +10.40775984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.40775984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.40775984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.40775984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.44275984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.44275984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.44275984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.44275984251968 + 20 +5.459114173228347 + 30 +0.0 + 10 +10.38303937007874 + 20 +5.377724409448819 + 30 +0.0 + 10 +10.38303937007874 + 20 +5.377724409448819 + 30 +0.0 + 10 +10.38303937007874 + 20 +5.377724409448819 + 30 +0.0 + 10 +10.38303937007874 + 20 +5.377724409448819 + 30 +0.0 + 10 +10.44731889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.44731889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.44731889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.44731889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.41137401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.41137401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.41137401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.41137401574803 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.37587401574803 + 20 +5.34 + 30 +0.0 + 10 +10.37587401574803 + 20 +5.34 + 30 +0.0 + 10 +10.37587401574803 + 20 +5.34 + 30 +0.0 + 10 +10.37587401574803 + 20 +5.34 + 30 +0.0 + 10 +10.36642913385827 + 20 +5.354503937007874 + 30 +0.0 + 10 +10.36642913385827 + 20 +5.354503937007874 + 30 +0.0 + 10 +10.36642913385827 + 20 +5.354503937007874 + 30 +0.0 + 10 +10.36642913385827 + 20 +5.354503937007874 + 30 +0.0 + 10 +10.32103937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.32103937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.32103937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.32103937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.28553937007874 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.28553937007874 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +326 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.71020866141732 + 20 +5.314444881889764 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.314444881889764 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.5524842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.5524842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.5524842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.55226377952756 + 20 +5.293334645669291 + 30 +0.0 + 10 +10.55337401574803 + 20 +5.300114173228346 + 30 +0.0 + 10 +10.55587401574803 + 20 +5.306614173228346 + 30 +0.0 + 10 +10.55587401574803 + 20 +5.306614173228346 + 30 +0.0 + 10 +10.55987401574803 + 20 +5.317389763779528 + 30 +0.0 + 10 +10.5663188976378 + 20 +5.327944881889763 + 30 +0.0 + 10 +10.57515354330709 + 20 +5.338389763779528 + 30 +0.0 + 10 +10.57515354330709 + 20 +5.338389763779528 + 30 +0.0 + 10 +10.58403937007874 + 20 +5.348779527559056 + 30 +0.0 + 10 +10.5968188976378 + 20 +5.360834645669291 + 30 +0.0 + 10 +10.6134842519685 + 20 +5.374503937007874 + 30 +0.0 + 10 +10.6134842519685 + 20 +5.374503937007874 + 30 +0.0 + 10 +10.63942913385827 + 20 +5.395779527559055 + 30 +0.0 + 10 +10.6569842519685 + 20 +5.412614173228347 + 30 +0.0 + 10 +10.66609842519685 + 20 +5.42505905511811 + 30 +0.0 + 10 +10.66609842519685 + 20 +5.42505905511811 + 30 +0.0 + 10 +10.67520866141732 + 20 +5.437444881889764 + 30 +0.0 + 10 +10.67976377952756 + 20 +5.449224409448819 + 30 +0.0 + 10 +10.67976377952756 + 20 +5.460279527559055 + 30 +0.0 + 10 +10.67976377952756 + 20 +5.460279527559055 + 30 +0.0 + 10 +10.67976377952756 + 20 +5.471889763779528 + 30 +0.0 + 10 +10.67559842519685 + 20 +5.481669291338583 + 30 +0.0 + 10 +10.6673188976378 + 20 +5.489669291338583 + 30 +0.0 + 10 +10.6673188976378 + 20 +5.489669291338583 + 30 +0.0 + 10 +10.6589842519685 + 20 +5.497614173228347 + 30 +0.0 + 10 +10.64815354330709 + 20 +5.501614173228346 + 30 +0.0 + 10 +10.63481889763779 + 20 +5.501614173228346 + 30 +0.0 + 10 +10.63481889763779 + 20 +5.501614173228346 + 30 +0.0 + 10 +10.62070866141732 + 20 +5.501614173228346 + 30 +0.0 + 10 +10.60942913385827 + 20 +5.497389763779528 + 30 +0.0 + 10 +10.6009842519685 + 20 +5.488889763779528 + 30 +0.0 + 10 +10.6009842519685 + 20 +5.488889763779528 + 30 +0.0 + 10 +10.5924842519685 + 20 +5.480448818897638 + 30 +0.0 + 10 +10.58820866141732 + 20 +5.468724409448819 + 30 +0.0 + 10 +10.58809448818898 + 20 +5.453779527559055 + 30 +0.0 + 10 +10.58809448818898 + 20 +5.453779527559055 + 30 +0.0 + 10 +10.58809448818898 + 20 +5.453779527559055 + 30 +0.0 + 10 +10.5579842519685 + 20 +5.456834645669291 + 30 +0.0 + 10 +10.5579842519685 + 20 +5.456834645669291 + 30 +0.0 + 10 +10.5579842519685 + 20 +5.456834645669291 + 30 +0.0 + 10 +10.56003937007874 + 20 +5.479334645669291 + 30 +0.0 + 10 +10.5678188976378 + 20 +5.496448818897638 + 30 +0.0 + 10 +10.58126377952756 + 20 +5.508224409448819 + 30 +0.0 + 10 +10.58126377952756 + 20 +5.508224409448819 + 30 +0.0 + 10 +10.59470866141732 + 20 +5.520003937007874 + 30 +0.0 + 10 +10.6128188976378 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.6354842519685 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.6354842519685 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.65837401574803 + 20 +5.525889763779528 + 30 +0.0 + 10 +10.6764842519685 + 20 +5.519503937007874 + 30 +0.0 + 10 +10.6898188976378 + 20 +5.506834645669291 + 30 +0.0 + 10 +10.6898188976378 + 20 +5.506834645669291 + 30 +0.0 + 10 +10.70320866141732 + 20 +5.494114173228346 + 30 +0.0 + 10 +10.70987401574803 + 20 +5.478389763779528 + 30 +0.0 + 10 +10.70987401574803 + 20 +5.459614173228347 + 30 +0.0 + 10 +10.70987401574803 + 20 +5.459614173228347 + 30 +0.0 + 10 +10.70987401574803 + 20 +5.450059055118111 + 30 +0.0 + 10 +10.70792913385827 + 20 +5.440669291338582 + 30 +0.0 + 10 +10.7039842519685 + 20 +5.431444881889764 + 30 +0.0 + 10 +10.7039842519685 + 20 +5.431444881889764 + 30 +0.0 + 10 +10.70009842519685 + 20 +5.422224409448819 + 30 +0.0 + 10 +10.69359842519685 + 20 +5.412503937007874 + 30 +0.0 + 10 +10.68453937007874 + 20 +5.402334645669291 + 30 +0.0 + 10 +10.68453937007874 + 20 +5.402334645669291 + 30 +0.0 + 10 +10.6754842519685 + 20 +5.392114173228347 + 30 +0.0 + 10 +10.66042913385827 + 20 +5.378114173228346 + 30 +0.0 + 10 +10.63937401574803 + 20 +5.360334645669291 + 30 +0.0 + 10 +10.63937401574803 + 20 +5.360334645669291 + 30 +0.0 + 10 +10.62181889763779 + 20 +5.34555905511811 + 30 +0.0 + 10 +10.61053937007874 + 20 +5.33555905511811 + 30 +0.0 + 10 +10.60553937007874 + 20 +5.330279527559055 + 30 +0.0 + 10 +10.60553937007874 + 20 +5.330279527559055 + 30 +0.0 + 10 +10.60053937007874 + 20 +5.325059055118111 + 30 +0.0 + 10 +10.59642913385827 + 20 +5.319779527559055 + 30 +0.0 + 10 +10.59315354330709 + 20 +5.314444881889764 + 30 +0.0 + 10 +10.59315354330709 + 20 +5.314444881889764 + 30 +0.0 + 10 +10.59315354330709 + 20 +5.314444881889764 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.314444881889764 + 30 +0.0 + 10 +10.71020866141732 + 20 +5.314444881889764 + 30 +0.0 + 0 +SPLINE + 5 +327 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.83548818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.7319842519685 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.84087401574803 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.84087401574803 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.84087401574803 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.84087401574803 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.524889763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.89704330708661 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.343389763779528 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.86481889763779 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +328 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.83548818897638 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.477834645669291 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.477834645669291 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.477834645669291 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.477834645669291 + 30 +0.0 + 10 +10.7608188976378 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.7608188976378 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.7608188976378 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.7608188976378 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.370279527559055 + 30 +0.0 + 10 +10.83548818897638 + 20 +5.370279527559055 + 30 +0.0 + 0 +SPLINE + 5 +329 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.00820866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.00820866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.07137401574803 + 20 +5.376114173228347 + 30 +0.0 + 10 +11.07137401574803 + 20 +5.376114173228347 + 30 +0.0 + 10 +11.07137401574803 + 20 +5.376114173228347 + 30 +0.0 + 10 +11.07137401574803 + 20 +5.376114173228347 + 30 +0.0 + 10 +11.01292913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.01292913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.01292913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.01292913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.04954330708661 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.04954330708661 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.04954330708661 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.04954330708661 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.07609842519685 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.07609842519685 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.07609842519685 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.08104330708662 + 20 +5.410889763779528 + 30 +0.0 + 10 +11.08509842519685 + 20 +5.404444881889764 + 30 +0.0 + 10 +11.08809842519685 + 20 +5.399224409448819 + 30 +0.0 + 10 +11.08809842519685 + 20 +5.399224409448819 + 30 +0.0 + 10 +11.09287401574803 + 20 +5.406389763779528 + 30 +0.0 + 10 +11.09726377952756 + 20 +5.412724409448819 + 30 +0.0 + 10 +11.1013188976378 + 20 +5.418279527559055 + 30 +0.0 + 10 +11.1013188976378 + 20 +5.418279527559055 + 30 +0.0 + 10 +11.1013188976378 + 20 +5.418279527559055 + 30 +0.0 + 10 +11.13042913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.13042913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.13042913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.13042913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.16542913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.16542913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.16542913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.16542913385827 + 20 +5.459114173228347 + 30 +0.0 + 10 +11.10570866141732 + 20 +5.377724409448819 + 30 +0.0 + 10 +11.10570866141732 + 20 +5.377724409448819 + 30 +0.0 + 10 +11.10570866141732 + 20 +5.377724409448819 + 30 +0.0 + 10 +11.10570866141732 + 20 +5.377724409448819 + 30 +0.0 + 10 +11.16998818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.16998818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.16998818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.16998818897638 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.13404330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.13404330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.13404330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.13404330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.09854330708661 + 20 +5.34 + 30 +0.0 + 10 +11.09854330708661 + 20 +5.34 + 30 +0.0 + 10 +11.09854330708661 + 20 +5.34 + 30 +0.0 + 10 +11.09854330708661 + 20 +5.34 + 30 +0.0 + 10 +11.08909842519685 + 20 +5.354503937007874 + 30 +0.0 + 10 +11.08909842519685 + 20 +5.354503937007874 + 30 +0.0 + 10 +11.08909842519685 + 20 +5.354503937007874 + 30 +0.0 + 10 +11.08909842519685 + 20 +5.354503937007874 + 30 +0.0 + 10 +11.04370866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.04370866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.04370866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.04370866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.00820866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.00820866141732 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +32A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.27887795275591 + 20 +5.348779527559056 + 30 +0.0 + 10 +11.27887795275591 + 20 +5.348779527559056 + 30 +0.0 + 10 +11.30965354330709 + 20 +5.351389763779528 + 30 +0.0 + 10 +11.30965354330709 + 20 +5.351389763779528 + 30 +0.0 + 10 +11.30965354330709 + 20 +5.351389763779528 + 30 +0.0 + 10 +11.31193307086614 + 20 +5.336389763779527 + 30 +0.0 + 10 +11.31720866141732 + 20 +5.325169291338582 + 30 +0.0 + 10 +11.32548818897638 + 20 +5.317614173228346 + 30 +0.0 + 10 +11.32548818897638 + 20 +5.317614173228346 + 30 +0.0 + 10 +11.33382283464567 + 20 +5.31005905511811 + 30 +0.0 + 10 +11.34382283464567 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.35554330708661 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.35554330708661 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.36965354330709 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.38159842519685 + 20 +5.311614173228347 + 30 +0.0 + 10 +11.39132283464567 + 20 +5.322224409448819 + 30 +0.0 + 10 +11.39132283464567 + 20 +5.322224409448819 + 30 +0.0 + 10 +11.40109842519685 + 20 +5.332889763779527 + 30 +0.0 + 10 +11.40598818897638 + 20 +5.347003937007874 + 30 +0.0 + 10 +11.40598818897638 + 20 +5.36455905511811 + 30 +0.0 + 10 +11.40598818897638 + 20 +5.36455905511811 + 30 +0.0 + 10 +11.40598818897638 + 20 +5.381279527559055 + 30 +0.0 + 10 +11.40132283464567 + 20 +5.394444881889764 + 30 +0.0 + 10 +11.39193307086614 + 20 +5.404114173228346 + 30 +0.0 + 10 +11.39193307086614 + 20 +5.404114173228346 + 30 +0.0 + 10 +11.38254330708661 + 20 +5.413779527559055 + 30 +0.0 + 10 +11.37026771653543 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.35504330708661 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.35504330708661 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.34559842519685 + 20 +5.418614173228346 + 30 +0.0 + 10 +11.33709842519685 + 20 +5.416444881889764 + 30 +0.0 + 10 +11.32948818897638 + 20 +5.412169291338583 + 30 +0.0 + 10 +11.32948818897638 + 20 +5.412169291338583 + 30 +0.0 + 10 +11.32187795275591 + 20 +5.407889763779528 + 30 +0.0 + 10 +11.31593307086614 + 20 +5.402334645669291 + 30 +0.0 + 10 +11.31159842519685 + 20 +5.395503937007874 + 30 +0.0 + 10 +11.31159842519685 + 20 +5.395503937007874 + 30 +0.0 + 10 +11.31159842519685 + 20 +5.395503937007874 + 30 +0.0 + 10 +11.28409842519685 + 20 +5.39905905511811 + 30 +0.0 + 10 +11.28409842519685 + 20 +5.39905905511811 + 30 +0.0 + 10 +11.28409842519685 + 20 +5.39905905511811 + 30 +0.0 + 10 +11.28409842519685 + 20 +5.39905905511811 + 30 +0.0 + 10 +11.30720866141732 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.30720866141732 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.30720866141732 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.30720866141732 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.521614173228347 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.42587795275591 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.33065354330709 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.33065354330709 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.33065354330709 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.33065354330709 + 20 +5.493614173228346 + 30 +0.0 + 10 +11.31776377952756 + 20 +5.429503937007874 + 30 +0.0 + 10 +11.31776377952756 + 20 +5.429503937007874 + 30 +0.0 + 10 +11.31776377952756 + 20 +5.429503937007874 + 30 +0.0 + 10 +11.33209842519685 + 20 +5.439503937007874 + 30 +0.0 + 10 +11.34715354330709 + 20 +5.444503937007874 + 30 +0.0 + 10 +11.36287795275591 + 20 +5.444503937007874 + 30 +0.0 + 10 +11.36287795275591 + 20 +5.444503937007874 + 30 +0.0 + 10 +11.38370866141732 + 20 +5.444503937007874 + 30 +0.0 + 10 +11.40126771653543 + 20 +5.437279527559055 + 30 +0.0 + 10 +11.41559842519685 + 20 +5.422834645669291 + 30 +0.0 + 10 +11.41559842519685 + 20 +5.422834645669291 + 30 +0.0 + 10 +11.42993307086614 + 20 +5.408389763779527 + 30 +0.0 + 10 +11.43709842519685 + 20 +5.389834645669291 + 30 +0.0 + 10 +11.43709842519685 + 20 +5.367169291338583 + 30 +0.0 + 10 +11.43709842519685 + 20 +5.367169291338583 + 30 +0.0 + 10 +11.43709842519685 + 20 +5.34555905511811 + 30 +0.0 + 10 +11.43076771653543 + 20 +5.326889763779527 + 30 +0.0 + 10 +11.41820866141732 + 20 +5.311169291338583 + 30 +0.0 + 10 +11.41820866141732 + 20 +5.311169291338583 + 30 +0.0 + 10 +11.40287795275591 + 20 +5.291889763779528 + 30 +0.0 + 10 +11.38198818897638 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.35554330708661 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.35554330708661 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.33382283464567 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.31609842519685 + 20 +5.288279527559055 + 30 +0.0 + 10 +11.30237795275591 + 20 +5.300444881889764 + 30 +0.0 + 10 +11.30237795275591 + 20 +5.300444881889764 + 30 +0.0 + 10 +11.28865354330709 + 20 +5.312614173228346 + 30 +0.0 + 10 +11.28082283464567 + 20 +5.328724409448819 + 30 +0.0 + 10 +11.27887795275591 + 20 +5.348779527559056 + 30 +0.0 + 0 +SPLINE + 5 +32B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.46865354330709 + 20 +5.341444881889764 + 30 +0.0 + 10 +11.46865354330709 + 20 +5.341444881889764 + 30 +0.0 + 10 +11.49682283464567 + 20 +5.344059055118111 + 30 +0.0 + 10 +11.49682283464567 + 20 +5.344059055118111 + 30 +0.0 + 10 +11.49682283464567 + 20 +5.344059055118111 + 30 +0.0 + 10 +11.4992125984252 + 20 +5.330834645669292 + 30 +0.0 + 10 +11.50376771653543 + 20 +5.321224409448819 + 30 +0.0 + 10 +11.51048818897638 + 20 +5.315224409448819 + 30 +0.0 + 10 +11.51048818897638 + 20 +5.315224409448819 + 30 +0.0 + 10 +11.5172125984252 + 20 +5.309279527559055 + 30 +0.0 + 10 +11.52582283464567 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.53637795275591 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.53637795275591 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.54537795275591 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.55326771653543 + 20 +5.308334645669292 + 30 +0.0 + 10 +11.56004330708661 + 20 +5.3125 + 30 +0.0 + 10 +11.56004330708661 + 20 +5.3125 + 30 +0.0 + 10 +11.56682283464567 + 20 +5.316614173228347 + 30 +0.0 + 10 +11.57237795275591 + 20 +5.322114173228346 + 30 +0.0 + 10 +11.5767125984252 + 20 +5.329 + 30 +0.0 + 10 +11.5767125984252 + 20 +5.329 + 30 +0.0 + 10 +11.58109842519685 + 20 +5.335889763779528 + 30 +0.0 + 10 +11.5847125984252 + 20 +5.345224409448819 + 30 +0.0 + 10 +11.58765748031496 + 20 +5.356889763779527 + 30 +0.0 + 10 +11.58765748031496 + 20 +5.356889763779527 + 30 +0.0 + 10 +11.59054330708661 + 20 +5.368614173228346 + 30 +0.0 + 10 +11.59204330708661 + 20 +5.38055905511811 + 30 +0.0 + 10 +11.59204330708661 + 20 +5.392724409448819 + 30 +0.0 + 10 +11.59204330708661 + 20 +5.392724409448819 + 30 +0.0 + 10 +11.59204330708661 + 20 +5.394003937007874 + 30 +0.0 + 10 +11.59198818897638 + 20 +5.396003937007874 + 30 +0.0 + 10 +11.59187795275591 + 20 +5.398559055118111 + 30 +0.0 + 10 +11.59187795275591 + 20 +5.398559055118111 + 30 +0.0 + 10 +11.58598818897638 + 20 +5.389279527559055 + 30 +0.0 + 10 +11.57798818897638 + 20 +5.381669291338583 + 30 +0.0 + 10 +11.56787795275591 + 20 +5.375889763779528 + 30 +0.0 + 10 +11.56787795275591 + 20 +5.375889763779528 + 30 +0.0 + 10 +11.5577125984252 + 20 +5.37005905511811 + 30 +0.0 + 10 +11.5467125984252 + 20 +5.367169291338583 + 30 +0.0 + 10 +11.53493307086614 + 20 +5.367169291338583 + 30 +0.0 + 10 +11.53493307086614 + 20 +5.367169291338583 + 30 +0.0 + 10 +11.51515748031496 + 20 +5.367169291338583 + 30 +0.0 + 10 +11.49843307086614 + 20 +5.374334645669292 + 30 +0.0 + 10 +11.48476771653543 + 20 +5.388669291338583 + 30 +0.0 + 10 +11.48476771653543 + 20 +5.388669291338583 + 30 +0.0 + 10 +11.47109842519685 + 20 +5.403003937007874 + 30 +0.0 + 10 +11.46426771653543 + 20 +5.421834645669291 + 30 +0.0 + 10 +11.46426771653543 + 20 +5.445279527559055 + 30 +0.0 + 10 +11.46426771653543 + 20 +5.445279527559055 + 30 +0.0 + 10 +11.46426771653543 + 20 +5.469503937007874 + 30 +0.0 + 10 +11.4713779527559 + 20 +5.488948818897637 + 30 +0.0 + 10 +11.48565354330709 + 20 +5.503724409448819 + 30 +0.0 + 10 +11.48565354330709 + 20 +5.503724409448819 + 30 +0.0 + 10 +11.49993307086614 + 20 +5.518503937007874 + 30 +0.0 + 10 +11.51782283464567 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.53932283464567 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.53932283464567 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.55482283464567 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.56898818897638 + 20 +5.521669291338583 + 30 +0.0 + 10 +11.5818779527559 + 20 +5.513334645669292 + 30 +0.0 + 10 +11.5818779527559 + 20 +5.513334645669292 + 30 +0.0 + 10 +11.5947125984252 + 20 +5.505003937007874 + 30 +0.0 + 10 +11.60448818897638 + 20 +5.493059055118111 + 30 +0.0 + 10 +11.61115748031496 + 20 +5.477614173228346 + 30 +0.0 + 10 +11.61115748031496 + 20 +5.477614173228346 + 30 +0.0 + 10 +11.61782283464567 + 20 +5.462169291338583 + 30 +0.0 + 10 +11.62115748031496 + 20 +5.439779527559055 + 30 +0.0 + 10 +11.62115748031496 + 20 +5.410444881889764 + 30 +0.0 + 10 +11.62115748031496 + 20 +5.410444881889764 + 30 +0.0 + 10 +11.62115748031496 + 20 +5.380003937007874 + 30 +0.0 + 10 +11.61787795275591 + 20 +5.355724409448819 + 30 +0.0 + 10 +11.61126771653543 + 20 +5.337614173228347 + 30 +0.0 + 10 +11.61126771653543 + 20 +5.337614173228347 + 30 +0.0 + 10 +11.60459842519685 + 20 +5.31955905511811 + 30 +0.0 + 10 +11.59476771653543 + 20 +5.305834645669291 + 30 +0.0 + 10 +11.5817125984252 + 20 +5.296389763779527 + 30 +0.0 + 10 +11.5817125984252 + 20 +5.296389763779527 + 30 +0.0 + 10 +11.56859842519685 + 20 +5.286944881889764 + 30 +0.0 + 10 +11.55332283464567 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.5357125984252 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.5357125984252 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.51704330708661 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.50182283464567 + 20 +5.287389763779528 + 30 +0.0 + 10 +11.48998818897638 + 20 +5.297779527559055 + 30 +0.0 + 10 +11.48998818897638 + 20 +5.297779527559055 + 30 +0.0 + 10 +11.47815354330709 + 20 +5.308114173228346 + 30 +0.0 + 10 +11.47104330708661 + 20 +5.322669291338583 + 30 +0.0 + 10 +11.46865354330709 + 20 +5.341444881889764 + 30 +0.0 + 0 +SPLINE + 5 +32C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.58859842519685 + 20 +5.446779527559055 + 30 +0.0 + 10 +11.58859842519685 + 20 +5.46355905511811 + 30 +0.0 + 10 +11.58415748031496 + 20 +5.476948818897638 + 30 +0.0 + 10 +11.5752125984252 + 20 +5.486779527559055 + 30 +0.0 + 10 +11.5752125984252 + 20 +5.486779527559055 + 30 +0.0 + 10 +11.5662125984252 + 20 +5.496669291338582 + 30 +0.0 + 10 +11.55548818897638 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.54287795275591 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.54287795275591 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.52987795275591 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.51854330708662 + 20 +5.496279527559055 + 30 +0.0 + 10 +11.50887795275591 + 20 +5.485669291338582 + 30 +0.0 + 10 +11.50887795275591 + 20 +5.485669291338582 + 30 +0.0 + 10 +11.4992125984252 + 20 +5.475003937007874 + 30 +0.0 + 10 +11.49437795275591 + 20 +5.461224409448818 + 30 +0.0 + 10 +11.49437795275591 + 20 +5.444334645669291 + 30 +0.0 + 10 +11.49437795275591 + 20 +5.444334645669291 + 30 +0.0 + 10 +11.49437795275591 + 20 +5.429114173228347 + 30 +0.0 + 10 +11.49898818897638 + 20 +5.416779527559055 + 30 +0.0 + 10 +11.50815748031496 + 20 +5.407279527559055 + 30 +0.0 + 10 +11.50815748031496 + 20 +5.407279527559055 + 30 +0.0 + 10 +11.51732283464567 + 20 +5.397779527559055 + 30 +0.0 + 10 +11.52859842519685 + 20 +5.39305905511811 + 30 +0.0 + 10 +11.54204330708661 + 20 +5.39305905511811 + 30 +0.0 + 10 +11.54204330708661 + 20 +5.39305905511811 + 30 +0.0 + 10 +11.55565748031496 + 20 +5.39305905511811 + 30 +0.0 + 10 +11.56676771653543 + 20 +5.397779527559055 + 30 +0.0 + 10 +11.57548818897638 + 20 +5.407279527559055 + 30 +0.0 + 10 +11.57548818897638 + 20 +5.407279527559055 + 30 +0.0 + 10 +11.58426771653543 + 20 +5.416779527559055 + 30 +0.0 + 10 +11.58859842519685 + 20 +5.429944881889764 + 30 +0.0 + 10 +11.58859842519685 + 20 +5.446779527559055 + 30 +0.0 + 0 +SPLINE + 5 +32D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.66543307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.319669291338583 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.69882283464567 + 20 +5.274 + 30 +0.0 + 10 +11.69665748031496 + 20 +5.264114173228347 + 30 +0.0 + 10 +11.69232283464567 + 20 +5.25655905511811 + 30 +0.0 + 10 +11.69232283464567 + 20 +5.25655905511811 + 30 +0.0 + 10 +11.68793307086614 + 20 +5.24905905511811 + 30 +0.0 + 10 +11.68104330708661 + 20 +5.243224409448819 + 30 +0.0 + 10 +11.67165748031496 + 20 +5.23905905511811 + 30 +0.0 + 10 +11.67165748031496 + 20 +5.23905905511811 + 30 +0.0 + 10 +11.67165748031496 + 20 +5.23905905511811 + 30 +0.0 + 10 +11.66348818897638 + 20 +5.251614173228346 + 30 +0.0 + 10 +11.66348818897638 + 20 +5.251614173228346 + 30 +0.0 + 10 +11.66348818897638 + 20 +5.251614173228346 + 30 +0.0 + 10 +11.66965748031496 + 20 +5.254334645669291 + 30 +0.0 + 10 +11.6742125984252 + 20 +5.258334645669291 + 30 +0.0 + 10 +11.67715748031496 + 20 +5.26355905511811 + 30 +0.0 + 10 +11.67715748031496 + 20 +5.26355905511811 + 30 +0.0 + 10 +11.68010236220472 + 20 +5.268834645669291 + 30 +0.0 + 10 +11.6817125984252 + 20 +5.276389763779528 + 30 +0.0 + 10 +11.68204330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.68204330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.68204330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +11.66543307086614 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +32E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.8348779527559 + 20 +5.403944881889764 + 30 +0.0 + 10 +11.8348779527559 + 20 +5.432169291338583 + 30 +0.0 + 10 +11.83776377952756 + 20 +5.454889763779527 + 30 +0.0 + 10 +11.84359842519685 + 20 +5.47205905511811 + 30 +0.0 + 10 +11.84359842519685 + 20 +5.47205905511811 + 30 +0.0 + 10 +11.8493779527559 + 20 +5.489279527559055 + 30 +0.0 + 10 +11.85804330708661 + 20 +5.50255905511811 + 30 +0.0 + 10 +11.86948818897638 + 20 +5.511889763779528 + 30 +0.0 + 10 +11.86948818897638 + 20 +5.511889763779528 + 30 +0.0 + 10 +11.88093307086614 + 20 +5.521224409448819 + 30 +0.0 + 10 +11.89532283464567 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.91265354330709 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.91265354330709 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.92548818897638 + 20 +5.525889763779528 + 30 +0.0 + 10 +11.93670866141732 + 20 +5.523279527559055 + 30 +0.0 + 10 +11.94637795275591 + 20 +5.518114173228346 + 30 +0.0 + 10 +11.94637795275591 + 20 +5.518114173228346 + 30 +0.0 + 10 +11.95604330708662 + 20 +5.513003937007874 + 30 +0.0 + 10 +11.96398818897638 + 20 +5.50555905511811 + 30 +0.0 + 10 +11.97032283464567 + 20 +5.495834645669292 + 30 +0.0 + 10 +11.97032283464567 + 20 +5.495834645669292 + 30 +0.0 + 10 +11.97659842519685 + 20 +5.486114173228346 + 30 +0.0 + 10 +11.98154330708661 + 20 +5.474279527559055 + 30 +0.0 + 10 +11.98509842519685 + 20 +5.460334645669291 + 30 +0.0 + 10 +11.98509842519685 + 20 +5.460334645669291 + 30 +0.0 + 10 +11.9887125984252 + 20 +5.446389763779528 + 30 +0.0 + 10 +11.99048818897638 + 20 +5.427614173228346 + 30 +0.0 + 10 +11.99048818897638 + 20 +5.403944881889764 + 30 +0.0 + 10 +11.99048818897638 + 20 +5.403944881889764 + 30 +0.0 + 10 +11.99048818897638 + 20 +5.375944881889763 + 30 +0.0 + 10 +11.98759842519685 + 20 +5.353389763779528 + 30 +0.0 + 10 +11.98187795275591 + 20 +5.336169291338583 + 30 +0.0 + 10 +11.98187795275591 + 20 +5.336169291338583 + 30 +0.0 + 10 +11.97609842519685 + 20 +5.318944881889764 + 30 +0.0 + 10 +11.96748818897638 + 20 +5.305669291338583 + 30 +0.0 + 10 +11.95604330708662 + 20 +5.296279527559055 + 30 +0.0 + 10 +11.95604330708662 + 20 +5.296279527559055 + 30 +0.0 + 10 +11.94459842519685 + 20 +5.286889763779527 + 30 +0.0 + 10 +11.93015354330709 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.91265354330709 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.91265354330709 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.88965354330709 + 20 +5.282224409448819 + 30 +0.0 + 10 +11.87159842519685 + 20 +5.290444881889764 + 30 +0.0 + 10 +11.85848818897638 + 20 +5.306944881889764 + 30 +0.0 + 10 +11.85848818897638 + 20 +5.306944881889764 + 30 +0.0 + 10 +11.84276377952756 + 20 +5.326779527559055 + 30 +0.0 + 10 +11.8348779527559 + 20 +5.359169291338583 + 30 +0.0 + 10 +11.8348779527559 + 20 +5.403944881889764 + 30 +0.0 + 0 +SPLINE + 5 +32F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.86498818897638 + 20 +5.403944881889764 + 30 +0.0 + 10 +11.86498818897638 + 20 +5.364779527559056 + 30 +0.0 + 10 +11.86959842519685 + 20 +5.338724409448819 + 30 +0.0 + 10 +11.87876771653543 + 20 +5.325724409448819 + 30 +0.0 + 10 +11.87876771653543 + 20 +5.325724409448819 + 30 +0.0 + 10 +11.88793307086614 + 20 +5.312779527559055 + 30 +0.0 + 10 +11.89920866141732 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.91265354330709 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.91265354330709 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.92615354330709 + 20 +5.306279527559055 + 30 +0.0 + 10 +11.93743307086614 + 20 +5.312834645669291 + 30 +0.0 + 10 +11.94659842519685 + 20 +5.325834645669292 + 30 +0.0 + 10 +11.94659842519685 + 20 +5.325834645669292 + 30 +0.0 + 10 +11.95576771653543 + 20 +5.338834645669292 + 30 +0.0 + 10 +11.96037795275591 + 20 +5.364889763779527 + 30 +0.0 + 10 +11.96037795275591 + 20 +5.403944881889764 + 30 +0.0 + 10 +11.96037795275591 + 20 +5.403944881889764 + 30 +0.0 + 10 +11.96037795275591 + 20 +5.443224409448819 + 30 +0.0 + 10 +11.95576771653543 + 20 +5.469334645669291 + 30 +0.0 + 10 +11.94659842519685 + 20 +5.482224409448819 + 30 +0.0 + 10 +11.94659842519685 + 20 +5.482224409448819 + 30 +0.0 + 10 +11.93743307086614 + 20 +5.495169291338582 + 30 +0.0 + 10 +11.92604330708661 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.91237795275591 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.91237795275591 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.8988779527559 + 20 +5.501614173228346 + 30 +0.0 + 10 +11.88815354330709 + 20 +5.495889763779528 + 30 +0.0 + 10 +11.88009842519685 + 20 +5.484503937007874 + 30 +0.0 + 10 +11.88009842519685 + 20 +5.484503937007874 + 30 +0.0 + 10 +11.87004330708661 + 20 +5.470003937007874 + 30 +0.0 + 10 +11.86498818897638 + 20 +5.443114173228347 + 30 +0.0 + 10 +11.86498818897638 + 20 +5.403944881889764 + 30 +0.0 + 0 +SPLINE + 5 +330 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.0367125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.07009842519685 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.0367125984252 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +331 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.22320866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.472948818897637 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.472948818897637 + 30 +0.0 + 10 +12.19393307086614 + 20 +5.472948818897637 + 30 +0.0 + 10 +12.18687795275591 + 20 +5.466224409448819 + 30 +0.0 + 10 +12.17765354330709 + 20 +5.459503937007874 + 30 +0.0 + 10 +12.16620866141732 + 20 +5.452779527559055 + 30 +0.0 + 10 +12.16620866141732 + 20 +5.452779527559055 + 30 +0.0 + 10 +12.15470866141732 + 20 +5.44605905511811 + 30 +0.0 + 10 +12.14443307086614 + 20 +5.441003937007874 + 30 +0.0 + 10 +12.13532283464567 + 20 +5.437669291338582 + 30 +0.0 + 10 +12.13532283464567 + 20 +5.437669291338582 + 30 +0.0 + 10 +12.13532283464567 + 20 +5.437669291338582 + 30 +0.0 + 10 +12.13532283464567 + 20 +5.465948818897638 + 30 +0.0 + 10 +12.13532283464567 + 20 +5.465948818897638 + 30 +0.0 + 10 +12.13532283464567 + 20 +5.465948818897638 + 30 +0.0 + 10 +12.15170866141732 + 20 +5.473669291338583 + 30 +0.0 + 10 +12.16604330708661 + 20 +5.483003937007874 + 30 +0.0 + 10 +12.17832283464567 + 20 +5.493948818897638 + 30 +0.0 + 10 +12.17832283464567 + 20 +5.493948818897638 + 30 +0.0 + 10 +12.19054330708661 + 20 +5.504948818897637 + 30 +0.0 + 10 +12.19926771653543 + 20 +5.515559055118111 + 30 +0.0 + 10 +12.20437795275591 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.20437795275591 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.20437795275591 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.525889763779528 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.22320866141732 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +332 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.30654330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.524889763779528 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.388834645669291 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.388834645669291 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.388834645669291 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.388834645669291 + 30 +0.0 + 10 +12.4052125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.4052125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.4052125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.4052125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.44309842519685 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.44309842519685 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.44309842519685 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.44309842519685 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.37704330708661 + 20 +5.395003937007874 + 30 +0.0 + 10 +12.37704330708661 + 20 +5.395003937007874 + 30 +0.0 + 10 +12.37704330708661 + 20 +5.395003937007874 + 30 +0.0 + 10 +12.37704330708661 + 20 +5.395003937007874 + 30 +0.0 + 10 +12.44982283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.44982283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.44982283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.44982283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.41365748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.41365748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.41365748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.41365748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.35654330708661 + 20 +5.374669291338583 + 30 +0.0 + 10 +12.35654330708661 + 20 +5.374669291338583 + 30 +0.0 + 10 +12.35654330708661 + 20 +5.374669291338583 + 30 +0.0 + 10 +12.35654330708661 + 20 +5.374669291338583 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.354779527559055 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.354779527559055 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.354779527559055 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.354779527559055 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.33587795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.30654330708661 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +333 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.59138188976378 + 20 +5.341944881889764 + 30 +0.0 + 10 +12.59138188976378 + 20 +5.341944881889764 + 30 +0.0 + 10 +12.62165748031496 + 20 +5.338224409448819 + 30 +0.0 + 10 +12.62165748031496 + 20 +5.338224409448819 + 30 +0.0 + 10 +12.62165748031496 + 20 +5.338224409448819 + 30 +0.0 + 10 +12.61688188976378 + 20 +5.3205 + 30 +0.0 + 10 +12.60804724409449 + 20 +5.306779527559055 + 30 +0.0 + 10 +12.59515748031496 + 20 +5.297 + 30 +0.0 + 10 +12.59515748031496 + 20 +5.297 + 30 +0.0 + 10 +12.5822125984252 + 20 +5.287279527559055 + 30 +0.0 + 10 +12.5657125984252 + 20 +5.282389763779528 + 30 +0.0 + 10 +12.54565748031496 + 20 +5.282389763779528 + 30 +0.0 + 10 +12.54565748031496 + 20 +5.282389763779528 + 30 +0.0 + 10 +12.52038188976378 + 20 +5.282389763779528 + 30 +0.0 + 10 +12.50032283464567 + 20 +5.290169291338582 + 30 +0.0 + 10 +12.48554724409449 + 20 +5.305724409448819 + 30 +0.0 + 10 +12.48554724409449 + 20 +5.305724409448819 + 30 +0.0 + 10 +12.4707125984252 + 20 +5.321279527559055 + 30 +0.0 + 10 +12.46332283464567 + 20 +5.343114173228346 + 30 +0.0 + 10 +12.46332283464567 + 20 +5.371224409448819 + 30 +0.0 + 10 +12.46332283464567 + 20 +5.371224409448819 + 30 +0.0 + 10 +12.46332283464567 + 20 +5.400334645669291 + 30 +0.0 + 10 +12.47082283464567 + 20 +5.422889763779527 + 30 +0.0 + 10 +12.48576771653543 + 20 +5.438944881889764 + 30 +0.0 + 10 +12.48576771653543 + 20 +5.438944881889764 + 30 +0.0 + 10 +12.50076771653543 + 20 +5.455003937007874 + 30 +0.0 + 10 +12.52015748031496 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.54404724409449 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.54404724409449 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.56715748031496 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.58604724409449 + 20 +5.455169291338582 + 30 +0.0 + 10 +12.60065748031496 + 20 +5.439444881889764 + 30 +0.0 + 10 +12.60065748031496 + 20 +5.439444881889764 + 30 +0.0 + 10 +12.61532677165354 + 20 +5.423724409448819 + 30 +0.0 + 10 +12.62265748031496 + 20 +5.40155905511811 + 30 +0.0 + 10 +12.62265748031496 + 20 +5.373059055118111 + 30 +0.0 + 10 +12.62265748031496 + 20 +5.373059055118111 + 30 +0.0 + 10 +12.62265748031496 + 20 +5.371279527559055 + 30 +0.0 + 10 +12.62260236220472 + 20 +5.368669291338582 + 30 +0.0 + 10 +12.62249212598425 + 20 +5.365224409448819 + 30 +0.0 + 10 +12.62249212598425 + 20 +5.365224409448819 + 30 +0.0 + 10 +12.62249212598425 + 20 +5.365224409448819 + 30 +0.0 + 10 +12.49360236220472 + 20 +5.365224409448819 + 30 +0.0 + 10 +12.49360236220472 + 20 +5.365224409448819 + 30 +0.0 + 10 +12.49360236220472 + 20 +5.365224409448819 + 30 +0.0 + 10 +12.49465748031496 + 20 +5.346224409448819 + 30 +0.0 + 10 +12.50004724409449 + 20 +5.331669291338582 + 30 +0.0 + 10 +12.5097125984252 + 20 +5.321614173228347 + 30 +0.0 + 10 +12.5097125984252 + 20 +5.321614173228347 + 30 +0.0 + 10 +12.51938188976378 + 20 +5.3115 + 30 +0.0 + 10 +12.53138188976378 + 20 +5.306444881889764 + 30 +0.0 + 10 +12.54582677165354 + 20 +5.306444881889764 + 30 +0.0 + 10 +12.54582677165354 + 20 +5.306444881889764 + 30 +0.0 + 10 +12.55654724409449 + 20 +5.306444881889764 + 30 +0.0 + 10 +12.5657125984252 + 20 +5.309279527559055 + 30 +0.0 + 10 +12.57332677165354 + 20 +5.314944881889764 + 30 +0.0 + 10 +12.57332677165354 + 20 +5.314944881889764 + 30 +0.0 + 10 +12.58093700787402 + 20 +5.32055905511811 + 30 +0.0 + 10 +12.58693700787402 + 20 +5.329559055118111 + 30 +0.0 + 10 +12.59138188976378 + 20 +5.341944881889764 + 30 +0.0 + 0 +SPLINE + 5 +334 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.4952125984252 + 20 +5.389334645669291 + 30 +0.0 + 10 +12.4952125984252 + 20 +5.389334645669291 + 30 +0.0 + 10 +12.5917125984252 + 20 +5.389334645669291 + 30 +0.0 + 10 +12.5917125984252 + 20 +5.389334645669291 + 30 +0.0 + 10 +12.5917125984252 + 20 +5.389334645669291 + 30 +0.0 + 10 +12.59043700787402 + 20 +5.403834645669291 + 30 +0.0 + 10 +12.5867125984252 + 20 +5.414779527559055 + 30 +0.0 + 10 +12.58065748031496 + 20 +5.422003937007874 + 30 +0.0 + 10 +12.58065748031496 + 20 +5.422003937007874 + 30 +0.0 + 10 +12.57132677165354 + 20 +5.433279527559055 + 30 +0.0 + 10 +12.5592125984252 + 20 +5.438944881889764 + 30 +0.0 + 10 +12.54438188976378 + 20 +5.438944881889764 + 30 +0.0 + 10 +12.54438188976378 + 20 +5.438944881889764 + 30 +0.0 + 10 +12.53093700787402 + 20 +5.438944881889764 + 30 +0.0 + 10 +12.51960236220472 + 20 +5.434444881889764 + 30 +0.0 + 10 +12.51043700787402 + 20 +5.425444881889764 + 30 +0.0 + 10 +12.51043700787402 + 20 +5.425444881889764 + 30 +0.0 + 10 +12.50126771653543 + 20 +5.416444881889764 + 30 +0.0 + 10 +12.4962125984252 + 20 +5.404389763779528 + 30 +0.0 + 10 +12.4952125984252 + 20 +5.389334645669291 + 30 +0.0 + 0 +SPLINE + 5 +335 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.65815748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.432944881889764 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.432944881889764 + 30 +0.0 + 10 +12.68449212598425 + 20 +5.432944881889764 + 30 +0.0 + 10 +12.6912125984252 + 20 +5.445169291338583 + 30 +0.0 + 10 +12.69743700787402 + 20 +5.453279527559055 + 30 +0.0 + 10 +12.70315748031496 + 20 +5.457169291338583 + 30 +0.0 + 10 +12.70315748031496 + 20 +5.457169291338583 + 30 +0.0 + 10 +12.70882677165354 + 20 +5.461059055118111 + 30 +0.0 + 10 +12.71510236220472 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.72193700787402 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.72193700787402 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.73182677165354 + 20 +5.46305905511811 + 30 +0.0 + 10 +12.74182677165354 + 20 +5.459889763779527 + 30 +0.0 + 10 +12.75204724409449 + 20 +5.453614173228346 + 30 +0.0 + 10 +12.75204724409449 + 20 +5.453614173228346 + 30 +0.0 + 10 +12.75204724409449 + 20 +5.453614173228346 + 30 +0.0 + 10 +12.74193700787402 + 20 +5.426389763779528 + 30 +0.0 + 10 +12.74193700787402 + 20 +5.426389763779528 + 30 +0.0 + 10 +12.74193700787402 + 20 +5.426389763779528 + 30 +0.0 + 10 +12.73482677165354 + 20 +5.430669291338583 + 30 +0.0 + 10 +12.72765748031496 + 20 +5.432779527559055 + 30 +0.0 + 10 +12.72049212598425 + 20 +5.432779527559055 + 30 +0.0 + 10 +12.72049212598425 + 20 +5.432779527559055 + 30 +0.0 + 10 +12.71404724409449 + 20 +5.432779527559055 + 30 +0.0 + 10 +12.70832677165354 + 20 +5.430834645669291 + 30 +0.0 + 10 +12.70321653543307 + 20 +5.427003937007874 + 30 +0.0 + 10 +12.70321653543307 + 20 +5.427003937007874 + 30 +0.0 + 10 +12.69810236220472 + 20 +5.423114173228346 + 30 +0.0 + 10 +12.69449212598425 + 20 +5.417779527559055 + 30 +0.0 + 10 +12.69232677165354 + 20 +5.410944881889764 + 30 +0.0 + 10 +12.69232677165354 + 20 +5.410944881889764 + 30 +0.0 + 10 +12.68904724409449 + 20 +5.40055905511811 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.389169291338582 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.376779527559055 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.376779527559055 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.376779527559055 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.68743700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.65815748031496 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +336 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.77643700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.75060236220472 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.477503937007874 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.477503937007874 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.477503937007874 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.489114173228346 + 30 +0.0 + 10 +12.77749212598425 + 20 +5.497779527559056 + 30 +0.0 + 10 +12.77954724409449 + 20 +5.503389763779528 + 30 +0.0 + 10 +12.77954724409449 + 20 +5.503389763779528 + 30 +0.0 + 10 +12.78238188976378 + 20 +5.511003937007874 + 30 +0.0 + 10 +12.78732677165354 + 20 +5.517169291338583 + 30 +0.0 + 10 +12.79443700787402 + 20 +5.521889763779527 + 30 +0.0 + 10 +12.79443700787402 + 20 +5.521889763779527 + 30 +0.0 + 10 +12.80154724409449 + 20 +5.526614173228347 + 30 +0.0 + 10 +12.81149212598425 + 20 +5.528948818897637 + 30 +0.0 + 10 +12.82432677165354 + 20 +5.528948818897637 + 30 +0.0 + 10 +12.82432677165354 + 20 +5.528948818897637 + 30 +0.0 + 10 +12.83254724409449 + 20 +5.528948818897637 + 30 +0.0 + 10 +12.84165748031496 + 20 +5.528003937007874 + 30 +0.0 + 10 +12.85165748031496 + 20 +5.526003937007874 + 30 +0.0 + 10 +12.85165748031496 + 20 +5.526003937007874 + 30 +0.0 + 10 +12.85165748031496 + 20 +5.526003937007874 + 30 +0.0 + 10 +12.84727165354331 + 20 +5.500448818897638 + 30 +0.0 + 10 +12.84727165354331 + 20 +5.500448818897638 + 30 +0.0 + 10 +12.84727165354331 + 20 +5.500448818897638 + 30 +0.0 + 10 +12.84121653543307 + 20 +5.50155905511811 + 30 +0.0 + 10 +12.83543700787401 + 20 +5.502114173228346 + 30 +0.0 + 10 +12.82999212598425 + 20 +5.502114173228346 + 30 +0.0 + 10 +12.82999212598425 + 20 +5.502114173228346 + 30 +0.0 + 10 +12.82110236220472 + 20 +5.502114173228346 + 30 +0.0 + 10 +12.81482677165354 + 20 +5.500224409448819 + 30 +0.0 + 10 +12.81115748031496 + 20 +5.496389763779527 + 30 +0.0 + 10 +12.81115748031496 + 20 +5.496389763779527 + 30 +0.0 + 10 +12.80743700787402 + 20 +5.492614173228347 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.485503937007874 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.47505905511811 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.47505905511811 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.47505905511811 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.459114173228347 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.83927165354331 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.436334645669291 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.80560236220473 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.77643700787402 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +337 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.8697125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.319669291338583 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.90310236220472 + 20 +5.274 + 30 +0.0 + 10 +12.90093700787402 + 20 +5.264114173228347 + 30 +0.0 + 10 +12.89660236220472 + 20 +5.25655905511811 + 30 +0.0 + 10 +12.89660236220472 + 20 +5.25655905511811 + 30 +0.0 + 10 +12.8922125984252 + 20 +5.24905905511811 + 30 +0.0 + 10 +12.88532283464567 + 20 +5.243224409448819 + 30 +0.0 + 10 +12.87593700787402 + 20 +5.23905905511811 + 30 +0.0 + 10 +12.87593700787402 + 20 +5.23905905511811 + 30 +0.0 + 10 +12.87593700787402 + 20 +5.23905905511811 + 30 +0.0 + 10 +12.86776771653543 + 20 +5.251614173228346 + 30 +0.0 + 10 +12.86776771653543 + 20 +5.251614173228346 + 30 +0.0 + 10 +12.86776771653543 + 20 +5.251614173228346 + 30 +0.0 + 10 +12.87393700787402 + 20 +5.254334645669291 + 30 +0.0 + 10 +12.87849212598425 + 20 +5.258334645669291 + 30 +0.0 + 10 +12.88143700787402 + 20 +5.26355905511811 + 30 +0.0 + 10 +12.88143700787402 + 20 +5.26355905511811 + 30 +0.0 + 10 +12.88438188976378 + 20 +5.268834645669291 + 30 +0.0 + 10 +12.88599212598425 + 20 +5.276389763779528 + 30 +0.0 + 10 +12.88632283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.88632283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.88632283464567 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +12.8697125984252 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +338 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.19315748031496 + 20 +5.314444881889764 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.314444881889764 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.03543307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.03543307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.03543307086614 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.0352125984252 + 20 +5.293334645669291 + 30 +0.0 + 10 +13.03632283464567 + 20 +5.300114173228346 + 30 +0.0 + 10 +13.03882283464567 + 20 +5.306614173228346 + 30 +0.0 + 10 +13.03882283464567 + 20 +5.306614173228346 + 30 +0.0 + 10 +13.04282283464567 + 20 +5.317389763779528 + 30 +0.0 + 10 +13.04926771653543 + 20 +5.327944881889763 + 30 +0.0 + 10 +13.05810236220472 + 20 +5.338389763779528 + 30 +0.0 + 10 +13.05810236220472 + 20 +5.338389763779528 + 30 +0.0 + 10 +13.06698818897638 + 20 +5.348779527559056 + 30 +0.0 + 10 +13.07976771653543 + 20 +5.360834645669291 + 30 +0.0 + 10 +13.09643307086614 + 20 +5.374503937007874 + 30 +0.0 + 10 +13.09643307086614 + 20 +5.374503937007874 + 30 +0.0 + 10 +13.12237795275591 + 20 +5.395779527559055 + 30 +0.0 + 10 +13.13993307086614 + 20 +5.412614173228347 + 30 +0.0 + 10 +13.14904724409449 + 20 +5.42505905511811 + 30 +0.0 + 10 +13.14904724409449 + 20 +5.42505905511811 + 30 +0.0 + 10 +13.15815748031496 + 20 +5.437444881889764 + 30 +0.0 + 10 +13.1627125984252 + 20 +5.449224409448819 + 30 +0.0 + 10 +13.1627125984252 + 20 +5.460279527559055 + 30 +0.0 + 10 +13.1627125984252 + 20 +5.460279527559055 + 30 +0.0 + 10 +13.1627125984252 + 20 +5.471889763779528 + 30 +0.0 + 10 +13.15854724409449 + 20 +5.481669291338583 + 30 +0.0 + 10 +13.15026771653543 + 20 +5.489669291338583 + 30 +0.0 + 10 +13.15026771653543 + 20 +5.489669291338583 + 30 +0.0 + 10 +13.14193307086614 + 20 +5.497614173228347 + 30 +0.0 + 10 +13.13110236220473 + 20 +5.501614173228346 + 30 +0.0 + 10 +13.11776771653543 + 20 +5.501614173228346 + 30 +0.0 + 10 +13.11776771653543 + 20 +5.501614173228346 + 30 +0.0 + 10 +13.10365748031496 + 20 +5.501614173228346 + 30 +0.0 + 10 +13.09237795275591 + 20 +5.497389763779528 + 30 +0.0 + 10 +13.08393307086614 + 20 +5.488889763779528 + 30 +0.0 + 10 +13.08393307086614 + 20 +5.488889763779528 + 30 +0.0 + 10 +13.07543307086614 + 20 +5.480448818897638 + 30 +0.0 + 10 +13.07115748031496 + 20 +5.468724409448819 + 30 +0.0 + 10 +13.07104330708661 + 20 +5.453779527559055 + 30 +0.0 + 10 +13.07104330708661 + 20 +5.453779527559055 + 30 +0.0 + 10 +13.07104330708661 + 20 +5.453779527559055 + 30 +0.0 + 10 +13.04093307086614 + 20 +5.456834645669291 + 30 +0.0 + 10 +13.04093307086614 + 20 +5.456834645669291 + 30 +0.0 + 10 +13.04093307086614 + 20 +5.456834645669291 + 30 +0.0 + 10 +13.04298818897638 + 20 +5.479334645669291 + 30 +0.0 + 10 +13.05076771653543 + 20 +5.496448818897638 + 30 +0.0 + 10 +13.0642125984252 + 20 +5.508224409448819 + 30 +0.0 + 10 +13.0642125984252 + 20 +5.508224409448819 + 30 +0.0 + 10 +13.07765748031496 + 20 +5.520003937007874 + 30 +0.0 + 10 +13.09576771653543 + 20 +5.525889763779528 + 30 +0.0 + 10 +13.11843307086614 + 20 +5.525889763779528 + 30 +0.0 + 10 +13.11843307086614 + 20 +5.525889763779528 + 30 +0.0 + 10 +13.14132283464567 + 20 +5.525889763779528 + 30 +0.0 + 10 +13.15943307086614 + 20 +5.519503937007874 + 30 +0.0 + 10 +13.17276771653543 + 20 +5.506834645669291 + 30 +0.0 + 10 +13.17276771653543 + 20 +5.506834645669291 + 30 +0.0 + 10 +13.18615748031496 + 20 +5.494114173228346 + 30 +0.0 + 10 +13.19282283464567 + 20 +5.478389763779528 + 30 +0.0 + 10 +13.19282283464567 + 20 +5.459614173228347 + 30 +0.0 + 10 +13.19282283464567 + 20 +5.459614173228347 + 30 +0.0 + 10 +13.19282283464567 + 20 +5.450059055118111 + 30 +0.0 + 10 +13.1908779527559 + 20 +5.440669291338582 + 30 +0.0 + 10 +13.18693307086614 + 20 +5.431444881889764 + 30 +0.0 + 10 +13.18693307086614 + 20 +5.431444881889764 + 30 +0.0 + 10 +13.18304724409449 + 20 +5.422224409448819 + 30 +0.0 + 10 +13.17654724409449 + 20 +5.412503937007874 + 30 +0.0 + 10 +13.16748818897638 + 20 +5.402334645669291 + 30 +0.0 + 10 +13.16748818897638 + 20 +5.402334645669291 + 30 +0.0 + 10 +13.15843307086614 + 20 +5.392114173228347 + 30 +0.0 + 10 +13.14337795275591 + 20 +5.378114173228346 + 30 +0.0 + 10 +13.12232283464567 + 20 +5.360334645669291 + 30 +0.0 + 10 +13.12232283464567 + 20 +5.360334645669291 + 30 +0.0 + 10 +13.10476771653543 + 20 +5.34555905511811 + 30 +0.0 + 10 +13.09348818897638 + 20 +5.33555905511811 + 30 +0.0 + 10 +13.08848818897638 + 20 +5.330279527559055 + 30 +0.0 + 10 +13.08848818897638 + 20 +5.330279527559055 + 30 +0.0 + 10 +13.08348818897638 + 20 +5.325059055118111 + 30 +0.0 + 10 +13.07937795275591 + 20 +5.319779527559055 + 30 +0.0 + 10 +13.07610236220472 + 20 +5.314444881889764 + 30 +0.0 + 10 +13.07610236220472 + 20 +5.314444881889764 + 30 +0.0 + 10 +13.07610236220472 + 20 +5.314444881889764 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.314444881889764 + 30 +0.0 + 10 +13.19315748031496 + 20 +5.314444881889764 + 30 +0.0 + 0 +SPLINE + 5 +339 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.2327125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.434889763779528 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.434889763779528 + 30 +0.0 + 10 +13.25887795275591 + 20 +5.434889763779528 + 30 +0.0 + 10 +13.26432283464567 + 20 +5.443334645669291 + 30 +0.0 + 10 +13.27154724409449 + 20 +5.450169291338582 + 30 +0.0 + 10 +13.28054724409449 + 20 +5.455279527559055 + 30 +0.0 + 10 +13.28054724409449 + 20 +5.455279527559055 + 30 +0.0 + 10 +13.28954724409449 + 20 +5.460448818897638 + 30 +0.0 + 10 +13.29982283464567 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.31132283464567 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.31132283464567 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.32410236220472 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.33460236220473 + 20 +5.460389763779528 + 30 +0.0 + 10 +13.34276771653543 + 20 +5.45505905511811 + 30 +0.0 + 10 +13.34276771653543 + 20 +5.45505905511811 + 30 +0.0 + 10 +13.35099212598425 + 20 +5.449724409448819 + 30 +0.0 + 10 +13.35676771653543 + 20 +5.442334645669291 + 30 +0.0 + 10 +13.36010236220472 + 20 +5.432779527559055 + 30 +0.0 + 10 +13.36010236220472 + 20 +5.432779527559055 + 30 +0.0 + 10 +13.37382283464567 + 20 +5.452948818897638 + 30 +0.0 + 10 +13.39160236220472 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.41349212598425 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.41349212598425 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.43065748031496 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.44382283464567 + 20 +5.458279527559055 + 30 +0.0 + 10 +13.45304724409449 + 20 +5.448779527559055 + 30 +0.0 + 10 +13.45304724409449 + 20 +5.448779527559055 + 30 +0.0 + 10 +13.46226771653543 + 20 +5.439279527559055 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.424669291338582 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.404944881889763 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.404944881889763 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.404944881889763 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.46688188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.395169291338583 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.395169291338583 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.395169291338583 + 30 +0.0 + 10 +13.43776771653543 + 20 +5.406889763779527 + 30 +0.0 + 10 +13.43682283464567 + 20 +5.415334645669291 + 30 +0.0 + 10 +13.43493700787402 + 20 +5.420503937007874 + 30 +0.0 + 10 +13.43493700787402 + 20 +5.420503937007874 + 30 +0.0 + 10 +13.43299212598425 + 20 +5.425614173228347 + 30 +0.0 + 10 +13.42954724409449 + 20 +5.429779527559055 + 30 +0.0 + 10 +13.42460236220473 + 20 +5.432944881889764 + 30 +0.0 + 10 +13.42460236220473 + 20 +5.432944881889764 + 30 +0.0 + 10 +13.41960236220472 + 20 +5.43605905511811 + 30 +0.0 + 10 +13.4137125984252 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.40699212598425 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.40699212598425 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.39482283464567 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.38476771653543 + 20 +5.433614173228347 + 30 +0.0 + 10 +13.3767125984252 + 20 +5.425503937007874 + 30 +0.0 + 10 +13.3767125984252 + 20 +5.425503937007874 + 30 +0.0 + 10 +13.3687125984252 + 20 +5.417444881889764 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.404503937007874 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.386724409448819 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.386724409448819 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.386724409448819 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.36465748031496 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.398559055118111 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.398559055118111 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.398559055118111 + 30 +0.0 + 10 +13.33537795275591 + 20 +5.411614173228346 + 30 +0.0 + 10 +13.33299212598425 + 20 +5.421389763779527 + 30 +0.0 + 10 +13.3282125984252 + 20 +5.427889763779527 + 30 +0.0 + 10 +13.3282125984252 + 20 +5.427889763779527 + 30 +0.0 + 10 +13.32343700787402 + 20 +5.434389763779528 + 30 +0.0 + 10 +13.31565748031496 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.30476771653543 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.30476771653543 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.29654724409449 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.28893700787401 + 20 +5.435503937007874 + 30 +0.0 + 10 +13.28193700787402 + 20 +5.431114173228346 + 30 +0.0 + 10 +13.28193700787402 + 20 +5.431114173228346 + 30 +0.0 + 10 +13.27493700787402 + 20 +5.426779527559055 + 30 +0.0 + 10 +13.26982283464567 + 20 +5.420444881889764 + 30 +0.0 + 10 +13.2667125984252 + 20 +5.412114173228346 + 30 +0.0 + 10 +13.2667125984252 + 20 +5.412114173228346 + 30 +0.0 + 10 +13.26354724409449 + 20 +5.403724409448819 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.391669291338583 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.375944881889763 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.375944881889763 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.375944881889763 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.26199212598425 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.2327125984252 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +33A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.51038188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.459114173228347 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.434889763779528 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.434889763779528 + 30 +0.0 + 10 +13.53654724409449 + 20 +5.434889763779528 + 30 +0.0 + 10 +13.54199212598425 + 20 +5.443334645669291 + 30 +0.0 + 10 +13.54921653543307 + 20 +5.450169291338582 + 30 +0.0 + 10 +13.55821653543307 + 20 +5.455279527559055 + 30 +0.0 + 10 +13.55821653543307 + 20 +5.455279527559055 + 30 +0.0 + 10 +13.56721653543307 + 20 +5.460448818897638 + 30 +0.0 + 10 +13.57749212598425 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.58899212598425 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.58899212598425 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.60177165354331 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.61227165354331 + 20 +5.460389763779528 + 30 +0.0 + 10 +13.62043700787402 + 20 +5.45505905511811 + 30 +0.0 + 10 +13.62043700787402 + 20 +5.45505905511811 + 30 +0.0 + 10 +13.62866141732284 + 20 +5.449724409448819 + 30 +0.0 + 10 +13.63443700787402 + 20 +5.442334645669291 + 30 +0.0 + 10 +13.63777165354331 + 20 +5.432779527559055 + 30 +0.0 + 10 +13.63777165354331 + 20 +5.432779527559055 + 30 +0.0 + 10 +13.65149212598425 + 20 +5.452948818897638 + 30 +0.0 + 10 +13.66927165354331 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.69116141732284 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.69116141732284 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.70832677165354 + 20 +5.46305905511811 + 30 +0.0 + 10 +13.72149212598425 + 20 +5.458279527559055 + 30 +0.0 + 10 +13.73071653543307 + 20 +5.448779527559055 + 30 +0.0 + 10 +13.73071653543307 + 20 +5.448779527559055 + 30 +0.0 + 10 +13.73993700787402 + 20 +5.439279527559055 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.424669291338582 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.404944881889763 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.404944881889763 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.404944881889763 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.74455118110236 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.395169291338583 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.395169291338583 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.395169291338583 + 30 +0.0 + 10 +13.71543700787402 + 20 +5.406889763779527 + 30 +0.0 + 10 +13.71449212598425 + 20 +5.415334645669291 + 30 +0.0 + 10 +13.7126062992126 + 20 +5.420503937007874 + 30 +0.0 + 10 +13.7126062992126 + 20 +5.420503937007874 + 30 +0.0 + 10 +13.71066141732283 + 20 +5.425614173228347 + 30 +0.0 + 10 +13.70721653543307 + 20 +5.429779527559055 + 30 +0.0 + 10 +13.70227165354331 + 20 +5.432944881889764 + 30 +0.0 + 10 +13.70227165354331 + 20 +5.432944881889764 + 30 +0.0 + 10 +13.69727165354331 + 20 +5.43605905511811 + 30 +0.0 + 10 +13.69138188976378 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.68466141732283 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.68466141732283 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.67249212598425 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.66243700787401 + 20 +5.433614173228347 + 30 +0.0 + 10 +13.65438188976378 + 20 +5.425503937007874 + 30 +0.0 + 10 +13.65438188976378 + 20 +5.425503937007874 + 30 +0.0 + 10 +13.64638188976378 + 20 +5.417444881889764 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.404503937007874 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.386724409448819 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.386724409448819 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.386724409448819 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.64232677165354 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.398559055118111 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.398559055118111 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.398559055118111 + 30 +0.0 + 10 +13.61304724409449 + 20 +5.411614173228346 + 30 +0.0 + 10 +13.61066141732283 + 20 +5.421389763779527 + 30 +0.0 + 10 +13.60588188976378 + 20 +5.427889763779527 + 30 +0.0 + 10 +13.60588188976378 + 20 +5.427889763779527 + 30 +0.0 + 10 +13.6011062992126 + 20 +5.434389763779528 + 30 +0.0 + 10 +13.59332677165354 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.58243700787401 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.58243700787401 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.57421653543307 + 20 +5.437669291338582 + 30 +0.0 + 10 +13.5666062992126 + 20 +5.435503937007874 + 30 +0.0 + 10 +13.5596062992126 + 20 +5.431114173228346 + 30 +0.0 + 10 +13.5596062992126 + 20 +5.431114173228346 + 30 +0.0 + 10 +13.5526062992126 + 20 +5.426779527559055 + 30 +0.0 + 10 +13.54749212598425 + 20 +5.420444881889764 + 30 +0.0 + 10 +13.54438188976378 + 20 +5.412114173228346 + 30 +0.0 + 10 +13.54438188976378 + 20 +5.412114173228346 + 30 +0.0 + 10 +13.54121653543307 + 20 +5.403724409448819 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.391669291338583 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.375944881889763 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.375944881889763 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.375944881889763 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.53966141732283 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +13.51038188976378 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +33B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.08605118110236 + 20 +5.307614173228346 + 30 +0.0 + 10 +14.07516141732284 + 20 +5.298389763779528 + 30 +0.0 + 10 +14.06471653543307 + 20 +5.291889763779528 + 30 +0.0 + 10 +14.05471653543307 + 20 +5.288059055118111 + 30 +0.0 + 10 +14.05471653543307 + 20 +5.288059055118111 + 30 +0.0 + 10 +14.04466141732284 + 20 +5.284279527559055 + 30 +0.0 + 10 +14.03388188976378 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.02238188976378 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.02238188976378 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.00338188976378 + 20 +5.282389763779528 + 30 +0.0 + 10 +13.98882677165354 + 20 +5.287 + 30 +0.0 + 10 +13.9786062992126 + 20 +5.296279527559055 + 30 +0.0 + 10 +13.9786062992126 + 20 +5.296279527559055 + 30 +0.0 + 10 +13.96843700787402 + 20 +5.305559055118111 + 30 +0.0 + 10 +13.96332677165354 + 20 +5.317444881889764 + 30 +0.0 + 10 +13.96332677165354 + 20 +5.331834645669291 + 30 +0.0 + 10 +13.96332677165354 + 20 +5.331834645669291 + 30 +0.0 + 10 +13.96332677165354 + 20 +5.340334645669292 + 30 +0.0 + 10 +13.96521653543307 + 20 +5.34805905511811 + 30 +0.0 + 10 +13.9691062992126 + 20 +5.35505905511811 + 30 +0.0 + 10 +13.9691062992126 + 20 +5.35505905511811 + 30 +0.0 + 10 +13.97293700787402 + 20 +5.36205905511811 + 30 +0.0 + 10 +13.97799212598425 + 20 +5.367669291338583 + 30 +0.0 + 10 +13.98421653543307 + 20 +5.371889763779528 + 30 +0.0 + 10 +13.98421653543307 + 20 +5.371889763779528 + 30 +0.0 + 10 +13.99049212598425 + 20 +5.376114173228347 + 30 +0.0 + 10 +13.99749212598425 + 20 +5.379334645669291 + 30 +0.0 + 10 +14.00532677165354 + 20 +5.381503937007874 + 30 +0.0 + 10 +14.00532677165354 + 20 +5.381503937007874 + 30 +0.0 + 10 +14.01105118110236 + 20 +5.383003937007874 + 30 +0.0 + 10 +14.01971653543307 + 20 +5.384503937007874 + 30 +0.0 + 10 +14.03132677165354 + 20 +5.385889763779527 + 30 +0.0 + 10 +14.03132677165354 + 20 +5.385889763779527 + 30 +0.0 + 10 +14.05499606299213 + 20 +5.388724409448819 + 30 +0.0 + 10 +14.07243700787402 + 20 +5.392059055118111 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.396003937007874 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.396003937007874 + 30 +0.0 + 10 +14.08371653543307 + 20 +5.400003937007874 + 30 +0.0 + 10 +14.08377165354331 + 20 +5.40255905511811 + 30 +0.0 + 10 +14.08377165354331 + 20 +5.403614173228346 + 30 +0.0 + 10 +14.08377165354331 + 20 +5.403614173228346 + 30 +0.0 + 10 +14.08377165354331 + 20 +5.41555905511811 + 30 +0.0 + 10 +14.08099606299213 + 20 +5.424003937007874 + 30 +0.0 + 10 +14.07543700787402 + 20 +5.428834645669292 + 30 +0.0 + 10 +14.07543700787402 + 20 +5.428834645669292 + 30 +0.0 + 10 +14.06799606299213 + 20 +5.435503937007874 + 30 +0.0 + 10 +14.05682677165354 + 20 +5.438779527559055 + 30 +0.0 + 10 +14.0421062992126 + 20 +5.438779527559055 + 30 +0.0 + 10 +14.0421062992126 + 20 +5.438779527559055 + 30 +0.0 + 10 +14.02832677165354 + 20 +5.438779527559055 + 30 +0.0 + 10 +14.01816141732284 + 20 +5.436389763779528 + 30 +0.0 + 10 +14.01155118110236 + 20 +5.43155905511811 + 30 +0.0 + 10 +14.01155118110236 + 20 +5.43155905511811 + 30 +0.0 + 10 +14.00499212598425 + 20 +5.426724409448819 + 30 +0.0 + 10 +14.00016141732283 + 20 +5.418169291338582 + 30 +0.0 + 10 +13.99699212598425 + 20 +5.405889763779528 + 30 +0.0 + 10 +13.99699212598425 + 20 +5.405889763779528 + 30 +0.0 + 10 +13.99699212598425 + 20 +5.405889763779528 + 30 +0.0 + 10 +13.96838188976378 + 20 +5.409834645669291 + 30 +0.0 + 10 +13.96838188976378 + 20 +5.409834645669291 + 30 +0.0 + 10 +13.96838188976378 + 20 +5.409834645669291 + 30 +0.0 + 10 +13.97099212598425 + 20 +5.42205905511811 + 30 +0.0 + 10 +13.97527165354331 + 20 +5.432003937007874 + 30 +0.0 + 10 +13.98121653543307 + 20 +5.439503937007874 + 30 +0.0 + 10 +13.98121653543307 + 20 +5.439503937007874 + 30 +0.0 + 10 +13.98716141732283 + 20 +5.44705905511811 + 30 +0.0 + 10 +13.99582677165354 + 20 +5.452889763779527 + 30 +0.0 + 10 +14.0071062992126 + 20 +5.456948818897637 + 30 +0.0 + 10 +14.0071062992126 + 20 +5.456948818897637 + 30 +0.0 + 10 +14.01838188976378 + 20 +5.461003937007874 + 30 +0.0 + 10 +14.03143700787402 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.04632677165354 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.04632677165354 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.0611062992126 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.07305118110236 + 20 +5.461279527559055 + 30 +0.0 + 10 +14.08227165354331 + 20 +5.457834645669291 + 30 +0.0 + 10 +14.08227165354331 + 20 +5.457834645669291 + 30 +0.0 + 10 +14.09149606299213 + 20 +5.454334645669292 + 30 +0.0 + 10 +14.09827165354331 + 20 +5.450003937007874 + 30 +0.0 + 10 +14.10266141732284 + 20 +5.444724409448819 + 30 +0.0 + 10 +14.10266141732284 + 20 +5.444724409448819 + 30 +0.0 + 10 +14.10699606299213 + 20 +5.439444881889764 + 30 +0.0 + 10 +14.10999606299213 + 20 +5.432834645669291 + 30 +0.0 + 10 +14.11177165354331 + 20 +5.424779527559055 + 30 +0.0 + 10 +14.11177165354331 + 20 +5.424779527559055 + 30 +0.0 + 10 +14.11271653543307 + 20 +5.419779527559055 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.410779527559055 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.397779527559055 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.397779527559055 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.397779527559055 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.358724409448819 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.358724409448819 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.358724409448819 + 30 +0.0 + 10 +14.11321653543307 + 20 +5.331444881889764 + 30 +0.0 + 10 +14.11382677165354 + 20 +5.314224409448819 + 30 +0.0 + 10 +14.1151062992126 + 20 +5.30705905511811 + 30 +0.0 + 10 +14.1151062992126 + 20 +5.30705905511811 + 30 +0.0 + 10 +14.11632677165354 + 20 +5.299834645669291 + 30 +0.0 + 10 +14.11882677165354 + 20 +5.292889763779527 + 30 +0.0 + 10 +14.12249606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.12249606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.12249606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.09188188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.09188188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.09188188976378 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.08888188976378 + 20 +5.292334645669292 + 30 +0.0 + 10 +14.08688188976378 + 20 +5.299444881889764 + 30 +0.0 + 10 +14.08605118110236 + 20 +5.307614173228346 + 30 +0.0 + 0 +SPLINE + 5 +33C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.0836062992126 + 20 +5.373059055118111 + 30 +0.0 + 10 +14.07293700787402 + 20 +5.368669291338582 + 30 +0.0 + 10 +14.05699606299213 + 20 +5.365003937007874 + 30 +0.0 + 10 +14.03577165354331 + 20 +5.361944881889764 + 30 +0.0 + 10 +14.03577165354331 + 20 +5.361944881889764 + 30 +0.0 + 10 +14.02371653543307 + 20 +5.360224409448819 + 30 +0.0 + 10 +14.01516141732283 + 20 +5.358279527559055 + 30 +0.0 + 10 +14.01021653543307 + 20 +5.356114173228346 + 30 +0.0 + 10 +14.01021653543307 + 20 +5.356114173228346 + 30 +0.0 + 10 +14.00521653543307 + 20 +5.353944881889764 + 30 +0.0 + 10 +14.00132677165354 + 20 +5.350779527559055 + 30 +0.0 + 10 +13.99866141732283 + 20 +5.34655905511811 + 30 +0.0 + 10 +13.99866141732283 + 20 +5.34655905511811 + 30 +0.0 + 10 +13.99593700787402 + 20 +5.342389763779527 + 30 +0.0 + 10 +13.99455118110236 + 20 +5.337779527559055 + 30 +0.0 + 10 +13.99455118110236 + 20 +5.332669291338583 + 30 +0.0 + 10 +13.99455118110236 + 20 +5.332669291338583 + 30 +0.0 + 10 +13.99455118110236 + 20 +5.324834645669291 + 30 +0.0 + 10 +13.99755118110236 + 20 +5.318334645669291 + 30 +0.0 + 10 +14.00343700787402 + 20 +5.313114173228347 + 30 +0.0 + 10 +14.00343700787402 + 20 +5.313114173228347 + 30 +0.0 + 10 +14.00932677165354 + 20 +5.307944881889764 + 30 +0.0 + 10 +14.01799606299213 + 20 +5.305334645669292 + 30 +0.0 + 10 +14.02938188976378 + 20 +5.305334645669292 + 30 +0.0 + 10 +14.02938188976378 + 20 +5.305334645669292 + 30 +0.0 + 10 +14.04066141732283 + 20 +5.305334645669292 + 30 +0.0 + 10 +14.05071653543307 + 20 +5.307779527559055 + 30 +0.0 + 10 +14.05949606299213 + 20 +5.312724409448819 + 30 +0.0 + 10 +14.05949606299213 + 20 +5.312724409448819 + 30 +0.0 + 10 +14.06827165354331 + 20 +5.317669291338583 + 30 +0.0 + 10 +14.07477165354331 + 20 +5.324444881889764 + 30 +0.0 + 10 +14.07888188976378 + 20 +5.333 + 30 +0.0 + 10 +14.07888188976378 + 20 +5.333 + 30 +0.0 + 10 +14.08205118110236 + 20 +5.339614173228346 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.349389763779527 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.362279527559055 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.362279527559055 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.362279527559055 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.373059055118111 + 30 +0.0 + 10 +14.0836062992126 + 20 +5.373059055118111 + 30 +0.0 + 0 +SPLINE + 5 +33D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.27144094488189 + 20 +5.349614173228346 + 30 +0.0 + 10 +14.27144094488189 + 20 +5.349614173228346 + 30 +0.0 + 10 +14.30021653543307 + 20 +5.345834645669291 + 30 +0.0 + 10 +14.30021653543307 + 20 +5.345834645669291 + 30 +0.0 + 10 +14.30021653543307 + 20 +5.345834645669291 + 30 +0.0 + 10 +14.2971062992126 + 20 +5.326 + 30 +0.0 + 10 +14.28905118110236 + 20 +5.310444881889763 + 30 +0.0 + 10 +14.27605118110236 + 20 +5.299224409448819 + 30 +0.0 + 10 +14.27605118110236 + 20 +5.299224409448819 + 30 +0.0 + 10 +14.2631062992126 + 20 +5.288 + 30 +0.0 + 10 +14.24716141732283 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.22827165354331 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.22827165354331 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.20466141732283 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.1856062992126 + 20 +5.290114173228346 + 30 +0.0 + 10 +14.17127165354331 + 20 +5.305559055118111 + 30 +0.0 + 10 +14.17127165354331 + 20 +5.305559055118111 + 30 +0.0 + 10 +14.15688188976378 + 20 +5.321 + 30 +0.0 + 10 +14.14966141732283 + 20 +5.343169291338583 + 30 +0.0 + 10 +14.14966141732283 + 20 +5.37205905511811 + 30 +0.0 + 10 +14.14966141732283 + 20 +5.37205905511811 + 30 +0.0 + 10 +14.14966141732283 + 20 +5.390724409448818 + 30 +0.0 + 10 +14.15277165354331 + 20 +5.40705905511811 + 30 +0.0 + 10 +14.15894094488189 + 20 +5.421059055118111 + 30 +0.0 + 10 +14.15894094488189 + 20 +5.421059055118111 + 30 +0.0 + 10 +14.16516141732284 + 20 +5.43505905511811 + 30 +0.0 + 10 +14.17455118110236 + 20 +5.44555905511811 + 30 +0.0 + 10 +14.18721653543307 + 20 +5.45255905511811 + 30 +0.0 + 10 +14.18721653543307 + 20 +5.45255905511811 + 30 +0.0 + 10 +14.19982677165354 + 20 +5.459559055118111 + 30 +0.0 + 10 +14.2136062992126 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.22844094488189 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.22844094488189 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.24721653543307 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.2626062992126 + 20 +5.458279527559055 + 30 +0.0 + 10 +14.27449606299213 + 20 +5.448779527559055 + 30 +0.0 + 10 +14.27449606299213 + 20 +5.448779527559055 + 30 +0.0 + 10 +14.28644094488189 + 20 +5.439279527559055 + 30 +0.0 + 10 +14.2941062992126 + 20 +5.425834645669291 + 30 +0.0 + 10 +14.29749606299213 + 20 +5.408334645669291 + 30 +0.0 + 10 +14.29749606299213 + 20 +5.408334645669291 + 30 +0.0 + 10 +14.29749606299213 + 20 +5.408334645669291 + 30 +0.0 + 10 +14.26899606299213 + 20 +5.403944881889764 + 30 +0.0 + 10 +14.26899606299213 + 20 +5.403944881889764 + 30 +0.0 + 10 +14.26899606299213 + 20 +5.403944881889764 + 30 +0.0 + 10 +14.26627165354331 + 20 +5.41555905511811 + 30 +0.0 + 10 +14.26149606299213 + 20 +5.424279527559055 + 30 +0.0 + 10 +14.2546062992126 + 20 +5.430169291338583 + 30 +0.0 + 10 +14.2546062992126 + 20 +5.430169291338583 + 30 +0.0 + 10 +14.24771653543307 + 20 +5.436003937007874 + 30 +0.0 + 10 +14.23938582677165 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.2296062992126 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.2296062992126 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.21482677165354 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.20282677165354 + 20 +5.433669291338583 + 30 +0.0 + 10 +14.1936062992126 + 20 +5.42305905511811 + 30 +0.0 + 10 +14.1936062992126 + 20 +5.42305905511811 + 30 +0.0 + 10 +14.18438188976378 + 20 +5.412503937007874 + 30 +0.0 + 10 +14.17977165354331 + 20 +5.395779527559055 + 30 +0.0 + 10 +14.17977165354331 + 20 +5.372889763779527 + 30 +0.0 + 10 +14.17977165354331 + 20 +5.372889763779527 + 30 +0.0 + 10 +14.17977165354331 + 20 +5.349669291338583 + 30 +0.0 + 10 +14.18421653543307 + 20 +5.332779527559055 + 30 +0.0 + 10 +14.19316141732283 + 20 +5.322224409448819 + 30 +0.0 + 10 +14.19316141732283 + 20 +5.322224409448819 + 30 +0.0 + 10 +14.20205118110236 + 20 +5.311724409448819 + 30 +0.0 + 10 +14.21366141732283 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.22799606299213 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.22799606299213 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.23949606299213 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.24905118110236 + 20 +5.31 + 30 +0.0 + 10 +14.25677165354331 + 20 +5.31705905511811 + 30 +0.0 + 10 +14.25677165354331 + 20 +5.31705905511811 + 30 +0.0 + 10 +14.26449606299213 + 20 +5.324114173228346 + 30 +0.0 + 10 +14.26938582677165 + 20 +5.334944881889764 + 30 +0.0 + 10 +14.27144094488189 + 20 +5.349614173228346 + 30 +0.0 + 0 +SPLINE + 5 +33E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.32499606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.432944881889764 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.432944881889764 + 30 +0.0 + 10 +14.35133070866142 + 20 +5.432944881889764 + 30 +0.0 + 10 +14.35805118110236 + 20 +5.445169291338583 + 30 +0.0 + 10 +14.36427559055118 + 20 +5.453279527559055 + 30 +0.0 + 10 +14.36999606299213 + 20 +5.457169291338583 + 30 +0.0 + 10 +14.36999606299213 + 20 +5.457169291338583 + 30 +0.0 + 10 +14.37566535433071 + 20 +5.461059055118111 + 30 +0.0 + 10 +14.38194094488189 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.38877559055118 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.38877559055118 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.39866535433071 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.40866535433071 + 20 +5.459889763779527 + 30 +0.0 + 10 +14.41888582677165 + 20 +5.453614173228346 + 30 +0.0 + 10 +14.41888582677165 + 20 +5.453614173228346 + 30 +0.0 + 10 +14.41888582677165 + 20 +5.453614173228346 + 30 +0.0 + 10 +14.40877559055118 + 20 +5.426389763779528 + 30 +0.0 + 10 +14.40877559055118 + 20 +5.426389763779528 + 30 +0.0 + 10 +14.40877559055118 + 20 +5.426389763779528 + 30 +0.0 + 10 +14.40166535433071 + 20 +5.430669291338583 + 30 +0.0 + 10 +14.39449606299213 + 20 +5.432779527559055 + 30 +0.0 + 10 +14.38733070866142 + 20 +5.432779527559055 + 30 +0.0 + 10 +14.38733070866142 + 20 +5.432779527559055 + 30 +0.0 + 10 +14.38088582677165 + 20 +5.432779527559055 + 30 +0.0 + 10 +14.37516535433071 + 20 +5.430834645669291 + 30 +0.0 + 10 +14.37005511811024 + 20 +5.427003937007874 + 30 +0.0 + 10 +14.37005511811024 + 20 +5.427003937007874 + 30 +0.0 + 10 +14.36494094488189 + 20 +5.423114173228346 + 30 +0.0 + 10 +14.36133070866142 + 20 +5.417779527559055 + 30 +0.0 + 10 +14.35916535433071 + 20 +5.410944881889764 + 30 +0.0 + 10 +14.35916535433071 + 20 +5.410944881889764 + 30 +0.0 + 10 +14.35588582677165 + 20 +5.40055905511811 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.389169291338582 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.376779527559055 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.376779527559055 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.376779527559055 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.35427559055118 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.32499606299213 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +33F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.43499606299213 + 20 +5.219724409448819 + 30 +0.0 + 10 +14.43499606299213 + 20 +5.219724409448819 + 30 +0.0 + 10 +14.43172047244095 + 20 +5.247224409448819 + 30 +0.0 + 10 +14.43172047244095 + 20 +5.247224409448819 + 30 +0.0 + 10 +14.43172047244095 + 20 +5.247224409448819 + 30 +0.0 + 10 +14.43816535433071 + 20 +5.2455 + 30 +0.0 + 10 +14.44372047244094 + 20 +5.244614173228347 + 30 +0.0 + 10 +14.44849606299213 + 20 +5.244614173228347 + 30 +0.0 + 10 +14.44849606299213 + 20 +5.244614173228347 + 30 +0.0 + 10 +14.45499606299213 + 20 +5.244614173228347 + 30 +0.0 + 10 +14.46022047244094 + 20 +5.245724409448819 + 30 +0.0 + 10 +14.46411023622047 + 20 +5.247889763779527 + 30 +0.0 + 10 +14.46411023622047 + 20 +5.247889763779527 + 30 +0.0 + 10 +14.46805118110236 + 20 +5.25005905511811 + 30 +0.0 + 10 +14.47122047244095 + 20 +5.25305905511811 + 30 +0.0 + 10 +14.47372047244095 + 20 +5.257 + 30 +0.0 + 10 +14.47372047244095 + 20 +5.257 + 30 +0.0 + 10 +14.47561023622047 + 20 +5.259889763779528 + 30 +0.0 + 10 +14.47855511811024 + 20 +5.267169291338583 + 30 +0.0 + 10 +14.48266535433071 + 20 +5.278779527559055 + 30 +0.0 + 10 +14.48266535433071 + 20 +5.278779527559055 + 30 +0.0 + 10 +14.48322047244094 + 20 +5.280444881889764 + 30 +0.0 + 10 +14.48411023622047 + 20 +5.282779527559055 + 30 +0.0 + 10 +14.48527559055118 + 20 +5.285944881889764 + 30 +0.0 + 10 +14.48527559055118 + 20 +5.285944881889764 + 30 +0.0 + 10 +14.48527559055118 + 20 +5.285944881889764 + 30 +0.0 + 10 +14.41972047244094 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.41972047244094 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.41972047244094 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.41972047244094 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.45127559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.45127559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.45127559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.45127559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.48727559055118 + 20 +5.35905905511811 + 30 +0.0 + 10 +14.48727559055118 + 20 +5.35905905511811 + 30 +0.0 + 10 +14.48727559055118 + 20 +5.35905905511811 + 30 +0.0 + 10 +14.49188582677165 + 20 +5.346334645669291 + 30 +0.0 + 10 +14.49611023622047 + 20 +5.333 + 30 +0.0 + 10 +14.49977559055118 + 20 +5.319 + 30 +0.0 + 10 +14.49977559055118 + 20 +5.319 + 30 +0.0 + 10 +14.50316535433071 + 20 +5.332444881889764 + 30 +0.0 + 10 +14.50716535433071 + 20 +5.34555905511811 + 30 +0.0 + 10 +14.51183070866142 + 20 +5.358389763779527 + 30 +0.0 + 10 +14.51183070866142 + 20 +5.358389763779527 + 30 +0.0 + 10 +14.51183070866142 + 20 +5.358389763779527 + 30 +0.0 + 10 +14.54877559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.54877559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.54877559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.54877559055118 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.57805511811024 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.57805511811024 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.57805511811024 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.57805511811024 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.51233070866142 + 20 +5.283334645669291 + 30 +0.0 + 10 +14.51233070866142 + 20 +5.283334645669291 + 30 +0.0 + 10 +14.51233070866142 + 20 +5.283334645669291 + 30 +0.0 + 10 +14.50527559055118 + 20 +5.264334645669291 + 30 +0.0 + 10 +14.49977559055118 + 20 +5.251279527559055 + 30 +0.0 + 10 +14.49588582677165 + 20 +5.244114173228346 + 30 +0.0 + 10 +14.49588582677165 + 20 +5.244114173228346 + 30 +0.0 + 10 +14.49066535433071 + 20 +5.234444881889764 + 30 +0.0 + 10 +14.48472047244094 + 20 +5.227389763779527 + 30 +0.0 + 10 +14.47799606299213 + 20 +5.222889763779528 + 30 +0.0 + 10 +14.47799606299213 + 20 +5.222889763779528 + 30 +0.0 + 10 +14.47122047244095 + 20 +5.218389763779528 + 30 +0.0 + 10 +14.46322047244094 + 20 +5.216114173228346 + 30 +0.0 + 10 +14.45388582677165 + 20 +5.216114173228346 + 30 +0.0 + 10 +14.45388582677165 + 20 +5.216114173228346 + 30 +0.0 + 10 +14.44822047244094 + 20 +5.216114173228346 + 30 +0.0 + 10 +14.44194094488189 + 20 +5.217334645669292 + 30 +0.0 + 10 +14.43499606299213 + 20 +5.219724409448819 + 30 +0.0 + 0 +SPLINE + 5 +340 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.60233464566929 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.63161023622047 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.60233464566929 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +341 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.67716535433071 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.7065 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.7065 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.7065 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.7065 + 20 +5.524889763779528 + 30 +0.0 + 10 +14.7065 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.7065 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.7065 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.7065 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.491169291338583 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.491169291338583 + 30 +0.0 + 0 +SPLINE + 5 +342 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.67716535433071 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.7065 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.7065 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.7065 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.7065 + 20 +5.459114173228347 + 30 +0.0 + 10 +14.7065 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.7065 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.7065 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.7065 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.286279527559056 + 30 +0.0 + 10 +14.67716535433071 + 20 +5.286279527559056 + 30 +0.0 + 0 +SPLINE + 5 +343 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +14.86388976377953 + 20 +5.349614173228346 + 30 +0.0 + 10 +14.86388976377953 + 20 +5.349614173228346 + 30 +0.0 + 10 +14.89266535433071 + 20 +5.345834645669291 + 30 +0.0 + 10 +14.89266535433071 + 20 +5.345834645669291 + 30 +0.0 + 10 +14.89266535433071 + 20 +5.345834645669291 + 30 +0.0 + 10 +14.88955511811024 + 20 +5.326 + 30 +0.0 + 10 +14.8815 + 20 +5.310444881889763 + 30 +0.0 + 10 +14.8685 + 20 +5.299224409448819 + 30 +0.0 + 10 +14.8685 + 20 +5.299224409448819 + 30 +0.0 + 10 +14.85555511811024 + 20 +5.288 + 30 +0.0 + 10 +14.83961023622047 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.82072047244094 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.82072047244094 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.79711023622047 + 20 +5.282389763779528 + 30 +0.0 + 10 +14.77805511811024 + 20 +5.290114173228346 + 30 +0.0 + 10 +14.76372047244094 + 20 +5.305559055118111 + 30 +0.0 + 10 +14.76372047244094 + 20 +5.305559055118111 + 30 +0.0 + 10 +14.74933070866142 + 20 +5.321 + 30 +0.0 + 10 +14.74211023622047 + 20 +5.343169291338583 + 30 +0.0 + 10 +14.74211023622047 + 20 +5.37205905511811 + 30 +0.0 + 10 +14.74211023622047 + 20 +5.37205905511811 + 30 +0.0 + 10 +14.74211023622047 + 20 +5.390724409448818 + 30 +0.0 + 10 +14.74522047244094 + 20 +5.40705905511811 + 30 +0.0 + 10 +14.75138976377953 + 20 +5.421059055118111 + 30 +0.0 + 10 +14.75138976377953 + 20 +5.421059055118111 + 30 +0.0 + 10 +14.75761023622047 + 20 +5.43505905511811 + 30 +0.0 + 10 +14.767 + 20 +5.44555905511811 + 30 +0.0 + 10 +14.77966535433071 + 20 +5.45255905511811 + 30 +0.0 + 10 +14.77966535433071 + 20 +5.45255905511811 + 30 +0.0 + 10 +14.79227559055118 + 20 +5.459559055118111 + 30 +0.0 + 10 +14.80605511811024 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.82088976377953 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.82088976377953 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.83966535433071 + 20 +5.46305905511811 + 30 +0.0 + 10 +14.85505511811024 + 20 +5.458279527559055 + 30 +0.0 + 10 +14.86694488188976 + 20 +5.448779527559055 + 30 +0.0 + 10 +14.86694488188976 + 20 +5.448779527559055 + 30 +0.0 + 10 +14.87888976377953 + 20 +5.439279527559055 + 30 +0.0 + 10 +14.88655511811024 + 20 +5.425834645669291 + 30 +0.0 + 10 +14.88994488188976 + 20 +5.408334645669291 + 30 +0.0 + 10 +14.88994488188976 + 20 +5.408334645669291 + 30 +0.0 + 10 +14.88994488188976 + 20 +5.408334645669291 + 30 +0.0 + 10 +14.86144488188976 + 20 +5.403944881889764 + 30 +0.0 + 10 +14.86144488188976 + 20 +5.403944881889764 + 30 +0.0 + 10 +14.86144488188976 + 20 +5.403944881889764 + 30 +0.0 + 10 +14.85872047244094 + 20 +5.41555905511811 + 30 +0.0 + 10 +14.85394488188976 + 20 +5.424279527559055 + 30 +0.0 + 10 +14.84705511811024 + 20 +5.430169291338583 + 30 +0.0 + 10 +14.84705511811024 + 20 +5.430169291338583 + 30 +0.0 + 10 +14.84016535433071 + 20 +5.436003937007874 + 30 +0.0 + 10 +14.83183464566929 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.82205511811024 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.82205511811024 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.80727559055118 + 20 +5.438944881889764 + 30 +0.0 + 10 +14.79527559055118 + 20 +5.433669291338583 + 30 +0.0 + 10 +14.78605511811024 + 20 +5.42305905511811 + 30 +0.0 + 10 +14.78605511811024 + 20 +5.42305905511811 + 30 +0.0 + 10 +14.77683070866142 + 20 +5.412503937007874 + 30 +0.0 + 10 +14.77222047244094 + 20 +5.395779527559055 + 30 +0.0 + 10 +14.77222047244094 + 20 +5.372889763779527 + 30 +0.0 + 10 +14.77222047244094 + 20 +5.372889763779527 + 30 +0.0 + 10 +14.77222047244094 + 20 +5.349669291338583 + 30 +0.0 + 10 +14.77666535433071 + 20 +5.332779527559055 + 30 +0.0 + 10 +14.78561023622047 + 20 +5.322224409448819 + 30 +0.0 + 10 +14.78561023622047 + 20 +5.322224409448819 + 30 +0.0 + 10 +14.7945 + 20 +5.311724409448819 + 30 +0.0 + 10 +14.80611023622047 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.82044488188976 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.82044488188976 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.83194488188976 + 20 +5.306444881889764 + 30 +0.0 + 10 +14.8415 + 20 +5.31 + 30 +0.0 + 10 +14.84922047244094 + 20 +5.31705905511811 + 30 +0.0 + 10 +14.84922047244094 + 20 +5.31705905511811 + 30 +0.0 + 10 +14.85694488188976 + 20 +5.324114173228346 + 30 +0.0 + 10 +14.86183464566929 + 20 +5.334944881889764 + 30 +0.0 + 10 +14.86388976377953 + 20 +5.349614173228346 + 30 +0.0 + 0 +SPLINE + 5 +344 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 144 + 73 + 140 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0277777777777778 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1388888888888889 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.1944444444444444 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3055555555555556 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3611111111111111 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.4722222222222222 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5277777777777778 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6388888888888888 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.6944444444444444 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8055555555555556 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8611111111111112 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9166666666666666 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +0.9444444444444444 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.444866141732284 + 20 +4.990555118110236 + 30 +0.0 + 10 +7.444866141732284 + 20 +4.990555118110236 + 30 +0.0 + 10 +7.474645669291339 + 20 +4.993169291338583 + 30 +0.0 + 10 +7.474645669291339 + 20 +4.993169291338583 + 30 +0.0 + 10 +7.474645669291339 + 20 +4.993169291338583 + 30 +0.0 + 10 +7.476031496062992 + 20 +4.981224409448819 + 30 +0.0 + 10 +7.479311023622047 + 20 +4.971444881889764 + 30 +0.0 + 10 +7.484476377952756 + 20 +4.963779527559055 + 30 +0.0 + 10 +7.484476377952756 + 20 +4.963779527559055 + 30 +0.0 + 10 +7.489645669291338 + 20 +4.956110236220472 + 30 +0.0 + 10 +7.497645669291338 + 20 +4.949944881889763 + 30 +0.0 + 10 +7.508476377952756 + 20 +4.945224409448818 + 30 +0.0 + 10 +7.508476377952756 + 20 +4.945224409448818 + 30 +0.0 + 10 +7.519311023622048 + 20 +4.9405 + 30 +0.0 + 10 +7.531531496062992 + 20 +4.938169291338583 + 30 +0.0 + 10 +7.545090551181103 + 20 +4.938169291338583 + 30 +0.0 + 10 +7.545090551181103 + 20 +4.938169291338583 + 30 +0.0 + 10 +7.557145669291339 + 20 +4.938169291338583 + 30 +0.0 + 10 +7.567755905511811 + 20 +4.939944881889764 + 30 +0.0 + 10 +7.576976377952755 + 20 +4.9435 + 30 +0.0 + 10 +7.576976377952755 + 20 +4.9435 + 30 +0.0 + 10 +7.586200787401575 + 20 +4.947110236220473 + 30 +0.0 + 10 +7.593090551181103 + 20 +4.952 + 30 +0.0 + 10 +7.597590551181102 + 20 +4.958224409448819 + 30 +0.0 + 10 +7.597590551181102 + 20 +4.958224409448819 + 30 +0.0 + 10 +7.602090551181102 + 20 +4.9645 + 30 +0.0 + 10 +7.604366141732283 + 20 +4.971279527559055 + 30 +0.0 + 10 +7.604366141732283 + 20 +4.978669291338583 + 30 +0.0 + 10 +7.604366141732283 + 20 +4.978669291338583 + 30 +0.0 + 10 +7.604366141732283 + 20 +4.986169291338583 + 30 +0.0 + 10 +7.602200787401575 + 20 +4.992669291338583 + 30 +0.0 + 10 +7.597811023622048 + 20 +4.998279527559055 + 30 +0.0 + 10 +7.597811023622048 + 20 +4.998279527559055 + 30 +0.0 + 10 +7.593476377952756 + 20 +5.003889763779528 + 30 +0.0 + 10 +7.586311023622048 + 20 +5.008555118110237 + 30 +0.0 + 10 +7.576366141732284 + 20 +5.012334645669291 + 30 +0.0 + 10 +7.576366141732284 + 20 +5.012334645669291 + 30 +0.0 + 10 +7.56992125984252 + 20 +5.014834645669291 + 30 +0.0 + 10 +7.555811023622047 + 20 +5.018724409448819 + 30 +0.0 + 10 +7.533866141732283 + 20 +5.024 + 30 +0.0 + 10 +7.533866141732283 + 20 +5.024 + 30 +0.0 + 10 +7.511976377952756 + 20 +5.029279527559055 + 30 +0.0 + 10 +7.496590551181102 + 20 +5.034224409448819 + 30 +0.0 + 10 +7.487811023622047 + 20 +5.038889763779528 + 30 +0.0 + 10 +7.487811023622047 + 20 +5.038889763779528 + 30 +0.0 + 10 +7.476421259842519 + 20 +5.044834645669291 + 30 +0.0 + 10 +7.46792125984252 + 20 +5.052279527559056 + 30 +0.0 + 10 +7.462311023622047 + 20 +5.061114173228346 + 30 +0.0 + 10 +7.462311023622047 + 20 +5.061114173228346 + 30 +0.0 + 10 +7.456755905511811 + 20 +5.069944881889763 + 30 +0.0 + 10 +7.453976377952756 + 20 +5.079834645669291 + 30 +0.0 + 10 +7.453976377952756 + 20 +5.090834645669291 + 30 +0.0 + 10 +7.453976377952756 + 20 +5.090834645669291 + 30 +0.0 + 10 +7.453976377952756 + 20 +5.102834645669291 + 30 +0.0 + 10 +7.457366141732283 + 20 +5.114114173228346 + 30 +0.0 + 10 +7.464200787401575 + 20 +5.124559055118111 + 30 +0.0 + 10 +7.464200787401575 + 20 +5.124559055118111 + 30 +0.0 + 10 +7.471031496062992 + 20 +5.13505905511811 + 30 +0.0 + 10 +7.481031496062992 + 20 +5.143 + 30 +0.0 + 10 +7.494145669291338 + 20 +5.148444881889763 + 30 +0.0 + 10 +7.494145669291338 + 20 +5.148444881889763 + 30 +0.0 + 10 +7.507311023622047 + 20 +5.153834645669291 + 30 +0.0 + 10 +7.521866141732284 + 20 +5.156559055118111 + 30 +0.0 + 10 +7.53792125984252 + 20 +5.156559055118111 + 30 +0.0 + 10 +7.53792125984252 + 20 +5.156559055118111 + 30 +0.0 + 10 +7.555645669291339 + 20 +5.156559055118111 + 30 +0.0 + 10 +7.571200787401575 + 20 +5.153724409448819 + 30 +0.0 + 10 +7.584755905511811 + 20 +5.148 + 30 +0.0 + 10 +7.584755905511811 + 20 +5.148 + 30 +0.0 + 10 +7.598255905511811 + 20 +5.142334645669291 + 30 +0.0 + 10 +7.608645669291339 + 20 +5.133944881889764 + 30 +0.0 + 10 +7.61592125984252 + 20 +5.122889763779527 + 30 +0.0 + 10 +7.61592125984252 + 20 +5.122889763779527 + 30 +0.0 + 10 +7.623145669291339 + 20 +5.111834645669291 + 30 +0.0 + 10 +7.627090551181102 + 20 +5.099279527559055 + 30 +0.0 + 10 +7.627645669291339 + 20 +5.085279527559055 + 30 +0.0 + 10 +7.627645669291339 + 20 +5.085279527559055 + 30 +0.0 + 10 +7.627645669291339 + 20 +5.085279527559055 + 30 +0.0 + 10 +7.597366141732284 + 20 +5.083 + 30 +0.0 + 10 +7.597366141732284 + 20 +5.083 + 30 +0.0 + 10 +7.597366141732284 + 20 +5.083 + 30 +0.0 + 10 +7.595700787401575 + 20 +5.09805905511811 + 30 +0.0 + 10 +7.590200787401574 + 20 +5.1095 + 30 +0.0 + 10 +7.580811023622047 + 20 +5.117169291338583 + 30 +0.0 + 10 +7.580811023622047 + 20 +5.117169291338583 + 30 +0.0 + 10 +7.57142125984252 + 20 +5.124889763779527 + 30 +0.0 + 10 +7.557590551181103 + 20 +5.128724409448819 + 30 +0.0 + 10 +7.539255905511811 + 20 +5.128724409448819 + 30 +0.0 + 10 +7.539255905511811 + 20 +5.128724409448819 + 30 +0.0 + 10 +7.520145669291338 + 20 +5.128724409448819 + 30 +0.0 + 10 +7.506255905511811 + 20 +5.125224409448819 + 30 +0.0 + 10 +7.497476377952756 + 20 +5.118224409448819 + 30 +0.0 + 10 +7.497476377952756 + 20 +5.118224409448819 + 30 +0.0 + 10 +7.488755905511811 + 20 +5.111224409448819 + 30 +0.0 + 10 +7.484366141732283 + 20 +5.102779527559055 + 30 +0.0 + 10 +7.484366141732283 + 20 +5.092944881889764 + 30 +0.0 + 10 +7.484366141732283 + 20 +5.092944881889764 + 30 +0.0 + 10 +7.484366141732283 + 20 +5.084334645669291 + 30 +0.0 + 10 +7.487476377952756 + 20 +5.077279527559055 + 30 +0.0 + 10 +7.493645669291339 + 20 +5.071779527559055 + 30 +0.0 + 10 +7.493645669291339 + 20 +5.071779527559055 + 30 +0.0 + 10 +7.499755905511811 + 20 +5.066224409448819 + 30 +0.0 + 10 +7.515590551181102 + 20 +5.060555118110236 + 30 +0.0 + 10 +7.541255905511811 + 20 +5.054779527559055 + 30 +0.0 + 10 +7.541255905511811 + 20 +5.054779527559055 + 30 +0.0 + 10 +7.56692125984252 + 20 +5.048944881889764 + 30 +0.0 + 10 +7.584531496062992 + 20 +5.043889763779528 + 30 +0.0 + 10 +7.594090551181102 + 20 +5.039555118110236 + 30 +0.0 + 10 +7.594090551181102 + 20 +5.039555118110236 + 30 +0.0 + 10 +7.607976377952756 + 20 +5.033114173228347 + 30 +0.0 + 10 +7.618255905511811 + 20 +5.025 + 30 +0.0 + 10 +7.624866141732284 + 20 +5.015224409448819 + 30 +0.0 + 10 +7.624866141732284 + 20 +5.015224409448819 + 30 +0.0 + 10 +7.631476377952755 + 20 +5.005389763779528 + 30 +0.0 + 10 +7.634755905511811 + 20 +4.994055118110237 + 30 +0.0 + 10 +7.634755905511811 + 20 +4.981279527559055 + 30 +0.0 + 10 +7.634755905511811 + 20 +4.981279527559055 + 30 +0.0 + 10 +7.634755905511811 + 20 +4.968555118110237 + 30 +0.0 + 10 +7.631145669291339 + 20 +4.956610236220472 + 30 +0.0 + 10 +7.623866141732283 + 20 +4.945389763779527 + 30 +0.0 + 10 +7.623866141732283 + 20 +4.945389763779527 + 30 +0.0 + 10 +7.616590551181102 + 20 +4.934169291338582 + 30 +0.0 + 10 +7.606145669291339 + 20 +4.925444881889764 + 30 +0.0 + 10 +7.592531496062992 + 20 +4.919169291338583 + 30 +0.0 + 10 +7.592531496062992 + 20 +4.919169291338583 + 30 +0.0 + 10 +7.578921259842519 + 20 +4.912944881889763 + 30 +0.0 + 10 +7.563590551181102 + 20 +4.909834645669291 + 30 +0.0 + 10 +7.546590551181103 + 20 +4.909834645669291 + 30 +0.0 + 10 +7.546590551181103 + 20 +4.909834645669291 + 30 +0.0 + 10 +7.524976377952756 + 20 +4.909834645669291 + 30 +0.0 + 10 +7.506866141732283 + 20 +4.912944881889763 + 30 +0.0 + 10 +7.492311023622047 + 20 +4.919279527559056 + 30 +0.0 + 10 +7.492311023622047 + 20 +4.919279527559056 + 30 +0.0 + 10 +7.477700787401575 + 20 +4.925555118110236 + 30 +0.0 + 10 +7.466255905511811 + 20 +4.935 + 30 +0.0 + 10 +7.45792125984252 + 20 +4.947669291338583 + 30 +0.0 + 10 +7.45792125984252 + 20 +4.947669291338583 + 30 +0.0 + 10 +7.449645669291338 + 20 +4.960279527559055 + 30 +0.0 + 10 +7.445255905511811 + 20 +4.974614173228346 + 30 +0.0 + 10 +7.444866141732284 + 20 +4.990555118110236 + 30 +0.0 + 0 +SPLINE + 5 +345 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.674200787401575 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.674200787401575 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.674200787401575 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.674200787401575 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.674200787401575 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.674200787401575 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.086724409448819 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.064279527559055 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.064279527559055 + 30 +0.0 + 10 +7.700866141732283 + 20 +5.064279527559055 + 30 +0.0 + 10 +7.707145669291338 + 20 +5.073055118110236 + 30 +0.0 + 10 +7.714255905511811 + 20 +5.079669291338583 + 30 +0.0 + 10 +7.722200787401575 + 20 +5.08405905511811 + 30 +0.0 + 10 +7.722200787401575 + 20 +5.08405905511811 + 30 +0.0 + 10 +7.730090551181102 + 20 +5.088444881889764 + 30 +0.0 + 10 +7.739700787401575 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.75098031496063 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.75098031496063 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.765755905511811 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.778755905511811 + 20 +5.086834645669291 + 30 +0.0 + 10 +7.790035433070866 + 20 +5.079279527559055 + 30 +0.0 + 10 +7.790035433070866 + 20 +5.079279527559055 + 30 +0.0 + 10 +7.801366141732283 + 20 +5.071669291338583 + 30 +0.0 + 10 +7.809866141732283 + 20 +5.060944881889764 + 30 +0.0 + 10 +7.815590551181103 + 20 +5.047114173228347 + 30 +0.0 + 10 +7.815590551181103 + 20 +5.047114173228347 + 30 +0.0 + 10 +7.821370078740157 + 20 +5.033279527559055 + 30 +0.0 + 10 +7.824255905511811 + 20 +5.018114173228346 + 30 +0.0 + 10 +7.824255905511811 + 20 +5.001614173228346 + 30 +0.0 + 10 +7.824255905511811 + 20 +5.001614173228346 + 30 +0.0 + 10 +7.824255905511811 + 20 +4.983944881889764 + 30 +0.0 + 10 +7.821090551181102 + 20 +4.968 + 30 +0.0 + 10 +7.814700787401574 + 20 +4.953834645669291 + 30 +0.0 + 10 +7.814700787401574 + 20 +4.953834645669291 + 30 +0.0 + 10 +7.808366141732283 + 20 +4.939669291338583 + 30 +0.0 + 10 +7.799145669291339 + 20 +4.928834645669292 + 30 +0.0 + 10 +7.787035433070866 + 20 +4.921279527559055 + 30 +0.0 + 10 +7.787035433070866 + 20 +4.921279527559055 + 30 +0.0 + 10 +7.774925196850393 + 20 +4.913779527559055 + 30 +0.0 + 10 +7.762200787401575 + 20 +4.91 + 30 +0.0 + 10 +7.748866141732283 + 20 +4.91 + 30 +0.0 + 10 +7.748866141732283 + 20 +4.91 + 30 +0.0 + 10 +7.739090551181103 + 20 +4.91 + 30 +0.0 + 10 +7.730366141732284 + 20 +4.912055118110236 + 30 +0.0 + 10 +7.722590551181102 + 20 +4.916169291338583 + 30 +0.0 + 10 +7.722590551181102 + 20 +4.916169291338583 + 30 +0.0 + 10 +7.714811023622048 + 20 +4.920279527559055 + 30 +0.0 + 10 +7.70848031496063 + 20 +4.9255 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.931779527559055 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.931779527559055 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.931779527559055 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.70348031496063 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.674200787401575 + 20 +4.847665354330709 + 30 +0.0 + 10 +7.674200787401575 + 20 +4.847665354330709 + 30 +0.0 + 0 +SPLINE + 5 +346 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.700700787401574 + 20 +4.999334645669292 + 30 +0.0 + 10 +7.700700787401574 + 20 +4.977114173228347 + 30 +0.0 + 10 +7.705200787401575 + 20 +4.960669291338583 + 30 +0.0 + 10 +7.714200787401575 + 20 +4.95 + 30 +0.0 + 10 +7.714200787401575 + 20 +4.95 + 30 +0.0 + 10 +7.723200787401574 + 20 +4.939389763779528 + 30 +0.0 + 10 +7.734145669291339 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.746925196850394 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.746925196850394 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.759925196850394 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.771090551181103 + 20 +4.939555118110237 + 30 +0.0 + 10 +7.780366141732284 + 20 +4.950610236220473 + 30 +0.0 + 10 +7.780366141732284 + 20 +4.950610236220473 + 30 +0.0 + 10 +7.789645669291339 + 20 +4.961610236220473 + 30 +0.0 + 10 +7.794311023622047 + 20 +4.978669291338583 + 30 +0.0 + 10 +7.794311023622047 + 20 +5.001779527559055 + 30 +0.0 + 10 +7.794311023622047 + 20 +5.001779527559055 + 30 +0.0 + 10 +7.794311023622047 + 20 +5.023834645669291 + 30 +0.0 + 10 +7.789755905511811 + 20 +5.040279527559055 + 30 +0.0 + 10 +7.780700787401575 + 20 +5.051279527559055 + 30 +0.0 + 10 +7.780700787401575 + 20 +5.051279527559055 + 30 +0.0 + 10 +7.771645669291338 + 20 +5.062224409448818 + 30 +0.0 + 10 +7.760811023622047 + 20 +5.067724409448819 + 30 +0.0 + 10 +7.748255905511811 + 20 +5.067724409448819 + 30 +0.0 + 10 +7.748255905511811 + 20 +5.067724409448819 + 30 +0.0 + 10 +7.735755905511811 + 20 +5.067724409448819 + 30 +0.0 + 10 +7.724700787401575 + 20 +5.061889763779527 + 30 +0.0 + 10 +7.715090551181103 + 20 +5.050224409448819 + 30 +0.0 + 10 +7.715090551181103 + 20 +5.050224409448819 + 30 +0.0 + 10 +7.70548031496063 + 20 +5.038555118110236 + 30 +0.0 + 10 +7.700700787401574 + 20 +5.021555118110236 + 30 +0.0 + 10 +7.700700787401574 + 20 +4.999334645669292 + 30 +0.0 + 0 +SPLINE + 5 +347 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.977870078740158 + 20 +4.969555118110236 + 30 +0.0 + 10 +7.977870078740158 + 20 +4.969555118110236 + 30 +0.0 + 10 +8.008145669291338 + 20 +4.965834645669291 + 30 +0.0 + 10 +8.008145669291338 + 20 +4.965834645669291 + 30 +0.0 + 10 +8.008145669291338 + 20 +4.965834645669291 + 30 +0.0 + 10 +8.003370078740158 + 20 +4.948110236220472 + 30 +0.0 + 10 +7.994535433070866 + 20 +4.934389763779528 + 30 +0.0 + 10 +7.981645669291338 + 20 +4.924610236220472 + 30 +0.0 + 10 +7.981645669291338 + 20 +4.924610236220472 + 30 +0.0 + 10 +7.968700787401575 + 20 +4.914889763779527 + 30 +0.0 + 10 +7.952200787401575 + 20 +4.91 + 30 +0.0 + 10 +7.932145669291339 + 20 +4.91 + 30 +0.0 + 10 +7.932145669291339 + 20 +4.91 + 30 +0.0 + 10 +7.906870078740157 + 20 +4.91 + 30 +0.0 + 10 +7.886811023622047 + 20 +4.917779527559055 + 30 +0.0 + 10 +7.872035433070866 + 20 +4.933334645669292 + 30 +0.0 + 10 +7.872035433070866 + 20 +4.933334645669292 + 30 +0.0 + 10 +7.857200787401575 + 20 +4.948889763779528 + 30 +0.0 + 10 +7.849811023622047 + 20 +4.970724409448819 + 30 +0.0 + 10 +7.849811023622047 + 20 +4.998834645669291 + 30 +0.0 + 10 +7.849811023622047 + 20 +4.998834645669291 + 30 +0.0 + 10 +7.849811023622047 + 20 +5.027944881889764 + 30 +0.0 + 10 +7.857311023622048 + 20 +5.0505 + 30 +0.0 + 10 +7.872255905511811 + 20 +5.066555118110236 + 30 +0.0 + 10 +7.872255905511811 + 20 +5.066555118110236 + 30 +0.0 + 10 +7.887255905511811 + 20 +5.082614173228347 + 30 +0.0 + 10 +7.906645669291339 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.930535433070866 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.930535433070866 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.953645669291339 + 20 +5.090669291338583 + 30 +0.0 + 10 +7.972535433070866 + 20 +5.082779527559055 + 30 +0.0 + 10 +7.987145669291339 + 20 +5.067055118110236 + 30 +0.0 + 10 +7.987145669291339 + 20 +5.067055118110236 + 30 +0.0 + 10 +8.001814960629922 + 20 +5.051334645669291 + 30 +0.0 + 10 +8.009145669291339 + 20 +5.029169291338583 + 30 +0.0 + 10 +8.009145669291339 + 20 +5.000669291338583 + 30 +0.0 + 10 +8.009145669291339 + 20 +5.000669291338583 + 30 +0.0 + 10 +8.009145669291339 + 20 +4.998889763779528 + 30 +0.0 + 10 +8.009090551181103 + 20 +4.996279527559055 + 30 +0.0 + 10 +8.00898031496063 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.00898031496063 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.00898031496063 + 20 +4.992834645669292 + 30 +0.0 + 10 +7.880090551181103 + 20 +4.992834645669292 + 30 +0.0 + 10 +7.880090551181103 + 20 +4.992834645669292 + 30 +0.0 + 10 +7.880090551181103 + 20 +4.992834645669292 + 30 +0.0 + 10 +7.881145669291339 + 20 +4.973834645669291 + 30 +0.0 + 10 +7.886535433070867 + 20 +4.959279527559056 + 30 +0.0 + 10 +7.896200787401574 + 20 +4.949224409448819 + 30 +0.0 + 10 +7.896200787401574 + 20 +4.949224409448819 + 30 +0.0 + 10 +7.905870078740158 + 20 +4.939110236220473 + 30 +0.0 + 10 +7.917870078740157 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.932314960629921 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.932314960629921 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.943035433070866 + 20 +4.934055118110236 + 30 +0.0 + 10 +7.952200787401575 + 20 +4.936889763779527 + 30 +0.0 + 10 +7.959814960629921 + 20 +4.942555118110236 + 30 +0.0 + 10 +7.959814960629921 + 20 +4.942555118110236 + 30 +0.0 + 10 +7.967425196850393 + 20 +4.948169291338583 + 30 +0.0 + 10 +7.973425196850394 + 20 +4.957169291338583 + 30 +0.0 + 10 +7.977870078740158 + 20 +4.969555118110236 + 30 +0.0 + 0 +SPLINE + 5 +348 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +7.881700787401575 + 20 +5.016944881889764 + 30 +0.0 + 10 +7.881700787401575 + 20 +5.016944881889764 + 30 +0.0 + 10 +7.978200787401575 + 20 +5.016944881889764 + 30 +0.0 + 10 +7.978200787401575 + 20 +5.016944881889764 + 30 +0.0 + 10 +7.978200787401575 + 20 +5.016944881889764 + 30 +0.0 + 10 +7.976925196850393 + 20 +5.031444881889763 + 30 +0.0 + 10 +7.973200787401574 + 20 +5.042389763779528 + 30 +0.0 + 10 +7.967145669291338 + 20 +5.049614173228346 + 30 +0.0 + 10 +7.967145669291338 + 20 +5.049614173228346 + 30 +0.0 + 10 +7.957814960629921 + 20 +5.060889763779527 + 30 +0.0 + 10 +7.945700787401575 + 20 +5.066555118110236 + 30 +0.0 + 10 +7.930870078740157 + 20 +5.066555118110236 + 30 +0.0 + 10 +7.930870078740157 + 20 +5.066555118110236 + 30 +0.0 + 10 +7.917425196850393 + 20 +5.066555118110236 + 30 +0.0 + 10 +7.906090551181102 + 20 +5.062055118110236 + 30 +0.0 + 10 +7.896925196850393 + 20 +5.053055118110236 + 30 +0.0 + 10 +7.896925196850393 + 20 +5.053055118110236 + 30 +0.0 + 10 +7.887755905511811 + 20 +5.044055118110236 + 30 +0.0 + 10 +7.882700787401575 + 20 +5.032 + 30 +0.0 + 10 +7.881700787401575 + 20 +5.016944881889764 + 30 +0.0 + 0 +SPLINE + 5 +349 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.163259842519684 + 20 +4.969555118110236 + 30 +0.0 + 10 +8.163259842519684 + 20 +4.969555118110236 + 30 +0.0 + 10 +8.193535433070867 + 20 +4.965834645669291 + 30 +0.0 + 10 +8.193535433070867 + 20 +4.965834645669291 + 30 +0.0 + 10 +8.193535433070867 + 20 +4.965834645669291 + 30 +0.0 + 10 +8.188759842519685 + 20 +4.948110236220472 + 30 +0.0 + 10 +8.179925196850395 + 20 +4.934389763779528 + 30 +0.0 + 10 +8.167035433070867 + 20 +4.924610236220472 + 30 +0.0 + 10 +8.167035433070867 + 20 +4.924610236220472 + 30 +0.0 + 10 +8.154090551181103 + 20 +4.914889763779527 + 30 +0.0 + 10 +8.137590551181102 + 20 +4.91 + 30 +0.0 + 10 +8.117535433070866 + 20 +4.91 + 30 +0.0 + 10 +8.117535433070866 + 20 +4.91 + 30 +0.0 + 10 +8.092259842519685 + 20 +4.91 + 30 +0.0 + 10 +8.072200787401576 + 20 +4.917779527559055 + 30 +0.0 + 10 +8.057425196850394 + 20 +4.933334645669292 + 30 +0.0 + 10 +8.057425196850394 + 20 +4.933334645669292 + 30 +0.0 + 10 +8.042590551181103 + 20 +4.948889763779528 + 30 +0.0 + 10 +8.035200787401575 + 20 +4.970724409448819 + 30 +0.0 + 10 +8.035200787401575 + 20 +4.998834645669291 + 30 +0.0 + 10 +8.035200787401575 + 20 +4.998834645669291 + 30 +0.0 + 10 +8.035200787401575 + 20 +5.027944881889764 + 30 +0.0 + 10 +8.042700787401575 + 20 +5.0505 + 30 +0.0 + 10 +8.057645669291338 + 20 +5.066555118110236 + 30 +0.0 + 10 +8.057645669291338 + 20 +5.066555118110236 + 30 +0.0 + 10 +8.072645669291338 + 20 +5.082614173228347 + 30 +0.0 + 10 +8.092035433070865 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.115925196850394 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.115925196850394 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.139035433070866 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.157925196850394 + 20 +5.082779527559055 + 30 +0.0 + 10 +8.172535433070866 + 20 +5.067055118110236 + 30 +0.0 + 10 +8.172535433070866 + 20 +5.067055118110236 + 30 +0.0 + 10 +8.18720472440945 + 20 +5.051334645669291 + 30 +0.0 + 10 +8.194535433070866 + 20 +5.029169291338583 + 30 +0.0 + 10 +8.194535433070866 + 20 +5.000669291338583 + 30 +0.0 + 10 +8.194535433070866 + 20 +5.000669291338583 + 30 +0.0 + 10 +8.194535433070866 + 20 +4.998889763779528 + 30 +0.0 + 10 +8.19448031496063 + 20 +4.996279527559055 + 30 +0.0 + 10 +8.194370078740157 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.194370078740157 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.194370078740157 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.06548031496063 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.06548031496063 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.06548031496063 + 20 +4.992834645669292 + 30 +0.0 + 10 +8.066535433070866 + 20 +4.973834645669291 + 30 +0.0 + 10 +8.071925196850394 + 20 +4.959279527559056 + 30 +0.0 + 10 +8.081590551181103 + 20 +4.949224409448819 + 30 +0.0 + 10 +8.081590551181103 + 20 +4.949224409448819 + 30 +0.0 + 10 +8.091259842519685 + 20 +4.939110236220473 + 30 +0.0 + 10 +8.103259842519686 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.11770472440945 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.11770472440945 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.128425196850394 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.137590551181102 + 20 +4.936889763779527 + 30 +0.0 + 10 +8.14520472440945 + 20 +4.942555118110236 + 30 +0.0 + 10 +8.14520472440945 + 20 +4.942555118110236 + 30 +0.0 + 10 +8.152814960629922 + 20 +4.948169291338583 + 30 +0.0 + 10 +8.158814960629922 + 20 +4.957169291338583 + 30 +0.0 + 10 +8.163259842519684 + 20 +4.969555118110236 + 30 +0.0 + 0 +SPLINE + 5 +34A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.067090551181103 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.067090551181103 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.163590551181102 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.163590551181102 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.163590551181102 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.16231496062992 + 20 +5.031444881889763 + 30 +0.0 + 10 +8.158590551181103 + 20 +5.042389763779528 + 30 +0.0 + 10 +8.152535433070867 + 20 +5.049614173228346 + 30 +0.0 + 10 +8.152535433070867 + 20 +5.049614173228346 + 30 +0.0 + 10 +8.143204724409449 + 20 +5.060889763779527 + 30 +0.0 + 10 +8.131090551181103 + 20 +5.066555118110236 + 30 +0.0 + 10 +8.116259842519685 + 20 +5.066555118110236 + 30 +0.0 + 10 +8.116259842519685 + 20 +5.066555118110236 + 30 +0.0 + 10 +8.102814960629921 + 20 +5.066555118110236 + 30 +0.0 + 10 +8.09148031496063 + 20 +5.062055118110236 + 30 +0.0 + 10 +8.08231496062992 + 20 +5.053055118110236 + 30 +0.0 + 10 +8.08231496062992 + 20 +5.053055118110236 + 30 +0.0 + 10 +8.073145669291339 + 20 +5.044055118110236 + 30 +0.0 + 10 +8.068090551181102 + 20 +5.032 + 30 +0.0 + 10 +8.067090551181103 + 20 +5.016944881889764 + 30 +0.0 + 0 +SPLINE + 5 +34B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.34248031496063 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.34248031496063 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.34248031496063 + 20 +4.935724409448819 + 30 +0.0 + 10 +8.34248031496063 + 20 +4.935724409448819 + 30 +0.0 + 10 +8.34248031496063 + 20 +4.935724409448819 + 30 +0.0 + 10 +8.331535433070867 + 20 +4.918555118110236 + 30 +0.0 + 10 +8.315425196850393 + 20 +4.91 + 30 +0.0 + 10 +8.294149606299213 + 20 +4.91 + 30 +0.0 + 10 +8.294149606299213 + 20 +4.91 + 30 +0.0 + 10 +8.280370078740157 + 20 +4.91 + 30 +0.0 + 10 +8.267704724409448 + 20 +4.913779527559055 + 30 +0.0 + 10 +8.256149606299212 + 20 +4.921389763779527 + 30 +0.0 + 10 +8.256149606299212 + 20 +4.921389763779527 + 30 +0.0 + 10 +8.244590551181103 + 20 +4.928944881889763 + 30 +0.0 + 10 +8.235649606299212 + 20 +4.939555118110237 + 30 +0.0 + 10 +8.229259842519685 + 20 +4.953224409448818 + 30 +0.0 + 10 +8.229259842519685 + 20 +4.953224409448818 + 30 +0.0 + 10 +8.222925196850394 + 20 +4.966834645669292 + 30 +0.0 + 10 +8.219759842519686 + 20 +4.982444881889764 + 30 +0.0 + 10 +8.219759842519686 + 20 +5.000169291338582 + 30 +0.0 + 10 +8.219759842519686 + 20 +5.000169291338582 + 30 +0.0 + 10 +8.219759842519686 + 20 +5.017389763779527 + 30 +0.0 + 10 +8.222649606299212 + 20 +5.033055118110236 + 30 +0.0 + 10 +8.228370078740157 + 20 +5.047114173228347 + 30 +0.0 + 10 +8.228370078740157 + 20 +5.047114173228347 + 30 +0.0 + 10 +8.234149606299212 + 20 +5.061169291338583 + 30 +0.0 + 10 +8.242759842519686 + 20 +5.071944881889764 + 30 +0.0 + 10 +8.254259842519685 + 20 +5.079389763779528 + 30 +0.0 + 10 +8.254259842519685 + 20 +5.079389763779528 + 30 +0.0 + 10 +8.265759842519685 + 20 +5.086889763779528 + 30 +0.0 + 10 +8.278649606299213 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.292870078740158 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.292870078740158 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.303259842519685 + 20 +5.090669291338583 + 30 +0.0 + 10 +8.312535433070867 + 20 +5.088444881889764 + 30 +0.0 + 10 +8.320649606299213 + 20 +5.08405905511811 + 30 +0.0 + 10 +8.320649606299213 + 20 +5.08405905511811 + 30 +0.0 + 10 +8.328814960629922 + 20 +5.079669291338583 + 30 +0.0 + 10 +8.335425196850395 + 20 +5.073944881889764 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.066889763779527 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.066889763779527 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.066889763779527 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.1525 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.1525 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.1525 + 30 +0.0 + 10 +8.340535433070865 + 20 +5.1525 + 30 +0.0 + 10 +8.369649606299213 + 20 +5.1525 + 30 +0.0 + 10 +8.369649606299213 + 20 +5.1525 + 30 +0.0 + 10 +8.369649606299213 + 20 +5.1525 + 30 +0.0 + 10 +8.369649606299213 + 20 +5.1525 + 30 +0.0 + 10 +8.369649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.369649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.369649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.369649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.34248031496063 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.34248031496063 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +34C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.249870078740157 + 20 +5.000169291338582 + 30 +0.0 + 10 +8.249870078740157 + 20 +4.978 + 30 +0.0 + 10 +8.254535433070867 + 20 +4.961444881889764 + 30 +0.0 + 10 +8.263870078740158 + 20 +4.9505 + 30 +0.0 + 10 +8.263870078740158 + 20 +4.9505 + 30 +0.0 + 10 +8.27320472440945 + 20 +4.939555118110237 + 30 +0.0 + 10 +8.284204724409449 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.296925196850394 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.296925196850394 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.309704724409448 + 20 +4.934055118110236 + 30 +0.0 + 10 +8.320594488188977 + 20 +4.939334645669291 + 30 +0.0 + 10 +8.329535433070866 + 20 +4.949779527559055 + 30 +0.0 + 10 +8.329535433070866 + 20 +4.949779527559055 + 30 +0.0 + 10 +8.33848031496063 + 20 +4.960224409448819 + 30 +0.0 + 10 +8.34298031496063 + 20 +4.976224409448819 + 30 +0.0 + 10 +8.34298031496063 + 20 +4.997724409448819 + 30 +0.0 + 10 +8.34298031496063 + 20 +4.997724409448819 + 30 +0.0 + 10 +8.34298031496063 + 20 +5.021389763779528 + 30 +0.0 + 10 +8.338425196850393 + 20 +5.038724409448819 + 30 +0.0 + 10 +8.32931496062992 + 20 +5.049779527559055 + 30 +0.0 + 10 +8.32931496062992 + 20 +5.049779527559055 + 30 +0.0 + 10 +8.320204724409448 + 20 +5.060889763779527 + 30 +0.0 + 10 +8.30898031496063 + 20 +5.066389763779528 + 30 +0.0 + 10 +8.295594488188977 + 20 +5.066389763779528 + 30 +0.0 + 10 +8.295594488188977 + 20 +5.066389763779528 + 30 +0.0 + 10 +8.282594488188977 + 20 +5.066389763779528 + 30 +0.0 + 10 +8.27170472440945 + 20 +5.061055118110236 + 30 +0.0 + 10 +8.26298031496063 + 20 +5.050444881889764 + 30 +0.0 + 10 +8.26298031496063 + 20 +5.050444881889764 + 30 +0.0 + 10 +8.254259842519685 + 20 +5.039834645669291 + 30 +0.0 + 10 +8.249870078740157 + 20 +5.023055118110237 + 30 +0.0 + 10 +8.249870078740157 + 20 +5.000169291338582 + 30 +0.0 + 0 +SPLINE + 5 +34D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.654204724409448 + 20 +4.942055118110236 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.942055118110236 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.49648031496063 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.49648031496063 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.49648031496063 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.496259842519684 + 20 +4.920944881889763 + 30 +0.0 + 10 +8.497370078740158 + 20 +4.927724409448819 + 30 +0.0 + 10 +8.499870078740157 + 20 +4.934224409448819 + 30 +0.0 + 10 +8.499870078740157 + 20 +4.934224409448819 + 30 +0.0 + 10 +8.503870078740157 + 20 +4.945 + 30 +0.0 + 10 +8.510314960629922 + 20 +4.955555118110237 + 30 +0.0 + 10 +8.519149606299212 + 20 +4.966 + 30 +0.0 + 10 +8.519149606299212 + 20 +4.966 + 30 +0.0 + 10 +8.528035433070865 + 20 +4.976389763779528 + 30 +0.0 + 10 +8.540814960629922 + 20 +4.988444881889764 + 30 +0.0 + 10 +8.55748031496063 + 20 +5.002114173228346 + 30 +0.0 + 10 +8.55748031496063 + 20 +5.002114173228346 + 30 +0.0 + 10 +8.583425196850394 + 20 +5.023389763779528 + 30 +0.0 + 10 +8.60098031496063 + 20 +5.040224409448819 + 30 +0.0 + 10 +8.610094488188976 + 20 +5.052669291338582 + 30 +0.0 + 10 +8.610094488188976 + 20 +5.052669291338582 + 30 +0.0 + 10 +8.61920472440945 + 20 +5.065055118110236 + 30 +0.0 + 10 +8.623759842519686 + 20 +5.076834645669291 + 30 +0.0 + 10 +8.623759842519686 + 20 +5.087889763779527 + 30 +0.0 + 10 +8.623759842519686 + 20 +5.087889763779527 + 30 +0.0 + 10 +8.623759842519686 + 20 +5.0995 + 30 +0.0 + 10 +8.619594488188977 + 20 +5.109279527559055 + 30 +0.0 + 10 +8.61131496062992 + 20 +5.117279527559055 + 30 +0.0 + 10 +8.61131496062992 + 20 +5.117279527559055 + 30 +0.0 + 10 +8.60298031496063 + 20 +5.125224409448819 + 30 +0.0 + 10 +8.592149606299213 + 20 +5.129224409448819 + 30 +0.0 + 10 +8.578814960629922 + 20 +5.129224409448819 + 30 +0.0 + 10 +8.578814960629922 + 20 +5.129224409448819 + 30 +0.0 + 10 +8.564704724409449 + 20 +5.129224409448819 + 30 +0.0 + 10 +8.553425196850394 + 20 +5.125 + 30 +0.0 + 10 +8.54498031496063 + 20 +5.1165 + 30 +0.0 + 10 +8.54498031496063 + 20 +5.1165 + 30 +0.0 + 10 +8.53648031496063 + 20 +5.10805905511811 + 30 +0.0 + 10 +8.532204724409448 + 20 +5.096334645669291 + 30 +0.0 + 10 +8.532090551181103 + 20 +5.081389763779527 + 30 +0.0 + 10 +8.532090551181103 + 20 +5.081389763779527 + 30 +0.0 + 10 +8.532090551181103 + 20 +5.081389763779527 + 30 +0.0 + 10 +8.50198031496063 + 20 +5.084444881889763 + 30 +0.0 + 10 +8.50198031496063 + 20 +5.084444881889763 + 30 +0.0 + 10 +8.50198031496063 + 20 +5.084444881889763 + 30 +0.0 + 10 +8.504035433070866 + 20 +5.106944881889763 + 30 +0.0 + 10 +8.511814960629922 + 20 +5.12405905511811 + 30 +0.0 + 10 +8.525259842519684 + 20 +5.135834645669291 + 30 +0.0 + 10 +8.525259842519684 + 20 +5.135834645669291 + 30 +0.0 + 10 +8.538704724409449 + 20 +5.147614173228346 + 30 +0.0 + 10 +8.556814960629922 + 20 +5.1535 + 30 +0.0 + 10 +8.57948031496063 + 20 +5.1535 + 30 +0.0 + 10 +8.57948031496063 + 20 +5.1535 + 30 +0.0 + 10 +8.602370078740158 + 20 +5.1535 + 30 +0.0 + 10 +8.62048031496063 + 20 +5.147114173228347 + 30 +0.0 + 10 +8.633814960629921 + 20 +5.134444881889764 + 30 +0.0 + 10 +8.633814960629921 + 20 +5.134444881889764 + 30 +0.0 + 10 +8.647204724409448 + 20 +5.121724409448819 + 30 +0.0 + 10 +8.653870078740157 + 20 +5.106 + 30 +0.0 + 10 +8.653870078740157 + 20 +5.087224409448819 + 30 +0.0 + 10 +8.653870078740157 + 20 +5.087224409448819 + 30 +0.0 + 10 +8.653870078740157 + 20 +5.077669291338583 + 30 +0.0 + 10 +8.651925196850394 + 20 +5.068279527559056 + 30 +0.0 + 10 +8.64798031496063 + 20 +5.059055118110236 + 30 +0.0 + 10 +8.64798031496063 + 20 +5.059055118110236 + 30 +0.0 + 10 +8.644094488188976 + 20 +5.049834645669291 + 30 +0.0 + 10 +8.637594488188977 + 20 +5.040114173228346 + 30 +0.0 + 10 +8.628535433070866 + 20 +5.029944881889763 + 30 +0.0 + 10 +8.628535433070866 + 20 +5.029944881889763 + 30 +0.0 + 10 +8.61948031496063 + 20 +5.019724409448819 + 30 +0.0 + 10 +8.604425196850393 + 20 +5.005724409448819 + 30 +0.0 + 10 +8.583370078740158 + 20 +4.987944881889764 + 30 +0.0 + 10 +8.583370078740158 + 20 +4.987944881889764 + 30 +0.0 + 10 +8.565814960629922 + 20 +4.973169291338583 + 30 +0.0 + 10 +8.554535433070866 + 20 +4.963169291338582 + 30 +0.0 + 10 +8.549535433070867 + 20 +4.957889763779527 + 30 +0.0 + 10 +8.549535433070867 + 20 +4.957889763779527 + 30 +0.0 + 10 +8.544535433070866 + 20 +4.952669291338583 + 30 +0.0 + 10 +8.540425196850395 + 20 +4.947389763779528 + 30 +0.0 + 10 +8.537149606299213 + 20 +4.942055118110236 + 30 +0.0 + 10 +8.537149606299213 + 20 +4.942055118110236 + 30 +0.0 + 10 +8.537149606299213 + 20 +4.942055118110236 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.942055118110236 + 30 +0.0 + 10 +8.654204724409448 + 20 +4.942055118110236 + 30 +0.0 + 0 +SPLINE + 5 +34E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.73070472440945 + 20 +5.043279527559055 + 30 +0.0 + 10 +8.71853937007874 + 20 +5.047724409448819 + 30 +0.0 + 10 +8.70953937007874 + 20 +5.054055118110236 + 30 +0.0 + 10 +8.703649606299212 + 20 +5.062334645669291 + 30 +0.0 + 10 +8.703649606299212 + 20 +5.062334645669291 + 30 +0.0 + 10 +8.697814960629922 + 20 +5.070555118110236 + 30 +0.0 + 10 +8.694870078740157 + 20 +5.080444881889764 + 30 +0.0 + 10 +8.694870078740157 + 20 +5.091944881889764 + 30 +0.0 + 10 +8.694870078740157 + 20 +5.091944881889764 + 30 +0.0 + 10 +8.694870078740157 + 20 +5.109334645669291 + 30 +0.0 + 10 +8.701094488188977 + 20 +5.123889763779528 + 30 +0.0 + 10 +8.713594488188976 + 20 +5.135724409448819 + 30 +0.0 + 10 +8.713594488188976 + 20 +5.135724409448819 + 30 +0.0 + 10 +8.726094488188977 + 20 +5.14755905511811 + 30 +0.0 + 10 +8.742649606299212 + 20 +5.1535 + 30 +0.0 + 10 +8.763370078740158 + 20 +5.1535 + 30 +0.0 + 10 +8.763370078740158 + 20 +5.1535 + 30 +0.0 + 10 +8.784204724409449 + 20 +5.1535 + 30 +0.0 + 10 +8.800984251968504 + 20 +5.147444881889764 + 30 +0.0 + 10 +8.81370472440945 + 20 +5.135334645669292 + 30 +0.0 + 10 +8.81370472440945 + 20 +5.135334645669292 + 30 +0.0 + 10 +8.826370078740158 + 20 +5.123224409448819 + 30 +0.0 + 10 +8.83270472440945 + 20 +5.1085 + 30 +0.0 + 10 +8.83270472440945 + 20 +5.091114173228346 + 30 +0.0 + 10 +8.83270472440945 + 20 +5.091114173228346 + 30 +0.0 + 10 +8.83270472440945 + 20 +5.080055118110236 + 30 +0.0 + 10 +8.829814960629921 + 20 +5.070444881889764 + 30 +0.0 + 10 +8.82403937007874 + 20 +5.062224409448818 + 30 +0.0 + 10 +8.82403937007874 + 20 +5.062224409448818 + 30 +0.0 + 10 +8.81820472440945 + 20 +5.054055118110236 + 30 +0.0 + 10 +8.809425196850393 + 20 +5.047724409448819 + 30 +0.0 + 10 +8.797594488188976 + 20 +5.043279527559055 + 30 +0.0 + 10 +8.797594488188976 + 20 +5.043279527559055 + 30 +0.0 + 10 +8.81220472440945 + 20 +5.0385 + 30 +0.0 + 10 +8.823370078740158 + 20 +5.030834645669291 + 30 +0.0 + 10 +8.83103937007874 + 20 +5.020169291338583 + 30 +0.0 + 10 +8.83103937007874 + 20 +5.020169291338583 + 30 +0.0 + 10 +8.838649606299212 + 20 +5.009555118110236 + 30 +0.0 + 10 +8.842484251968504 + 20 +4.996834645669291 + 30 +0.0 + 10 +8.842484251968504 + 20 +4.982114173228346 + 30 +0.0 + 10 +8.842484251968504 + 20 +4.982114173228346 + 30 +0.0 + 10 +8.842484251968504 + 20 +4.961669291338582 + 30 +0.0 + 10 +8.835259842519685 + 20 +4.944555118110237 + 30 +0.0 + 10 +8.820870078740157 + 20 +4.930669291338583 + 30 +0.0 + 10 +8.820870078740157 + 20 +4.930669291338583 + 30 +0.0 + 10 +8.806425196850393 + 20 +4.916779527559055 + 30 +0.0 + 10 +8.787425196850394 + 20 +4.909834645669291 + 30 +0.0 + 10 +8.763870078740158 + 20 +4.909834645669291 + 30 +0.0 + 10 +8.763870078740158 + 20 +4.909834645669291 + 30 +0.0 + 10 +8.740314960629922 + 20 +4.909834645669291 + 30 +0.0 + 10 +8.721370078740158 + 20 +4.916779527559055 + 30 +0.0 + 10 +8.706925196850394 + 20 +4.930724409448819 + 30 +0.0 + 10 +8.706925196850394 + 20 +4.930724409448819 + 30 +0.0 + 10 +8.69248031496063 + 20 +4.944669291338583 + 30 +0.0 + 10 +8.685259842519685 + 20 +4.962055118110237 + 30 +0.0 + 10 +8.685259842519685 + 20 +4.982889763779528 + 30 +0.0 + 10 +8.685259842519685 + 20 +4.982889763779528 + 30 +0.0 + 10 +8.685259842519685 + 20 +4.998389763779527 + 30 +0.0 + 10 +8.689204724409448 + 20 +5.011389763779528 + 30 +0.0 + 10 +8.697094488188977 + 20 +5.021889763779527 + 30 +0.0 + 10 +8.697094488188977 + 20 +5.021889763779527 + 30 +0.0 + 10 +8.704925196850393 + 20 +5.032334645669291 + 30 +0.0 + 10 +8.716149606299213 + 20 +5.0395 + 30 +0.0 + 10 +8.73070472440945 + 20 +5.043279527559055 + 30 +0.0 + 0 +SPLINE + 5 +34F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.72481496062992 + 20 +5.092944881889764 + 30 +0.0 + 10 +8.72481496062992 + 20 +5.081669291338582 + 30 +0.0 + 10 +8.728484251968505 + 20 +5.072444881889764 + 30 +0.0 + 10 +8.735704724409448 + 20 +5.065279527559055 + 30 +0.0 + 10 +8.735704724409448 + 20 +5.065279527559055 + 30 +0.0 + 10 +8.742984251968505 + 20 +5.058114173228346 + 30 +0.0 + 10 +8.752425196850394 + 20 +5.0545 + 30 +0.0 + 10 +8.76403937007874 + 20 +5.0545 + 30 +0.0 + 10 +8.76403937007874 + 20 +5.0545 + 30 +0.0 + 10 +8.775314960629922 + 20 +5.0545 + 30 +0.0 + 10 +8.784594488188976 + 20 +5.058055118110236 + 30 +0.0 + 10 +8.791814960629921 + 20 +5.065169291338583 + 30 +0.0 + 10 +8.791814960629921 + 20 +5.065169291338583 + 30 +0.0 + 10 +8.79903937007874 + 20 +5.072279527559055 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.081 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.091279527559055 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.091279527559055 + 30 +0.0 + 10 +8.802594488188976 + 20 +5.102059055118111 + 30 +0.0 + 10 +8.798925196850394 + 20 +5.11105905511811 + 30 +0.0 + 10 +8.791484251968503 + 20 +5.118389763779527 + 30 +0.0 + 10 +8.791484251968503 + 20 +5.118389763779527 + 30 +0.0 + 10 +8.784039370078741 + 20 +5.125724409448819 + 30 +0.0 + 10 +8.774814960629922 + 20 +5.129389763779527 + 30 +0.0 + 10 +8.763704724409449 + 20 +5.129389763779527 + 30 +0.0 + 10 +8.763704724409449 + 20 +5.129389763779527 + 30 +0.0 + 10 +8.75253937007874 + 20 +5.129389763779527 + 30 +0.0 + 10 +8.743259842519684 + 20 +5.125779527559055 + 30 +0.0 + 10 +8.735870078740158 + 20 +5.118669291338582 + 30 +0.0 + 10 +8.735870078740158 + 20 +5.118669291338582 + 30 +0.0 + 10 +8.728484251968505 + 20 +5.1115 + 30 +0.0 + 10 +8.72481496062992 + 20 +5.102889763779528 + 30 +0.0 + 10 +8.72481496062992 + 20 +5.092944881889764 + 30 +0.0 + 0 +SPLINE + 5 +350 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.715370078740158 + 20 +4.982724409448819 + 30 +0.0 + 10 +8.715370078740158 + 20 +4.974389763779527 + 30 +0.0 + 10 +8.717370078740158 + 20 +4.966279527559055 + 30 +0.0 + 10 +8.721314960629922 + 20 +4.9585 + 30 +0.0 + 10 +8.721314960629922 + 20 +4.9585 + 30 +0.0 + 10 +8.725259842519685 + 20 +4.950669291338583 + 30 +0.0 + 10 +8.731149606299212 + 20 +4.944610236220472 + 30 +0.0 + 10 +8.738984251968503 + 20 +4.940334645669291 + 30 +0.0 + 10 +8.738984251968503 + 20 +4.940334645669291 + 30 +0.0 + 10 +8.746814960629921 + 20 +4.936055118110236 + 30 +0.0 + 10 +8.755204724409449 + 20 +4.933889763779527 + 30 +0.0 + 10 +8.76420472440945 + 20 +4.933889763779527 + 30 +0.0 + 10 +8.76420472440945 + 20 +4.933889763779527 + 30 +0.0 + 10 +8.778204724409449 + 20 +4.933889763779527 + 30 +0.0 + 10 +8.789759842519684 + 20 +4.938389763779528 + 30 +0.0 + 10 +8.798870078740158 + 20 +4.947444881889764 + 30 +0.0 + 10 +8.798870078740158 + 20 +4.947444881889764 + 30 +0.0 + 10 +8.807984251968504 + 20 +4.956444881889764 + 30 +0.0 + 10 +8.81253937007874 + 20 +4.967889763779527 + 30 +0.0 + 10 +8.81253937007874 + 20 +4.981779527559056 + 30 +0.0 + 10 +8.81253937007874 + 20 +4.981779527559056 + 30 +0.0 + 10 +8.81253937007874 + 20 +4.995889763779528 + 30 +0.0 + 10 +8.807870078740157 + 20 +5.007555118110236 + 30 +0.0 + 10 +8.798484251968503 + 20 +5.016779527559055 + 30 +0.0 + 10 +8.798484251968503 + 20 +5.016779527559055 + 30 +0.0 + 10 +8.789094488188976 + 20 +5.026 + 30 +0.0 + 10 +8.777314960629921 + 20 +5.030614173228346 + 30 +0.0 + 10 +8.763204724409448 + 20 +5.030614173228346 + 30 +0.0 + 10 +8.763204724409448 + 20 +5.030614173228346 + 30 +0.0 + 10 +8.749425196850394 + 20 +5.030614173228346 + 30 +0.0 + 10 +8.73803937007874 + 20 +5.026055118110237 + 30 +0.0 + 10 +8.728984251968503 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.728984251968503 + 20 +5.016944881889764 + 30 +0.0 + 10 +8.719925196850394 + 20 +5.007779527559055 + 30 +0.0 + 10 +8.715370078740158 + 20 +4.996389763779527 + 30 +0.0 + 10 +8.715370078740158 + 20 +4.982724409448819 + 30 +0.0 + 0 +SPLINE + 5 +351 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +8.886759842519686 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.947279527559055 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.920149606299212 + 20 +4.901610236220472 + 30 +0.0 + 10 +8.917984251968504 + 20 +4.891724409448819 + 30 +0.0 + 10 +8.913649606299213 + 20 +4.884169291338583 + 30 +0.0 + 10 +8.913649606299213 + 20 +4.884169291338583 + 30 +0.0 + 10 +8.909259842519685 + 20 +4.876669291338582 + 30 +0.0 + 10 +8.902370078740157 + 20 +4.870834645669292 + 30 +0.0 + 10 +8.892984251968503 + 20 +4.866669291338583 + 30 +0.0 + 10 +8.892984251968503 + 20 +4.866669291338583 + 30 +0.0 + 10 +8.892984251968503 + 20 +4.866669291338583 + 30 +0.0 + 10 +8.884814960629921 + 20 +4.879224409448819 + 30 +0.0 + 10 +8.884814960629921 + 20 +4.879224409448819 + 30 +0.0 + 10 +8.884814960629921 + 20 +4.879224409448819 + 30 +0.0 + 10 +8.890984251968504 + 20 +4.881944881889764 + 30 +0.0 + 10 +8.89553937007874 + 20 +4.885944881889764 + 30 +0.0 + 10 +8.898484251968505 + 20 +4.891169291338582 + 30 +0.0 + 10 +8.898484251968505 + 20 +4.891169291338582 + 30 +0.0 + 10 +8.901429133858267 + 20 +4.896444881889764 + 30 +0.0 + 10 +8.90303937007874 + 20 +4.904 + 30 +0.0 + 10 +8.903370078740158 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.903370078740158 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.903370078740158 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.913889763779528 + 30 +0.0 + 10 +8.886759842519686 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +352 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.068090551181102 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.068090551181102 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.068090551181102 + 20 +5.1525 + 30 +0.0 + 10 +9.068090551181102 + 20 +5.1525 + 30 +0.0 + 10 +9.068090551181102 + 20 +5.1525 + 30 +0.0 + 10 +9.068090551181102 + 20 +5.1525 + 30 +0.0 + 10 +9.158094488188976 + 20 +5.1525 + 30 +0.0 + 10 +9.158094488188976 + 20 +5.1525 + 30 +0.0 + 10 +9.158094488188976 + 20 +5.1525 + 30 +0.0 + 10 +9.173925196850394 + 20 +5.1525 + 30 +0.0 + 10 +9.186035433070867 + 20 +5.151724409448819 + 30 +0.0 + 10 +9.194370078740157 + 20 +5.150224409448819 + 30 +0.0 + 10 +9.194370078740157 + 20 +5.150224409448819 + 30 +0.0 + 10 +9.206094488188976 + 20 +5.148279527559055 + 30 +0.0 + 10 +9.215925196850394 + 20 +5.14455905511811 + 30 +0.0 + 10 +9.223870078740157 + 20 +5.139059055118111 + 30 +0.0 + 10 +9.223870078740157 + 20 +5.139059055118111 + 30 +0.0 + 10 +9.231759842519685 + 20 +5.133614173228347 + 30 +0.0 + 10 +9.238149606299213 + 20 +5.125889763779528 + 30 +0.0 + 10 +9.24298031496063 + 20 +5.11605905511811 + 30 +0.0 + 10 +9.24298031496063 + 20 +5.11605905511811 + 30 +0.0 + 10 +9.24781496062992 + 20 +5.106169291338583 + 30 +0.0 + 10 +9.250204724409448 + 20 +5.095334645669292 + 30 +0.0 + 10 +9.250204724409448 + 20 +5.0835 + 30 +0.0 + 10 +9.250204724409448 + 20 +5.0835 + 30 +0.0 + 10 +9.250204724409448 + 20 +5.063224409448819 + 30 +0.0 + 10 +9.243759842519685 + 20 +5.046 + 30 +0.0 + 10 +9.230870078740157 + 20 +5.031944881889764 + 30 +0.0 + 10 +9.230870078740157 + 20 +5.031944881889764 + 30 +0.0 + 10 +9.217925196850393 + 20 +5.017944881889764 + 30 +0.0 + 10 +9.194594488188976 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.160870078740157 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.160870078740157 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.160870078740157 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.010889763779527 + 30 +0.0 + 10 +9.099649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.099649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.099649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.099649606299213 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.068090551181102 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.068090551181102 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +353 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.099649606299213 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.161370078740157 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.161370078740157 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.161370078740157 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.181759842519686 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.196259842519686 + 20 +5.042834645669291 + 30 +0.0 + 10 +9.204814960629921 + 20 +5.050444881889764 + 30 +0.0 + 10 +9.204814960629921 + 20 +5.050444881889764 + 30 +0.0 + 10 +9.213370078740157 + 20 +5.058055118110236 + 30 +0.0 + 10 +9.217649606299213 + 20 +5.068724409448819 + 30 +0.0 + 10 +9.217649606299213 + 20 +5.0825 + 30 +0.0 + 10 +9.217649606299213 + 20 +5.0825 + 30 +0.0 + 10 +9.217649606299213 + 20 +5.0925 + 30 +0.0 + 10 +9.215149606299212 + 20 +5.10105905511811 + 30 +0.0 + 10 +9.210094488188977 + 20 +5.108169291338583 + 30 +0.0 + 10 +9.210094488188977 + 20 +5.108169291338583 + 30 +0.0 + 10 +9.205035433070867 + 20 +5.115279527559055 + 30 +0.0 + 10 +9.198425196850394 + 20 +5.119944881889764 + 30 +0.0 + 10 +9.190149606299213 + 20 +5.122224409448819 + 30 +0.0 + 10 +9.190149606299213 + 20 +5.122224409448819 + 30 +0.0 + 10 +9.184814960629922 + 20 +5.123614173228346 + 30 +0.0 + 10 +9.175035433070866 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.160704724409449 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.160704724409449 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.160704724409449 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.124334645669292 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.039055118110237 + 30 +0.0 + 10 +9.099649606299213 + 20 +5.039055118110237 + 30 +0.0 + 0 +SPLINE + 5 +354 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.275759842519685 + 20 +5.000334645669291 + 30 +0.0 + 10 +9.275759842519685 + 20 +5.032334645669291 + 30 +0.0 + 10 +9.284649606299213 + 20 +5.056055118110236 + 30 +0.0 + 10 +9.302484251968504 + 20 +5.071444881889764 + 30 +0.0 + 10 +9.302484251968504 + 20 +5.071444881889764 + 30 +0.0 + 10 +9.317314960629922 + 20 +5.084224409448819 + 30 +0.0 + 10 +9.335429133858268 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.35681496062992 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.35681496062992 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.380594488188976 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.40003937007874 + 20 +5.082889763779527 + 30 +0.0 + 10 +9.415094488188977 + 20 +5.067279527559055 + 30 +0.0 + 10 +9.415094488188977 + 20 +5.067279527559055 + 30 +0.0 + 10 +9.43020472440945 + 20 +5.051724409448819 + 30 +0.0 + 10 +9.437704724409448 + 20 +5.030224409448819 + 30 +0.0 + 10 +9.437704724409448 + 20 +5.002779527559055 + 30 +0.0 + 10 +9.437704724409448 + 20 +5.002779527559055 + 30 +0.0 + 10 +9.437704724409448 + 20 +4.9805 + 30 +0.0 + 10 +9.434374015748032 + 20 +4.963 + 30 +0.0 + 10 +9.427704724409448 + 20 +4.950279527559055 + 30 +0.0 + 10 +9.427704724409448 + 20 +4.950279527559055 + 30 +0.0 + 10 +9.42103937007874 + 20 +4.9375 + 30 +0.0 + 10 +9.411314960629921 + 20 +4.927610236220472 + 30 +0.0 + 10 +9.398594488188976 + 20 +4.920555118110236 + 30 +0.0 + 10 +9.398594488188976 + 20 +4.920555118110236 + 30 +0.0 + 10 +9.38581496062992 + 20 +4.9135 + 30 +0.0 + 10 +9.371929133858268 + 20 +4.91 + 30 +0.0 + 10 +9.35681496062992 + 20 +4.91 + 30 +0.0 + 10 +9.35681496062992 + 20 +4.91 + 30 +0.0 + 10 +9.332649606299213 + 20 +4.91 + 30 +0.0 + 10 +9.313094488188977 + 20 +4.917724409448819 + 30 +0.0 + 10 +9.298149606299212 + 20 +4.933279527559055 + 30 +0.0 + 10 +9.298149606299212 + 20 +4.933279527559055 + 30 +0.0 + 10 +9.28320472440945 + 20 +4.948779527559055 + 30 +0.0 + 10 +9.275759842519685 + 20 +4.971114173228346 + 30 +0.0 + 10 +9.275759842519685 + 20 +5.000334645669291 + 30 +0.0 + 0 +SPLINE + 5 +355 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.305870078740158 + 20 +5.000334645669291 + 30 +0.0 + 10 +9.305870078740158 + 20 +4.978169291338583 + 30 +0.0 + 10 +9.31070472440945 + 20 +4.961610236220473 + 30 +0.0 + 10 +9.320370078740158 + 20 +4.950610236220473 + 30 +0.0 + 10 +9.320370078740158 + 20 +4.950610236220473 + 30 +0.0 + 10 +9.33003937007874 + 20 +4.939555118110237 + 30 +0.0 + 10 +9.342204724409449 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.35681496062992 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.35681496062992 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.371370078740158 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.383484251968504 + 20 +4.939610236220473 + 30 +0.0 + 10 +9.393149606299213 + 20 +4.950669291338583 + 30 +0.0 + 10 +9.393149606299213 + 20 +4.950669291338583 + 30 +0.0 + 10 +9.402759842519686 + 20 +4.961724409448819 + 30 +0.0 + 10 +9.407594488188977 + 20 +4.978614173228347 + 30 +0.0 + 10 +9.407594488188977 + 20 +5.001279527559055 + 30 +0.0 + 10 +9.407594488188977 + 20 +5.001279527559055 + 30 +0.0 + 10 +9.407594488188977 + 20 +5.022669291338583 + 30 +0.0 + 10 +9.402759842519686 + 20 +5.038889763779528 + 30 +0.0 + 10 +9.393039370078741 + 20 +5.049889763779528 + 30 +0.0 + 10 +9.393039370078741 + 20 +5.049889763779528 + 30 +0.0 + 10 +9.38331496062992 + 20 +5.060889763779527 + 30 +0.0 + 10 +9.371259842519684 + 20 +5.066389763779528 + 30 +0.0 + 10 +9.35681496062992 + 20 +5.066389763779528 + 30 +0.0 + 10 +9.35681496062992 + 20 +5.066389763779528 + 30 +0.0 + 10 +9.342204724409449 + 20 +5.066389763779528 + 30 +0.0 + 10 +9.33003937007874 + 20 +5.060889763779527 + 30 +0.0 + 10 +9.320370078740158 + 20 +5.049944881889764 + 30 +0.0 + 10 +9.320370078740158 + 20 +5.049944881889764 + 30 +0.0 + 10 +9.31070472440945 + 20 +5.039 + 30 +0.0 + 10 +9.305870078740158 + 20 +5.022444881889764 + 30 +0.0 + 10 +9.305870078740158 + 20 +5.000334645669291 + 30 +0.0 + 0 +SPLINE + 5 +356 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.503984251968504 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.503984251968504 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.451094488188977 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.451094488188977 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.451094488188977 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.451094488188977 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.481374015748031 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.481374015748031 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.481374015748031 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.481374015748031 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.508874015748031 + 20 +4.986944881889764 + 30 +0.0 + 10 +9.508874015748031 + 20 +4.986944881889764 + 30 +0.0 + 10 +9.508874015748031 + 20 +4.986944881889764 + 30 +0.0 + 10 +9.508874015748031 + 20 +4.986944881889764 + 30 +0.0 + 10 +9.519094488188976 + 20 +4.949834645669291 + 30 +0.0 + 10 +9.519094488188976 + 20 +4.949834645669291 + 30 +0.0 + 10 +9.519094488188976 + 20 +4.949834645669291 + 30 +0.0 + 10 +9.519539370078741 + 20 +4.951724409448819 + 30 +0.0 + 10 +9.52253937007874 + 20 +4.963610236220473 + 30 +0.0 + 10 +9.52803937007874 + 20 +4.9855 + 30 +0.0 + 10 +9.52803937007874 + 20 +4.9855 + 30 +0.0 + 10 +9.52803937007874 + 20 +4.9855 + 30 +0.0 + 10 +9.55553937007874 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.55553937007874 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.55553937007874 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.55553937007874 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.585649606299212 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.585649606299212 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.585649606299212 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.585649606299212 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.61153937007874 + 20 +4.9865 + 30 +0.0 + 10 +9.61153937007874 + 20 +4.9865 + 30 +0.0 + 10 +9.61153937007874 + 20 +4.9865 + 30 +0.0 + 10 +9.61153937007874 + 20 +4.9865 + 30 +0.0 + 10 +9.620204724409449 + 20 +4.953444881889764 + 30 +0.0 + 10 +9.620204724409449 + 20 +4.953444881889764 + 30 +0.0 + 10 +9.620204724409449 + 20 +4.953444881889764 + 30 +0.0 + 10 +9.620204724409449 + 20 +4.953444881889764 + 30 +0.0 + 10 +9.630094488188977 + 20 +4.986834645669291 + 30 +0.0 + 10 +9.630094488188977 + 20 +4.986834645669291 + 30 +0.0 + 10 +9.630094488188977 + 20 +4.986834645669291 + 30 +0.0 + 10 +9.630094488188977 + 20 +4.986834645669291 + 30 +0.0 + 10 +9.65970472440945 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.65970472440945 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.65970472440945 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.65970472440945 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.688204724409449 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.688204724409449 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.688204724409449 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.688204724409449 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.634149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.634149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.634149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.634149606299212 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.603759842519684 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.603759842519684 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.603759842519684 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.603759842519684 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.576259842519685 + 20 +5.017389763779527 + 30 +0.0 + 10 +9.576259842519685 + 20 +5.017389763779527 + 30 +0.0 + 10 +9.576259842519685 + 20 +5.017389763779527 + 30 +0.0 + 10 +9.576259842519685 + 20 +5.017389763779527 + 30 +0.0 + 10 +9.56953937007874 + 20 +5.046889763779528 + 30 +0.0 + 10 +9.56953937007874 + 20 +5.046889763779528 + 30 +0.0 + 10 +9.56953937007874 + 20 +5.046889763779528 + 30 +0.0 + 10 +9.56953937007874 + 20 +5.046889763779528 + 30 +0.0 + 10 +9.534594488188976 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.534594488188976 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.534594488188976 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.534594488188976 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.503984251968504 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.503984251968504 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +357 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.831098425196851 + 20 +4.969555118110236 + 30 +0.0 + 10 +9.831098425196851 + 20 +4.969555118110236 + 30 +0.0 + 10 +9.861374015748032 + 20 +4.965834645669291 + 30 +0.0 + 10 +9.861374015748032 + 20 +4.965834645669291 + 30 +0.0 + 10 +9.861374015748032 + 20 +4.965834645669291 + 30 +0.0 + 10 +9.85659842519685 + 20 +4.948110236220472 + 30 +0.0 + 10 +9.84776377952756 + 20 +4.934389763779528 + 30 +0.0 + 10 +9.834874015748031 + 20 +4.924610236220472 + 30 +0.0 + 10 +9.834874015748031 + 20 +4.924610236220472 + 30 +0.0 + 10 +9.821929133858267 + 20 +4.914889763779527 + 30 +0.0 + 10 +9.805429133858267 + 20 +4.91 + 30 +0.0 + 10 +9.785374015748031 + 20 +4.91 + 30 +0.0 + 10 +9.785374015748031 + 20 +4.91 + 30 +0.0 + 10 +9.760098425196851 + 20 +4.91 + 30 +0.0 + 10 +9.74003937007874 + 20 +4.917779527559055 + 30 +0.0 + 10 +9.725263779527559 + 20 +4.933334645669292 + 30 +0.0 + 10 +9.725263779527559 + 20 +4.933334645669292 + 30 +0.0 + 10 +9.710429133858268 + 20 +4.948889763779528 + 30 +0.0 + 10 +9.70303937007874 + 20 +4.970724409448819 + 30 +0.0 + 10 +9.70303937007874 + 20 +4.998834645669291 + 30 +0.0 + 10 +9.70303937007874 + 20 +4.998834645669291 + 30 +0.0 + 10 +9.70303937007874 + 20 +5.027944881889764 + 30 +0.0 + 10 +9.71053937007874 + 20 +5.0505 + 30 +0.0 + 10 +9.725484251968505 + 20 +5.066555118110236 + 30 +0.0 + 10 +9.725484251968505 + 20 +5.066555118110236 + 30 +0.0 + 10 +9.740484251968503 + 20 +5.082614173228347 + 30 +0.0 + 10 +9.759874015748032 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.78376377952756 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.78376377952756 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.806874015748031 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.82576377952756 + 20 +5.082779527559055 + 30 +0.0 + 10 +9.840374015748031 + 20 +5.067055118110236 + 30 +0.0 + 10 +9.840374015748031 + 20 +5.067055118110236 + 30 +0.0 + 10 +9.855043307086614 + 20 +5.051334645669291 + 30 +0.0 + 10 +9.862374015748031 + 20 +5.029169291338583 + 30 +0.0 + 10 +9.862374015748031 + 20 +5.000669291338583 + 30 +0.0 + 10 +9.862374015748031 + 20 +5.000669291338583 + 30 +0.0 + 10 +9.862374015748031 + 20 +4.998889763779528 + 30 +0.0 + 10 +9.862318897637795 + 20 +4.996279527559055 + 30 +0.0 + 10 +9.862208661417323 + 20 +4.992834645669292 + 30 +0.0 + 10 +9.862208661417323 + 20 +4.992834645669292 + 30 +0.0 + 10 +9.862208661417323 + 20 +4.992834645669292 + 30 +0.0 + 10 +9.733318897637796 + 20 +4.992834645669292 + 30 +0.0 + 10 +9.733318897637796 + 20 +4.992834645669292 + 30 +0.0 + 10 +9.733318897637796 + 20 +4.992834645669292 + 30 +0.0 + 10 +9.734374015748031 + 20 +4.973834645669291 + 30 +0.0 + 10 +9.739763779527559 + 20 +4.959279527559056 + 30 +0.0 + 10 +9.749429133858268 + 20 +4.949224409448819 + 30 +0.0 + 10 +9.749429133858268 + 20 +4.949224409448819 + 30 +0.0 + 10 +9.75909842519685 + 20 +4.939110236220473 + 30 +0.0 + 10 +9.77109842519685 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.785543307086614 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.785543307086614 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.796263779527559 + 20 +4.934055118110236 + 30 +0.0 + 10 +9.805429133858267 + 20 +4.936889763779527 + 30 +0.0 + 10 +9.813043307086614 + 20 +4.942555118110236 + 30 +0.0 + 10 +9.813043307086614 + 20 +4.942555118110236 + 30 +0.0 + 10 +9.820653543307087 + 20 +4.948169291338583 + 30 +0.0 + 10 +9.826653543307087 + 20 +4.957169291338583 + 30 +0.0 + 10 +9.831098425196851 + 20 +4.969555118110236 + 30 +0.0 + 0 +SPLINE + 5 +358 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.734929133858268 + 20 +5.016944881889764 + 30 +0.0 + 10 +9.734929133858268 + 20 +5.016944881889764 + 30 +0.0 + 10 +9.831429133858268 + 20 +5.016944881889764 + 30 +0.0 + 10 +9.831429133858268 + 20 +5.016944881889764 + 30 +0.0 + 10 +9.831429133858268 + 20 +5.016944881889764 + 30 +0.0 + 10 +9.830153543307087 + 20 +5.031444881889763 + 30 +0.0 + 10 +9.826429133858268 + 20 +5.042389763779528 + 30 +0.0 + 10 +9.820374015748031 + 20 +5.049614173228346 + 30 +0.0 + 10 +9.820374015748031 + 20 +5.049614173228346 + 30 +0.0 + 10 +9.811043307086614 + 20 +5.060889763779527 + 30 +0.0 + 10 +9.798929133858268 + 20 +5.066555118110236 + 30 +0.0 + 10 +9.78409842519685 + 20 +5.066555118110236 + 30 +0.0 + 10 +9.78409842519685 + 20 +5.066555118110236 + 30 +0.0 + 10 +9.770653543307086 + 20 +5.066555118110236 + 30 +0.0 + 10 +9.759318897637796 + 20 +5.062055118110236 + 30 +0.0 + 10 +9.750153543307087 + 20 +5.053055118110236 + 30 +0.0 + 10 +9.750153543307087 + 20 +5.053055118110236 + 30 +0.0 + 10 +9.740984251968504 + 20 +5.044055118110236 + 30 +0.0 + 10 +9.735929133858267 + 20 +5.032 + 30 +0.0 + 10 +9.734929133858268 + 20 +5.016944881889764 + 30 +0.0 + 0 +SPLINE + 5 +359 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.897874015748032 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.897874015748032 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.897874015748032 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.897874015748032 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.897874015748032 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.897874015748032 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.086724409448819 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.060555118110236 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.060555118110236 + 30 +0.0 + 10 +9.924208661417323 + 20 +5.060555118110236 + 30 +0.0 + 10 +9.930929133858267 + 20 +5.072779527559055 + 30 +0.0 + 10 +9.937153543307087 + 20 +5.080889763779528 + 30 +0.0 + 10 +9.942874015748032 + 20 +5.084779527559055 + 30 +0.0 + 10 +9.942874015748032 + 20 +5.084779527559055 + 30 +0.0 + 10 +9.948543307086615 + 20 +5.088669291338583 + 30 +0.0 + 10 +9.954818897637795 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.961653543307087 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.961653543307087 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.971543307086614 + 20 +5.090669291338583 + 30 +0.0 + 10 +9.981543307086614 + 20 +5.0875 + 30 +0.0 + 10 +9.99176377952756 + 20 +5.081224409448819 + 30 +0.0 + 10 +9.99176377952756 + 20 +5.081224409448819 + 30 +0.0 + 10 +9.99176377952756 + 20 +5.081224409448819 + 30 +0.0 + 10 +9.981653543307086 + 20 +5.054 + 30 +0.0 + 10 +9.981653543307086 + 20 +5.054 + 30 +0.0 + 10 +9.981653543307086 + 20 +5.054 + 30 +0.0 + 10 +9.974543307086615 + 20 +5.058279527559055 + 30 +0.0 + 10 +9.967374015748032 + 20 +5.060389763779527 + 30 +0.0 + 10 +9.960208661417322 + 20 +5.060389763779527 + 30 +0.0 + 10 +9.960208661417322 + 20 +5.060389763779527 + 30 +0.0 + 10 +9.95376377952756 + 20 +5.060389763779527 + 30 +0.0 + 10 +9.948043307086614 + 20 +5.058444881889764 + 30 +0.0 + 10 +9.942933070866141 + 20 +5.054614173228346 + 30 +0.0 + 10 +9.942933070866141 + 20 +5.054614173228346 + 30 +0.0 + 10 +9.937818897637795 + 20 +5.050724409448819 + 30 +0.0 + 10 +9.934208661417323 + 20 +5.045389763779528 + 30 +0.0 + 10 +9.932043307086614 + 20 +5.038555118110236 + 30 +0.0 + 10 +9.932043307086614 + 20 +5.038555118110236 + 30 +0.0 + 10 +9.928763779527559 + 20 +5.028169291338583 + 30 +0.0 + 10 +9.927153543307087 + 20 +5.016779527559055 + 30 +0.0 + 10 +9.927153543307087 + 20 +5.004389763779527 + 30 +0.0 + 10 +9.927153543307087 + 20 +5.004389763779527 + 30 +0.0 + 10 +9.927153543307087 + 20 +5.004389763779527 + 30 +0.0 + 10 +9.927153543307087 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.927153543307087 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.927153543307087 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.927153543307087 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.897874015748032 + 20 +4.913889763779528 + 30 +0.0 + 10 +9.897874015748032 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +35A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.09803937007874 + 20 +4.969055118110236 + 30 +0.0 + 10 +10.09803937007874 + 20 +4.969055118110236 + 30 +0.0 + 10 +10.12620866141732 + 20 +4.971669291338583 + 30 +0.0 + 10 +10.12620866141732 + 20 +4.971669291338583 + 30 +0.0 + 10 +10.12620866141732 + 20 +4.971669291338583 + 30 +0.0 + 10 +10.12859842519685 + 20 +4.958444881889764 + 30 +0.0 + 10 +10.13315354330709 + 20 +4.948834645669291 + 30 +0.0 + 10 +10.13987401574803 + 20 +4.942834645669292 + 30 +0.0 + 10 +10.13987401574803 + 20 +4.942834645669292 + 30 +0.0 + 10 +10.14659842519685 + 20 +4.936889763779527 + 30 +0.0 + 10 +10.15520866141732 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.16576377952756 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.16576377952756 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.17476377952756 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.18265354330709 + 20 +4.935944881889764 + 30 +0.0 + 10 +10.18942913385827 + 20 +4.940110236220472 + 30 +0.0 + 10 +10.18942913385827 + 20 +4.940110236220472 + 30 +0.0 + 10 +10.19620866141732 + 20 +4.944224409448819 + 30 +0.0 + 10 +10.20176377952756 + 20 +4.949724409448819 + 30 +0.0 + 10 +10.20609842519685 + 20 +4.956610236220472 + 30 +0.0 + 10 +10.20609842519685 + 20 +4.956610236220472 + 30 +0.0 + 10 +10.2104842519685 + 20 +4.9635 + 30 +0.0 + 10 +10.21409842519685 + 20 +4.972834645669291 + 30 +0.0 + 10 +10.21704330708661 + 20 +4.9845 + 30 +0.0 + 10 +10.21704330708661 + 20 +4.9845 + 30 +0.0 + 10 +10.21992913385827 + 20 +4.996224409448819 + 30 +0.0 + 10 +10.22142913385827 + 20 +5.008169291338582 + 30 +0.0 + 10 +10.22142913385827 + 20 +5.020334645669291 + 30 +0.0 + 10 +10.22142913385827 + 20 +5.020334645669291 + 30 +0.0 + 10 +10.22142913385827 + 20 +5.021614173228347 + 30 +0.0 + 10 +10.22137401574803 + 20 +5.023614173228347 + 30 +0.0 + 10 +10.22126377952756 + 20 +5.026169291338583 + 30 +0.0 + 10 +10.22126377952756 + 20 +5.026169291338583 + 30 +0.0 + 10 +10.21537401574803 + 20 +5.016889763779528 + 30 +0.0 + 10 +10.20737401574803 + 20 +5.009279527559055 + 30 +0.0 + 10 +10.19726377952756 + 20 +5.0035 + 30 +0.0 + 10 +10.19726377952756 + 20 +5.0035 + 30 +0.0 + 10 +10.18709842519685 + 20 +4.997669291338583 + 30 +0.0 + 10 +10.17609842519685 + 20 +4.994779527559055 + 30 +0.0 + 10 +10.16431889763779 + 20 +4.994779527559055 + 30 +0.0 + 10 +10.16431889763779 + 20 +4.994779527559055 + 30 +0.0 + 10 +10.14454330708661 + 20 +4.994779527559055 + 30 +0.0 + 10 +10.12781889763779 + 20 +5.001944881889764 + 30 +0.0 + 10 +10.11415354330709 + 20 +5.016279527559055 + 30 +0.0 + 10 +10.11415354330709 + 20 +5.016279527559055 + 30 +0.0 + 10 +10.1004842519685 + 20 +5.030614173228346 + 30 +0.0 + 10 +10.09365354330709 + 20 +5.049444881889764 + 30 +0.0 + 10 +10.09365354330709 + 20 +5.072889763779528 + 30 +0.0 + 10 +10.09365354330709 + 20 +5.072889763779528 + 30 +0.0 + 10 +10.09365354330709 + 20 +5.097114173228347 + 30 +0.0 + 10 +10.10076377952756 + 20 +5.116559055118111 + 30 +0.0 + 10 +10.11503937007874 + 20 +5.131334645669291 + 30 +0.0 + 10 +10.11503937007874 + 20 +5.131334645669291 + 30 +0.0 + 10 +10.12931889763779 + 20 +5.146114173228346 + 30 +0.0 + 10 +10.14720866141732 + 20 +5.1535 + 30 +0.0 + 10 +10.16870866141732 + 20 +5.1535 + 30 +0.0 + 10 +10.16870866141732 + 20 +5.1535 + 30 +0.0 + 10 +10.18420866141732 + 20 +5.1535 + 30 +0.0 + 10 +10.19837401574803 + 20 +5.149279527559055 + 30 +0.0 + 10 +10.21126377952756 + 20 +5.140944881889764 + 30 +0.0 + 10 +10.21126377952756 + 20 +5.140944881889764 + 30 +0.0 + 10 +10.22409842519685 + 20 +5.132614173228347 + 30 +0.0 + 10 +10.23387401574803 + 20 +5.120669291338583 + 30 +0.0 + 10 +10.24054330708661 + 20 +5.105224409448819 + 30 +0.0 + 10 +10.24054330708661 + 20 +5.105224409448819 + 30 +0.0 + 10 +10.24720866141732 + 20 +5.089779527559055 + 30 +0.0 + 10 +10.25054330708661 + 20 +5.067389763779528 + 30 +0.0 + 10 +10.25054330708661 + 20 +5.038055118110236 + 30 +0.0 + 10 +10.25054330708661 + 20 +5.038055118110236 + 30 +0.0 + 10 +10.25054330708661 + 20 +5.007614173228347 + 30 +0.0 + 10 +10.24726377952756 + 20 +4.983334645669292 + 30 +0.0 + 10 +10.24065354330709 + 20 +4.965224409448819 + 30 +0.0 + 10 +10.24065354330709 + 20 +4.965224409448819 + 30 +0.0 + 10 +10.2339842519685 + 20 +4.947169291338582 + 30 +0.0 + 10 +10.22415354330709 + 20 +4.933444881889764 + 30 +0.0 + 10 +10.21109842519685 + 20 +4.924 + 30 +0.0 + 10 +10.21109842519685 + 20 +4.924 + 30 +0.0 + 10 +10.1979842519685 + 20 +4.914555118110236 + 30 +0.0 + 10 +10.18270866141732 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.16509842519685 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.16509842519685 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.14642913385827 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.13120866141732 + 20 +4.915 + 30 +0.0 + 10 +10.11937401574803 + 20 +4.925389763779528 + 30 +0.0 + 10 +10.11937401574803 + 20 +4.925389763779528 + 30 +0.0 + 10 +10.10753937007874 + 20 +4.935724409448819 + 30 +0.0 + 10 +10.10042913385827 + 20 +4.950279527559055 + 30 +0.0 + 10 +10.09803937007874 + 20 +4.969055118110236 + 30 +0.0 + 0 +SPLINE + 5 +35B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.2179842519685 + 20 +5.074389763779528 + 30 +0.0 + 10 +10.2179842519685 + 20 +5.091169291338582 + 30 +0.0 + 10 +10.21354330708661 + 20 +5.10455905511811 + 30 +0.0 + 10 +10.20459842519685 + 20 +5.114389763779528 + 30 +0.0 + 10 +10.20459842519685 + 20 +5.114389763779528 + 30 +0.0 + 10 +10.19559842519685 + 20 +5.124279527559055 + 30 +0.0 + 10 +10.18487401574803 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.17226377952756 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.17226377952756 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.15926377952756 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.14792913385827 + 20 +5.123889763779528 + 30 +0.0 + 10 +10.13826377952756 + 20 +5.113279527559055 + 30 +0.0 + 10 +10.13826377952756 + 20 +5.113279527559055 + 30 +0.0 + 10 +10.12859842519685 + 20 +5.102614173228346 + 30 +0.0 + 10 +10.12376377952756 + 20 +5.088834645669292 + 30 +0.0 + 10 +10.12376377952756 + 20 +5.071944881889764 + 30 +0.0 + 10 +10.12376377952756 + 20 +5.071944881889764 + 30 +0.0 + 10 +10.12376377952756 + 20 +5.056724409448819 + 30 +0.0 + 10 +10.12837401574803 + 20 +5.044389763779527 + 30 +0.0 + 10 +10.13754330708661 + 20 +5.034889763779527 + 30 +0.0 + 10 +10.13754330708661 + 20 +5.034889763779527 + 30 +0.0 + 10 +10.14670866141732 + 20 +5.025389763779527 + 30 +0.0 + 10 +10.1579842519685 + 20 +5.020669291338582 + 30 +0.0 + 10 +10.17142913385827 + 20 +5.020669291338582 + 30 +0.0 + 10 +10.17142913385827 + 20 +5.020669291338582 + 30 +0.0 + 10 +10.18504330708661 + 20 +5.020669291338582 + 30 +0.0 + 10 +10.19615354330709 + 20 +5.025389763779527 + 30 +0.0 + 10 +10.20487401574803 + 20 +5.034889763779527 + 30 +0.0 + 10 +10.20487401574803 + 20 +5.034889763779527 + 30 +0.0 + 10 +10.21365354330709 + 20 +5.044389763779527 + 30 +0.0 + 10 +10.2179842519685 + 20 +5.057555118110236 + 30 +0.0 + 10 +10.2179842519685 + 20 +5.074389763779528 + 30 +0.0 + 0 +SPLINE + 5 +35C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.37293307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.971 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.971 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.971 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.971 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.971 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.971 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.971 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.971 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.26942913385827 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.3783188976378 + 20 +5.1525 + 30 +0.0 + 10 +10.3783188976378 + 20 +5.1525 + 30 +0.0 + 10 +10.3783188976378 + 20 +5.1525 + 30 +0.0 + 10 +10.3783188976378 + 20 +5.1525 + 30 +0.0 + 10 +10.40226377952756 + 20 +5.1525 + 30 +0.0 + 10 +10.40226377952756 + 20 +5.1525 + 30 +0.0 + 10 +10.40226377952756 + 20 +5.1525 + 30 +0.0 + 10 +10.40226377952756 + 20 +5.1525 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.971 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.971 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.971 + 30 +0.0 + 10 +10.43448818897638 + 20 +4.971 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.971 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.971 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.971 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.971 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.40226377952756 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +35D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.37293307086614 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.37293307086614 + 20 +5.105444881889764 + 30 +0.0 + 10 +10.37293307086614 + 20 +5.105444881889764 + 30 +0.0 + 10 +10.37293307086614 + 20 +5.105444881889764 + 30 +0.0 + 10 +10.37293307086614 + 20 +5.105444881889764 + 30 +0.0 + 10 +10.29826377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.29826377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.29826377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.29826377952756 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.997889763779527 + 30 +0.0 + 10 +10.37293307086614 + 20 +4.997889763779527 + 30 +0.0 + 0 +SPLINE + 5 +35E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.62115354330709 + 20 +4.843724409448819 + 30 +0.0 + 10 +10.60498818897638 + 20 +4.864110236220473 + 30 +0.0 + 10 +10.59131889763779 + 20 +4.888 + 30 +0.0 + 10 +10.58015354330709 + 20 +4.915334645669291 + 30 +0.0 + 10 +10.58015354330709 + 20 +4.915334645669291 + 30 +0.0 + 10 +10.56898818897638 + 20 +4.942724409448819 + 30 +0.0 + 10 +10.56337401574803 + 20 +4.971 + 30 +0.0 + 10 +10.56337401574803 + 20 +5.000334645669291 + 30 +0.0 + 10 +10.56337401574803 + 20 +5.000334645669291 + 30 +0.0 + 10 +10.56337401574803 + 20 +5.026169291338583 + 30 +0.0 + 10 +10.56754330708661 + 20 +5.050889763779527 + 30 +0.0 + 10 +10.57592913385827 + 20 +5.074555118110236 + 30 +0.0 + 10 +10.57592913385827 + 20 +5.074555118110236 + 30 +0.0 + 10 +10.58570866141732 + 20 +5.102 + 30 +0.0 + 10 +10.60076377952756 + 20 +5.129334645669291 + 30 +0.0 + 10 +10.62115354330709 + 20 +5.156559055118111 + 30 +0.0 + 10 +10.62115354330709 + 20 +5.156559055118111 + 30 +0.0 + 10 +10.62115354330709 + 20 +5.156559055118111 + 30 +0.0 + 10 +10.64215354330709 + 20 +5.156559055118111 + 30 +0.0 + 10 +10.64215354330709 + 20 +5.156559055118111 + 30 +0.0 + 10 +10.64215354330709 + 20 +5.156559055118111 + 30 +0.0 + 10 +10.62904330708662 + 20 +5.134 + 30 +0.0 + 10 +10.62037401574803 + 20 +5.117889763779528 + 30 +0.0 + 10 +10.61615354330709 + 20 +5.108224409448819 + 30 +0.0 + 10 +10.61615354330709 + 20 +5.108224409448819 + 30 +0.0 + 10 +10.60948818897638 + 20 +5.093279527559055 + 30 +0.0 + 10 +10.60431889763779 + 20 +5.077614173228347 + 30 +0.0 + 10 +10.60048818897638 + 20 +5.061334645669291 + 30 +0.0 + 10 +10.60048818897638 + 20 +5.061334645669291 + 30 +0.0 + 10 +10.59581889763779 + 20 +5.041055118110236 + 30 +0.0 + 10 +10.59348818897638 + 20 +5.020669291338582 + 30 +0.0 + 10 +10.59348818897638 + 20 +5.000169291338582 + 30 +0.0 + 10 +10.59348818897638 + 20 +5.000169291338582 + 30 +0.0 + 10 +10.59348818897638 + 20 +4.947944881889764 + 30 +0.0 + 10 +10.60970866141732 + 20 +4.895834645669291 + 30 +0.0 + 10 +10.64215354330709 + 20 +4.843724409448819 + 30 +0.0 + 10 +10.64215354330709 + 20 +4.843724409448819 + 30 +0.0 + 10 +10.64215354330709 + 20 +4.843724409448819 + 30 +0.0 + 10 +10.62115354330709 + 20 +4.843724409448819 + 30 +0.0 + 10 +10.62115354330709 + 20 +4.843724409448819 + 30 +0.0 + 0 +SPLINE + 5 +35F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.82004330708661 + 20 +5.094059055118111 + 30 +0.0 + 10 +10.82004330708661 + 20 +5.094059055118111 + 30 +0.0 + 10 +10.79093307086614 + 20 +5.091779527559055 + 30 +0.0 + 10 +10.79093307086614 + 20 +5.091779527559055 + 30 +0.0 + 10 +10.79093307086614 + 20 +5.091779527559055 + 30 +0.0 + 10 +10.7883188976378 + 20 +5.103279527559055 + 30 +0.0 + 10 +10.78465354330709 + 20 +5.111669291338583 + 30 +0.0 + 10 +10.77987401574803 + 20 +5.116834645669291 + 30 +0.0 + 10 +10.77987401574803 + 20 +5.116834645669291 + 30 +0.0 + 10 +10.77193307086614 + 20 +5.125224409448819 + 30 +0.0 + 10 +10.76215354330709 + 20 +5.129389763779527 + 30 +0.0 + 10 +10.75054330708661 + 20 +5.129389763779527 + 30 +0.0 + 10 +10.75054330708661 + 20 +5.129389763779527 + 30 +0.0 + 10 +10.74120866141732 + 20 +5.129389763779527 + 30 +0.0 + 10 +10.73304330708661 + 20 +5.126779527559055 + 30 +0.0 + 10 +10.72598818897638 + 20 +5.12155905511811 + 30 +0.0 + 10 +10.72598818897638 + 20 +5.12155905511811 + 30 +0.0 + 10 +10.71676377952756 + 20 +5.114834645669291 + 30 +0.0 + 10 +10.70948818897638 + 20 +5.105 + 30 +0.0 + 10 +10.70415354330709 + 20 +5.092114173228347 + 30 +0.0 + 10 +10.70415354330709 + 20 +5.092114173228347 + 30 +0.0 + 10 +10.69887401574803 + 20 +5.079224409448819 + 30 +0.0 + 10 +10.69609842519685 + 20 +5.060834645669291 + 30 +0.0 + 10 +10.69587401574803 + 20 +5.036944881889764 + 30 +0.0 + 10 +10.69587401574803 + 20 +5.036944881889764 + 30 +0.0 + 10 +10.70292913385827 + 20 +5.047669291338583 + 30 +0.0 + 10 +10.71154330708661 + 20 +5.055669291338583 + 30 +0.0 + 10 +10.72176377952756 + 20 +5.060889763779527 + 30 +0.0 + 10 +10.72176377952756 + 20 +5.060889763779527 + 30 +0.0 + 10 +10.73193307086614 + 20 +5.066055118110236 + 30 +0.0 + 10 +10.74265354330709 + 20 +5.068669291338582 + 30 +0.0 + 10 +10.7538188976378 + 20 +5.068669291338582 + 30 +0.0 + 10 +10.7538188976378 + 20 +5.068669291338582 + 30 +0.0 + 10 +10.77337401574803 + 20 +5.068669291338582 + 30 +0.0 + 10 +10.78998818897638 + 20 +5.0615 + 30 +0.0 + 10 +10.80370866141732 + 20 +5.047114173228347 + 30 +0.0 + 10 +10.80370866141732 + 20 +5.047114173228347 + 30 +0.0 + 10 +10.81743307086614 + 20 +5.032724409448819 + 30 +0.0 + 10 +10.8243188976378 + 20 +5.014169291338582 + 30 +0.0 + 10 +10.8243188976378 + 20 +4.991389763779527 + 30 +0.0 + 10 +10.8243188976378 + 20 +4.991389763779527 + 30 +0.0 + 10 +10.8243188976378 + 20 +4.976389763779528 + 30 +0.0 + 10 +10.82104330708661 + 20 +4.9625 + 30 +0.0 + 10 +10.81459842519685 + 20 +4.949610236220472 + 30 +0.0 + 10 +10.81459842519685 + 20 +4.949610236220472 + 30 +0.0 + 10 +10.80815354330709 + 20 +4.936779527559055 + 30 +0.0 + 10 +10.79926377952756 + 20 +4.926889763779528 + 30 +0.0 + 10 +10.78798818897638 + 20 +4.920055118110236 + 30 +0.0 + 10 +10.78798818897638 + 20 +4.920055118110236 + 30 +0.0 + 10 +10.77670866141732 + 20 +4.913224409448819 + 30 +0.0 + 10 +10.76393307086614 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.74959842519685 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.74959842519685 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.72515354330709 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.70526377952756 + 20 +4.918779527559055 + 30 +0.0 + 10 +10.68987401574803 + 20 +4.936779527559055 + 30 +0.0 + 10 +10.68987401574803 + 20 +4.936779527559055 + 30 +0.0 + 10 +10.67442913385827 + 20 +4.954724409448819 + 30 +0.0 + 10 +10.66676377952756 + 20 +4.984334645669291 + 30 +0.0 + 10 +10.66676377952756 + 20 +5.025555118110236 + 30 +0.0 + 10 +10.66676377952756 + 20 +5.025555118110236 + 30 +0.0 + 10 +10.66676377952756 + 20 +5.071669291338583 + 30 +0.0 + 10 +10.67526377952756 + 20 +5.105169291338583 + 30 +0.0 + 10 +10.6923188976378 + 20 +5.126114173228347 + 30 +0.0 + 10 +10.6923188976378 + 20 +5.126114173228347 + 30 +0.0 + 10 +10.70715354330709 + 20 +5.144334645669291 + 30 +0.0 + 10 +10.72715354330709 + 20 +5.1535 + 30 +0.0 + 10 +10.75237401574803 + 20 +5.1535 + 30 +0.0 + 10 +10.75237401574803 + 20 +5.1535 + 30 +0.0 + 10 +10.77109842519685 + 20 +5.1535 + 30 +0.0 + 10 +10.78648818897638 + 20 +5.148224409448819 + 30 +0.0 + 10 +10.79848818897638 + 20 +5.137669291338582 + 30 +0.0 + 10 +10.79848818897638 + 20 +5.137669291338582 + 30 +0.0 + 10 +10.81048818897638 + 20 +5.127169291338583 + 30 +0.0 + 10 +10.81765354330709 + 20 +5.112614173228346 + 30 +0.0 + 10 +10.82004330708661 + 20 +5.094059055118111 + 30 +0.0 + 0 +SPLINE + 5 +360 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.70042913385827 + 20 +4.991224409448819 + 30 +0.0 + 10 +10.70042913385827 + 20 +4.981114173228346 + 30 +0.0 + 10 +10.70259842519685 + 20 +4.971444881889764 + 30 +0.0 + 10 +10.70687401574803 + 20 +4.962224409448819 + 30 +0.0 + 10 +10.70687401574803 + 20 +4.962224409448819 + 30 +0.0 + 10 +10.71115354330709 + 20 +4.953 + 30 +0.0 + 10 +10.71715354330709 + 20 +4.946 + 30 +0.0 + 10 +10.7248188976378 + 20 +4.941169291338583 + 30 +0.0 + 10 +10.7248188976378 + 20 +4.941169291338583 + 30 +0.0 + 10 +10.73254330708661 + 20 +4.936334645669291 + 30 +0.0 + 10 +10.74065354330709 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.74909842519685 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.74909842519685 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.76148818897638 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.77209842519685 + 20 +4.938889763779527 + 30 +0.0 + 10 +10.78098818897638 + 20 +4.948889763779528 + 30 +0.0 + 10 +10.78098818897638 + 20 +4.948889763779528 + 30 +0.0 + 10 +10.78987401574803 + 20 +4.958889763779528 + 30 +0.0 + 10 +10.7943188976378 + 20 +4.972444881889764 + 30 +0.0 + 10 +10.7943188976378 + 20 +4.989555118110236 + 30 +0.0 + 10 +10.7943188976378 + 20 +4.989555118110236 + 30 +0.0 + 10 +10.7943188976378 + 20 +5.006055118110236 + 30 +0.0 + 10 +10.78993307086614 + 20 +5.019055118110236 + 30 +0.0 + 10 +10.78115354330709 + 20 +5.028555118110236 + 30 +0.0 + 10 +10.78115354330709 + 20 +5.028555118110236 + 30 +0.0 + 10 +10.77237401574803 + 20 +5.038055118110236 + 30 +0.0 + 10 +10.76131889763779 + 20 +5.042779527559055 + 30 +0.0 + 10 +10.74798818897638 + 20 +5.042779527559055 + 30 +0.0 + 10 +10.74798818897638 + 20 +5.042779527559055 + 30 +0.0 + 10 +10.73470866141732 + 20 +5.042779527559055 + 30 +0.0 + 10 +10.72348818897638 + 20 +5.038055118110236 + 30 +0.0 + 10 +10.71426377952756 + 20 +5.028555118110236 + 30 +0.0 + 10 +10.71426377952756 + 20 +5.028555118110236 + 30 +0.0 + 10 +10.70504330708661 + 20 +5.019055118110236 + 30 +0.0 + 10 +10.70042913385827 + 20 +5.006614173228346 + 30 +0.0 + 10 +10.70042913385827 + 20 +4.991224409448819 + 30 +0.0 + 0 +SPLINE + 5 +361 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.85343307086614 + 20 +5.031555118110236 + 30 +0.0 + 10 +10.85343307086614 + 20 +5.059779527559055 + 30 +0.0 + 10 +10.8563188976378 + 20 +5.0825 + 30 +0.0 + 10 +10.86215354330709 + 20 +5.099669291338583 + 30 +0.0 + 10 +10.86215354330709 + 20 +5.099669291338583 + 30 +0.0 + 10 +10.86793307086614 + 20 +5.116889763779527 + 30 +0.0 + 10 +10.87659842519685 + 20 +5.130169291338583 + 30 +0.0 + 10 +10.88804330708661 + 20 +5.1395 + 30 +0.0 + 10 +10.88804330708661 + 20 +5.1395 + 30 +0.0 + 10 +10.89948818897638 + 20 +5.148834645669291 + 30 +0.0 + 10 +10.91387795275591 + 20 +5.1535 + 30 +0.0 + 10 +10.93120866141732 + 20 +5.1535 + 30 +0.0 + 10 +10.93120866141732 + 20 +5.1535 + 30 +0.0 + 10 +10.94404330708661 + 20 +5.1535 + 30 +0.0 + 10 +10.95526377952756 + 20 +5.150889763779528 + 30 +0.0 + 10 +10.96493307086614 + 20 +5.145724409448819 + 30 +0.0 + 10 +10.96493307086614 + 20 +5.145724409448819 + 30 +0.0 + 10 +10.97459842519685 + 20 +5.140614173228347 + 30 +0.0 + 10 +10.98254330708661 + 20 +5.133169291338582 + 30 +0.0 + 10 +10.9888779527559 + 20 +5.123444881889764 + 30 +0.0 + 10 +10.9888779527559 + 20 +5.123444881889764 + 30 +0.0 + 10 +10.99515354330709 + 20 +5.113724409448819 + 30 +0.0 + 10 +11.00009842519685 + 20 +5.101889763779528 + 30 +0.0 + 10 +11.00365354330709 + 20 +5.087944881889764 + 30 +0.0 + 10 +11.00365354330709 + 20 +5.087944881889764 + 30 +0.0 + 10 +11.00726771653543 + 20 +5.074 + 30 +0.0 + 10 +11.00904330708661 + 20 +5.055224409448819 + 30 +0.0 + 10 +11.00904330708661 + 20 +5.031555118110236 + 30 +0.0 + 10 +11.00904330708661 + 20 +5.031555118110236 + 30 +0.0 + 10 +11.00904330708661 + 20 +5.003555118110236 + 30 +0.0 + 10 +11.00615354330709 + 20 +4.981 + 30 +0.0 + 10 +11.00043307086614 + 20 +4.963779527559055 + 30 +0.0 + 10 +11.00043307086614 + 20 +4.963779527559055 + 30 +0.0 + 10 +10.99465354330709 + 20 +4.946555118110236 + 30 +0.0 + 10 +10.98604330708661 + 20 +4.933279527559055 + 30 +0.0 + 10 +10.97459842519685 + 20 +4.923889763779528 + 30 +0.0 + 10 +10.97459842519685 + 20 +4.923889763779528 + 30 +0.0 + 10 +10.96315354330709 + 20 +4.9145 + 30 +0.0 + 10 +10.94870866141732 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.93120866141732 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.93120866141732 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.90820866141732 + 20 +4.909834645669291 + 30 +0.0 + 10 +10.89015354330709 + 20 +4.918055118110236 + 30 +0.0 + 10 +10.87704330708661 + 20 +4.934555118110236 + 30 +0.0 + 10 +10.87704330708661 + 20 +4.934555118110236 + 30 +0.0 + 10 +10.8613188976378 + 20 +4.954389763779528 + 30 +0.0 + 10 +10.85343307086614 + 20 +4.986779527559055 + 30 +0.0 + 10 +10.85343307086614 + 20 +5.031555118110236 + 30 +0.0 + 0 +SPLINE + 5 +362 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.88354330708661 + 20 +5.031555118110236 + 30 +0.0 + 10 +10.88354330708661 + 20 +4.992389763779528 + 30 +0.0 + 10 +10.88815354330709 + 20 +4.966334645669291 + 30 +0.0 + 10 +10.89732283464567 + 20 +4.953334645669291 + 30 +0.0 + 10 +10.89732283464567 + 20 +4.953334645669291 + 30 +0.0 + 10 +10.90648818897638 + 20 +4.940389763779527 + 30 +0.0 + 10 +10.91776377952756 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.93120866141732 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.93120866141732 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.94470866141732 + 20 +4.933889763779527 + 30 +0.0 + 10 +10.95598818897638 + 20 +4.940444881889764 + 30 +0.0 + 10 +10.96515354330709 + 20 +4.953444881889764 + 30 +0.0 + 10 +10.96515354330709 + 20 +4.953444881889764 + 30 +0.0 + 10 +10.97432283464567 + 20 +4.966444881889764 + 30 +0.0 + 10 +10.97893307086614 + 20 +4.9925 + 30 +0.0 + 10 +10.97893307086614 + 20 +5.031555118110236 + 30 +0.0 + 10 +10.97893307086614 + 20 +5.031555118110236 + 30 +0.0 + 10 +10.97893307086614 + 20 +5.070834645669291 + 30 +0.0 + 10 +10.97432283464567 + 20 +5.096944881889764 + 30 +0.0 + 10 +10.96515354330709 + 20 +5.109834645669292 + 30 +0.0 + 10 +10.96515354330709 + 20 +5.109834645669292 + 30 +0.0 + 10 +10.95598818897638 + 20 +5.122779527559056 + 30 +0.0 + 10 +10.94459842519685 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.93093307086614 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.93093307086614 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.91743307086614 + 20 +5.129224409448819 + 30 +0.0 + 10 +10.90670866141732 + 20 +5.1235 + 30 +0.0 + 10 +10.89865354330709 + 20 +5.112114173228346 + 30 +0.0 + 10 +10.89865354330709 + 20 +5.112114173228346 + 30 +0.0 + 10 +10.88859842519685 + 20 +5.097614173228346 + 30 +0.0 + 10 +10.88354330708661 + 20 +5.070724409448819 + 30 +0.0 + 10 +10.88354330708661 + 20 +5.031555118110236 + 30 +0.0 + 0 +SPLINE + 5 +363 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.09237795275591 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.09237795275591 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.02904330708661 + 20 +5.1525 + 30 +0.0 + 10 +11.02904330708661 + 20 +5.1525 + 30 +0.0 + 10 +11.02904330708661 + 20 +5.1525 + 30 +0.0 + 10 +11.02904330708661 + 20 +5.1525 + 30 +0.0 + 10 +11.06143307086614 + 20 +5.1525 + 30 +0.0 + 10 +11.06143307086614 + 20 +5.1525 + 30 +0.0 + 10 +11.06143307086614 + 20 +5.1525 + 30 +0.0 + 10 +11.06143307086614 + 20 +5.1525 + 30 +0.0 + 10 +11.09776771653543 + 20 +4.996114173228347 + 30 +0.0 + 10 +11.09776771653543 + 20 +4.996114173228347 + 30 +0.0 + 10 +11.09776771653543 + 20 +4.996114173228347 + 30 +0.0 + 10 +11.10165354330709 + 20 +4.979724409448819 + 30 +0.0 + 10 +11.10498818897638 + 20 +4.963444881889764 + 30 +0.0 + 10 +11.10782283464567 + 20 +4.947279527559055 + 30 +0.0 + 10 +11.10782283464567 + 20 +4.947279527559055 + 30 +0.0 + 10 +11.11393307086614 + 20 +4.972779527559055 + 30 +0.0 + 10 +11.11748818897638 + 20 +4.987444881889764 + 30 +0.0 + 10 +11.11859842519685 + 20 +4.991389763779527 + 30 +0.0 + 10 +11.11859842519685 + 20 +4.991389763779527 + 30 +0.0 + 10 +11.11859842519685 + 20 +4.991389763779527 + 30 +0.0 + 10 +11.16398818897638 + 20 +5.1525 + 30 +0.0 + 10 +11.16398818897638 + 20 +5.1525 + 30 +0.0 + 10 +11.16398818897638 + 20 +5.1525 + 30 +0.0 + 10 +11.16398818897638 + 20 +5.1525 + 30 +0.0 + 10 +11.20209842519685 + 20 +5.1525 + 30 +0.0 + 10 +11.20209842519685 + 20 +5.1525 + 30 +0.0 + 10 +11.20209842519685 + 20 +5.1525 + 30 +0.0 + 10 +11.20209842519685 + 20 +5.1525 + 30 +0.0 + 10 +11.23626771653543 + 20 +5.031724409448818 + 30 +0.0 + 10 +11.23626771653543 + 20 +5.031724409448818 + 30 +0.0 + 10 +11.23626771653543 + 20 +5.031724409448818 + 30 +0.0 + 10 +11.24482283464567 + 20 +5.001779527559055 + 30 +0.0 + 10 +11.25098818897638 + 20 +4.973614173228347 + 30 +0.0 + 10 +11.25482283464567 + 20 +4.947279527559055 + 30 +0.0 + 10 +11.25482283464567 + 20 +4.947279527559055 + 30 +0.0 + 10 +11.25782283464567 + 20 +4.962334645669292 + 30 +0.0 + 10 +11.26182283464567 + 20 +4.979669291338583 + 30 +0.0 + 10 +11.2667125984252 + 20 +4.999169291338583 + 30 +0.0 + 10 +11.2667125984252 + 20 +4.999169291338583 + 30 +0.0 + 10 +11.2667125984252 + 20 +4.999169291338583 + 30 +0.0 + 10 +11.30410236220473 + 20 +5.1525 + 30 +0.0 + 10 +11.30410236220473 + 20 +5.1525 + 30 +0.0 + 10 +11.30410236220473 + 20 +5.1525 + 30 +0.0 + 10 +11.30410236220473 + 20 +5.1525 + 30 +0.0 + 10 +11.33587795275591 + 20 +5.1525 + 30 +0.0 + 10 +11.33587795275591 + 20 +5.1525 + 30 +0.0 + 10 +11.33587795275591 + 20 +5.1525 + 30 +0.0 + 10 +11.33587795275591 + 20 +5.1525 + 30 +0.0 + 10 +11.27043307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.27043307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.27043307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.27043307086614 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.23998818897638 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.23998818897638 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.23998818897638 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.23998818897638 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.1897125984252 + 20 +5.095669291338583 + 30 +0.0 + 10 +11.1897125984252 + 20 +5.095669291338583 + 30 +0.0 + 10 +11.1897125984252 + 20 +5.095669291338583 + 30 +0.0 + 10 +11.18548818897638 + 20 +5.110889763779528 + 30 +0.0 + 10 +11.18298818897638 + 20 +5.120224409448819 + 30 +0.0 + 10 +11.1822125984252 + 20 +5.123669291338583 + 30 +0.0 + 10 +11.1822125984252 + 20 +5.123669291338583 + 30 +0.0 + 10 +11.1797125984252 + 20 +5.112724409448819 + 30 +0.0 + 10 +11.17737795275591 + 20 +5.103389763779528 + 30 +0.0 + 10 +11.1752125984252 + 20 +5.095669291338583 + 30 +0.0 + 10 +11.1752125984252 + 20 +5.095669291338583 + 30 +0.0 + 10 +11.1752125984252 + 20 +5.095669291338583 + 30 +0.0 + 10 +11.12459842519685 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.12459842519685 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.12459842519685 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.12459842519685 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.09237795275591 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.09237795275591 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +364 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.45354724409449 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.45354724409449 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.45354724409449 + 20 +5.1525 + 30 +0.0 + 10 +11.45354724409449 + 20 +5.1525 + 30 +0.0 + 10 +11.45354724409449 + 20 +5.1525 + 30 +0.0 + 10 +11.45354724409449 + 20 +5.1525 + 30 +0.0 + 10 +11.48282283464567 + 20 +5.1525 + 30 +0.0 + 10 +11.48282283464567 + 20 +5.1525 + 30 +0.0 + 10 +11.48282283464567 + 20 +5.1525 + 30 +0.0 + 10 +11.48282283464567 + 20 +5.1525 + 30 +0.0 + 10 +11.48282283464567 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.48282283464567 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.48282283464567 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.48282283464567 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.45354724409449 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.45354724409449 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +365 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.64104724409449 + 20 +4.935224409448819 + 30 +0.0 + 10 +11.63015748031496 + 20 +4.926 + 30 +0.0 + 10 +11.6197125984252 + 20 +4.9195 + 30 +0.0 + 10 +11.6097125984252 + 20 +4.915669291338583 + 30 +0.0 + 10 +11.6097125984252 + 20 +4.915669291338583 + 30 +0.0 + 10 +11.59965748031496 + 20 +4.911889763779527 + 30 +0.0 + 10 +11.58887795275591 + 20 +4.91 + 30 +0.0 + 10 +11.5773779527559 + 20 +4.91 + 30 +0.0 + 10 +11.5773779527559 + 20 +4.91 + 30 +0.0 + 10 +11.55837795275591 + 20 +4.91 + 30 +0.0 + 10 +11.54382283464567 + 20 +4.914610236220472 + 30 +0.0 + 10 +11.53360236220473 + 20 +4.923889763779528 + 30 +0.0 + 10 +11.53360236220473 + 20 +4.923889763779528 + 30 +0.0 + 10 +11.52343307086614 + 20 +4.933169291338583 + 30 +0.0 + 10 +11.51832283464567 + 20 +4.945055118110236 + 30 +0.0 + 10 +11.51832283464567 + 20 +4.959444881889763 + 30 +0.0 + 10 +11.51832283464567 + 20 +4.959444881889763 + 30 +0.0 + 10 +11.51832283464567 + 20 +4.967944881889764 + 30 +0.0 + 10 +11.5202125984252 + 20 +4.975669291338582 + 30 +0.0 + 10 +11.52410236220472 + 20 +4.982669291338583 + 30 +0.0 + 10 +11.52410236220472 + 20 +4.982669291338583 + 30 +0.0 + 10 +11.52793307086614 + 20 +4.989669291338583 + 30 +0.0 + 10 +11.53298818897638 + 20 +4.995279527559055 + 30 +0.0 + 10 +11.5392125984252 + 20 +4.9995 + 30 +0.0 + 10 +11.5392125984252 + 20 +4.9995 + 30 +0.0 + 10 +11.54548818897638 + 20 +5.003724409448819 + 30 +0.0 + 10 +11.55248818897638 + 20 +5.006944881889764 + 30 +0.0 + 10 +11.56032283464567 + 20 +5.009114173228347 + 30 +0.0 + 10 +11.56032283464567 + 20 +5.009114173228347 + 30 +0.0 + 10 +11.56604724409449 + 20 +5.010614173228347 + 30 +0.0 + 10 +11.5747125984252 + 20 +5.012114173228347 + 30 +0.0 + 10 +11.58632283464567 + 20 +5.0135 + 30 +0.0 + 10 +11.58632283464567 + 20 +5.0135 + 30 +0.0 + 10 +11.60999212598425 + 20 +5.016334645669291 + 30 +0.0 + 10 +11.62743307086614 + 20 +5.019669291338583 + 30 +0.0 + 10 +11.63860236220472 + 20 +5.023614173228347 + 30 +0.0 + 10 +11.63860236220472 + 20 +5.023614173228347 + 30 +0.0 + 10 +11.6387125984252 + 20 +5.027614173228346 + 30 +0.0 + 10 +11.63876771653543 + 20 +5.030169291338582 + 30 +0.0 + 10 +11.63876771653543 + 20 +5.031224409448819 + 30 +0.0 + 10 +11.63876771653543 + 20 +5.031224409448819 + 30 +0.0 + 10 +11.63876771653543 + 20 +5.043169291338582 + 30 +0.0 + 10 +11.63599212598425 + 20 +5.051614173228346 + 30 +0.0 + 10 +11.63043307086614 + 20 +5.056444881889764 + 30 +0.0 + 10 +11.63043307086614 + 20 +5.056444881889764 + 30 +0.0 + 10 +11.62299212598425 + 20 +5.063114173228347 + 30 +0.0 + 10 +11.61182283464567 + 20 +5.066389763779528 + 30 +0.0 + 10 +11.59710236220472 + 20 +5.066389763779528 + 30 +0.0 + 10 +11.59710236220472 + 20 +5.066389763779528 + 30 +0.0 + 10 +11.58332283464567 + 20 +5.066389763779528 + 30 +0.0 + 10 +11.57315748031496 + 20 +5.064 + 30 +0.0 + 10 +11.56654724409449 + 20 +5.059169291338582 + 30 +0.0 + 10 +11.56654724409449 + 20 +5.059169291338582 + 30 +0.0 + 10 +11.55998818897638 + 20 +5.054334645669291 + 30 +0.0 + 10 +11.55515748031496 + 20 +5.045779527559055 + 30 +0.0 + 10 +11.55198818897638 + 20 +5.0335 + 30 +0.0 + 10 +11.55198818897638 + 20 +5.0335 + 30 +0.0 + 10 +11.55198818897638 + 20 +5.0335 + 30 +0.0 + 10 +11.52337795275591 + 20 +5.037444881889764 + 30 +0.0 + 10 +11.52337795275591 + 20 +5.037444881889764 + 30 +0.0 + 10 +11.52337795275591 + 20 +5.037444881889764 + 30 +0.0 + 10 +11.52598818897638 + 20 +5.049669291338582 + 30 +0.0 + 10 +11.53026771653543 + 20 +5.059614173228346 + 30 +0.0 + 10 +11.5362125984252 + 20 +5.067114173228346 + 30 +0.0 + 10 +11.5362125984252 + 20 +5.067114173228346 + 30 +0.0 + 10 +11.54215748031496 + 20 +5.074669291338583 + 30 +0.0 + 10 +11.55082283464567 + 20 +5.0805 + 30 +0.0 + 10 +11.56210236220472 + 20 +5.084559055118111 + 30 +0.0 + 10 +11.56210236220472 + 20 +5.084559055118111 + 30 +0.0 + 10 +11.57337795275591 + 20 +5.088614173228346 + 30 +0.0 + 10 +11.58643307086614 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.60132283464567 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.60132283464567 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.61610236220472 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.62804724409449 + 20 +5.088889763779528 + 30 +0.0 + 10 +11.63726771653543 + 20 +5.085444881889764 + 30 +0.0 + 10 +11.63726771653543 + 20 +5.085444881889764 + 30 +0.0 + 10 +11.64649212598425 + 20 +5.081944881889764 + 30 +0.0 + 10 +11.65326771653543 + 20 +5.077614173228347 + 30 +0.0 + 10 +11.65765748031496 + 20 +5.072334645669291 + 30 +0.0 + 10 +11.65765748031496 + 20 +5.072334645669291 + 30 +0.0 + 10 +11.66199212598425 + 20 +5.067055118110236 + 30 +0.0 + 10 +11.66499212598425 + 20 +5.060444881889763 + 30 +0.0 + 10 +11.66676771653543 + 20 +5.052389763779527 + 30 +0.0 + 10 +11.66676771653543 + 20 +5.052389763779527 + 30 +0.0 + 10 +11.6677125984252 + 20 +5.047389763779528 + 30 +0.0 + 10 +11.6682125984252 + 20 +5.038389763779527 + 30 +0.0 + 10 +11.6682125984252 + 20 +5.025389763779527 + 30 +0.0 + 10 +11.6682125984252 + 20 +5.025389763779527 + 30 +0.0 + 10 +11.6682125984252 + 20 +5.025389763779527 + 30 +0.0 + 10 +11.6682125984252 + 20 +4.986334645669292 + 30 +0.0 + 10 +11.6682125984252 + 20 +4.986334645669292 + 30 +0.0 + 10 +11.6682125984252 + 20 +4.986334645669292 + 30 +0.0 + 10 +11.6682125984252 + 20 +4.959055118110236 + 30 +0.0 + 10 +11.66882283464567 + 20 +4.941834645669291 + 30 +0.0 + 10 +11.67010236220472 + 20 +4.934669291338583 + 30 +0.0 + 10 +11.67010236220472 + 20 +4.934669291338583 + 30 +0.0 + 10 +11.67132283464567 + 20 +4.927444881889763 + 30 +0.0 + 10 +11.67382283464567 + 20 +4.9205 + 30 +0.0 + 10 +11.67749212598425 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.67749212598425 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.67749212598425 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.64687795275591 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.64687795275591 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.64687795275591 + 20 +4.913889763779528 + 30 +0.0 + 10 +11.64387795275591 + 20 +4.919944881889764 + 30 +0.0 + 10 +11.64187795275591 + 20 +4.927055118110236 + 30 +0.0 + 10 +11.64104724409449 + 20 +4.935224409448819 + 30 +0.0 + 0 +SPLINE + 5 +366 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.63860236220472 + 20 +5.000669291338583 + 30 +0.0 + 10 +11.62793307086614 + 20 +4.996279527559055 + 30 +0.0 + 10 +11.61199212598425 + 20 +4.992614173228347 + 30 +0.0 + 10 +11.59076771653543 + 20 +4.989555118110236 + 30 +0.0 + 10 +11.59076771653543 + 20 +4.989555118110236 + 30 +0.0 + 10 +11.5787125984252 + 20 +4.987834645669292 + 30 +0.0 + 10 +11.57015748031496 + 20 +4.985889763779528 + 30 +0.0 + 10 +11.5652125984252 + 20 +4.983724409448819 + 30 +0.0 + 10 +11.5652125984252 + 20 +4.983724409448819 + 30 +0.0 + 10 +11.5602125984252 + 20 +4.981555118110236 + 30 +0.0 + 10 +11.55632283464567 + 20 +4.978389763779528 + 30 +0.0 + 10 +11.55365748031496 + 20 +4.974169291338582 + 30 +0.0 + 10 +11.55365748031496 + 20 +4.974169291338582 + 30 +0.0 + 10 +11.55093307086614 + 20 +4.97 + 30 +0.0 + 10 +11.54954724409449 + 20 +4.965389763779528 + 30 +0.0 + 10 +11.54954724409449 + 20 +4.960279527559055 + 30 +0.0 + 10 +11.54954724409449 + 20 +4.960279527559055 + 30 +0.0 + 10 +11.54954724409449 + 20 +4.952444881889764 + 30 +0.0 + 10 +11.55254724409449 + 20 +4.945944881889764 + 30 +0.0 + 10 +11.55843307086614 + 20 +4.940724409448819 + 30 +0.0 + 10 +11.55843307086614 + 20 +4.940724409448819 + 30 +0.0 + 10 +11.56432283464567 + 20 +4.935555118110236 + 30 +0.0 + 10 +11.57299212598425 + 20 +4.932944881889764 + 30 +0.0 + 10 +11.58437795275591 + 20 +4.932944881889764 + 30 +0.0 + 10 +11.58437795275591 + 20 +4.932944881889764 + 30 +0.0 + 10 +11.59565748031496 + 20 +4.932944881889764 + 30 +0.0 + 10 +11.6057125984252 + 20 +4.935389763779527 + 30 +0.0 + 10 +11.61449212598425 + 20 +4.940334645669291 + 30 +0.0 + 10 +11.61449212598425 + 20 +4.940334645669291 + 30 +0.0 + 10 +11.62326771653543 + 20 +4.945279527559055 + 30 +0.0 + 10 +11.62976771653543 + 20 +4.952055118110236 + 30 +0.0 + 10 +11.63387795275591 + 20 +4.960610236220472 + 30 +0.0 + 10 +11.63387795275591 + 20 +4.960610236220472 + 30 +0.0 + 10 +11.63704724409449 + 20 +4.967224409448819 + 30 +0.0 + 10 +11.63860236220472 + 20 +4.977 + 30 +0.0 + 10 +11.63860236220472 + 20 +4.989889763779527 + 30 +0.0 + 10 +11.63860236220472 + 20 +4.989889763779527 + 30 +0.0 + 10 +11.63860236220472 + 20 +4.989889763779527 + 30 +0.0 + 10 +11.63860236220472 + 20 +5.000669291338583 + 30 +0.0 + 10 +11.63860236220472 + 20 +5.000669291338583 + 30 +0.0 + 0 +SPLINE + 5 +367 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.70193700787402 + 20 +4.9655 + 30 +0.0 + 10 +11.70193700787402 + 20 +4.9655 + 30 +0.0 + 10 +11.73087795275591 + 20 +4.970055118110237 + 30 +0.0 + 10 +11.73087795275591 + 20 +4.970055118110237 + 30 +0.0 + 10 +11.73087795275591 + 20 +4.970055118110237 + 30 +0.0 + 10 +11.73249212598425 + 20 +4.958444881889764 + 30 +0.0 + 10 +11.73704724409449 + 20 +4.949555118110236 + 30 +0.0 + 10 +11.74449212598425 + 20 +4.943334645669291 + 30 +0.0 + 10 +11.74449212598425 + 20 +4.943334645669291 + 30 +0.0 + 10 +11.75188188976378 + 20 +4.937169291338583 + 30 +0.0 + 10 +11.76226771653543 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.77565748031496 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.77565748031496 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.78910236220472 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.79910236220472 + 20 +4.936834645669292 + 30 +0.0 + 10 +11.80560236220473 + 20 +4.942279527559055 + 30 +0.0 + 10 +11.80560236220473 + 20 +4.942279527559055 + 30 +0.0 + 10 +11.81210236220472 + 20 +4.947779527559055 + 30 +0.0 + 10 +11.81538188976378 + 20 +4.954224409448819 + 30 +0.0 + 10 +11.81538188976378 + 20 +4.961555118110236 + 30 +0.0 + 10 +11.81538188976378 + 20 +4.961555118110236 + 30 +0.0 + 10 +11.81538188976378 + 20 +4.968224409448819 + 30 +0.0 + 10 +11.81249212598425 + 20 +4.973389763779528 + 30 +0.0 + 10 +11.8067125984252 + 20 +4.977224409448818 + 30 +0.0 + 10 +11.8067125984252 + 20 +4.977224409448818 + 30 +0.0 + 10 +11.8027125984252 + 20 +4.979834645669292 + 30 +0.0 + 10 +11.7927125984252 + 20 +4.983114173228347 + 30 +0.0 + 10 +11.77676771653543 + 20 +4.987114173228346 + 30 +0.0 + 10 +11.77676771653543 + 20 +4.987114173228346 + 30 +0.0 + 10 +11.75532283464567 + 20 +4.992555118110237 + 30 +0.0 + 10 +11.7403779527559 + 20 +4.997224409448819 + 30 +0.0 + 10 +11.73210236220472 + 20 +5.001224409448819 + 30 +0.0 + 10 +11.73210236220472 + 20 +5.001224409448819 + 30 +0.0 + 10 +11.72382283464567 + 20 +5.005169291338583 + 30 +0.0 + 10 +11.71749212598425 + 20 +5.010669291338583 + 30 +0.0 + 10 +11.7132125984252 + 20 +5.017669291338582 + 30 +0.0 + 10 +11.7132125984252 + 20 +5.017669291338582 + 30 +0.0 + 10 +11.70893700787401 + 20 +5.024669291338583 + 30 +0.0 + 10 +11.70676771653543 + 20 +5.032389763779528 + 30 +0.0 + 10 +11.70676771653543 + 20 +5.040834645669292 + 30 +0.0 + 10 +11.70676771653543 + 20 +5.040834645669292 + 30 +0.0 + 10 +11.70676771653543 + 20 +5.048555118110237 + 30 +0.0 + 10 +11.70854724409449 + 20 +5.055669291338583 + 30 +0.0 + 10 +11.71210236220472 + 20 +5.062224409448818 + 30 +0.0 + 10 +11.71210236220472 + 20 +5.062224409448818 + 30 +0.0 + 10 +11.71560236220472 + 20 +5.068834645669291 + 30 +0.0 + 10 +11.72043700787402 + 20 +5.074279527559055 + 30 +0.0 + 10 +11.72649212598425 + 20 +5.078614173228346 + 30 +0.0 + 10 +11.72649212598425 + 20 +5.078614173228346 + 30 +0.0 + 10 +11.73104724409449 + 20 +5.081944881889764 + 30 +0.0 + 10 +11.73726771653543 + 20 +5.084834645669291 + 30 +0.0 + 10 +11.74510236220472 + 20 +5.087169291338583 + 30 +0.0 + 10 +11.74510236220472 + 20 +5.087169291338583 + 30 +0.0 + 10 +11.75299212598425 + 20 +5.0895 + 30 +0.0 + 10 +11.76143700787402 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.77043700787402 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.77043700787402 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.78399212598425 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.79588188976378 + 20 +5.088669291338583 + 30 +0.0 + 10 +11.80615748031496 + 20 +5.084779527559055 + 30 +0.0 + 10 +11.80615748031496 + 20 +5.084779527559055 + 30 +0.0 + 10 +11.81643700787402 + 20 +5.080889763779528 + 30 +0.0 + 10 +11.82399212598425 + 20 +5.075614173228346 + 30 +0.0 + 10 +11.82888188976378 + 20 +5.068944881889764 + 30 +0.0 + 10 +11.82888188976378 + 20 +5.068944881889764 + 30 +0.0 + 10 +11.83376771653543 + 20 +5.062224409448818 + 30 +0.0 + 10 +11.83710236220472 + 20 +5.053334645669291 + 30 +0.0 + 10 +11.83893700787402 + 20 +5.042169291338583 + 30 +0.0 + 10 +11.83893700787402 + 20 +5.042169291338583 + 30 +0.0 + 10 +11.83893700787402 + 20 +5.042169291338583 + 30 +0.0 + 10 +11.81032283464567 + 20 +5.038224409448819 + 30 +0.0 + 10 +11.81032283464567 + 20 +5.038224409448819 + 30 +0.0 + 10 +11.81032283464567 + 20 +5.038224409448819 + 30 +0.0 + 10 +11.80899212598425 + 20 +5.047114173228347 + 30 +0.0 + 10 +11.8052125984252 + 20 +5.054055118110236 + 30 +0.0 + 10 +11.79899212598425 + 20 +5.059055118110236 + 30 +0.0 + 10 +11.79899212598425 + 20 +5.059055118110236 + 30 +0.0 + 10 +11.79276771653543 + 20 +5.064055118110236 + 30 +0.0 + 10 +11.78393700787402 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.77254724409449 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.77254724409449 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.75910236220473 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.74949212598425 + 20 +5.064334645669291 + 30 +0.0 + 10 +11.74376771653543 + 20 +5.059889763779528 + 30 +0.0 + 10 +11.74376771653543 + 20 +5.059889763779528 + 30 +0.0 + 10 +11.73799212598425 + 20 +5.055444881889763 + 30 +0.0 + 10 +11.73510236220472 + 20 +5.050224409448819 + 30 +0.0 + 10 +11.73510236220472 + 20 +5.044279527559056 + 30 +0.0 + 10 +11.73510236220472 + 20 +5.044279527559056 + 30 +0.0 + 10 +11.73510236220472 + 20 +5.040444881889764 + 30 +0.0 + 10 +11.73632283464567 + 20 +5.037055118110236 + 30 +0.0 + 10 +11.7387125984252 + 20 +5.034 + 30 +0.0 + 10 +11.7387125984252 + 20 +5.034 + 30 +0.0 + 10 +11.74110236220472 + 20 +5.030834645669291 + 30 +0.0 + 10 +11.74482283464567 + 20 +5.028279527559055 + 30 +0.0 + 10 +11.74993700787402 + 20 +5.026169291338583 + 30 +0.0 + 10 +11.74993700787402 + 20 +5.026169291338583 + 30 +0.0 + 10 +11.75288188976378 + 20 +5.025114173228347 + 30 +0.0 + 10 +11.76149212598425 + 20 +5.022614173228346 + 30 +0.0 + 10 +11.77582283464567 + 20 +5.018724409448819 + 30 +0.0 + 10 +11.77582283464567 + 20 +5.018724409448819 + 30 +0.0 + 10 +11.79654724409449 + 20 +5.013169291338583 + 30 +0.0 + 10 +11.81099212598425 + 20 +5.008669291338583 + 30 +0.0 + 10 +11.81915748031496 + 20 +5.005114173228346 + 30 +0.0 + 10 +11.81915748031496 + 20 +5.005114173228346 + 30 +0.0 + 10 +11.82738188976378 + 20 +5.001614173228346 + 30 +0.0 + 10 +11.83382283464567 + 20 +4.996444881889764 + 30 +0.0 + 10 +11.83849212598425 + 20 +4.989724409448819 + 30 +0.0 + 10 +11.83849212598425 + 20 +4.989724409448819 + 30 +0.0 + 10 +11.84315748031496 + 20 +4.983 + 30 +0.0 + 10 +11.84549212598425 + 20 +4.974669291338583 + 30 +0.0 + 10 +11.84549212598425 + 20 +4.964669291338582 + 30 +0.0 + 10 +11.84549212598425 + 20 +4.964669291338582 + 30 +0.0 + 10 +11.84549212598425 + 20 +4.954889763779527 + 30 +0.0 + 10 +11.84260236220472 + 20 +4.945724409448819 + 30 +0.0 + 10 +11.83693700787402 + 20 +4.937055118110236 + 30 +0.0 + 10 +11.83693700787402 + 20 +4.937055118110236 + 30 +0.0 + 10 +11.8312125984252 + 20 +4.928444881889764 + 30 +0.0 + 10 +11.82299212598425 + 20 +4.921779527559055 + 30 +0.0 + 10 +11.81226771653543 + 20 +4.917055118110237 + 30 +0.0 + 10 +11.81226771653543 + 20 +4.917055118110237 + 30 +0.0 + 10 +11.80154724409449 + 20 +4.912334645669291 + 30 +0.0 + 10 +11.78938188976378 + 20 +4.91 + 30 +0.0 + 10 +11.77582283464567 + 20 +4.91 + 30 +0.0 + 10 +11.77582283464567 + 20 +4.91 + 30 +0.0 + 10 +11.75332283464567 + 20 +4.91 + 30 +0.0 + 10 +11.7362125984252 + 20 +4.914669291338583 + 30 +0.0 + 10 +11.72443700787402 + 20 +4.924 + 30 +0.0 + 10 +11.72443700787402 + 20 +4.924 + 30 +0.0 + 10 +11.71265748031496 + 20 +4.933334645669292 + 30 +0.0 + 10 +11.70515748031496 + 20 +4.947169291338582 + 30 +0.0 + 10 +11.70193700787402 + 20 +4.9655 + 30 +0.0 + 0 +SPLINE + 5 +368 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.9986062992126 + 20 +4.969555118110236 + 30 +0.0 + 10 +11.9986062992126 + 20 +4.969555118110236 + 30 +0.0 + 10 +12.02888188976378 + 20 +4.965834645669291 + 30 +0.0 + 10 +12.02888188976378 + 20 +4.965834645669291 + 30 +0.0 + 10 +12.02888188976378 + 20 +4.965834645669291 + 30 +0.0 + 10 +12.0241062992126 + 20 +4.948110236220472 + 30 +0.0 + 10 +12.01527165354331 + 20 +4.934389763779528 + 30 +0.0 + 10 +12.00238188976378 + 20 +4.924610236220472 + 30 +0.0 + 10 +12.00238188976378 + 20 +4.924610236220472 + 30 +0.0 + 10 +11.98943700787401 + 20 +4.914889763779527 + 30 +0.0 + 10 +11.97293700787402 + 20 +4.91 + 30 +0.0 + 10 +11.95288188976378 + 20 +4.91 + 30 +0.0 + 10 +11.95288188976378 + 20 +4.91 + 30 +0.0 + 10 +11.9276062992126 + 20 +4.91 + 30 +0.0 + 10 +11.90754724409449 + 20 +4.917779527559055 + 30 +0.0 + 10 +11.89277165354331 + 20 +4.933334645669292 + 30 +0.0 + 10 +11.89277165354331 + 20 +4.933334645669292 + 30 +0.0 + 10 +11.87793700787402 + 20 +4.948889763779528 + 30 +0.0 + 10 +11.87054724409449 + 20 +4.970724409448819 + 30 +0.0 + 10 +11.87054724409449 + 20 +4.998834645669291 + 30 +0.0 + 10 +11.87054724409449 + 20 +4.998834645669291 + 30 +0.0 + 10 +11.87054724409449 + 20 +5.027944881889764 + 30 +0.0 + 10 +11.87804724409449 + 20 +5.0505 + 30 +0.0 + 10 +11.89299212598425 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.89299212598425 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.90799212598425 + 20 +5.082614173228347 + 30 +0.0 + 10 +11.92738188976378 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.95127165354331 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.95127165354331 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.97438188976378 + 20 +5.090669291338583 + 30 +0.0 + 10 +11.99327165354331 + 20 +5.082779527559055 + 30 +0.0 + 10 +12.00788188976378 + 20 +5.067055118110236 + 30 +0.0 + 10 +12.00788188976378 + 20 +5.067055118110236 + 30 +0.0 + 10 +12.02255118110236 + 20 +5.051334645669291 + 30 +0.0 + 10 +12.02988188976378 + 20 +5.029169291338583 + 30 +0.0 + 10 +12.02988188976378 + 20 +5.000669291338583 + 30 +0.0 + 10 +12.02988188976378 + 20 +5.000669291338583 + 30 +0.0 + 10 +12.02988188976378 + 20 +4.998889763779528 + 30 +0.0 + 10 +12.02982677165354 + 20 +4.996279527559055 + 30 +0.0 + 10 +12.02971653543307 + 20 +4.992834645669292 + 30 +0.0 + 10 +12.02971653543307 + 20 +4.992834645669292 + 30 +0.0 + 10 +12.02971653543307 + 20 +4.992834645669292 + 30 +0.0 + 10 +11.90082677165354 + 20 +4.992834645669292 + 30 +0.0 + 10 +11.90082677165354 + 20 +4.992834645669292 + 30 +0.0 + 10 +11.90082677165354 + 20 +4.992834645669292 + 30 +0.0 + 10 +11.90188188976378 + 20 +4.973834645669291 + 30 +0.0 + 10 +11.90727165354331 + 20 +4.959279527559056 + 30 +0.0 + 10 +11.91693700787402 + 20 +4.949224409448819 + 30 +0.0 + 10 +11.91693700787402 + 20 +4.949224409448819 + 30 +0.0 + 10 +11.9266062992126 + 20 +4.939110236220473 + 30 +0.0 + 10 +11.9386062992126 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.95305118110236 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.95305118110236 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.96377165354331 + 20 +4.934055118110236 + 30 +0.0 + 10 +11.97293700787402 + 20 +4.936889763779527 + 30 +0.0 + 10 +11.98055118110236 + 20 +4.942555118110236 + 30 +0.0 + 10 +11.98055118110236 + 20 +4.942555118110236 + 30 +0.0 + 10 +11.98816141732283 + 20 +4.948169291338583 + 30 +0.0 + 10 +11.99416141732283 + 20 +4.957169291338583 + 30 +0.0 + 10 +11.9986062992126 + 20 +4.969555118110236 + 30 +0.0 + 0 +SPLINE + 5 +369 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.90243700787402 + 20 +5.016944881889764 + 30 +0.0 + 10 +11.90243700787402 + 20 +5.016944881889764 + 30 +0.0 + 10 +11.99893700787402 + 20 +5.016944881889764 + 30 +0.0 + 10 +11.99893700787402 + 20 +5.016944881889764 + 30 +0.0 + 10 +11.99893700787402 + 20 +5.016944881889764 + 30 +0.0 + 10 +11.99766141732283 + 20 +5.031444881889763 + 30 +0.0 + 10 +11.99393700787402 + 20 +5.042389763779528 + 30 +0.0 + 10 +11.98788188976378 + 20 +5.049614173228346 + 30 +0.0 + 10 +11.98788188976378 + 20 +5.049614173228346 + 30 +0.0 + 10 +11.97855118110236 + 20 +5.060889763779527 + 30 +0.0 + 10 +11.96643700787402 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.9516062992126 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.9516062992126 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.93816141732283 + 20 +5.066555118110236 + 30 +0.0 + 10 +11.92682677165354 + 20 +5.062055118110236 + 30 +0.0 + 10 +11.91766141732283 + 20 +5.053055118110236 + 30 +0.0 + 10 +11.91766141732283 + 20 +5.053055118110236 + 30 +0.0 + 10 +11.90849212598425 + 20 +5.044055118110236 + 30 +0.0 + 10 +11.90343700787402 + 20 +5.032 + 30 +0.0 + 10 +11.90243700787402 + 20 +5.016944881889764 + 30 +0.0 + 0 +SPLINE + 5 +36A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.06538188976378 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.06538188976378 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.06538188976378 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.06538188976378 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.06538188976378 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.06538188976378 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.086724409448819 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.060555118110236 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.060555118110236 + 30 +0.0 + 10 +12.09171653543307 + 20 +5.060555118110236 + 30 +0.0 + 10 +12.09843700787401 + 20 +5.072779527559055 + 30 +0.0 + 10 +12.10466141732283 + 20 +5.080889763779528 + 30 +0.0 + 10 +12.11038188976378 + 20 +5.084779527559055 + 30 +0.0 + 10 +12.11038188976378 + 20 +5.084779527559055 + 30 +0.0 + 10 +12.11605118110236 + 20 +5.088669291338583 + 30 +0.0 + 10 +12.12232677165354 + 20 +5.090669291338583 + 30 +0.0 + 10 +12.12916141732283 + 20 +5.090669291338583 + 30 +0.0 + 10 +12.12916141732283 + 20 +5.090669291338583 + 30 +0.0 + 10 +12.13905118110236 + 20 +5.090669291338583 + 30 +0.0 + 10 +12.14905118110236 + 20 +5.0875 + 30 +0.0 + 10 +12.15927165354331 + 20 +5.081224409448819 + 30 +0.0 + 10 +12.15927165354331 + 20 +5.081224409448819 + 30 +0.0 + 10 +12.15927165354331 + 20 +5.081224409448819 + 30 +0.0 + 10 +12.14916141732284 + 20 +5.054 + 30 +0.0 + 10 +12.14916141732284 + 20 +5.054 + 30 +0.0 + 10 +12.14916141732284 + 20 +5.054 + 30 +0.0 + 10 +12.14205118110236 + 20 +5.058279527559055 + 30 +0.0 + 10 +12.13488188976378 + 20 +5.060389763779527 + 30 +0.0 + 10 +12.12771653543307 + 20 +5.060389763779527 + 30 +0.0 + 10 +12.12771653543307 + 20 +5.060389763779527 + 30 +0.0 + 10 +12.12127165354331 + 20 +5.060389763779527 + 30 +0.0 + 10 +12.11555118110236 + 20 +5.058444881889764 + 30 +0.0 + 10 +12.11044094488189 + 20 +5.054614173228346 + 30 +0.0 + 10 +12.11044094488189 + 20 +5.054614173228346 + 30 +0.0 + 10 +12.10532677165354 + 20 +5.050724409448819 + 30 +0.0 + 10 +12.10171653543307 + 20 +5.045389763779528 + 30 +0.0 + 10 +12.09955118110236 + 20 +5.038555118110236 + 30 +0.0 + 10 +12.09955118110236 + 20 +5.038555118110236 + 30 +0.0 + 10 +12.09627165354331 + 20 +5.028169291338583 + 30 +0.0 + 10 +12.09466141732283 + 20 +5.016779527559055 + 30 +0.0 + 10 +12.09466141732283 + 20 +5.004389763779527 + 30 +0.0 + 10 +12.09466141732283 + 20 +5.004389763779527 + 30 +0.0 + 10 +12.09466141732283 + 20 +5.004389763779527 + 30 +0.0 + 10 +12.09466141732283 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.09466141732283 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.09466141732283 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.09466141732283 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.06538188976378 + 20 +4.913889763779528 + 30 +0.0 + 10 +12.06538188976378 + 20 +4.913889763779528 + 30 +0.0 + 0 +SPLINE + 5 +36B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.19588188976378 + 20 +4.843724409448819 + 30 +0.0 + 10 +12.19588188976378 + 20 +4.843724409448819 + 30 +0.0 + 10 +12.17488188976378 + 20 +4.843724409448819 + 30 +0.0 + 10 +12.17488188976378 + 20 +4.843724409448819 + 30 +0.0 + 10 +12.17488188976378 + 20 +4.843724409448819 + 30 +0.0 + 10 +12.20732677165354 + 20 +4.895834645669291 + 30 +0.0 + 10 +12.22355118110236 + 20 +4.947944881889764 + 30 +0.0 + 10 +12.22355118110236 + 20 +5.000169291338582 + 30 +0.0 + 10 +12.22355118110236 + 20 +5.000169291338582 + 30 +0.0 + 10 +12.22355118110236 + 20 +5.020555118110236 + 30 +0.0 + 10 +12.22121653543307 + 20 +5.040779527559055 + 30 +0.0 + 10 +12.21655118110236 + 20 +5.060889763779527 + 30 +0.0 + 10 +12.21655118110236 + 20 +5.060889763779527 + 30 +0.0 + 10 +12.21288188976378 + 20 +5.077114173228346 + 30 +0.0 + 10 +12.20771653543307 + 20 +5.092779527559055 + 30 +0.0 + 10 +12.2011062992126 + 20 +5.107724409448819 + 30 +0.0 + 10 +12.2011062992126 + 20 +5.107724409448819 + 30 +0.0 + 10 +12.19688188976378 + 20 +5.1175 + 30 +0.0 + 10 +12.18816141732283 + 20 +5.133779527559055 + 30 +0.0 + 10 +12.17488188976378 + 20 +5.156559055118111 + 30 +0.0 + 10 +12.17488188976378 + 20 +5.156559055118111 + 30 +0.0 + 10 +12.17488188976378 + 20 +5.156559055118111 + 30 +0.0 + 10 +12.19588188976378 + 20 +5.156559055118111 + 30 +0.0 + 10 +12.19588188976378 + 20 +5.156559055118111 + 30 +0.0 + 10 +12.19588188976378 + 20 +5.156559055118111 + 30 +0.0 + 10 +12.21627165354331 + 20 +5.129334645669291 + 30 +0.0 + 10 +12.23138188976378 + 20 +5.102 + 30 +0.0 + 10 +12.24116141732283 + 20 +5.074555118110236 + 30 +0.0 + 10 +12.24116141732283 + 20 +5.074555118110236 + 30 +0.0 + 10 +12.24949606299213 + 20 +5.050889763779527 + 30 +0.0 + 10 +12.25366141732284 + 20 +5.026169291338583 + 30 +0.0 + 10 +12.25366141732284 + 20 +5.000334645669291 + 30 +0.0 + 10 +12.25366141732284 + 20 +5.000334645669291 + 30 +0.0 + 10 +12.25366141732284 + 20 +4.971 + 30 +0.0 + 10 +12.24805118110236 + 20 +4.942724409448819 + 30 +0.0 + 10 +12.23682677165354 + 20 +4.915334645669291 + 30 +0.0 + 10 +12.23682677165354 + 20 +4.915334645669291 + 30 +0.0 + 10 +12.2256062992126 + 20 +4.888 + 30 +0.0 + 10 +12.21194094488189 + 20 +4.864110236220473 + 30 +0.0 + 10 +12.19588188976378 + 20 +4.843724409448819 + 30 +0.0 + 0 +ELLIPSE + 5 +36C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbEllipse + 10 +12.50789763779528 + 20 +1.847877952755905 + 30 +0.0 + 11 +0.0 + 21 +0.055 + 31 +0.0 +210 +0.0 +220 +0.0 +230 +1.0 + 40 +1.0 + 41 +0.0 + 42 +6.283185307179586 + 0 +SPLINE + 5 +36D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.89462598425197 + 20 +3.590200787401575 + 30 +0.0 + 10 +11.89462598425197 + 20 +3.610007874015748 + 30 +0.0 + 10 +11.89993307086614 + 20 +3.625507874015748 + 30 +0.0 + 10 +11.91057086614173 + 20 +3.636700787401575 + 30 +0.0 + 10 +11.91057086614173 + 20 +3.636700787401575 + 30 +0.0 + 10 +11.92120866141732 + 20 +3.647893700787402 + 30 +0.0 + 10 +11.93493307086614 + 20 +3.653507874015748 + 30 +0.0 + 10 +11.95176377952756 + 20 +3.653507874015748 + 30 +0.0 + 10 +11.95176377952756 + 20 +3.653507874015748 + 30 +0.0 + 10 +11.96276377952756 + 20 +3.653507874015748 + 30 +0.0 + 10 +11.97270866141732 + 20 +3.650866141732283 + 30 +0.0 + 10 +11.98154330708661 + 20 +3.64561811023622 + 30 +0.0 + 10 +11.98154330708661 + 20 +3.64561811023622 + 30 +0.0 + 10 +11.99037401574803 + 20 +3.640338582677165 + 30 +0.0 + 10 +11.99712598425197 + 20 +3.633007874015748 + 30 +0.0 + 10 +12.00176377952756 + 20 +3.623590551181102 + 30 +0.0 + 10 +12.00176377952756 + 20 +3.623590551181102 + 30 +0.0 + 10 +12.00640157480315 + 20 +3.614200787401575 + 30 +0.0 + 10 +12.00870866141732 + 20 +3.603507874015748 + 30 +0.0 + 10 +12.00870866141732 + 20 +3.591590551181102 + 30 +0.0 + 10 +12.00870866141732 + 20 +3.591590551181102 + 30 +0.0 + 10 +12.00870866141732 + 20 +3.57948031496063 + 30 +0.0 + 10 +12.00629133858268 + 20 +3.568645669291338 + 30 +0.0 + 10 +12.00140157480315 + 20 +3.55911811023622 + 30 +0.0 + 10 +12.00140157480315 + 20 +3.55911811023622 + 30 +0.0 + 10 +11.9965157480315 + 20 +3.549562992125984 + 30 +0.0 + 10 +11.98959842519685 + 20 +3.542338582677165 + 30 +0.0 + 10 +11.98065354330709 + 20 +3.537425196850394 + 30 +0.0 + 10 +11.98065354330709 + 20 +3.537425196850394 + 30 +0.0 + 10 +11.9716811023622 + 20 +3.532507874015748 + 30 +0.0 + 10 +11.96204330708661 + 20 +3.530062992125984 + 30 +0.0 + 10 +11.9516811023622 + 20 +3.530062992125984 + 30 +0.0 + 10 +11.9516811023622 + 20 +3.530062992125984 + 30 +0.0 + 10 +11.94043307086614 + 20 +3.530062992125984 + 30 +0.0 + 10 +11.93040551181102 + 20 +3.532755905511811 + 30 +0.0 + 10 +11.92157086614173 + 20 +3.538200787401575 + 30 +0.0 + 10 +11.92157086614173 + 20 +3.538200787401575 + 30 +0.0 + 10 +11.91270866141732 + 20 +3.543618110236221 + 30 +0.0 + 10 +11.9060157480315 + 20 +3.551035433070866 + 30 +0.0 + 10 +11.90146062992126 + 20 +3.560425196850394 + 30 +0.0 + 10 +11.90146062992126 + 20 +3.560425196850394 + 30 +0.0 + 10 +11.89690551181102 + 20 +3.569783464566929 + 30 +0.0 + 10 +11.89462598425197 + 20 +3.579728346456693 + 30 +0.0 + 10 +11.89462598425197 + 20 +3.590200787401575 + 30 +0.0 + 0 +SPLINE + 5 +36E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.91090551181102 + 20 +3.589952755905512 + 30 +0.0 + 10 +11.91090551181102 + 20 +3.575562992125984 + 30 +0.0 + 10 +11.91476377952756 + 20 +3.564255905511811 + 30 +0.0 + 10 +11.92248818897638 + 20 +3.55598031496063 + 30 +0.0 + 10 +11.92248818897638 + 20 +3.55598031496063 + 30 +0.0 + 10 +11.93023622047244 + 20 +3.547700787401575 + 30 +0.0 + 10 +11.93993307086614 + 20 +3.543562992125984 + 30 +0.0 + 10 +11.95159842519685 + 20 +3.543562992125984 + 30 +0.0 + 10 +11.95159842519685 + 20 +3.543562992125984 + 30 +0.0 + 10 +11.96348818897638 + 20 +3.543562992125984 + 30 +0.0 + 10 +11.97326377952756 + 20 +3.547728346456693 + 30 +0.0 + 10 +11.98093307086614 + 20 +3.556090551181102 + 30 +0.0 + 10 +11.98093307086614 + 20 +3.556090551181102 + 30 +0.0 + 10 +11.98859842519685 + 20 +3.564452755905512 + 30 +0.0 + 10 +11.99246062992126 + 20 +3.576311023622047 + 30 +0.0 + 10 +11.99246062992126 + 20 +3.591673228346457 + 30 +0.0 + 10 +11.99246062992126 + 20 +3.591673228346457 + 30 +0.0 + 10 +11.99246062992126 + 20 +3.601366141732283 + 30 +0.0 + 10 +11.99079133858268 + 20 +3.609838582677166 + 30 +0.0 + 10 +11.9875157480315 + 20 +3.617090551181102 + 30 +0.0 + 10 +11.9875157480315 + 20 +3.617090551181102 + 30 +0.0 + 10 +11.98423622047244 + 20 +3.624338582677165 + 30 +0.0 + 10 +11.97943307086614 + 20 +3.629952755905512 + 30 +0.0 + 10 +11.97312598425197 + 20 +3.633952755905512 + 30 +0.0 + 10 +11.97312598425197 + 20 +3.633952755905512 + 30 +0.0 + 10 +11.96679133858268 + 20 +3.63792125984252 + 30 +0.0 + 10 +11.95970866141732 + 20 +3.63992125984252 + 30 +0.0 + 10 +11.95184645669291 + 20 +3.63992125984252 + 30 +0.0 + 10 +11.95184645669291 + 20 +3.63992125984252 + 30 +0.0 + 10 +11.94065354330709 + 20 +3.63992125984252 + 30 +0.0 + 10 +11.93104330708661 + 20 +3.636090551181102 + 30 +0.0 + 10 +11.92298818897638 + 20 +3.628393700787401 + 30 +0.0 + 10 +11.92298818897638 + 20 +3.628393700787401 + 30 +0.0 + 10 +11.91493307086614 + 20 +3.620728346456693 + 30 +0.0 + 10 +11.91090551181102 + 20 +3.607893700787402 + 30 +0.0 + 10 +11.91090551181102 + 20 +3.589952755905512 + 30 +0.0 + 0 +SPLINE + 5 +36F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 28 + 73 + 24 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.02840157480315 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.04420866141732 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.10295669291339 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.02840157480315 + 20 +3.532090551181102 + 30 +0.0 + 0 +SPLINE + 5 +370 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.12209448818898 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.20834645669291 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.600783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.20387401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.586783464566929 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.13787401574803 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.21112204724409 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.12209448818898 + 20 +3.532090551181102 + 30 +0.0 + 0 +SPLINE + 5 +371 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.23292913385827 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.27401181102362 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.27401181102362 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.27401181102362 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.2832874015748 + 20 +3.651393700787402 + 30 +0.0 + 10 +12.29037007874016 + 20 +3.650811023622047 + 30 +0.0 + 10 +12.29525984251969 + 20 +3.649673228346457 + 30 +0.0 + 10 +12.29525984251969 + 20 +3.649673228346457 + 30 +0.0 + 10 +12.30209448818898 + 20 +3.64811811023622 + 30 +0.0 + 10 +12.30792913385827 + 20 +3.645255905511811 + 30 +0.0 + 10 +12.31275984251969 + 20 +3.641145669291339 + 30 +0.0 + 10 +12.31275984251969 + 20 +3.641145669291339 + 30 +0.0 + 10 +12.31903937007874 + 20 +3.635811023622047 + 30 +0.0 + 10 +12.32375984251969 + 20 +3.629035433070866 + 30 +0.0 + 10 +12.32687007874016 + 20 +3.620755905511811 + 30 +0.0 + 10 +12.32687007874016 + 20 +3.620755905511811 + 30 +0.0 + 10 +12.33001181102362 + 20 +3.61248031496063 + 30 +0.0 + 10 +12.33156692913386 + 20 +3.603035433070866 + 30 +0.0 + 10 +12.33156692913386 + 20 +3.592393700787401 + 30 +0.0 + 10 +12.33156692913386 + 20 +3.592393700787401 + 30 +0.0 + 10 +12.33156692913386 + 20 +3.583338582677166 + 30 +0.0 + 10 +12.33051181102362 + 20 +3.575311023622047 + 30 +0.0 + 10 +12.32837007874016 + 20 +3.568311023622047 + 30 +0.0 + 10 +12.32837007874016 + 20 +3.568311023622047 + 30 +0.0 + 10 +12.32625984251968 + 20 +3.561311023622047 + 30 +0.0 + 10 +12.32356692913386 + 20 +3.555507874015748 + 30 +0.0 + 10 +12.32023228346457 + 20 +3.550925196850394 + 30 +0.0 + 10 +12.32023228346457 + 20 +3.550925196850394 + 30 +0.0 + 10 +12.31692913385827 + 20 +3.546338582677165 + 30 +0.0 + 10 +12.31331496062992 + 20 +3.542728346456693 + 30 +0.0 + 10 +12.30937007874016 + 20 +3.540118110236221 + 30 +0.0 + 10 +12.30937007874016 + 20 +3.540118110236221 + 30 +0.0 + 10 +12.30545669291339 + 20 +3.53748031496063 + 30 +0.0 + 10 +12.30070472440945 + 20 +3.53548031496063 + 30 +0.0 + 10 +12.29514960629921 + 20 +3.53411811023622 + 30 +0.0 + 10 +12.29514960629921 + 20 +3.53411811023622 + 30 +0.0 + 10 +12.28956692913386 + 20 +3.532755905511811 + 30 +0.0 + 10 +12.28317716535433 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.2759842519685 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.2759842519685 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.2759842519685 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.532090551181102 + 30 +0.0 + 10 +12.23292913385827 + 20 +3.532090551181102 + 30 +0.0 + 0 +SPLINE + 5 +372 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.24870472440945 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.27417716535433 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.27417716535433 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.27417716535433 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.28203937007874 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.28823228346457 + 20 +3.546897637795276 + 30 +0.0 + 10 +12.29270472440945 + 20 +3.548370078740157 + 30 +0.0 + 10 +12.29270472440945 + 20 +3.548370078740157 + 30 +0.0 + 10 +12.29717716535433 + 20 +3.549838582677165 + 30 +0.0 + 10 +12.30073228346457 + 20 +3.551897637795276 + 30 +0.0 + 10 +12.30340157480315 + 20 +3.554562992125984 + 30 +0.0 + 10 +12.30340157480315 + 20 +3.554562992125984 + 30 +0.0 + 10 +12.30714960629921 + 20 +3.558283464566929 + 30 +0.0 + 10 +12.31006692913386 + 20 +3.563338582677166 + 30 +0.0 + 10 +12.31214960629921 + 20 +3.569645669291339 + 30 +0.0 + 10 +12.31214960629921 + 20 +3.569645669291339 + 30 +0.0 + 10 +12.31423228346457 + 20 +3.57598031496063 + 30 +0.0 + 10 +12.3152874015748 + 20 +3.583618110236221 + 30 +0.0 + 10 +12.3152874015748 + 20 +3.592645669291338 + 30 +0.0 + 10 +12.3152874015748 + 20 +3.592645669291338 + 30 +0.0 + 10 +12.3152874015748 + 20 +3.605118110236221 + 30 +0.0 + 10 +12.31323228346457 + 20 +3.614700787401575 + 30 +0.0 + 10 +12.30914960629921 + 20 +3.621393700787402 + 30 +0.0 + 10 +12.30914960629921 + 20 +3.621393700787402 + 30 +0.0 + 10 +12.30503937007874 + 20 +3.62811811023622 + 30 +0.0 + 10 +12.30006692913386 + 20 +3.632590551181103 + 30 +0.0 + 10 +12.29420472440945 + 20 +3.634866141732283 + 30 +0.0 + 10 +12.29420472440945 + 20 +3.634866141732283 + 30 +0.0 + 10 +12.2899842519685 + 20 +3.636507874015748 + 30 +0.0 + 10 +12.28314960629921 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.2737874015748 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.2737874015748 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.2737874015748 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.637311023622047 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.546173228346457 + 30 +0.0 + 10 +12.24870472440945 + 20 +3.546173228346457 + 30 +0.0 + 0 +SPLINE + 5 +373 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.92554330708662 + 20 +3.310814960629921 + 30 +0.0 + 10 +11.91746062992126 + 20 +3.321007874015748 + 30 +0.0 + 10 +11.91062598425197 + 20 +3.332952755905512 + 30 +0.0 + 10 +11.90504330708661 + 20 +3.34661811023622 + 30 +0.0 + 10 +11.90504330708661 + 20 +3.34661811023622 + 30 +0.0 + 10 +11.89946062992126 + 20 +3.360314960629921 + 30 +0.0 + 10 +11.89665354330709 + 20 +3.374452755905512 + 30 +0.0 + 10 +11.89665354330709 + 20 +3.38911811023622 + 30 +0.0 + 10 +11.89665354330709 + 20 +3.38911811023622 + 30 +0.0 + 10 +11.89665354330709 + 20 +3.402035433070866 + 30 +0.0 + 10 +11.89873622047244 + 20 +3.414397637795275 + 30 +0.0 + 10 +11.90293307086614 + 20 +3.426232283464567 + 30 +0.0 + 10 +11.90293307086614 + 20 +3.426232283464567 + 30 +0.0 + 10 +11.9078188976378 + 20 +3.439952755905512 + 30 +0.0 + 10 +11.91534645669291 + 20 +3.453618110236221 + 30 +0.0 + 10 +11.92554330708662 + 20 +3.467228346456693 + 30 +0.0 + 10 +11.92554330708662 + 20 +3.467228346456693 + 30 +0.0 + 10 +11.92554330708662 + 20 +3.467228346456693 + 30 +0.0 + 10 +11.93604330708661 + 20 +3.467228346456693 + 30 +0.0 + 10 +11.93604330708661 + 20 +3.467228346456693 + 30 +0.0 + 10 +11.93604330708661 + 20 +3.467228346456693 + 30 +0.0 + 10 +11.92948818897638 + 20 +3.455952755905512 + 30 +0.0 + 10 +11.92515354330709 + 20 +3.447897637795275 + 30 +0.0 + 10 +11.92304330708661 + 20 +3.443062992125984 + 30 +0.0 + 10 +11.92304330708661 + 20 +3.443062992125984 + 30 +0.0 + 10 +11.91970866141732 + 20 +3.435590551181102 + 30 +0.0 + 10 +11.91712598425197 + 20 +3.427759842519685 + 30 +0.0 + 10 +11.91520866141732 + 20 +3.41961811023622 + 30 +0.0 + 10 +11.91520866141732 + 20 +3.41961811023622 + 30 +0.0 + 10 +11.91287795275591 + 20 +3.40948031496063 + 30 +0.0 + 10 +11.91170866141732 + 20 +3.399287401574803 + 30 +0.0 + 10 +11.91170866141732 + 20 +3.389035433070866 + 30 +0.0 + 10 +11.91170866141732 + 20 +3.389035433070866 + 30 +0.0 + 10 +11.91170866141732 + 20 +3.362925196850393 + 30 +0.0 + 10 +11.91981889763779 + 20 +3.336870078740157 + 30 +0.0 + 10 +11.93604330708661 + 20 +3.310814960629921 + 30 +0.0 + 10 +11.93604330708661 + 20 +3.310814960629921 + 30 +0.0 + 10 +11.93604330708661 + 20 +3.310814960629921 + 30 +0.0 + 10 +11.92554330708662 + 20 +3.310814960629921 + 30 +0.0 + 10 +11.92554330708662 + 20 +3.310814960629921 + 30 +0.0 + 0 +SPLINE + 5 +374 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.98504330708661 + 20 +3.359007874015748 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.359007874015748 + 30 +0.0 + 10 +11.98715354330709 + 20 +3.346062992125984 + 30 +0.0 + 10 +11.98715354330709 + 20 +3.346062992125984 + 30 +0.0 + 10 +11.98715354330709 + 20 +3.346062992125984 + 30 +0.0 + 10 +11.98304330708661 + 20 +3.345204724409449 + 30 +0.0 + 10 +11.97934645669291 + 20 +3.344759842519685 + 30 +0.0 + 10 +11.97609842519685 + 20 +3.344759842519685 + 30 +0.0 + 10 +11.97609842519685 + 20 +3.344759842519685 + 30 +0.0 + 10 +11.97076377952756 + 20 +3.344759842519685 + 30 +0.0 + 10 +11.96665354330709 + 20 +3.345590551181102 + 30 +0.0 + 10 +11.96370866141732 + 20 +3.347287401574803 + 30 +0.0 + 10 +11.96370866141732 + 20 +3.347287401574803 + 30 +0.0 + 10 +11.96079133858268 + 20 +3.348952755905512 + 30 +0.0 + 10 +11.95873622047244 + 20 +3.351177165354331 + 30 +0.0 + 10 +11.95754330708662 + 20 +3.353925196850394 + 30 +0.0 + 10 +11.95754330708662 + 20 +3.353925196850394 + 30 +0.0 + 10 +11.95635039370079 + 20 +3.356645669291339 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.362425196850394 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.371204724409449 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.371204724409449 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.371204724409449 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.94498818897638 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.453728346456693 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.453728346456693 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.453728346456693 + 30 +0.0 + 10 +11.95573622047244 + 20 +3.453728346456693 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.462507874015748 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.462507874015748 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.462507874015748 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.462507874015748 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.420925196850394 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.370397637795276 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.370397637795276 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.370397637795276 + 30 +0.0 + 10 +11.9703188976378 + 20 +3.366204724409449 + 30 +0.0 + 10 +11.97057086614173 + 20 +3.363535433070866 + 30 +0.0 + 10 +11.97107086614173 + 20 +3.362342519685039 + 30 +0.0 + 10 +11.97107086614173 + 20 +3.362342519685039 + 30 +0.0 + 10 +11.97159842519685 + 20 +3.361145669291338 + 30 +0.0 + 10 +11.97243307086614 + 20 +3.360204724409449 + 30 +0.0 + 10 +11.97359842519685 + 20 +3.35948031496063 + 30 +0.0 + 10 +11.97359842519685 + 20 +3.35948031496063 + 30 +0.0 + 10 +11.97476377952756 + 20 +3.358787401574803 + 30 +0.0 + 10 +11.97643307086614 + 20 +3.358425196850394 + 30 +0.0 + 10 +11.97859842519685 + 20 +3.358425196850394 + 30 +0.0 + 10 +11.97859842519685 + 20 +3.358425196850394 + 30 +0.0 + 10 +11.98023622047244 + 20 +3.358425196850394 + 30 +0.0 + 10 +11.98237795275591 + 20 +3.35861811023622 + 30 +0.0 + 10 +11.98504330708661 + 20 +3.359007874015748 + 30 +0.0 + 0 +SPLINE + 5 +375 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.9992125984252 + 20 +3.345897637795276 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.345897637795276 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.432314960629921 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.419232283464567 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.419232283464567 + 30 +0.0 + 10 +12.01237795275591 + 20 +3.419232283464567 + 30 +0.0 + 10 +12.01574015748031 + 20 +3.42534251968504 + 30 +0.0 + 10 +12.01885039370079 + 20 +3.429397637795276 + 30 +0.0 + 10 +12.0217125984252 + 20 +3.431342519685039 + 30 +0.0 + 10 +12.0217125984252 + 20 +3.431342519685039 + 30 +0.0 + 10 +12.02454330708661 + 20 +3.433287401574803 + 30 +0.0 + 10 +12.02768503937008 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.03109842519685 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.03109842519685 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.03604330708661 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.04104330708661 + 20 +3.432700787401575 + 30 +0.0 + 10 +12.04615354330709 + 20 +3.429562992125984 + 30 +0.0 + 10 +12.04615354330709 + 20 +3.429562992125984 + 30 +0.0 + 10 +12.04615354330709 + 20 +3.429562992125984 + 30 +0.0 + 10 +12.04109842519685 + 20 +3.415952755905512 + 30 +0.0 + 10 +12.04109842519685 + 20 +3.415952755905512 + 30 +0.0 + 10 +12.04109842519685 + 20 +3.415952755905512 + 30 +0.0 + 10 +12.03754330708661 + 20 +3.418090551181102 + 30 +0.0 + 10 +12.03396062992126 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.03037795275591 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.03037795275591 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.02715354330709 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.02429527559055 + 20 +3.418173228346457 + 30 +0.0 + 10 +12.02174015748031 + 20 +3.416259842519685 + 30 +0.0 + 10 +12.02174015748031 + 20 +3.416259842519685 + 30 +0.0 + 10 +12.01918503937008 + 20 +3.414314960629921 + 30 +0.0 + 10 +12.01737795275591 + 20 +3.411645669291338 + 30 +0.0 + 10 +12.01629527559055 + 20 +3.408232283464567 + 30 +0.0 + 10 +12.01629527559055 + 20 +3.408232283464567 + 30 +0.0 + 10 +12.01465748031496 + 20 +3.403035433070866 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.39734251968504 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.391145669291339 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.391145669291339 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.391145669291339 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.01385039370079 + 20 +3.345897637795276 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.345897637795276 + 30 +0.0 + 10 +11.9992125984252 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +376 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.11126771653543 + 20 +3.356562992125984 + 30 +0.0 + 10 +12.10582283464567 + 20 +3.351952755905512 + 30 +0.0 + 10 +12.10059842519685 + 20 +3.348704724409449 + 30 +0.0 + 10 +12.09559842519685 + 20 +3.346787401574803 + 30 +0.0 + 10 +12.09559842519685 + 20 +3.346787401574803 + 30 +0.0 + 10 +12.09057086614173 + 20 +3.344897637795276 + 30 +0.0 + 10 +12.08518503937008 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.07943307086614 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.07943307086614 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.06993307086614 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.06265748031496 + 20 +3.346259842519685 + 30 +0.0 + 10 +12.05754330708661 + 20 +3.350897637795275 + 30 +0.0 + 10 +12.05754330708661 + 20 +3.350897637795275 + 30 +0.0 + 10 +12.05246062992126 + 20 +3.355535433070866 + 30 +0.0 + 10 +12.04990551181102 + 20 +3.36148031496063 + 30 +0.0 + 10 +12.04990551181102 + 20 +3.368677165354331 + 30 +0.0 + 10 +12.04990551181102 + 20 +3.368677165354331 + 30 +0.0 + 10 +12.04990551181102 + 20 +3.372925196850394 + 30 +0.0 + 10 +12.05085039370079 + 20 +3.376787401574803 + 30 +0.0 + 10 +12.05279527559055 + 20 +3.380287401574803 + 30 +0.0 + 10 +12.05279527559055 + 20 +3.380287401574803 + 30 +0.0 + 10 +12.0547125984252 + 20 +3.383787401574803 + 30 +0.0 + 10 +12.05724015748032 + 20 +3.386590551181103 + 30 +0.0 + 10 +12.06035039370079 + 20 +3.388704724409449 + 30 +0.0 + 10 +12.06035039370079 + 20 +3.388704724409449 + 30 +0.0 + 10 +12.06348818897638 + 20 +3.390814960629921 + 30 +0.0 + 10 +12.06698818897638 + 20 +3.392425196850394 + 30 +0.0 + 10 +12.07090551181102 + 20 +3.393507874015748 + 30 +0.0 + 10 +12.07090551181102 + 20 +3.393507874015748 + 30 +0.0 + 10 +12.07376771653543 + 20 +3.394259842519685 + 30 +0.0 + 10 +12.07809842519685 + 20 +3.395007874015748 + 30 +0.0 + 10 +12.08390551181102 + 20 +3.395704724409449 + 30 +0.0 + 10 +12.08390551181102 + 20 +3.395704724409449 + 30 +0.0 + 10 +12.09574015748031 + 20 +3.39711811023622 + 30 +0.0 + 10 +12.10446062992126 + 20 +3.398787401574803 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.400759842519685 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.400759842519685 + 30 +0.0 + 10 +12.11009842519685 + 20 +3.402759842519685 + 30 +0.0 + 10 +12.11012598425197 + 20 +3.404035433070866 + 30 +0.0 + 10 +12.11012598425197 + 20 +3.404562992125984 + 30 +0.0 + 10 +12.11012598425197 + 20 +3.404562992125984 + 30 +0.0 + 10 +12.11012598425197 + 20 +3.410535433070866 + 30 +0.0 + 10 +12.10874015748031 + 20 +3.414759842519685 + 30 +0.0 + 10 +12.10596062992126 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.10596062992126 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.10224015748032 + 20 +3.420507874015748 + 30 +0.0 + 10 +12.09665354330709 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.08929527559055 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.08929527559055 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.08240551181102 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.07732283464567 + 20 +3.420952755905512 + 30 +0.0 + 10 +12.0740157480315 + 20 +3.418535433070866 + 30 +0.0 + 10 +12.0740157480315 + 20 +3.418535433070866 + 30 +0.0 + 10 +12.07074015748032 + 20 +3.416118110236221 + 30 +0.0 + 10 +12.06832283464567 + 20 +3.411842519685039 + 30 +0.0 + 10 +12.06674015748031 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.06674015748031 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.06674015748031 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.05243307086614 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.05243307086614 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.05243307086614 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.05374015748031 + 20 +3.413787401574803 + 30 +0.0 + 10 +12.05587795275591 + 20 +3.418759842519685 + 30 +0.0 + 10 +12.05885039370079 + 20 +3.422507874015748 + 30 +0.0 + 10 +12.05885039370079 + 20 +3.422507874015748 + 30 +0.0 + 10 +12.06182283464567 + 20 +3.426287401574803 + 30 +0.0 + 10 +12.06615748031496 + 20 +3.429200787401575 + 30 +0.0 + 10 +12.07179527559055 + 20 +3.431228346456693 + 30 +0.0 + 10 +12.07179527559055 + 20 +3.431228346456693 + 30 +0.0 + 10 +12.07743307086614 + 20 +3.433259842519685 + 30 +0.0 + 10 +12.08396062992126 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.09140551181102 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.09140551181102 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.09879527559055 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.10476771653543 + 20 +3.433397637795276 + 30 +0.0 + 10 +12.1093779527559 + 20 +3.431673228346457 + 30 +0.0 + 10 +12.1093779527559 + 20 +3.431673228346457 + 30 +0.0 + 10 +12.11398818897638 + 20 +3.429925196850394 + 30 +0.0 + 10 +12.11737795275591 + 20 +3.427759842519685 + 30 +0.0 + 10 +12.11957086614173 + 20 +3.42511811023622 + 30 +0.0 + 10 +12.11957086614173 + 20 +3.42511811023622 + 30 +0.0 + 10 +12.12174015748031 + 20 +3.42248031496063 + 30 +0.0 + 10 +12.12324015748031 + 20 +3.419173228346457 + 30 +0.0 + 10 +12.12412598425197 + 20 +3.415145669291339 + 30 +0.0 + 10 +12.12412598425197 + 20 +3.415145669291339 + 30 +0.0 + 10 +12.12459842519685 + 20 +3.412645669291339 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.408145669291339 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.12485039370079 + 20 +3.36848031496063 + 30 +0.0 + 10 +12.12515354330709 + 20 +3.359870078740157 + 30 +0.0 + 10 +12.12579527559055 + 20 +3.356287401574803 + 30 +0.0 + 10 +12.12579527559055 + 20 +3.356287401574803 + 30 +0.0 + 10 +12.12640551181102 + 20 +3.352677165354331 + 30 +0.0 + 10 +12.12765354330709 + 20 +3.349204724409449 + 30 +0.0 + 10 +12.12948818897638 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.12948818897638 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.12948818897638 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.1141811023622 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.1141811023622 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.1141811023622 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.1126811023622 + 20 +3.348925196850394 + 30 +0.0 + 10 +12.1116811023622 + 20 +3.35248031496063 + 30 +0.0 + 10 +12.11126771653543 + 20 +3.356562992125984 + 30 +0.0 + 0 +SPLINE + 5 +377 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.11004330708661 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.1047125984252 + 20 +3.387090551181102 + 30 +0.0 + 10 +12.09674015748032 + 20 +3.385259842519685 + 30 +0.0 + 10 +12.08612598425197 + 20 +3.383732283464567 + 30 +0.0 + 10 +12.08612598425197 + 20 +3.383732283464567 + 30 +0.0 + 10 +12.08009842519685 + 20 +3.382870078740158 + 30 +0.0 + 10 +12.07582283464567 + 20 +3.381897637795276 + 30 +0.0 + 10 +12.07335039370079 + 20 +3.380814960629921 + 30 +0.0 + 10 +12.07335039370079 + 20 +3.380814960629921 + 30 +0.0 + 10 +12.07085039370079 + 20 +3.379732283464567 + 30 +0.0 + 10 +12.06890551181102 + 20 +3.378145669291339 + 30 +0.0 + 10 +12.06757086614173 + 20 +3.376035433070866 + 30 +0.0 + 10 +12.06757086614173 + 20 +3.376035433070866 + 30 +0.0 + 10 +12.0662125984252 + 20 +3.373952755905512 + 30 +0.0 + 10 +12.0655157480315 + 20 +3.371645669291339 + 30 +0.0 + 10 +12.0655157480315 + 20 +3.369090551181102 + 30 +0.0 + 10 +12.0655157480315 + 20 +3.369090551181102 + 30 +0.0 + 10 +12.0655157480315 + 20 +3.365177165354331 + 30 +0.0 + 10 +12.0670157480315 + 20 +3.361925196850394 + 30 +0.0 + 10 +12.06996062992126 + 20 +3.359314960629921 + 30 +0.0 + 10 +12.06996062992126 + 20 +3.359314960629921 + 30 +0.0 + 10 +12.07290551181102 + 20 +3.356732283464567 + 30 +0.0 + 10 +12.07724015748031 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.08293307086614 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.08293307086614 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.08857086614173 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.09359842519685 + 20 +3.356645669291339 + 30 +0.0 + 10 +12.09798818897638 + 20 +3.359118110236221 + 30 +0.0 + 10 +12.09798818897638 + 20 +3.359118110236221 + 30 +0.0 + 10 +12.1023779527559 + 20 +3.361590551181102 + 30 +0.0 + 10 +12.10562598425197 + 20 +3.36498031496063 + 30 +0.0 + 10 +12.10768110236221 + 20 +3.369259842519685 + 30 +0.0 + 10 +12.10768110236221 + 20 +3.369259842519685 + 30 +0.0 + 10 +12.10926771653543 + 20 +3.372562992125984 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.377452755905512 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.11004330708661 + 20 +3.389287401574803 + 30 +0.0 + 0 +SPLINE + 5 +378 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.14757086614173 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.420035433070866 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.420035433070866 + 30 +0.0 + 10 +12.16073622047244 + 20 +3.420035433070866 + 30 +0.0 + 10 +12.16709842519685 + 20 +3.429535433070866 + 30 +0.0 + 10 +12.17626377952756 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.18823622047244 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.18823622047244 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.19346062992126 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.19823622047244 + 20 +3.43334251968504 + 30 +0.0 + 10 +12.20259842519685 + 20 +3.43148031496063 + 30 +0.0 + 10 +12.20259842519685 + 20 +3.43148031496063 + 30 +0.0 + 10 +12.20698818897638 + 20 +3.429590551181102 + 30 +0.0 + 10 +12.21023622047244 + 20 +3.427145669291339 + 30 +0.0 + 10 +12.21240551181102 + 20 +3.424090551181102 + 30 +0.0 + 10 +12.21240551181102 + 20 +3.424090551181102 + 30 +0.0 + 10 +12.21459842519685 + 20 +3.421062992125984 + 30 +0.0 + 10 +12.21609842519685 + 20 +3.417452755905512 + 30 +0.0 + 10 +12.21698818897638 + 20 +3.413287401574803 + 30 +0.0 + 10 +12.21698818897638 + 20 +3.413287401574803 + 30 +0.0 + 10 +12.2175157480315 + 20 +3.410562992125984 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.405814960629921 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.399035433070866 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.399035433070866 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.399035433070866 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.21779133858268 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.39848031496063 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.39848031496063 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.39848031496063 + 30 +0.0 + 10 +12.20312598425197 + 20 +3.404425196850394 + 30 +0.0 + 10 +12.20257086614173 + 20 +3.408897637795276 + 30 +0.0 + 10 +12.20143307086614 + 20 +3.411870078740157 + 30 +0.0 + 10 +12.20143307086614 + 20 +3.411870078740157 + 30 +0.0 + 10 +12.20029133858268 + 20 +3.414814960629921 + 30 +0.0 + 10 +12.19826377952756 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.19537401574803 + 20 +3.418925196850394 + 30 +0.0 + 10 +12.19537401574803 + 20 +3.418925196850394 + 30 +0.0 + 10 +12.19246062992126 + 20 +3.420700787401575 + 30 +0.0 + 10 +12.18907086614173 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.18515354330709 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.18515354330709 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.17890551181102 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.17354330708661 + 20 +3.419590551181102 + 30 +0.0 + 10 +12.16898818897638 + 20 +3.415645669291338 + 30 +0.0 + 10 +12.16898818897638 + 20 +3.415645669291338 + 30 +0.0 + 10 +12.16446062992126 + 20 +3.411673228346457 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.404173228346457 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.393090551181102 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.393090551181102 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.393090551181102 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.16220866141732 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.14757086614173 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +379 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.23440157480315 + 20 +3.371704724409449 + 30 +0.0 + 10 +12.23440157480315 + 20 +3.371704724409449 + 30 +0.0 + 10 +12.24887401574803 + 20 +3.37398031496063 + 30 +0.0 + 10 +12.24887401574803 + 20 +3.37398031496063 + 30 +0.0 + 10 +12.24887401574803 + 20 +3.37398031496063 + 30 +0.0 + 10 +12.2496811023622 + 20 +3.368177165354331 + 30 +0.0 + 10 +12.25195669291339 + 20 +3.363732283464567 + 30 +0.0 + 10 +12.2556811023622 + 20 +3.36061811023622 + 30 +0.0 + 10 +12.2556811023622 + 20 +3.36061811023622 + 30 +0.0 + 10 +12.25937401574803 + 20 +3.357535433070866 + 30 +0.0 + 10 +12.26457086614173 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.27126377952756 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.27126377952756 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.2779842519685 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.2829842519685 + 20 +3.357370078740157 + 30 +0.0 + 10 +12.28623622047244 + 20 +3.360090551181103 + 30 +0.0 + 10 +12.28623622047244 + 20 +3.360090551181103 + 30 +0.0 + 10 +12.2894842519685 + 20 +3.36284251968504 + 30 +0.0 + 10 +12.29112598425197 + 20 +3.366062992125984 + 30 +0.0 + 10 +12.29112598425197 + 20 +3.369732283464567 + 30 +0.0 + 10 +12.29112598425197 + 20 +3.369732283464567 + 30 +0.0 + 10 +12.29112598425197 + 20 +3.373062992125984 + 30 +0.0 + 10 +12.2896811023622 + 20 +3.375645669291339 + 30 +0.0 + 10 +12.28679133858268 + 20 +3.377562992125984 + 30 +0.0 + 10 +12.28679133858268 + 20 +3.377562992125984 + 30 +0.0 + 10 +12.28479133858268 + 20 +3.378870078740158 + 30 +0.0 + 10 +12.27979133858268 + 20 +3.380507874015748 + 30 +0.0 + 10 +12.27181889763779 + 20 +3.382507874015748 + 30 +0.0 + 10 +12.27181889763779 + 20 +3.382507874015748 + 30 +0.0 + 10 +12.26109842519685 + 20 +3.385232283464567 + 30 +0.0 + 10 +12.25362598425197 + 20 +3.387562992125984 + 30 +0.0 + 10 +12.2494842519685 + 20 +3.389562992125984 + 30 +0.0 + 10 +12.2494842519685 + 20 +3.389562992125984 + 30 +0.0 + 10 +12.24534645669291 + 20 +3.391535433070866 + 30 +0.0 + 10 +12.2421811023622 + 20 +3.394287401574803 + 30 +0.0 + 10 +12.24004330708661 + 20 +3.397787401574803 + 30 +0.0 + 10 +12.24004330708661 + 20 +3.397787401574803 + 30 +0.0 + 10 +12.23790157480315 + 20 +3.401287401574803 + 30 +0.0 + 10 +12.23681889763779 + 20 +3.405145669291338 + 30 +0.0 + 10 +12.23681889763779 + 20 +3.409370078740158 + 30 +0.0 + 10 +12.23681889763779 + 20 +3.409370078740158 + 30 +0.0 + 10 +12.23681889763779 + 20 +3.413232283464567 + 30 +0.0 + 10 +12.23770866141732 + 20 +3.416787401574803 + 30 +0.0 + 10 +12.2394842519685 + 20 +3.420062992125984 + 30 +0.0 + 10 +12.2394842519685 + 20 +3.420062992125984 + 30 +0.0 + 10 +12.24123622047244 + 20 +3.423370078740157 + 30 +0.0 + 10 +12.24365354330709 + 20 +3.426090551181102 + 30 +0.0 + 10 +12.2466811023622 + 20 +3.428259842519685 + 30 +0.0 + 10 +12.2466811023622 + 20 +3.428259842519685 + 30 +0.0 + 10 +12.24895669291339 + 20 +3.429925196850394 + 30 +0.0 + 10 +12.25207086614173 + 20 +3.431370078740157 + 30 +0.0 + 10 +12.2559842519685 + 20 +3.432535433070866 + 30 +0.0 + 10 +12.2559842519685 + 20 +3.432535433070866 + 30 +0.0 + 10 +12.25992913385827 + 20 +3.433700787401575 + 30 +0.0 + 10 +12.26415354330709 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.26865354330709 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.26865354330709 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.27542913385827 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.28137401574803 + 20 +3.433287401574803 + 30 +0.0 + 10 +12.28651181102362 + 20 +3.431342519685039 + 30 +0.0 + 10 +12.28651181102362 + 20 +3.431342519685039 + 30 +0.0 + 10 +12.29165354330709 + 20 +3.429397637795276 + 30 +0.0 + 10 +12.29542913385827 + 20 +3.426759842519685 + 30 +0.0 + 10 +12.29787401574803 + 20 +3.423425196850394 + 30 +0.0 + 10 +12.29787401574803 + 20 +3.423425196850394 + 30 +0.0 + 10 +12.3003188976378 + 20 +3.420062992125984 + 30 +0.0 + 10 +12.3019842519685 + 20 +3.41561811023622 + 30 +0.0 + 10 +12.30290157480315 + 20 +3.410035433070866 + 30 +0.0 + 10 +12.30290157480315 + 20 +3.410035433070866 + 30 +0.0 + 10 +12.30290157480315 + 20 +3.410035433070866 + 30 +0.0 + 10 +12.28859842519685 + 20 +3.408062992125984 + 30 +0.0 + 10 +12.28859842519685 + 20 +3.408062992125984 + 30 +0.0 + 10 +12.28859842519685 + 20 +3.408062992125984 + 30 +0.0 + 10 +12.28792913385827 + 20 +3.412507874015748 + 30 +0.0 + 10 +12.28603937007874 + 20 +3.41598031496063 + 30 +0.0 + 10 +12.28292913385827 + 20 +3.41848031496063 + 30 +0.0 + 10 +12.28292913385827 + 20 +3.41848031496063 + 30 +0.0 + 10 +12.2798188976378 + 20 +3.42098031496063 + 30 +0.0 + 10 +12.27540157480315 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.26970866141732 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.26970866141732 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.2629842519685 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.2581811023622 + 20 +3.42111811023622 + 30 +0.0 + 10 +12.2553188976378 + 20 +3.418897637795276 + 30 +0.0 + 10 +12.2553188976378 + 20 +3.418897637795276 + 30 +0.0 + 10 +12.25242913385827 + 20 +3.416673228346457 + 30 +0.0 + 10 +12.2509842519685 + 20 +3.414062992125984 + 30 +0.0 + 10 +12.2509842519685 + 20 +3.411090551181102 + 30 +0.0 + 10 +12.2509842519685 + 20 +3.411090551181102 + 30 +0.0 + 10 +12.2509842519685 + 20 +3.409173228346457 + 30 +0.0 + 10 +12.25159842519685 + 20 +3.40748031496063 + 30 +0.0 + 10 +12.25279133858268 + 20 +3.405952755905512 + 30 +0.0 + 10 +12.25279133858268 + 20 +3.405952755905512 + 30 +0.0 + 10 +12.2539842519685 + 20 +3.404370078740158 + 30 +0.0 + 10 +12.25584645669291 + 20 +3.403090551181102 + 30 +0.0 + 10 +12.25840157480315 + 20 +3.402035433070866 + 30 +0.0 + 10 +12.25840157480315 + 20 +3.402035433070866 + 30 +0.0 + 10 +12.25987401574803 + 20 +3.401507874015748 + 30 +0.0 + 10 +12.2641811023622 + 20 +3.400259842519685 + 30 +0.0 + 10 +12.27134645669291 + 20 +3.398314960629921 + 30 +0.0 + 10 +12.27134645669291 + 20 +3.398314960629921 + 30 +0.0 + 10 +12.28170866141732 + 20 +3.395535433070866 + 30 +0.0 + 10 +12.28892913385827 + 20 +3.393287401574803 + 30 +0.0 + 10 +12.29301181102362 + 20 +3.391507874015748 + 30 +0.0 + 10 +12.29301181102362 + 20 +3.391507874015748 + 30 +0.0 + 10 +12.29712598425197 + 20 +3.389759842519685 + 30 +0.0 + 10 +12.30034645669291 + 20 +3.387173228346457 + 30 +0.0 + 10 +12.30268110236221 + 20 +3.383814960629921 + 30 +0.0 + 10 +12.30268110236221 + 20 +3.383814960629921 + 30 +0.0 + 10 +12.30501181102362 + 20 +3.380452755905512 + 30 +0.0 + 10 +12.3061811023622 + 20 +3.376287401574803 + 30 +0.0 + 10 +12.3061811023622 + 20 +3.371287401574803 + 30 +0.0 + 10 +12.3061811023622 + 20 +3.371287401574803 + 30 +0.0 + 10 +12.3061811023622 + 20 +3.366397637795276 + 30 +0.0 + 10 +12.30473622047244 + 20 +3.361814960629921 + 30 +0.0 + 10 +12.30190157480315 + 20 +3.35748031496063 + 30 +0.0 + 10 +12.30190157480315 + 20 +3.35748031496063 + 30 +0.0 + 10 +12.29903937007874 + 20 +3.353177165354331 + 30 +0.0 + 10 +12.29492913385827 + 20 +3.349842519685039 + 30 +0.0 + 10 +12.28956692913386 + 20 +3.34748031496063 + 30 +0.0 + 10 +12.28956692913386 + 20 +3.34748031496063 + 30 +0.0 + 10 +12.28420866141732 + 20 +3.34511811023622 + 30 +0.0 + 10 +12.27812598425197 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.27134645669291 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.27134645669291 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.26009842519685 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.25154330708661 + 20 +3.346287401574803 + 30 +0.0 + 10 +12.24565354330709 + 20 +3.350952755905512 + 30 +0.0 + 10 +12.24565354330709 + 20 +3.350952755905512 + 30 +0.0 + 10 +12.23976377952756 + 20 +3.35561811023622 + 30 +0.0 + 10 +12.23601181102362 + 20 +3.362535433070866 + 30 +0.0 + 10 +12.23440157480315 + 20 +3.371704724409449 + 30 +0.0 + 0 +SPLINE + 5 +37A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.32359842519685 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.421090551181103 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.421090551181103 + 30 +0.0 + 10 +12.33693307086614 + 20 +3.421090551181103 + 30 +0.0 + 10 +12.34007086614173 + 20 +3.42548031496063 + 30 +0.0 + 10 +12.34362598425197 + 20 +3.428787401574803 + 30 +0.0 + 10 +12.34759842519685 + 20 +3.43098031496063 + 30 +0.0 + 10 +12.34759842519685 + 20 +3.43098031496063 + 30 +0.0 + 10 +12.35154330708661 + 20 +3.433173228346457 + 30 +0.0 + 10 +12.35634645669291 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.36198818897638 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.36198818897638 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.36937401574803 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.37587401574803 + 20 +3.432370078740158 + 30 +0.0 + 10 +12.3815157480315 + 20 +3.428590551181102 + 30 +0.0 + 10 +12.3815157480315 + 20 +3.428590551181102 + 30 +0.0 + 10 +12.3871811023622 + 20 +3.424787401574803 + 30 +0.0 + 10 +12.39143307086614 + 20 +3.419425196850394 + 30 +0.0 + 10 +12.39429133858268 + 20 +3.412507874015748 + 30 +0.0 + 10 +12.39429133858268 + 20 +3.412507874015748 + 30 +0.0 + 10 +12.39718110236221 + 20 +3.405590551181102 + 30 +0.0 + 10 +12.39862598425197 + 20 +3.398007874015748 + 30 +0.0 + 10 +12.39862598425197 + 20 +3.389759842519685 + 30 +0.0 + 10 +12.39862598425197 + 20 +3.389759842519685 + 30 +0.0 + 10 +12.39862598425197 + 20 +3.380925196850394 + 30 +0.0 + 10 +12.39704330708661 + 20 +3.372952755905512 + 30 +0.0 + 10 +12.39384645669291 + 20 +3.365870078740158 + 30 +0.0 + 10 +12.39384645669291 + 20 +3.365870078740158 + 30 +0.0 + 10 +12.3906811023622 + 20 +3.358787401574803 + 30 +0.0 + 10 +12.38607086614173 + 20 +3.353370078740157 + 30 +0.0 + 10 +12.3800157480315 + 20 +3.349590551181102 + 30 +0.0 + 10 +12.3800157480315 + 20 +3.349590551181102 + 30 +0.0 + 10 +12.37396062992126 + 20 +3.345842519685039 + 30 +0.0 + 10 +12.36759842519685 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.36093307086614 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.36093307086614 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.35604330708661 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.35168110236221 + 20 +3.34498031496063 + 30 +0.0 + 10 +12.34779133858268 + 20 +3.347035433070866 + 30 +0.0 + 10 +12.34779133858268 + 20 +3.347035433070866 + 30 +0.0 + 10 +12.34390551181102 + 20 +3.349090551181102 + 30 +0.0 + 10 +12.34073622047244 + 20 +3.351704724409449 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.35484251968504 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.35484251968504 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.35484251968504 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.33823622047244 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.312787401574803 + 30 +0.0 + 10 +12.32359842519685 + 20 +3.312787401574803 + 30 +0.0 + 0 +SPLINE + 5 +37B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.33684645669291 + 20 +3.38861811023622 + 30 +0.0 + 10 +12.33684645669291 + 20 +3.377507874015748 + 30 +0.0 + 10 +12.33909842519685 + 20 +3.369287401574803 + 30 +0.0 + 10 +12.34359842519685 + 20 +3.363952755905512 + 30 +0.0 + 10 +12.34359842519685 + 20 +3.363952755905512 + 30 +0.0 + 10 +12.34809842519685 + 20 +3.358645669291338 + 30 +0.0 + 10 +12.35357086614173 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.35996062992126 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.35996062992126 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.36646062992126 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.37204330708661 + 20 +3.358732283464567 + 30 +0.0 + 10 +12.37668110236221 + 20 +3.364259842519685 + 30 +0.0 + 10 +12.37668110236221 + 20 +3.364259842519685 + 30 +0.0 + 10 +12.3813188976378 + 20 +3.369759842519685 + 30 +0.0 + 10 +12.38365354330709 + 20 +3.378287401574803 + 30 +0.0 + 10 +12.38365354330709 + 20 +3.389842519685039 + 30 +0.0 + 10 +12.38365354330709 + 20 +3.389842519685039 + 30 +0.0 + 10 +12.38365354330709 + 20 +3.400870078740157 + 30 +0.0 + 10 +12.38137401574803 + 20 +3.409090551181102 + 30 +0.0 + 10 +12.37684645669291 + 20 +3.414590551181103 + 30 +0.0 + 10 +12.37684645669291 + 20 +3.414590551181103 + 30 +0.0 + 10 +12.3723188976378 + 20 +3.420062992125984 + 30 +0.0 + 10 +12.36690551181102 + 20 +3.422814960629921 + 30 +0.0 + 10 +12.36062598425197 + 20 +3.422814960629921 + 30 +0.0 + 10 +12.36062598425197 + 20 +3.422814960629921 + 30 +0.0 + 10 +12.35437401574803 + 20 +3.422814960629921 + 30 +0.0 + 10 +12.34884645669291 + 20 +3.419897637795275 + 30 +0.0 + 10 +12.34404330708661 + 20 +3.414062992125984 + 30 +0.0 + 10 +12.34404330708661 + 20 +3.414062992125984 + 30 +0.0 + 10 +12.33923622047244 + 20 +3.408232283464567 + 30 +0.0 + 10 +12.33684645669291 + 20 +3.399732283464567 + 30 +0.0 + 10 +12.33684645669291 + 20 +3.38861811023622 + 30 +0.0 + 0 +SPLINE + 5 +37C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.47268110236221 + 20 +3.356562992125984 + 30 +0.0 + 10 +12.46723622047244 + 20 +3.351952755905512 + 30 +0.0 + 10 +12.46201181102362 + 20 +3.348704724409449 + 30 +0.0 + 10 +12.45701181102362 + 20 +3.346787401574803 + 30 +0.0 + 10 +12.45701181102362 + 20 +3.346787401574803 + 30 +0.0 + 10 +12.4519842519685 + 20 +3.344897637795276 + 30 +0.0 + 10 +12.44659842519685 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.44084645669291 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.44084645669291 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.43134645669291 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.42407086614173 + 20 +3.346259842519685 + 30 +0.0 + 10 +12.41895669291338 + 20 +3.350897637795275 + 30 +0.0 + 10 +12.41895669291338 + 20 +3.350897637795275 + 30 +0.0 + 10 +12.41387401574803 + 20 +3.355535433070866 + 30 +0.0 + 10 +12.41131889763779 + 20 +3.36148031496063 + 30 +0.0 + 10 +12.41131889763779 + 20 +3.368677165354331 + 30 +0.0 + 10 +12.41131889763779 + 20 +3.368677165354331 + 30 +0.0 + 10 +12.41131889763779 + 20 +3.372925196850394 + 30 +0.0 + 10 +12.41226377952756 + 20 +3.376787401574803 + 30 +0.0 + 10 +12.41420866141732 + 20 +3.380287401574803 + 30 +0.0 + 10 +12.41420866141732 + 20 +3.380287401574803 + 30 +0.0 + 10 +12.41612598425197 + 20 +3.383787401574803 + 30 +0.0 + 10 +12.41865354330709 + 20 +3.386590551181103 + 30 +0.0 + 10 +12.42176377952756 + 20 +3.388704724409449 + 30 +0.0 + 10 +12.42176377952756 + 20 +3.388704724409449 + 30 +0.0 + 10 +12.42490157480315 + 20 +3.390814960629921 + 30 +0.0 + 10 +12.42840157480315 + 20 +3.392425196850394 + 30 +0.0 + 10 +12.4323188976378 + 20 +3.393507874015748 + 30 +0.0 + 10 +12.4323188976378 + 20 +3.393507874015748 + 30 +0.0 + 10 +12.4351811023622 + 20 +3.394259842519685 + 30 +0.0 + 10 +12.43951181102362 + 20 +3.395007874015748 + 30 +0.0 + 10 +12.4453188976378 + 20 +3.395704724409449 + 30 +0.0 + 10 +12.4453188976378 + 20 +3.395704724409449 + 30 +0.0 + 10 +12.45715354330709 + 20 +3.39711811023622 + 30 +0.0 + 10 +12.46587401574803 + 20 +3.398787401574803 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.400759842519685 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.400759842519685 + 30 +0.0 + 10 +12.47151181102362 + 20 +3.402759842519685 + 30 +0.0 + 10 +12.47153937007874 + 20 +3.404035433070866 + 30 +0.0 + 10 +12.47153937007874 + 20 +3.404562992125984 + 30 +0.0 + 10 +12.47153937007874 + 20 +3.404562992125984 + 30 +0.0 + 10 +12.47153937007874 + 20 +3.410535433070866 + 30 +0.0 + 10 +12.47015354330709 + 20 +3.414759842519685 + 30 +0.0 + 10 +12.46737401574803 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.46737401574803 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.46365354330709 + 20 +3.420507874015748 + 30 +0.0 + 10 +12.45806692913386 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.45070866141732 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.45070866141732 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.4438188976378 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.43873622047244 + 20 +3.420952755905512 + 30 +0.0 + 10 +12.43542913385827 + 20 +3.418535433070866 + 30 +0.0 + 10 +12.43542913385827 + 20 +3.418535433070866 + 30 +0.0 + 10 +12.43215354330709 + 20 +3.416118110236221 + 30 +0.0 + 10 +12.42973622047244 + 20 +3.411842519685039 + 30 +0.0 + 10 +12.42815354330709 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.42815354330709 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.42815354330709 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.41384645669291 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.41384645669291 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.41384645669291 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.41515354330709 + 20 +3.413787401574803 + 30 +0.0 + 10 +12.41729133858268 + 20 +3.418759842519685 + 30 +0.0 + 10 +12.42026377952756 + 20 +3.422507874015748 + 30 +0.0 + 10 +12.42026377952756 + 20 +3.422507874015748 + 30 +0.0 + 10 +12.42323622047244 + 20 +3.426287401574803 + 30 +0.0 + 10 +12.42757086614173 + 20 +3.429200787401575 + 30 +0.0 + 10 +12.43320866141732 + 20 +3.431228346456693 + 30 +0.0 + 10 +12.43320866141732 + 20 +3.431228346456693 + 30 +0.0 + 10 +12.43884645669291 + 20 +3.433259842519685 + 30 +0.0 + 10 +12.44537401574803 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.4528188976378 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.4528188976378 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.46020866141732 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.4661811023622 + 20 +3.433397637795276 + 30 +0.0 + 10 +12.47079133858268 + 20 +3.431673228346457 + 30 +0.0 + 10 +12.47079133858268 + 20 +3.431673228346457 + 30 +0.0 + 10 +12.47540157480315 + 20 +3.429925196850394 + 30 +0.0 + 10 +12.47879133858268 + 20 +3.427759842519685 + 30 +0.0 + 10 +12.4809842519685 + 20 +3.42511811023622 + 30 +0.0 + 10 +12.4809842519685 + 20 +3.42511811023622 + 30 +0.0 + 10 +12.48315354330709 + 20 +3.42248031496063 + 30 +0.0 + 10 +12.48465354330709 + 20 +3.419173228346457 + 30 +0.0 + 10 +12.48553937007874 + 20 +3.415145669291339 + 30 +0.0 + 10 +12.48553937007874 + 20 +3.415145669291339 + 30 +0.0 + 10 +12.48601181102362 + 20 +3.412645669291339 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.408145669291339 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.48626377952756 + 20 +3.36848031496063 + 30 +0.0 + 10 +12.48656692913386 + 20 +3.359870078740157 + 30 +0.0 + 10 +12.48720866141732 + 20 +3.356287401574803 + 30 +0.0 + 10 +12.48720866141732 + 20 +3.356287401574803 + 30 +0.0 + 10 +12.4878188976378 + 20 +3.352677165354331 + 30 +0.0 + 10 +12.48906692913386 + 20 +3.349204724409449 + 30 +0.0 + 10 +12.49090157480315 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.49090157480315 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.49090157480315 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.47559448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.47559448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.47559448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.47409448818898 + 20 +3.348925196850394 + 30 +0.0 + 10 +12.47309448818898 + 20 +3.35248031496063 + 30 +0.0 + 10 +12.47268110236221 + 20 +3.356562992125984 + 30 +0.0 + 0 +SPLINE + 5 +37D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.47145669291339 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.46612598425197 + 20 +3.387090551181102 + 30 +0.0 + 10 +12.45815354330709 + 20 +3.385259842519685 + 30 +0.0 + 10 +12.44753937007874 + 20 +3.383732283464567 + 30 +0.0 + 10 +12.44753937007874 + 20 +3.383732283464567 + 30 +0.0 + 10 +12.44151181102362 + 20 +3.382870078740158 + 30 +0.0 + 10 +12.43723622047244 + 20 +3.381897637795276 + 30 +0.0 + 10 +12.43476377952756 + 20 +3.380814960629921 + 30 +0.0 + 10 +12.43476377952756 + 20 +3.380814960629921 + 30 +0.0 + 10 +12.43226377952756 + 20 +3.379732283464567 + 30 +0.0 + 10 +12.43031889763779 + 20 +3.378145669291339 + 30 +0.0 + 10 +12.4289842519685 + 20 +3.376035433070866 + 30 +0.0 + 10 +12.4289842519685 + 20 +3.376035433070866 + 30 +0.0 + 10 +12.42762598425197 + 20 +3.373952755905512 + 30 +0.0 + 10 +12.42692913385827 + 20 +3.371645669291339 + 30 +0.0 + 10 +12.42692913385827 + 20 +3.369090551181102 + 30 +0.0 + 10 +12.42692913385827 + 20 +3.369090551181102 + 30 +0.0 + 10 +12.42692913385827 + 20 +3.365177165354331 + 30 +0.0 + 10 +12.42842913385827 + 20 +3.361925196850394 + 30 +0.0 + 10 +12.43137401574803 + 20 +3.359314960629921 + 30 +0.0 + 10 +12.43137401574803 + 20 +3.359314960629921 + 30 +0.0 + 10 +12.43431889763779 + 20 +3.356732283464567 + 30 +0.0 + 10 +12.43865354330709 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.44434645669291 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.44434645669291 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.4499842519685 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.45501181102362 + 20 +3.356645669291339 + 30 +0.0 + 10 +12.45940157480315 + 20 +3.359118110236221 + 30 +0.0 + 10 +12.45940157480315 + 20 +3.359118110236221 + 30 +0.0 + 10 +12.46379133858268 + 20 +3.361590551181102 + 30 +0.0 + 10 +12.46703937007874 + 20 +3.36498031496063 + 30 +0.0 + 10 +12.46909448818898 + 20 +3.369259842519685 + 30 +0.0 + 10 +12.46909448818898 + 20 +3.369259842519685 + 30 +0.0 + 10 +12.4706811023622 + 20 +3.372562992125984 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.377452755905512 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.47145669291339 + 20 +3.389287401574803 + 30 +0.0 + 0 +SPLINE + 5 +37E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.50881889763779 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.419232283464567 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.419232283464567 + 30 +0.0 + 10 +12.5219842519685 + 20 +3.419232283464567 + 30 +0.0 + 10 +12.52534645669291 + 20 +3.42534251968504 + 30 +0.0 + 10 +12.52845669291339 + 20 +3.429397637795276 + 30 +0.0 + 10 +12.5313188976378 + 20 +3.431342519685039 + 30 +0.0 + 10 +12.5313188976378 + 20 +3.431342519685039 + 30 +0.0 + 10 +12.53414960629921 + 20 +3.433287401574803 + 30 +0.0 + 10 +12.53729133858268 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.54070472440945 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.54070472440945 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.54564960629921 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.55064960629921 + 20 +3.432700787401575 + 30 +0.0 + 10 +12.55575984251968 + 20 +3.429562992125984 + 30 +0.0 + 10 +12.55575984251968 + 20 +3.429562992125984 + 30 +0.0 + 10 +12.55575984251968 + 20 +3.429562992125984 + 30 +0.0 + 10 +12.55070472440945 + 20 +3.415952755905512 + 30 +0.0 + 10 +12.55070472440945 + 20 +3.415952755905512 + 30 +0.0 + 10 +12.55070472440945 + 20 +3.415952755905512 + 30 +0.0 + 10 +12.54714960629921 + 20 +3.418090551181102 + 30 +0.0 + 10 +12.54356692913386 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.5399842519685 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.5399842519685 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.53675984251968 + 20 +3.419145669291339 + 30 +0.0 + 10 +12.53390157480315 + 20 +3.418173228346457 + 30 +0.0 + 10 +12.53134645669291 + 20 +3.416259842519685 + 30 +0.0 + 10 +12.53134645669291 + 20 +3.416259842519685 + 30 +0.0 + 10 +12.52879133858268 + 20 +3.414314960629921 + 30 +0.0 + 10 +12.5269842519685 + 20 +3.411645669291338 + 30 +0.0 + 10 +12.52590157480315 + 20 +3.408232283464567 + 30 +0.0 + 10 +12.52590157480315 + 20 +3.408232283464567 + 30 +0.0 + 10 +12.52426377952756 + 20 +3.403035433070866 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.39734251968504 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.391145669291339 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.391145669291339 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.391145669291339 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.52345669291339 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.50881889763779 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +37F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.62362204724409 + 20 +3.373732283464567 + 30 +0.0 + 10 +12.62362204724409 + 20 +3.373732283464567 + 30 +0.0 + 10 +12.63875984251968 + 20 +3.371870078740157 + 30 +0.0 + 10 +12.63875984251968 + 20 +3.371870078740157 + 30 +0.0 + 10 +12.63875984251968 + 20 +3.371870078740157 + 30 +0.0 + 10 +12.63637401574803 + 20 +3.363007874015748 + 30 +0.0 + 10 +12.63195669291339 + 20 +3.356145669291339 + 30 +0.0 + 10 +12.62551181102362 + 20 +3.351259842519685 + 30 +0.0 + 10 +12.62551181102362 + 20 +3.351259842519685 + 30 +0.0 + 10 +12.61903937007874 + 20 +3.346397637795276 + 30 +0.0 + 10 +12.6107874015748 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.60075984251968 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.60075984251968 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.5881220472441 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.57809448818898 + 20 +3.347842519685039 + 30 +0.0 + 10 +12.57070472440945 + 20 +3.35561811023622 + 30 +0.0 + 10 +12.57070472440945 + 20 +3.35561811023622 + 30 +0.0 + 10 +12.56329133858268 + 20 +3.363397637795276 + 30 +0.0 + 10 +12.55959448818898 + 20 +3.374314960629921 + 30 +0.0 + 10 +12.55959448818898 + 20 +3.388370078740158 + 30 +0.0 + 10 +12.55959448818898 + 20 +3.388370078740158 + 30 +0.0 + 10 +12.55959448818898 + 20 +3.402925196850394 + 30 +0.0 + 10 +12.56334645669291 + 20 +3.414200787401575 + 30 +0.0 + 10 +12.5708188976378 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.5708188976378 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.57831889763779 + 20 +3.430259842519685 + 30 +0.0 + 10 +12.58801181102362 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.59995669291339 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.59995669291339 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.61151181102362 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.62095669291338 + 20 +3.430342519685039 + 30 +0.0 + 10 +12.62825984251969 + 20 +3.42248031496063 + 30 +0.0 + 10 +12.62825984251969 + 20 +3.42248031496063 + 30 +0.0 + 10 +12.63559448818898 + 20 +3.414618110236221 + 30 +0.0 + 10 +12.63925984251969 + 20 +3.403535433070866 + 30 +0.0 + 10 +12.63925984251969 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.63925984251969 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.63925984251969 + 20 +3.388397637795276 + 30 +0.0 + 10 +12.63923228346457 + 20 +3.387090551181102 + 30 +0.0 + 10 +12.63917716535433 + 20 +3.385370078740157 + 30 +0.0 + 10 +12.63917716535433 + 20 +3.385370078740157 + 30 +0.0 + 10 +12.63917716535433 + 20 +3.385370078740157 + 30 +0.0 + 10 +12.57473228346457 + 20 +3.385370078740157 + 30 +0.0 + 10 +12.57473228346457 + 20 +3.385370078740157 + 30 +0.0 + 10 +12.57473228346457 + 20 +3.385370078740157 + 30 +0.0 + 10 +12.57526377952756 + 20 +3.375870078740157 + 30 +0.0 + 10 +12.57795669291339 + 20 +3.368590551181102 + 30 +0.0 + 10 +12.58279133858268 + 20 +3.363562992125984 + 30 +0.0 + 10 +12.58279133858268 + 20 +3.363562992125984 + 30 +0.0 + 10 +12.58762204724409 + 20 +3.358507874015748 + 30 +0.0 + 10 +12.59362204724409 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.60084645669291 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.60084645669291 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.60620472440945 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.6107874015748 + 20 +3.357397637795275 + 30 +0.0 + 10 +12.61459448818898 + 20 +3.360232283464567 + 30 +0.0 + 10 +12.61459448818898 + 20 +3.360232283464567 + 30 +0.0 + 10 +12.61840157480315 + 20 +3.363035433070866 + 30 +0.0 + 10 +12.62140157480315 + 20 +3.367535433070866 + 30 +0.0 + 10 +12.62362204724409 + 20 +3.373732283464567 + 30 +0.0 + 0 +SPLINE + 5 +380 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.57553937007874 + 20 +3.397425196850394 + 30 +0.0 + 10 +12.57553937007874 + 20 +3.397425196850394 + 30 +0.0 + 10 +12.6237874015748 + 20 +3.397425196850394 + 30 +0.0 + 10 +12.6237874015748 + 20 +3.397425196850394 + 30 +0.0 + 10 +12.6237874015748 + 20 +3.397425196850394 + 30 +0.0 + 10 +12.62314960629921 + 20 +3.404673228346457 + 30 +0.0 + 10 +12.6212874015748 + 20 +3.410145669291339 + 30 +0.0 + 10 +12.61825984251968 + 20 +3.413759842519685 + 30 +0.0 + 10 +12.61825984251968 + 20 +3.413759842519685 + 30 +0.0 + 10 +12.61359448818898 + 20 +3.419397637795276 + 30 +0.0 + 10 +12.60753937007874 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.60012204724409 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.60012204724409 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.59340157480315 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.58773228346457 + 20 +3.41998031496063 + 30 +0.0 + 10 +12.58314960629921 + 20 +3.41548031496063 + 30 +0.0 + 10 +12.58314960629921 + 20 +3.41548031496063 + 30 +0.0 + 10 +12.57856692913386 + 20 +3.41098031496063 + 30 +0.0 + 10 +12.57603937007874 + 20 +3.404952755905512 + 30 +0.0 + 10 +12.57553937007874 + 20 +3.397425196850394 + 30 +0.0 + 0 +SPLINE + 5 +381 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.65717716535433 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.420035433070866 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.420035433070866 + 30 +0.0 + 10 +12.67034251968504 + 20 +3.420035433070866 + 30 +0.0 + 10 +12.67670472440945 + 20 +3.429535433070866 + 30 +0.0 + 10 +12.68587007874016 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.69784251968504 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.69784251968504 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.70306692913386 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.70784251968504 + 20 +3.43334251968504 + 30 +0.0 + 10 +12.71220472440945 + 20 +3.43148031496063 + 30 +0.0 + 10 +12.71220472440945 + 20 +3.43148031496063 + 30 +0.0 + 10 +12.71659448818898 + 20 +3.429590551181102 + 30 +0.0 + 10 +12.71984251968504 + 20 +3.427145669291339 + 30 +0.0 + 10 +12.72201181102362 + 20 +3.424090551181102 + 30 +0.0 + 10 +12.72201181102362 + 20 +3.424090551181102 + 30 +0.0 + 10 +12.72420472440945 + 20 +3.421062992125984 + 30 +0.0 + 10 +12.72570472440945 + 20 +3.417452755905512 + 30 +0.0 + 10 +12.72659448818898 + 20 +3.413287401574803 + 30 +0.0 + 10 +12.72659448818898 + 20 +3.413287401574803 + 30 +0.0 + 10 +12.72712204724409 + 20 +3.410562992125984 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.405814960629921 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.399035433070866 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.399035433070866 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.399035433070866 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.72739763779528 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.39848031496063 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.39848031496063 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.39848031496063 + 30 +0.0 + 10 +12.71273228346457 + 20 +3.404425196850394 + 30 +0.0 + 10 +12.71217716535433 + 20 +3.408897637795276 + 30 +0.0 + 10 +12.71103937007874 + 20 +3.411870078740157 + 30 +0.0 + 10 +12.71103937007874 + 20 +3.411870078740157 + 30 +0.0 + 10 +12.70989763779528 + 20 +3.414814960629921 + 30 +0.0 + 10 +12.70787007874016 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.70498031496063 + 20 +3.418925196850394 + 30 +0.0 + 10 +12.70498031496063 + 20 +3.418925196850394 + 30 +0.0 + 10 +12.70206692913386 + 20 +3.420700787401575 + 30 +0.0 + 10 +12.69867716535433 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.69475984251969 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.69475984251969 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.68851181102362 + 20 +3.421590551181102 + 30 +0.0 + 10 +12.68314960629921 + 20 +3.419590551181102 + 30 +0.0 + 10 +12.67859448818898 + 20 +3.415645669291338 + 30 +0.0 + 10 +12.67859448818898 + 20 +3.415645669291338 + 30 +0.0 + 10 +12.67406692913386 + 20 +3.411673228346457 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.404173228346457 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.393090551181102 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.393090551181102 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.393090551181102 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.67181496062992 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.65717716535433 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +382 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.78184251968504 + 20 +3.359007874015748 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.359007874015748 + 30 +0.0 + 10 +12.78395275590551 + 20 +3.346062992125984 + 30 +0.0 + 10 +12.78395275590551 + 20 +3.346062992125984 + 30 +0.0 + 10 +12.78395275590551 + 20 +3.346062992125984 + 30 +0.0 + 10 +12.77984251968504 + 20 +3.345204724409449 + 30 +0.0 + 10 +12.77614566929134 + 20 +3.344759842519685 + 30 +0.0 + 10 +12.77289763779527 + 20 +3.344759842519685 + 30 +0.0 + 10 +12.77289763779527 + 20 +3.344759842519685 + 30 +0.0 + 10 +12.76756299212598 + 20 +3.344759842519685 + 30 +0.0 + 10 +12.76345275590551 + 20 +3.345590551181102 + 30 +0.0 + 10 +12.76050787401575 + 20 +3.347287401574803 + 30 +0.0 + 10 +12.76050787401575 + 20 +3.347287401574803 + 30 +0.0 + 10 +12.7575905511811 + 20 +3.348952755905512 + 30 +0.0 + 10 +12.75553543307087 + 20 +3.351177165354331 + 30 +0.0 + 10 +12.75434251968504 + 20 +3.353925196850394 + 30 +0.0 + 10 +12.75434251968504 + 20 +3.353925196850394 + 30 +0.0 + 10 +12.75314960629921 + 20 +3.356645669291339 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.362425196850394 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.371204724409449 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.371204724409449 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.371204724409449 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.7417874015748 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.453728346456693 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.453728346456693 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.453728346456693 + 30 +0.0 + 10 +12.75253543307087 + 20 +3.453728346456693 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.462507874015748 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.462507874015748 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.462507874015748 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.462507874015748 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.432314960629921 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.420925196850394 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.370397637795276 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.370397637795276 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.370397637795276 + 30 +0.0 + 10 +12.76711811023622 + 20 +3.366204724409449 + 30 +0.0 + 10 +12.76737007874016 + 20 +3.363535433070866 + 30 +0.0 + 10 +12.76787007874016 + 20 +3.362342519685039 + 30 +0.0 + 10 +12.76787007874016 + 20 +3.362342519685039 + 30 +0.0 + 10 +12.76839763779528 + 20 +3.361145669291338 + 30 +0.0 + 10 +12.76923228346457 + 20 +3.360204724409449 + 30 +0.0 + 10 +12.77039763779528 + 20 +3.35948031496063 + 30 +0.0 + 10 +12.77039763779528 + 20 +3.35948031496063 + 30 +0.0 + 10 +12.77156299212598 + 20 +3.358787401574803 + 30 +0.0 + 10 +12.77323228346457 + 20 +3.358425196850394 + 30 +0.0 + 10 +12.77539763779528 + 20 +3.358425196850394 + 30 +0.0 + 10 +12.77539763779528 + 20 +3.358425196850394 + 30 +0.0 + 10 +12.77703543307087 + 20 +3.358425196850394 + 30 +0.0 + 10 +12.77917716535433 + 20 +3.35861811023622 + 30 +0.0 + 10 +12.78184251968504 + 20 +3.359007874015748 + 30 +0.0 + 0 +SPLINE + 5 +383 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.89887401574803 + 20 +3.356562992125984 + 30 +0.0 + 10 +12.89342913385827 + 20 +3.351952755905512 + 30 +0.0 + 10 +12.88820472440945 + 20 +3.348704724409449 + 30 +0.0 + 10 +12.88320472440945 + 20 +3.346787401574803 + 30 +0.0 + 10 +12.88320472440945 + 20 +3.346787401574803 + 30 +0.0 + 10 +12.87817716535433 + 20 +3.344897637795276 + 30 +0.0 + 10 +12.87279133858268 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.86703937007874 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.86703937007874 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.85753937007874 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.85026377952756 + 20 +3.346259842519685 + 30 +0.0 + 10 +12.84514960629921 + 20 +3.350897637795275 + 30 +0.0 + 10 +12.84514960629921 + 20 +3.350897637795275 + 30 +0.0 + 10 +12.84006692913386 + 20 +3.355535433070866 + 30 +0.0 + 10 +12.83751181102362 + 20 +3.36148031496063 + 30 +0.0 + 10 +12.83751181102362 + 20 +3.368677165354331 + 30 +0.0 + 10 +12.83751181102362 + 20 +3.368677165354331 + 30 +0.0 + 10 +12.83751181102362 + 20 +3.372925196850394 + 30 +0.0 + 10 +12.83845669291339 + 20 +3.376787401574803 + 30 +0.0 + 10 +12.84040157480315 + 20 +3.380287401574803 + 30 +0.0 + 10 +12.84040157480315 + 20 +3.380287401574803 + 30 +0.0 + 10 +12.8423188976378 + 20 +3.383787401574803 + 30 +0.0 + 10 +12.84484645669291 + 20 +3.386590551181103 + 30 +0.0 + 10 +12.84795669291339 + 20 +3.388704724409449 + 30 +0.0 + 10 +12.84795669291339 + 20 +3.388704724409449 + 30 +0.0 + 10 +12.85109448818898 + 20 +3.390814960629921 + 30 +0.0 + 10 +12.85459448818898 + 20 +3.392425196850394 + 30 +0.0 + 10 +12.85851181102362 + 20 +3.393507874015748 + 30 +0.0 + 10 +12.85851181102362 + 20 +3.393507874015748 + 30 +0.0 + 10 +12.86137401574803 + 20 +3.394259842519685 + 30 +0.0 + 10 +12.86570472440945 + 20 +3.395007874015748 + 30 +0.0 + 10 +12.87151181102362 + 20 +3.395704724409449 + 30 +0.0 + 10 +12.87151181102362 + 20 +3.395704724409449 + 30 +0.0 + 10 +12.88334645669291 + 20 +3.39711811023622 + 30 +0.0 + 10 +12.89206692913386 + 20 +3.398787401574803 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.400759842519685 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.400759842519685 + 30 +0.0 + 10 +12.89770472440945 + 20 +3.402759842519685 + 30 +0.0 + 10 +12.89773228346457 + 20 +3.404035433070866 + 30 +0.0 + 10 +12.89773228346457 + 20 +3.404562992125984 + 30 +0.0 + 10 +12.89773228346457 + 20 +3.404562992125984 + 30 +0.0 + 10 +12.89773228346457 + 20 +3.410535433070866 + 30 +0.0 + 10 +12.89634645669291 + 20 +3.414759842519685 + 30 +0.0 + 10 +12.89356692913386 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.89356692913386 + 20 +3.417173228346457 + 30 +0.0 + 10 +12.88984645669291 + 20 +3.420507874015748 + 30 +0.0 + 10 +12.88425984251968 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.87690157480315 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.87690157480315 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.87001181102362 + 20 +3.422145669291339 + 30 +0.0 + 10 +12.86492913385827 + 20 +3.420952755905512 + 30 +0.0 + 10 +12.86162204724409 + 20 +3.418535433070866 + 30 +0.0 + 10 +12.86162204724409 + 20 +3.418535433070866 + 30 +0.0 + 10 +12.85834645669291 + 20 +3.416118110236221 + 30 +0.0 + 10 +12.85592913385827 + 20 +3.411842519685039 + 30 +0.0 + 10 +12.85434645669291 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.85434645669291 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.85434645669291 + 20 +3.405700787401575 + 30 +0.0 + 10 +12.84003937007874 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.84003937007874 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.84003937007874 + 20 +3.407673228346457 + 30 +0.0 + 10 +12.84134645669291 + 20 +3.413787401574803 + 30 +0.0 + 10 +12.8434842519685 + 20 +3.418759842519685 + 30 +0.0 + 10 +12.84645669291339 + 20 +3.422507874015748 + 30 +0.0 + 10 +12.84645669291339 + 20 +3.422507874015748 + 30 +0.0 + 10 +12.84942913385827 + 20 +3.426287401574803 + 30 +0.0 + 10 +12.85376377952756 + 20 +3.429200787401575 + 30 +0.0 + 10 +12.85940157480315 + 20 +3.431228346456693 + 30 +0.0 + 10 +12.85940157480315 + 20 +3.431228346456693 + 30 +0.0 + 10 +12.86503937007874 + 20 +3.433259842519685 + 30 +0.0 + 10 +12.87156692913386 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.87901181102362 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.87901181102362 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.88640157480315 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.89237401574803 + 20 +3.433397637795276 + 30 +0.0 + 10 +12.8969842519685 + 20 +3.431673228346457 + 30 +0.0 + 10 +12.8969842519685 + 20 +3.431673228346457 + 30 +0.0 + 10 +12.90159448818898 + 20 +3.429925196850394 + 30 +0.0 + 10 +12.9049842519685 + 20 +3.427759842519685 + 30 +0.0 + 10 +12.90717716535433 + 20 +3.42511811023622 + 30 +0.0 + 10 +12.90717716535433 + 20 +3.42511811023622 + 30 +0.0 + 10 +12.90934645669291 + 20 +3.42248031496063 + 30 +0.0 + 10 +12.91084645669291 + 20 +3.419173228346457 + 30 +0.0 + 10 +12.91173228346457 + 20 +3.415145669291339 + 30 +0.0 + 10 +12.91173228346457 + 20 +3.415145669291339 + 30 +0.0 + 10 +12.91220472440945 + 20 +3.412645669291339 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.408145669291339 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.401645669291339 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.38211811023622 + 30 +0.0 + 10 +12.91245669291339 + 20 +3.36848031496063 + 30 +0.0 + 10 +12.91275984251969 + 20 +3.359870078740157 + 30 +0.0 + 10 +12.91340157480315 + 20 +3.356287401574803 + 30 +0.0 + 10 +12.91340157480315 + 20 +3.356287401574803 + 30 +0.0 + 10 +12.91401181102362 + 20 +3.352677165354331 + 30 +0.0 + 10 +12.91525984251968 + 20 +3.349204724409449 + 30 +0.0 + 10 +12.91709448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.91709448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.91709448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.9017874015748 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.9017874015748 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.9017874015748 + 20 +3.345897637795276 + 30 +0.0 + 10 +12.9002874015748 + 20 +3.348925196850394 + 30 +0.0 + 10 +12.8992874015748 + 20 +3.35248031496063 + 30 +0.0 + 10 +12.89887401574803 + 20 +3.356562992125984 + 30 +0.0 + 0 +SPLINE + 5 +384 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.89764960629921 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.89231889763779 + 20 +3.387090551181102 + 30 +0.0 + 10 +12.88434645669291 + 20 +3.385259842519685 + 30 +0.0 + 10 +12.87373228346457 + 20 +3.383732283464567 + 30 +0.0 + 10 +12.87373228346457 + 20 +3.383732283464567 + 30 +0.0 + 10 +12.86770472440945 + 20 +3.382870078740158 + 30 +0.0 + 10 +12.86342913385827 + 20 +3.381897637795276 + 30 +0.0 + 10 +12.86095669291339 + 20 +3.380814960629921 + 30 +0.0 + 10 +12.86095669291339 + 20 +3.380814960629921 + 30 +0.0 + 10 +12.85845669291339 + 20 +3.379732283464567 + 30 +0.0 + 10 +12.85651181102362 + 20 +3.378145669291339 + 30 +0.0 + 10 +12.85517716535433 + 20 +3.376035433070866 + 30 +0.0 + 10 +12.85517716535433 + 20 +3.376035433070866 + 30 +0.0 + 10 +12.8538188976378 + 20 +3.373952755905512 + 30 +0.0 + 10 +12.85312204724409 + 20 +3.371645669291339 + 30 +0.0 + 10 +12.85312204724409 + 20 +3.369090551181102 + 30 +0.0 + 10 +12.85312204724409 + 20 +3.369090551181102 + 30 +0.0 + 10 +12.85312204724409 + 20 +3.365177165354331 + 30 +0.0 + 10 +12.85462204724409 + 20 +3.361925196850394 + 30 +0.0 + 10 +12.85756692913386 + 20 +3.359314960629921 + 30 +0.0 + 10 +12.85756692913386 + 20 +3.359314960629921 + 30 +0.0 + 10 +12.86051181102362 + 20 +3.356732283464567 + 30 +0.0 + 10 +12.86484645669291 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.87053937007874 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.87053937007874 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.87617716535433 + 20 +3.355425196850394 + 30 +0.0 + 10 +12.88120472440945 + 20 +3.356645669291339 + 30 +0.0 + 10 +12.88559448818898 + 20 +3.359118110236221 + 30 +0.0 + 10 +12.88559448818898 + 20 +3.359118110236221 + 30 +0.0 + 10 +12.8899842519685 + 20 +3.361590551181102 + 30 +0.0 + 10 +12.89323228346457 + 20 +3.36498031496063 + 30 +0.0 + 10 +12.8952874015748 + 20 +3.369259842519685 + 30 +0.0 + 10 +12.8952874015748 + 20 +3.369259842519685 + 30 +0.0 + 10 +12.89687401574803 + 20 +3.372562992125984 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.377452755905512 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.383897637795275 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.389287401574803 + 30 +0.0 + 10 +12.89764960629921 + 20 +3.389287401574803 + 30 +0.0 + 0 +SPLINE + 5 +385 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.99156692913386 + 20 +3.377562992125984 + 30 +0.0 + 10 +12.99156692913386 + 20 +3.377562992125984 + 30 +0.0 + 10 +13.00595275590551 + 20 +3.375673228346457 + 30 +0.0 + 10 +13.00595275590551 + 20 +3.375673228346457 + 30 +0.0 + 10 +13.00595275590551 + 20 +3.375673228346457 + 30 +0.0 + 10 +13.00439763779528 + 20 +3.365759842519685 + 30 +0.0 + 10 +13.00037007874016 + 20 +3.35798031496063 + 30 +0.0 + 10 +12.99387007874016 + 20 +3.352370078740158 + 30 +0.0 + 10 +12.99387007874016 + 20 +3.352370078740158 + 30 +0.0 + 10 +12.98739763779528 + 20 +3.346759842519685 + 30 +0.0 + 10 +12.97942519685039 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.9699842519685 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.9699842519685 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.95817716535433 + 20 +3.343952755905512 + 30 +0.0 + 10 +12.94864960629921 + 20 +3.347814960629921 + 30 +0.0 + 10 +12.9414842519685 + 20 +3.355535433070866 + 30 +0.0 + 10 +12.9414842519685 + 20 +3.355535433070866 + 30 +0.0 + 10 +12.9342874015748 + 20 +3.363259842519685 + 30 +0.0 + 10 +12.93067716535433 + 20 +3.374342519685039 + 30 +0.0 + 10 +12.93067716535433 + 20 +3.388787401574803 + 30 +0.0 + 10 +12.93067716535433 + 20 +3.388787401574803 + 30 +0.0 + 10 +12.93067716535433 + 20 +3.39811811023622 + 30 +0.0 + 10 +12.93223228346457 + 20 +3.406287401574803 + 30 +0.0 + 10 +12.93531496062992 + 20 +3.413287401574803 + 30 +0.0 + 10 +12.93531496062992 + 20 +3.413287401574803 + 30 +0.0 + 10 +12.93842519685039 + 20 +3.420287401574803 + 30 +0.0 + 10 +12.94312204724409 + 20 +3.425535433070866 + 30 +0.0 + 10 +12.94945669291338 + 20 +3.429035433070866 + 30 +0.0 + 10 +12.94945669291338 + 20 +3.429035433070866 + 30 +0.0 + 10 +12.95575984251968 + 20 +3.432535433070866 + 30 +0.0 + 10 +12.96264960629921 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.97006692913386 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.97006692913386 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.97945275590551 + 20 +3.434287401574803 + 30 +0.0 + 10 +12.98714960629921 + 20 +3.431897637795275 + 30 +0.0 + 10 +12.99309448818898 + 20 +3.427145669291339 + 30 +0.0 + 10 +12.99309448818898 + 20 +3.427145669291339 + 30 +0.0 + 10 +12.99906692913386 + 20 +3.422397637795275 + 30 +0.0 + 10 +13.00289763779528 + 20 +3.415673228346457 + 30 +0.0 + 10 +13.00459448818898 + 20 +3.406925196850394 + 30 +0.0 + 10 +13.00459448818898 + 20 +3.406925196850394 + 30 +0.0 + 10 +13.00459448818898 + 20 +3.406925196850394 + 30 +0.0 + 10 +12.99034251968504 + 20 +3.404732283464567 + 30 +0.0 + 10 +12.99034251968504 + 20 +3.404732283464567 + 30 +0.0 + 10 +12.99034251968504 + 20 +3.404732283464567 + 30 +0.0 + 10 +12.98898031496063 + 20 +3.410535433070866 + 30 +0.0 + 10 +12.98659448818898 + 20 +3.414897637795276 + 30 +0.0 + 10 +12.98314960629921 + 20 +3.417842519685039 + 30 +0.0 + 10 +12.98314960629921 + 20 +3.417842519685039 + 30 +0.0 + 10 +12.97970472440945 + 20 +3.420759842519685 + 30 +0.0 + 10 +12.97553937007874 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.97064960629921 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.97064960629921 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.96325984251968 + 20 +3.422232283464567 + 30 +0.0 + 10 +12.95725984251968 + 20 +3.419590551181102 + 30 +0.0 + 10 +12.95264960629921 + 20 +3.414287401574803 + 30 +0.0 + 10 +12.95264960629921 + 20 +3.414287401574803 + 30 +0.0 + 10 +12.94803937007874 + 20 +3.409007874015748 + 30 +0.0 + 10 +12.94573228346457 + 20 +3.400645669291339 + 30 +0.0 + 10 +12.94573228346457 + 20 +3.389204724409449 + 30 +0.0 + 10 +12.94573228346457 + 20 +3.389204724409449 + 30 +0.0 + 10 +12.94573228346457 + 20 +3.377590551181102 + 30 +0.0 + 10 +12.94795669291339 + 20 +3.369145669291338 + 30 +0.0 + 10 +12.95242519685039 + 20 +3.363870078740157 + 30 +0.0 + 10 +12.95242519685039 + 20 +3.363870078740157 + 30 +0.0 + 10 +12.95687007874016 + 20 +3.35861811023622 + 30 +0.0 + 10 +12.96267716535433 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.96984251968504 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.96984251968504 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.97559448818898 + 20 +3.35598031496063 + 30 +0.0 + 10 +12.98037007874016 + 20 +3.357759842519685 + 30 +0.0 + 10 +12.98423228346457 + 20 +3.361287401574803 + 30 +0.0 + 10 +12.98423228346457 + 20 +3.361287401574803 + 30 +0.0 + 10 +12.98809448818898 + 20 +3.364814960629921 + 30 +0.0 + 10 +12.99053937007874 + 20 +3.370232283464567 + 30 +0.0 + 10 +12.99156692913386 + 20 +3.377562992125984 + 30 +0.0 + 0 +SPLINE + 5 +386 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.01834645669291 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.419232283464567 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.419232283464567 + 30 +0.0 + 10 +13.03151181102362 + 20 +3.419232283464567 + 30 +0.0 + 10 +13.03487401574803 + 20 +3.42534251968504 + 30 +0.0 + 10 +13.0379842519685 + 20 +3.429397637795276 + 30 +0.0 + 10 +13.04084645669291 + 20 +3.431342519685039 + 30 +0.0 + 10 +13.04084645669291 + 20 +3.431342519685039 + 30 +0.0 + 10 +13.04367716535433 + 20 +3.433287401574803 + 30 +0.0 + 10 +13.0468188976378 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.05023228346457 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.05023228346457 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.05517716535433 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.06017716535433 + 20 +3.432700787401575 + 30 +0.0 + 10 +13.0652874015748 + 20 +3.429562992125984 + 30 +0.0 + 10 +13.0652874015748 + 20 +3.429562992125984 + 30 +0.0 + 10 +13.0652874015748 + 20 +3.429562992125984 + 30 +0.0 + 10 +13.06023228346457 + 20 +3.415952755905512 + 30 +0.0 + 10 +13.06023228346457 + 20 +3.415952755905512 + 30 +0.0 + 10 +13.06023228346457 + 20 +3.415952755905512 + 30 +0.0 + 10 +13.05667716535433 + 20 +3.418090551181102 + 30 +0.0 + 10 +13.05309448818898 + 20 +3.419145669291339 + 30 +0.0 + 10 +13.04951181102362 + 20 +3.419145669291339 + 30 +0.0 + 10 +13.04951181102362 + 20 +3.419145669291339 + 30 +0.0 + 10 +13.0462874015748 + 20 +3.419145669291339 + 30 +0.0 + 10 +13.04342913385827 + 20 +3.418173228346457 + 30 +0.0 + 10 +13.04087401574803 + 20 +3.416259842519685 + 30 +0.0 + 10 +13.04087401574803 + 20 +3.416259842519685 + 30 +0.0 + 10 +13.0383188976378 + 20 +3.414314960629921 + 30 +0.0 + 10 +13.03651181102362 + 20 +3.411645669291338 + 30 +0.0 + 10 +13.03542913385827 + 20 +3.408232283464567 + 30 +0.0 + 10 +13.03542913385827 + 20 +3.408232283464567 + 30 +0.0 + 10 +13.03379133858268 + 20 +3.403035433070866 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.39734251968504 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.391145669291339 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.391145669291339 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.391145669291339 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.0329842519685 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.01834645669291 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +387 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.07334645669291 + 20 +3.312622047244095 + 30 +0.0 + 10 +13.07334645669291 + 20 +3.312622047244095 + 30 +0.0 + 10 +13.07170472440945 + 20 +3.326370078740157 + 30 +0.0 + 10 +13.07170472440945 + 20 +3.326370078740157 + 30 +0.0 + 10 +13.07170472440945 + 20 +3.326370078740157 + 30 +0.0 + 10 +13.07492913385827 + 20 +3.325507874015748 + 30 +0.0 + 10 +13.07770472440945 + 20 +3.325062992125984 + 30 +0.0 + 10 +13.08009448818898 + 20 +3.325062992125984 + 30 +0.0 + 10 +13.08009448818898 + 20 +3.325062992125984 + 30 +0.0 + 10 +13.08334645669291 + 20 +3.325062992125984 + 30 +0.0 + 10 +13.08595669291339 + 20 +3.325618110236221 + 30 +0.0 + 10 +13.08790157480315 + 20 +3.326704724409449 + 30 +0.0 + 10 +13.08790157480315 + 20 +3.326704724409449 + 30 +0.0 + 10 +13.08987401574803 + 20 +3.327787401574803 + 30 +0.0 + 10 +13.09145669291339 + 20 +3.329287401574803 + 30 +0.0 + 10 +13.09270472440945 + 20 +3.331259842519685 + 30 +0.0 + 10 +13.09270472440945 + 20 +3.331259842519685 + 30 +0.0 + 10 +13.09364960629921 + 20 +3.332704724409449 + 30 +0.0 + 10 +13.09512204724409 + 20 +3.33634251968504 + 30 +0.0 + 10 +13.09717716535433 + 20 +3.342149606299213 + 30 +0.0 + 10 +13.09717716535433 + 20 +3.342149606299213 + 30 +0.0 + 10 +13.09745669291339 + 20 +3.34298031496063 + 30 +0.0 + 10 +13.09790157480315 + 20 +3.344149606299212 + 30 +0.0 + 10 +13.0984842519685 + 20 +3.345732283464567 + 30 +0.0 + 10 +13.0984842519685 + 20 +3.345732283464567 + 30 +0.0 + 10 +13.0984842519685 + 20 +3.345732283464567 + 30 +0.0 + 10 +13.06570472440945 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.06570472440945 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.06570472440945 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.06570472440945 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.0814842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.0814842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.0814842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.0814842519685 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.0994842519685 + 20 +3.382287401574803 + 30 +0.0 + 10 +13.0994842519685 + 20 +3.382287401574803 + 30 +0.0 + 10 +13.0994842519685 + 20 +3.382287401574803 + 30 +0.0 + 10 +13.1017874015748 + 20 +3.375925196850394 + 30 +0.0 + 10 +13.10390157480315 + 20 +3.369259842519685 + 30 +0.0 + 10 +13.10573228346457 + 20 +3.362259842519685 + 30 +0.0 + 10 +13.10573228346457 + 20 +3.362259842519685 + 30 +0.0 + 10 +13.10742913385827 + 20 +3.36898031496063 + 30 +0.0 + 10 +13.10942913385827 + 20 +3.375535433070866 + 30 +0.0 + 10 +13.11175984251969 + 20 +3.381952755905512 + 30 +0.0 + 10 +13.11175984251969 + 20 +3.381952755905512 + 30 +0.0 + 10 +13.11175984251969 + 20 +3.381952755905512 + 30 +0.0 + 10 +13.13023228346457 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.13023228346457 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.13023228346457 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.13023228346457 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.14487401574803 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.14487401574803 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.14487401574803 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.14487401574803 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.11201181102362 + 20 +3.344425196850394 + 30 +0.0 + 10 +13.11201181102362 + 20 +3.344425196850394 + 30 +0.0 + 10 +13.11201181102362 + 20 +3.344425196850394 + 30 +0.0 + 10 +13.1084842519685 + 20 +3.334925196850394 + 30 +0.0 + 10 +13.10573228346457 + 20 +3.328397637795276 + 30 +0.0 + 10 +13.1037874015748 + 20 +3.324814960629921 + 30 +0.0 + 10 +13.1037874015748 + 20 +3.324814960629921 + 30 +0.0 + 10 +13.10117716535433 + 20 +3.31998031496063 + 30 +0.0 + 10 +13.09820472440945 + 20 +3.316452755905512 + 30 +0.0 + 10 +13.09484645669291 + 20 +3.314204724409449 + 30 +0.0 + 10 +13.09484645669291 + 20 +3.314204724409449 + 30 +0.0 + 10 +13.09145669291339 + 20 +3.311952755905512 + 30 +0.0 + 10 +13.08745669291339 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.08279133858268 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.08279133858268 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.07995669291339 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.07681889763779 + 20 +3.311425196850394 + 30 +0.0 + 10 +13.07334645669291 + 20 +3.312622047244095 + 30 +0.0 + 0 +SPLINE + 5 +388 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.15701181102362 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.17165354330709 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.15701181102362 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +389 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.19442913385827 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.465200787401575 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.448342519685039 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.448342519685039 + 30 +0.0 + 0 +SPLINE + 5 +38A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.19442913385827 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.432314960629921 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.20909448818898 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.345897637795276 + 30 +0.0 + 10 +13.19442913385827 + 20 +3.345897637795276 + 30 +0.0 + 0 +SPLINE + 5 +38B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.28779133858268 + 20 +3.377562992125984 + 30 +0.0 + 10 +13.28779133858268 + 20 +3.377562992125984 + 30 +0.0 + 10 +13.30217716535433 + 20 +3.375673228346457 + 30 +0.0 + 10 +13.30217716535433 + 20 +3.375673228346457 + 30 +0.0 + 10 +13.30217716535433 + 20 +3.375673228346457 + 30 +0.0 + 10 +13.30062204724409 + 20 +3.365759842519685 + 30 +0.0 + 10 +13.29659448818898 + 20 +3.35798031496063 + 30 +0.0 + 10 +13.29009448818898 + 20 +3.352370078740158 + 30 +0.0 + 10 +13.29009448818898 + 20 +3.352370078740158 + 30 +0.0 + 10 +13.28362204724409 + 20 +3.346759842519685 + 30 +0.0 + 10 +13.27564960629921 + 20 +3.343952755905512 + 30 +0.0 + 10 +13.26620866141732 + 20 +3.343952755905512 + 30 +0.0 + 10 +13.26620866141732 + 20 +3.343952755905512 + 30 +0.0 + 10 +13.25440157480315 + 20 +3.343952755905512 + 30 +0.0 + 10 +13.24487401574803 + 20 +3.347814960629921 + 30 +0.0 + 10 +13.23770866141732 + 20 +3.355535433070866 + 30 +0.0 + 10 +13.23770866141732 + 20 +3.355535433070866 + 30 +0.0 + 10 +13.23051181102362 + 20 +3.363259842519685 + 30 +0.0 + 10 +13.22690157480315 + 20 +3.374342519685039 + 30 +0.0 + 10 +13.22690157480315 + 20 +3.388787401574803 + 30 +0.0 + 10 +13.22690157480315 + 20 +3.388787401574803 + 30 +0.0 + 10 +13.22690157480315 + 20 +3.39811811023622 + 30 +0.0 + 10 +13.22845669291339 + 20 +3.406287401574803 + 30 +0.0 + 10 +13.23153937007874 + 20 +3.413287401574803 + 30 +0.0 + 10 +13.23153937007874 + 20 +3.413287401574803 + 30 +0.0 + 10 +13.23464960629921 + 20 +3.420287401574803 + 30 +0.0 + 10 +13.23934645669291 + 20 +3.425535433070866 + 30 +0.0 + 10 +13.24568110236221 + 20 +3.429035433070866 + 30 +0.0 + 10 +13.24568110236221 + 20 +3.429035433070866 + 30 +0.0 + 10 +13.2519842519685 + 20 +3.432535433070866 + 30 +0.0 + 10 +13.25887401574803 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.26629133858268 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.26629133858268 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.27567716535433 + 20 +3.434287401574803 + 30 +0.0 + 10 +13.28337401574803 + 20 +3.431897637795275 + 30 +0.0 + 10 +13.28931889763779 + 20 +3.427145669291339 + 30 +0.0 + 10 +13.28931889763779 + 20 +3.427145669291339 + 30 +0.0 + 10 +13.29529133858268 + 20 +3.422397637795275 + 30 +0.0 + 10 +13.29912204724409 + 20 +3.415673228346457 + 30 +0.0 + 10 +13.30081889763779 + 20 +3.406925196850394 + 30 +0.0 + 10 +13.30081889763779 + 20 +3.406925196850394 + 30 +0.0 + 10 +13.30081889763779 + 20 +3.406925196850394 + 30 +0.0 + 10 +13.28656692913386 + 20 +3.404732283464567 + 30 +0.0 + 10 +13.28656692913386 + 20 +3.404732283464567 + 30 +0.0 + 10 +13.28656692913386 + 20 +3.404732283464567 + 30 +0.0 + 10 +13.28520472440945 + 20 +3.410535433070866 + 30 +0.0 + 10 +13.2828188976378 + 20 +3.414897637795276 + 30 +0.0 + 10 +13.27937401574803 + 20 +3.417842519685039 + 30 +0.0 + 10 +13.27937401574803 + 20 +3.417842519685039 + 30 +0.0 + 10 +13.27592913385827 + 20 +3.420759842519685 + 30 +0.0 + 10 +13.27176377952756 + 20 +3.422232283464567 + 30 +0.0 + 10 +13.26687401574803 + 20 +3.422232283464567 + 30 +0.0 + 10 +13.26687401574803 + 20 +3.422232283464567 + 30 +0.0 + 10 +13.2594842519685 + 20 +3.422232283464567 + 30 +0.0 + 10 +13.2534842519685 + 20 +3.419590551181102 + 30 +0.0 + 10 +13.24887401574803 + 20 +3.414287401574803 + 30 +0.0 + 10 +13.24887401574803 + 20 +3.414287401574803 + 30 +0.0 + 10 +13.24426377952756 + 20 +3.409007874015748 + 30 +0.0 + 10 +13.24195669291339 + 20 +3.400645669291339 + 30 +0.0 + 10 +13.24195669291339 + 20 +3.389204724409449 + 30 +0.0 + 10 +13.24195669291339 + 20 +3.389204724409449 + 30 +0.0 + 10 +13.24195669291339 + 20 +3.377590551181102 + 30 +0.0 + 10 +13.24418110236221 + 20 +3.369145669291338 + 30 +0.0 + 10 +13.24864960629921 + 20 +3.363870078740157 + 30 +0.0 + 10 +13.24864960629921 + 20 +3.363870078740157 + 30 +0.0 + 10 +13.25309448818898 + 20 +3.35861811023622 + 30 +0.0 + 10 +13.25890157480315 + 20 +3.35598031496063 + 30 +0.0 + 10 +13.26606692913386 + 20 +3.35598031496063 + 30 +0.0 + 10 +13.26606692913386 + 20 +3.35598031496063 + 30 +0.0 + 10 +13.27181889763779 + 20 +3.35598031496063 + 30 +0.0 + 10 +13.27659448818898 + 20 +3.357759842519685 + 30 +0.0 + 10 +13.28045669291339 + 20 +3.361287401574803 + 30 +0.0 + 10 +13.28045669291339 + 20 +3.361287401574803 + 30 +0.0 + 10 +13.2843188976378 + 20 +3.364814960629921 + 30 +0.0 + 10 +13.28676377952756 + 20 +3.370232283464567 + 30 +0.0 + 10 +13.28779133858268 + 20 +3.377562992125984 + 30 +0.0 + 0 +SPLINE + 5 +38C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.3243188976378 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.3243188976378 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.31381889763779 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.31381889763779 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.31381889763779 + 20 +3.310814960629921 + 30 +0.0 + 10 +13.33004330708661 + 20 +3.336870078740157 + 30 +0.0 + 10 +13.33815354330709 + 20 +3.362925196850393 + 30 +0.0 + 10 +13.33815354330709 + 20 +3.389035433070866 + 30 +0.0 + 10 +13.33815354330709 + 20 +3.389035433070866 + 30 +0.0 + 10 +13.33815354330709 + 20 +3.399232283464567 + 30 +0.0 + 10 +13.3369842519685 + 20 +3.40934251968504 + 30 +0.0 + 10 +13.33465354330709 + 20 +3.419397637795276 + 30 +0.0 + 10 +13.33465354330709 + 20 +3.419397637795276 + 30 +0.0 + 10 +13.33281889763779 + 20 +3.427507874015748 + 30 +0.0 + 10 +13.33023622047244 + 20 +3.435342519685039 + 30 +0.0 + 10 +13.32692913385827 + 20 +3.442814960629921 + 30 +0.0 + 10 +13.32692913385827 + 20 +3.442814960629921 + 30 +0.0 + 10 +13.3248188976378 + 20 +3.447700787401575 + 30 +0.0 + 10 +13.32045669291339 + 20 +3.45584251968504 + 30 +0.0 + 10 +13.31381889763779 + 20 +3.467228346456693 + 30 +0.0 + 10 +13.31381889763779 + 20 +3.467228346456693 + 30 +0.0 + 10 +13.31381889763779 + 20 +3.467228346456693 + 30 +0.0 + 10 +13.3243188976378 + 20 +3.467228346456693 + 30 +0.0 + 10 +13.3243188976378 + 20 +3.467228346456693 + 30 +0.0 + 10 +13.3243188976378 + 20 +3.467228346456693 + 30 +0.0 + 10 +13.33451181102362 + 20 +3.453618110236221 + 30 +0.0 + 10 +13.34207086614173 + 20 +3.439952755905512 + 30 +0.0 + 10 +13.34695669291339 + 20 +3.426232283464567 + 30 +0.0 + 10 +13.34695669291339 + 20 +3.426232283464567 + 30 +0.0 + 10 +13.35112598425197 + 20 +3.414397637795275 + 30 +0.0 + 10 +13.35320866141732 + 20 +3.402035433070866 + 30 +0.0 + 10 +13.35320866141732 + 20 +3.38911811023622 + 30 +0.0 + 10 +13.35320866141732 + 20 +3.38911811023622 + 30 +0.0 + 10 +13.35320866141732 + 20 +3.374452755905512 + 30 +0.0 + 10 +13.35040157480315 + 20 +3.360314960629921 + 30 +0.0 + 10 +13.34479133858268 + 20 +3.34661811023622 + 30 +0.0 + 10 +13.34479133858268 + 20 +3.34661811023622 + 30 +0.0 + 10 +13.3391811023622 + 20 +3.332952755905512 + 30 +0.0 + 10 +13.33234645669291 + 20 +3.321007874015748 + 30 +0.0 + 10 +13.3243188976378 + 20 +3.310814960629921 + 30 +0.0 + 0 +SPLINE + 5 +38D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 0 +SPLINE + 5 +38E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 0 +SPLINE + 5 +38F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 0 +SPLINE + 5 +390 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 0 +SPLINE + 5 +391 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.886492125984251 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 0 +SPLINE + 5 +392 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 0 +SPLINE + 5 +393 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 0 +SPLINE + 5 +394 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 0 +SPLINE + 5 +395 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437283464566929 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298503937007874 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424370078740158 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424370078740158 + 30 +0.0 + 0 +SPLINE + 5 +396 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997952755905512 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 0 +SPLINE + 5 +397 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 0 +SPLINE + 5 +398 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 0 +SPLINE + 5 +399 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 0 +SPLINE + 5 +39A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 0 +SPLINE + 5 +39B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437244094488189 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424330708661417 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424330708661417 + 30 +0.0 + 0 +SPLINE + 5 +39C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1997992125984252 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.298507874015748 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +39D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +39E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +39F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +3A0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +3A1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +3A2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437204724409449 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424291338582677 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424291338582677 + 30 +0.0 + 0 +SPLINE + 5 +3A3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998031496062992 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985118110236221 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 0 +SPLINE + 5 +3A4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 0 +SPLINE + 5 +3A5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 0 +SPLINE + 5 +3A6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.544259842519685 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.445551181102362 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.445551181102362 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.544259842519685 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.66601968503937 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.78778346456693 + 20 +-0.2985157480314961 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.1998070866141732 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.886492125984251 + 20 +0.0437165354330709 + 30 +0.0 + 10 +9.78778346456693 + 20 +0.1424251968503937 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.1424251968503937 + 30 +0.0 + 0 +SPLINE + 5 +3A7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711299212598425 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849330708661417 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3A8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3A9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3AA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3AB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3AC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3AD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3AE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3AF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3B0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3B1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3B2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3B3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3B4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3B5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3B6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3B7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3B8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3B9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3BA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3BB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3BC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3BD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3BE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3BF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3C0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0711456692913386 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.749350393700787 + 20 +-0.0849488188976378 + 30 +0.0 + 10 +9.754944881889763 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.768751968503937 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0849488188976378 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.774350393700788 + 20 +-0.0711456692913386 + 30 +0.0 + 10 +9.768755905511812 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.761850393700787 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3C1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711299212598425 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849330708661417 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3C2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3C3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3C4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3C5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3C6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 24 + 71 + 3 + 72 + 8 + 73 + 4 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3C7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3C8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3C9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780314960629921 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655354330708661 + 30 +0.0 + 0 +SPLINE + 5 +3CA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3CB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3CC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849370078740157 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711338582677165 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3CD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3CE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3CF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780354330708661 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3D0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849409448818898 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711377952755906 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780393700787402 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655433070866142 + 30 +0.0 + 0 +SPLINE + 5 +3D7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3D8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3D9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849448818897638 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711417322834646 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3DA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0711456692913386 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.557692913385827 + 20 +-0.0849488188976378 + 30 +0.0 + 10 +9.563287401574803 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.577094488188976 + 20 +-0.0905433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0849488188976378 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0780433070866142 + 30 +0.0 + 10 +9.582692913385827 + 20 +-0.0711456692913386 + 30 +0.0 + 10 +9.57709842519685 + 20 +-0.0655472440944882 + 30 +0.0 + 10 +9.570192913385826 + 20 +-0.0655472440944882 + 30 +0.0 + 0 +SPLINE + 5 +3DB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +9.653523622047244 + 20 +0.0177952755905512 + 30 +0.0 + 10 +9.653523622047244 + 20 +0.0247007874015748 + 30 +0.0 + 10 +9.659118110236221 + 20 +0.0302952755905512 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.0302952755905512 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.0302952755905512 + 30 +0.0 + 10 +9.672925196850393 + 20 +0.0302952755905512 + 30 +0.0 + 10 +9.67851968503937 + 20 +0.0247007874015748 + 30 +0.0 + 10 +9.67851968503937 + 20 +0.0177952755905512 + 30 +0.0 + 10 +9.67851968503937 + 20 +0.0177952755905512 + 30 +0.0 + 10 +9.67851968503937 + 20 +0.0108897637795276 + 30 +0.0 + 10 +9.672925196850393 + 20 +0.0052952755905512 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.0052952755905512 + 30 +0.0 + 10 +9.66601968503937 + 20 +0.0052952755905512 + 30 +0.0 + 10 +9.659118110236221 + 20 +0.0052952755905512 + 30 +0.0 + 10 +9.653523622047244 + 20 +0.0108897637795276 + 30 +0.0 + 10 +9.653523622047244 + 20 +0.0177952755905512 + 30 +0.0 + 0 +SPLINE + 5 +3DC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.10906299212598 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.10906299212598 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.10906299212598 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.10906299212598 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.10906299212598 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.10906299212598 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.19906692913386 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.19906692913386 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.19906692913386 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.21489763779527 + 20 +0.0535708661417323 + 30 +0.0 + 10 +10.22700787401575 + 20 +0.0527952755905512 + 30 +0.0 + 10 +10.23534251968504 + 20 +0.0512952755905512 + 30 +0.0 + 10 +10.23534251968504 + 20 +0.0512952755905512 + 30 +0.0 + 10 +10.24706692913386 + 20 +0.0493503937007874 + 30 +0.0 + 10 +10.25689763779527 + 20 +0.0456299212598425 + 30 +0.0 + 10 +10.26484251968504 + 20 +0.0401299212598425 + 30 +0.0 + 10 +10.26484251968504 + 20 +0.0401299212598425 + 30 +0.0 + 10 +10.27273228346457 + 20 +0.0346850393700787 + 30 +0.0 + 10 +10.27912204724409 + 20 +0.0269606299212598 + 30 +0.0 + 10 +10.28395275590551 + 20 +0.0171299212598425 + 30 +0.0 + 10 +10.28395275590551 + 20 +0.0171299212598425 + 30 +0.0 + 10 +10.2887874015748 + 20 +0.007240157480315 + 30 +0.0 + 10 +10.29117716535433 + 20 +-0.0035944881889764 + 30 +0.0 + 10 +10.29117716535433 + 20 +-0.0154291338582677 + 30 +0.0 + 10 +10.29117716535433 + 20 +-0.0154291338582677 + 30 +0.0 + 10 +10.29117716535433 + 20 +-0.0357047244094488 + 30 +0.0 + 10 +10.28473228346457 + 20 +-0.0529291338582677 + 30 +0.0 + 10 +10.27184251968504 + 20 +-0.0669842519685039 + 30 +0.0 + 10 +10.27184251968504 + 20 +-0.0669842519685039 + 30 +0.0 + 10 +10.25889763779528 + 20 +-0.0809842519685039 + 30 +0.0 + 10 +10.23556692913386 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.20184251968504 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.20184251968504 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.20184251968504 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.10906299212598 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.10906299212598 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3DD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.1406220472441 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.20234251968504 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.20234251968504 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.20234251968504 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.22273228346457 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.23723228346457 + 20 +-0.0560944881889764 + 30 +0.0 + 10 +10.2457874015748 + 20 +-0.0484842519685039 + 30 +0.0 + 10 +10.2457874015748 + 20 +-0.0484842519685039 + 30 +0.0 + 10 +10.25434251968504 + 20 +-0.0408740157480315 + 30 +0.0 + 10 +10.25862204724409 + 20 +-0.0302047244094488 + 30 +0.0 + 10 +10.25862204724409 + 20 +-0.0164291338582677 + 30 +0.0 + 10 +10.25862204724409 + 20 +-0.0164291338582677 + 30 +0.0 + 10 +10.25862204724409 + 20 +-0.0064291338582677 + 30 +0.0 + 10 +10.25612204724409 + 20 +0.0021299212598425 + 30 +0.0 + 10 +10.25106692913386 + 20 +0.009240157480315 + 30 +0.0 + 10 +10.25106692913386 + 20 +0.009240157480315 + 30 +0.0 + 10 +10.24600787401575 + 20 +0.0163503937007874 + 30 +0.0 + 10 +10.23939763779528 + 20 +0.0210157480314961 + 30 +0.0 + 10 +10.23112204724409 + 20 +0.0232952755905512 + 30 +0.0 + 10 +10.23112204724409 + 20 +0.0232952755905512 + 30 +0.0 + 10 +10.2257874015748 + 20 +0.0246850393700787 + 30 +0.0 + 10 +10.21600787401575 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.20167716535433 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.20167716535433 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.20167716535433 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.1406220472441 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.1406220472441 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.1406220472441 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.1406220472441 + 20 +0.0254055118110236 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.0598740157480315 + 30 +0.0 + 0 +SPLINE + 5 +3DE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.44045669291339 + 20 +-0.1637047244094488 + 30 +0.0 + 10 +10.42956692913386 + 20 +-0.1729291338582677 + 30 +0.0 + 10 +10.41912204724409 + 20 +-0.1794291338582677 + 30 +0.0 + 10 +10.40912204724409 + 20 +-0.1832598425196851 + 30 +0.0 + 10 +10.40912204724409 + 20 +-0.1832598425196851 + 30 +0.0 + 10 +10.39906692913386 + 20 +-0.1870393700787402 + 30 +0.0 + 10 +10.3882874015748 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.3767874015748 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.3767874015748 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.3577874015748 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.34323228346457 + 20 +-0.1843188976377953 + 30 +0.0 + 10 +10.33301181102362 + 20 +-0.1750393700787402 + 30 +0.0 + 10 +10.33301181102362 + 20 +-0.1750393700787402 + 30 +0.0 + 10 +10.32284251968504 + 20 +-0.165759842519685 + 30 +0.0 + 10 +10.31773228346457 + 20 +-0.1538740157480315 + 30 +0.0 + 10 +10.31773228346457 + 20 +-0.1394842519685039 + 30 +0.0 + 10 +10.31773228346457 + 20 +-0.1394842519685039 + 30 +0.0 + 10 +10.31773228346457 + 20 +-0.1309842519685039 + 30 +0.0 + 10 +10.31962204724409 + 20 +-0.123259842519685 + 30 +0.0 + 10 +10.32351181102362 + 20 +-0.116259842519685 + 30 +0.0 + 10 +10.32351181102362 + 20 +-0.116259842519685 + 30 +0.0 + 10 +10.32734251968504 + 20 +-0.109259842519685 + 30 +0.0 + 10 +10.33239763779528 + 20 +-0.1036496062992126 + 30 +0.0 + 10 +10.33862204724409 + 20 +-0.0994291338582677 + 30 +0.0 + 10 +10.33862204724409 + 20 +-0.0994291338582677 + 30 +0.0 + 10 +10.34489763779528 + 20 +-0.0952047244094488 + 30 +0.0 + 10 +10.35189763779528 + 20 +-0.0919842519685039 + 30 +0.0 + 10 +10.35973228346457 + 20 +-0.0898149606299213 + 30 +0.0 + 10 +10.35973228346457 + 20 +-0.0898149606299213 + 30 +0.0 + 10 +10.36545669291339 + 20 +-0.0883149606299213 + 30 +0.0 + 10 +10.37412204724409 + 20 +-0.0868149606299213 + 30 +0.0 + 10 +10.38573228346457 + 20 +-0.0854291338582677 + 30 +0.0 + 10 +10.38573228346457 + 20 +-0.0854291338582677 + 30 +0.0 + 10 +10.40940157480315 + 20 +-0.0825944881889764 + 30 +0.0 + 10 +10.42684251968504 + 20 +-0.079259842519685 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.0753149606299213 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.0753149606299213 + 30 +0.0 + 10 +10.43812204724409 + 20 +-0.0713149606299213 + 30 +0.0 + 10 +10.43817716535433 + 20 +-0.068759842519685 + 30 +0.0 + 10 +10.43817716535433 + 20 +-0.0677047244094488 + 30 +0.0 + 10 +10.43817716535433 + 20 +-0.0677047244094488 + 30 +0.0 + 10 +10.43817716535433 + 20 +-0.055759842519685 + 30 +0.0 + 10 +10.43540157480315 + 20 +-0.0473149606299213 + 30 +0.0 + 10 +10.42984251968504 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +10.42984251968504 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +10.42240157480315 + 20 +-0.0358149606299213 + 30 +0.0 + 10 +10.41123228346457 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.39651181102362 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.39651181102362 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.38273228346457 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.37256692913386 + 20 +-0.0349291338582677 + 30 +0.0 + 10 +10.36595669291339 + 20 +-0.039759842519685 + 30 +0.0 + 10 +10.36595669291339 + 20 +-0.039759842519685 + 30 +0.0 + 10 +10.35939763779528 + 20 +-0.0445944881889764 + 30 +0.0 + 10 +10.35456692913386 + 20 +-0.0531496062992126 + 30 +0.0 + 10 +10.35139763779527 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +10.35139763779527 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +10.35139763779527 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +10.3227874015748 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +10.3227874015748 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +10.3227874015748 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +10.32539763779527 + 20 +-0.049259842519685 + 30 +0.0 + 10 +10.32967716535433 + 20 +-0.0393149606299213 + 30 +0.0 + 10 +10.33562204724409 + 20 +-0.0318149606299213 + 30 +0.0 + 10 +10.33562204724409 + 20 +-0.0318149606299213 + 30 +0.0 + 10 +10.34156692913386 + 20 +-0.024259842519685 + 30 +0.0 + 10 +10.35023228346457 + 20 +-0.0184291338582677 + 30 +0.0 + 10 +10.36151181102362 + 20 +-0.0143700787401575 + 30 +0.0 + 10 +10.36151181102362 + 20 +-0.0143700787401575 + 30 +0.0 + 10 +10.3727874015748 + 20 +-0.0103149606299213 + 30 +0.0 + 10 +10.38584251968504 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.40073228346457 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.40073228346457 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.41551181102362 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.42745669291339 + 20 +-0.0100393700787402 + 30 +0.0 + 10 +10.43667716535433 + 20 +-0.0134842519685039 + 30 +0.0 + 10 +10.43667716535433 + 20 +-0.0134842519685039 + 30 +0.0 + 10 +10.44590157480315 + 20 +-0.0169842519685039 + 30 +0.0 + 10 +10.45267716535433 + 20 +-0.0213149606299213 + 30 +0.0 + 10 +10.45706692913386 + 20 +-0.0265944881889764 + 30 +0.0 + 10 +10.45706692913386 + 20 +-0.0265944881889764 + 30 +0.0 + 10 +10.46140157480315 + 20 +-0.0318740157480315 + 30 +0.0 + 10 +10.46440157480315 + 20 +-0.0384842519685039 + 30 +0.0 + 10 +10.46617716535433 + 20 +-0.0465393700787402 + 30 +0.0 + 10 +10.46617716535433 + 20 +-0.0465393700787402 + 30 +0.0 + 10 +10.46712204724409 + 20 +-0.0515393700787402 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.0605393700787402 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +10.4676220472441 + 20 +-0.1398740157480315 + 30 +0.0 + 10 +10.46823228346457 + 20 +-0.1570944881889764 + 30 +0.0 + 10 +10.46951181102362 + 20 +-0.164259842519685 + 30 +0.0 + 10 +10.46951181102362 + 20 +-0.164259842519685 + 30 +0.0 + 10 +10.47073228346457 + 20 +-0.1714842519685039 + 30 +0.0 + 10 +10.47323228346457 + 20 +-0.1784291338582677 + 30 +0.0 + 10 +10.47690157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.47690157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.47690157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.4462874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.4462874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.4462874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.4432874015748 + 20 +-0.1789842519685039 + 30 +0.0 + 10 +10.4412874015748 + 20 +-0.1718740157480315 + 30 +0.0 + 10 +10.44045669291339 + 20 +-0.1637047244094488 + 30 +0.0 + 0 +SPLINE + 5 +3DF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.43801181102362 + 20 +-0.098259842519685 + 30 +0.0 + 10 +10.42734251968504 + 20 +-0.1026496062992126 + 30 +0.0 + 10 +10.41140157480315 + 20 +-0.1063149606299213 + 30 +0.0 + 10 +10.39017716535433 + 20 +-0.1093740157480315 + 30 +0.0 + 10 +10.39017716535433 + 20 +-0.1093740157480315 + 30 +0.0 + 10 +10.37812204724409 + 20 +-0.1110944881889764 + 30 +0.0 + 10 +10.36956692913386 + 20 +-0.1130393700787402 + 30 +0.0 + 10 +10.36462204724409 + 20 +-0.1152047244094488 + 30 +0.0 + 10 +10.36462204724409 + 20 +-0.1152047244094488 + 30 +0.0 + 10 +10.35962204724409 + 20 +-0.1173740157480315 + 30 +0.0 + 10 +10.35573228346457 + 20 +-0.1205393700787402 + 30 +0.0 + 10 +10.35306692913386 + 20 +-0.124759842519685 + 30 +0.0 + 10 +10.35306692913386 + 20 +-0.124759842519685 + 30 +0.0 + 10 +10.35034251968504 + 20 +-0.1289291338582677 + 30 +0.0 + 10 +10.34895669291339 + 20 +-0.1335393700787401 + 30 +0.0 + 10 +10.34895669291339 + 20 +-0.1386496062992126 + 30 +0.0 + 10 +10.34895669291339 + 20 +-0.1386496062992126 + 30 +0.0 + 10 +10.34895669291339 + 20 +-0.1464842519685039 + 30 +0.0 + 10 +10.35195669291339 + 20 +-0.1529842519685039 + 30 +0.0 + 10 +10.35784251968504 + 20 +-0.1582047244094488 + 30 +0.0 + 10 +10.35784251968504 + 20 +-0.1582047244094488 + 30 +0.0 + 10 +10.36373228346457 + 20 +-0.1633740157480315 + 30 +0.0 + 10 +10.37240157480315 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.3837874015748 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.3837874015748 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.39506692913386 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.4051220472441 + 20 +-0.1635393700787402 + 30 +0.0 + 10 +10.41390157480315 + 20 +-0.1585944881889764 + 30 +0.0 + 10 +10.41390157480315 + 20 +-0.1585944881889764 + 30 +0.0 + 10 +10.42267716535433 + 20 +-0.1536496062992126 + 30 +0.0 + 10 +10.42917716535433 + 20 +-0.1468740157480315 + 30 +0.0 + 10 +10.4332874015748 + 20 +-0.1383188976377953 + 30 +0.0 + 10 +10.4332874015748 + 20 +-0.1383188976377953 + 30 +0.0 + 10 +10.43645669291339 + 20 +-0.1317047244094488 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.1219291338582677 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.098259842519685 + 30 +0.0 + 10 +10.43801181102362 + 20 +-0.098259842519685 + 30 +0.0 + 0 +SPLINE + 5 +3E0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.51306692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.036759842519685 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.036759842519685 + 30 +0.0 + 10 +10.53940157480315 + 20 +-0.036759842519685 + 30 +0.0 + 10 +10.55212204724409 + 20 +-0.017759842519685 + 30 +0.0 + 10 +10.57045669291339 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.59440157480315 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.59440157480315 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.60484645669291 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.61440157480315 + 20 +-0.0101496062992126 + 30 +0.0 + 10 +10.6231220472441 + 20 +-0.0138700787401575 + 30 +0.0 + 10 +10.6231220472441 + 20 +-0.0138700787401575 + 30 +0.0 + 10 +10.63190157480315 + 20 +-0.0176496062992126 + 30 +0.0 + 10 +10.63840157480315 + 20 +-0.0225393700787402 + 30 +0.0 + 10 +10.64273228346457 + 20 +-0.0286496062992126 + 30 +0.0 + 10 +10.64273228346457 + 20 +-0.0286496062992126 + 30 +0.0 + 10 +10.64712204724409 + 20 +-0.0347047244094488 + 30 +0.0 + 10 +10.65012204724409 + 20 +-0.0419291338582677 + 30 +0.0 + 10 +10.65190157480315 + 20 +-0.050259842519685 + 30 +0.0 + 10 +10.65190157480315 + 20 +-0.050259842519685 + 30 +0.0 + 10 +10.65295669291338 + 20 +-0.0557047244094488 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.0652047244094488 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.078759842519685 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.078759842519685 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.078759842519685 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.65351181102362 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +10.62417716535433 + 20 +-0.0679842519685039 + 30 +0.0 + 10 +10.62306692913386 + 20 +-0.0590393700787402 + 30 +0.0 + 10 +10.62079133858268 + 20 +-0.0530944881889764 + 30 +0.0 + 10 +10.62079133858268 + 20 +-0.0530944881889764 + 30 +0.0 + 10 +10.61851181102362 + 20 +-0.0472047244094488 + 30 +0.0 + 10 +10.61445669291339 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +10.60867716535433 + 20 +-0.0389842519685039 + 30 +0.0 + 10 +10.60867716535433 + 20 +-0.0389842519685039 + 30 +0.0 + 10 +10.60284645669291 + 20 +-0.0354291338582677 + 30 +0.0 + 10 +10.59606692913386 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +10.58823228346457 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +10.58823228346457 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +10.57573228346457 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +10.56501181102362 + 20 +-0.0376496062992126 + 30 +0.0 + 10 +10.55590157480315 + 20 +-0.0455393700787402 + 30 +0.0 + 10 +10.55590157480315 + 20 +-0.0455393700787402 + 30 +0.0 + 10 +10.54684645669291 + 20 +-0.0534842519685039 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.0684842519685039 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.54234645669291 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.51306692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3E1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.81123622047244 + 20 +-0.1637047244094488 + 30 +0.0 + 10 +10.80034645669291 + 20 +-0.1729291338582677 + 30 +0.0 + 10 +10.78990157480315 + 20 +-0.1794291338582677 + 30 +0.0 + 10 +10.77990157480315 + 20 +-0.1832598425196851 + 30 +0.0 + 10 +10.77990157480315 + 20 +-0.1832598425196851 + 30 +0.0 + 10 +10.76984645669291 + 20 +-0.1870393700787402 + 30 +0.0 + 10 +10.75906692913386 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.74756692913386 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.74756692913386 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.72856692913386 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.71401181102362 + 20 +-0.1843188976377953 + 30 +0.0 + 10 +10.70379133858268 + 20 +-0.1750393700787402 + 30 +0.0 + 10 +10.70379133858268 + 20 +-0.1750393700787402 + 30 +0.0 + 10 +10.69362204724409 + 20 +-0.165759842519685 + 30 +0.0 + 10 +10.68851181102362 + 20 +-0.1538740157480315 + 30 +0.0 + 10 +10.68851181102362 + 20 +-0.1394842519685039 + 30 +0.0 + 10 +10.68851181102362 + 20 +-0.1394842519685039 + 30 +0.0 + 10 +10.68851181102362 + 20 +-0.1309842519685039 + 30 +0.0 + 10 +10.69040157480315 + 20 +-0.123259842519685 + 30 +0.0 + 10 +10.69429133858268 + 20 +-0.116259842519685 + 30 +0.0 + 10 +10.69429133858268 + 20 +-0.116259842519685 + 30 +0.0 + 10 +10.69812204724409 + 20 +-0.109259842519685 + 30 +0.0 + 10 +10.70317716535433 + 20 +-0.1036496062992126 + 30 +0.0 + 10 +10.70940157480315 + 20 +-0.0994291338582677 + 30 +0.0 + 10 +10.70940157480315 + 20 +-0.0994291338582677 + 30 +0.0 + 10 +10.71567716535433 + 20 +-0.0952047244094488 + 30 +0.0 + 10 +10.72267716535433 + 20 +-0.0919842519685039 + 30 +0.0 + 10 +10.73051181102362 + 20 +-0.0898149606299213 + 30 +0.0 + 10 +10.73051181102362 + 20 +-0.0898149606299213 + 30 +0.0 + 10 +10.73623622047244 + 20 +-0.0883149606299213 + 30 +0.0 + 10 +10.74490157480315 + 20 +-0.0868149606299213 + 30 +0.0 + 10 +10.75651181102362 + 20 +-0.0854291338582677 + 30 +0.0 + 10 +10.75651181102362 + 20 +-0.0854291338582677 + 30 +0.0 + 10 +10.7801811023622 + 20 +-0.0825944881889764 + 30 +0.0 + 10 +10.7976220472441 + 20 +-0.079259842519685 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.0753149606299213 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.0753149606299213 + 30 +0.0 + 10 +10.80890157480315 + 20 +-0.0713149606299213 + 30 +0.0 + 10 +10.80895669291339 + 20 +-0.068759842519685 + 30 +0.0 + 10 +10.80895669291339 + 20 +-0.0677047244094488 + 30 +0.0 + 10 +10.80895669291339 + 20 +-0.0677047244094488 + 30 +0.0 + 10 +10.80895669291339 + 20 +-0.055759842519685 + 30 +0.0 + 10 +10.8061811023622 + 20 +-0.0473149606299213 + 30 +0.0 + 10 +10.80062204724409 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +10.80062204724409 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +10.7931811023622 + 20 +-0.0358149606299213 + 30 +0.0 + 10 +10.78201181102362 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.76729133858268 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.76729133858268 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.75351181102362 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +10.74334645669291 + 20 +-0.0349291338582677 + 30 +0.0 + 10 +10.73673622047244 + 20 +-0.039759842519685 + 30 +0.0 + 10 +10.73673622047244 + 20 +-0.039759842519685 + 30 +0.0 + 10 +10.73017716535433 + 20 +-0.0445944881889764 + 30 +0.0 + 10 +10.72534645669291 + 20 +-0.0531496062992126 + 30 +0.0 + 10 +10.72217716535433 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +10.72217716535433 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +10.72217716535433 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +10.69356692913386 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +10.69356692913386 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +10.69356692913386 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +10.69617716535433 + 20 +-0.049259842519685 + 30 +0.0 + 10 +10.70045669291339 + 20 +-0.0393149606299213 + 30 +0.0 + 10 +10.70640157480315 + 20 +-0.0318149606299213 + 30 +0.0 + 10 +10.70640157480315 + 20 +-0.0318149606299213 + 30 +0.0 + 10 +10.71234645669291 + 20 +-0.024259842519685 + 30 +0.0 + 10 +10.72101181102362 + 20 +-0.0184291338582677 + 30 +0.0 + 10 +10.73229133858268 + 20 +-0.0143700787401575 + 30 +0.0 + 10 +10.73229133858268 + 20 +-0.0143700787401575 + 30 +0.0 + 10 +10.74356692913386 + 20 +-0.0103149606299213 + 30 +0.0 + 10 +10.75662204724409 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.77151181102362 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.77151181102362 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.78629133858268 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.79823622047244 + 20 +-0.0100393700787402 + 30 +0.0 + 10 +10.80745669291339 + 20 +-0.0134842519685039 + 30 +0.0 + 10 +10.80745669291339 + 20 +-0.0134842519685039 + 30 +0.0 + 10 +10.8166811023622 + 20 +-0.0169842519685039 + 30 +0.0 + 10 +10.82345669291339 + 20 +-0.0213149606299213 + 30 +0.0 + 10 +10.82784645669291 + 20 +-0.0265944881889764 + 30 +0.0 + 10 +10.82784645669291 + 20 +-0.0265944881889764 + 30 +0.0 + 10 +10.8321811023622 + 20 +-0.0318740157480315 + 30 +0.0 + 10 +10.8351811023622 + 20 +-0.0384842519685039 + 30 +0.0 + 10 +10.83695669291339 + 20 +-0.0465393700787402 + 30 +0.0 + 10 +10.83695669291339 + 20 +-0.0465393700787402 + 30 +0.0 + 10 +10.83790157480315 + 20 +-0.0515393700787402 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.0605393700787402 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +10.83840157480315 + 20 +-0.1398740157480315 + 30 +0.0 + 10 +10.83901181102362 + 20 +-0.1570944881889764 + 30 +0.0 + 10 +10.84029133858268 + 20 +-0.164259842519685 + 30 +0.0 + 10 +10.84029133858268 + 20 +-0.164259842519685 + 30 +0.0 + 10 +10.84151181102362 + 20 +-0.1714842519685039 + 30 +0.0 + 10 +10.84401181102362 + 20 +-0.1784291338582677 + 30 +0.0 + 10 +10.84768110236221 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.84768110236221 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.84768110236221 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.81706692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.81706692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.81706692913386 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +10.81406692913386 + 20 +-0.1789842519685039 + 30 +0.0 + 10 +10.81206692913386 + 20 +-0.1718740157480315 + 30 +0.0 + 10 +10.81123622047244 + 20 +-0.1637047244094488 + 30 +0.0 + 0 +SPLINE + 5 +3E2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.80879133858268 + 20 +-0.098259842519685 + 30 +0.0 + 10 +10.79812204724409 + 20 +-0.1026496062992126 + 30 +0.0 + 10 +10.78218110236221 + 20 +-0.1063149606299213 + 30 +0.0 + 10 +10.76095669291339 + 20 +-0.1093740157480315 + 30 +0.0 + 10 +10.76095669291339 + 20 +-0.1093740157480315 + 30 +0.0 + 10 +10.74890157480315 + 20 +-0.1110944881889764 + 30 +0.0 + 10 +10.74034645669291 + 20 +-0.1130393700787402 + 30 +0.0 + 10 +10.73540157480315 + 20 +-0.1152047244094488 + 30 +0.0 + 10 +10.73540157480315 + 20 +-0.1152047244094488 + 30 +0.0 + 10 +10.73040157480315 + 20 +-0.1173740157480315 + 30 +0.0 + 10 +10.72651181102362 + 20 +-0.1205393700787402 + 30 +0.0 + 10 +10.72384645669291 + 20 +-0.124759842519685 + 30 +0.0 + 10 +10.72384645669291 + 20 +-0.124759842519685 + 30 +0.0 + 10 +10.72112204724409 + 20 +-0.1289291338582677 + 30 +0.0 + 10 +10.71973622047244 + 20 +-0.1335393700787401 + 30 +0.0 + 10 +10.71973622047244 + 20 +-0.1386496062992126 + 30 +0.0 + 10 +10.71973622047244 + 20 +-0.1386496062992126 + 30 +0.0 + 10 +10.71973622047244 + 20 +-0.1464842519685039 + 30 +0.0 + 10 +10.72273622047244 + 20 +-0.1529842519685039 + 30 +0.0 + 10 +10.72862204724409 + 20 +-0.1582047244094488 + 30 +0.0 + 10 +10.72862204724409 + 20 +-0.1582047244094488 + 30 +0.0 + 10 +10.73451181102362 + 20 +-0.1633740157480315 + 30 +0.0 + 10 +10.7431811023622 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.75456692913386 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.75456692913386 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.76584645669291 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +10.77590157480315 + 20 +-0.1635393700787402 + 30 +0.0 + 10 +10.7846811023622 + 20 +-0.1585944881889764 + 30 +0.0 + 10 +10.7846811023622 + 20 +-0.1585944881889764 + 30 +0.0 + 10 +10.79345669291339 + 20 +-0.1536496062992126 + 30 +0.0 + 10 +10.79995669291339 + 20 +-0.1468740157480315 + 30 +0.0 + 10 +10.80406692913386 + 20 +-0.1383188976377953 + 30 +0.0 + 10 +10.80406692913386 + 20 +-0.1383188976377953 + 30 +0.0 + 10 +10.80723622047244 + 20 +-0.1317047244094488 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.1219291338582677 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.098259842519685 + 30 +0.0 + 10 +10.80879133858268 + 20 +-0.098259842519685 + 30 +0.0 + 0 +SPLINE + 5 +3E3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.87212598425197 + 20 +-0.1334291338582677 + 30 +0.0 + 10 +10.87212598425197 + 20 +-0.1334291338582677 + 30 +0.0 + 10 +10.90106692913386 + 20 +-0.1288740157480315 + 30 +0.0 + 10 +10.90106692913386 + 20 +-0.1288740157480315 + 30 +0.0 + 10 +10.90106692913386 + 20 +-0.1288740157480315 + 30 +0.0 + 10 +10.90268110236221 + 20 +-0.1404842519685039 + 30 +0.0 + 10 +10.90723622047244 + 20 +-0.1493740157480315 + 30 +0.0 + 10 +10.9146811023622 + 20 +-0.1555944881889764 + 30 +0.0 + 10 +10.9146811023622 + 20 +-0.1555944881889764 + 30 +0.0 + 10 +10.92207086614173 + 20 +-0.161759842519685 + 30 +0.0 + 10 +10.93245669291339 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +10.94584645669291 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +10.94584645669291 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +10.95929133858268 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +10.96929133858268 + 20 +-0.1620944881889764 + 30 +0.0 + 10 +10.97579133858268 + 20 +-0.1566496062992126 + 30 +0.0 + 10 +10.97579133858268 + 20 +-0.1566496062992126 + 30 +0.0 + 10 +10.98229133858268 + 20 +-0.1511496062992126 + 30 +0.0 + 10 +10.98557086614173 + 20 +-0.1447047244094488 + 30 +0.0 + 10 +10.98557086614173 + 20 +-0.1373740157480315 + 30 +0.0 + 10 +10.98557086614173 + 20 +-0.1373740157480315 + 30 +0.0 + 10 +10.98557086614173 + 20 +-0.1307047244094488 + 30 +0.0 + 10 +10.98268110236221 + 20 +-0.1255393700787402 + 30 +0.0 + 10 +10.97690157480315 + 20 +-0.1217047244094488 + 30 +0.0 + 10 +10.97690157480315 + 20 +-0.1217047244094488 + 30 +0.0 + 10 +10.97290157480315 + 20 +-0.1190944881889764 + 30 +0.0 + 10 +10.96290157480315 + 20 +-0.1158149606299213 + 30 +0.0 + 10 +10.94695669291339 + 20 +-0.1118149606299213 + 30 +0.0 + 10 +10.94695669291339 + 20 +-0.1118149606299213 + 30 +0.0 + 10 +10.92551181102362 + 20 +-0.1063740157480315 + 30 +0.0 + 10 +10.91056692913386 + 20 +-0.1017047244094488 + 30 +0.0 + 10 +10.90229133858268 + 20 +-0.0977047244094488 + 30 +0.0 + 10 +10.90229133858268 + 20 +-0.0977047244094488 + 30 +0.0 + 10 +10.89401181102362 + 20 +-0.093759842519685 + 30 +0.0 + 10 +10.8876811023622 + 20 +-0.088259842519685 + 30 +0.0 + 10 +10.88340157480315 + 20 +-0.081259842519685 + 30 +0.0 + 10 +10.88340157480315 + 20 +-0.081259842519685 + 30 +0.0 + 10 +10.87912598425197 + 20 +-0.074259842519685 + 30 +0.0 + 10 +10.87695669291339 + 20 +-0.0665393700787402 + 30 +0.0 + 10 +10.87695669291339 + 20 +-0.0580944881889764 + 30 +0.0 + 10 +10.87695669291339 + 20 +-0.0580944881889764 + 30 +0.0 + 10 +10.87695669291339 + 20 +-0.0503740157480315 + 30 +0.0 + 10 +10.87873622047244 + 20 +-0.043259842519685 + 30 +0.0 + 10 +10.88229133858268 + 20 +-0.0367047244094488 + 30 +0.0 + 10 +10.88229133858268 + 20 +-0.0367047244094488 + 30 +0.0 + 10 +10.88579133858268 + 20 +-0.0300944881889764 + 30 +0.0 + 10 +10.89062598425197 + 20 +-0.0246496062992126 + 30 +0.0 + 10 +10.8966811023622 + 20 +-0.0203149606299213 + 30 +0.0 + 10 +10.8966811023622 + 20 +-0.0203149606299213 + 30 +0.0 + 10 +10.90123622047244 + 20 +-0.0169842519685039 + 30 +0.0 + 10 +10.90745669291339 + 20 +-0.0140944881889764 + 30 +0.0 + 10 +10.91529133858268 + 20 +-0.011759842519685 + 30 +0.0 + 10 +10.91529133858268 + 20 +-0.011759842519685 + 30 +0.0 + 10 +10.92318110236221 + 20 +-0.0094291338582677 + 30 +0.0 + 10 +10.93162598425197 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.94062598425197 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.94062598425197 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.9541811023622 + 20 +-0.008259842519685 + 30 +0.0 + 10 +10.96607086614173 + 20 +-0.010259842519685 + 30 +0.0 + 10 +10.97634645669291 + 20 +-0.0141496062992126 + 30 +0.0 + 10 +10.97634645669291 + 20 +-0.0141496062992126 + 30 +0.0 + 10 +10.98662598425197 + 20 +-0.0180393700787402 + 30 +0.0 + 10 +10.99418110236221 + 20 +-0.0233149606299213 + 30 +0.0 + 10 +10.99907086614173 + 20 +-0.0299842519685039 + 30 +0.0 + 10 +10.99907086614173 + 20 +-0.0299842519685039 + 30 +0.0 + 10 +11.00395669291339 + 20 +-0.0367047244094488 + 30 +0.0 + 10 +11.00729133858268 + 20 +-0.0455944881889764 + 30 +0.0 + 10 +11.00912598425197 + 20 +-0.056759842519685 + 30 +0.0 + 10 +11.00912598425197 + 20 +-0.056759842519685 + 30 +0.0 + 10 +11.00912598425197 + 20 +-0.056759842519685 + 30 +0.0 + 10 +10.98051181102362 + 20 +-0.0607047244094488 + 30 +0.0 + 10 +10.98051181102362 + 20 +-0.0607047244094488 + 30 +0.0 + 10 +10.98051181102362 + 20 +-0.0607047244094488 + 30 +0.0 + 10 +10.9791811023622 + 20 +-0.0518149606299213 + 30 +0.0 + 10 +10.97540157480315 + 20 +-0.0448740157480315 + 30 +0.0 + 10 +10.9691811023622 + 20 +-0.0398740157480315 + 30 +0.0 + 10 +10.9691811023622 + 20 +-0.0398740157480315 + 30 +0.0 + 10 +10.96295669291339 + 20 +-0.0348740157480315 + 30 +0.0 + 10 +10.95412598425197 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +10.94273622047244 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +10.94273622047244 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +10.92929133858268 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +10.9196811023622 + 20 +-0.0345944881889764 + 30 +0.0 + 10 +10.91395669291339 + 20 +-0.0390393700787402 + 30 +0.0 + 10 +10.91395669291339 + 20 +-0.0390393700787402 + 30 +0.0 + 10 +10.9081811023622 + 20 +-0.0434842519685039 + 30 +0.0 + 10 +10.90529133858268 + 20 +-0.0487047244094488 + 30 +0.0 + 10 +10.90529133858268 + 20 +-0.0546496062992126 + 30 +0.0 + 10 +10.90529133858268 + 20 +-0.0546496062992126 + 30 +0.0 + 10 +10.90529133858268 + 20 +-0.0584842519685039 + 30 +0.0 + 10 +10.90651181102362 + 20 +-0.0618740157480315 + 30 +0.0 + 10 +10.90890157480315 + 20 +-0.0649291338582677 + 30 +0.0 + 10 +10.90890157480315 + 20 +-0.0649291338582677 + 30 +0.0 + 10 +10.91129133858268 + 20 +-0.0680944881889764 + 30 +0.0 + 10 +10.91501181102362 + 20 +-0.0706496062992126 + 30 +0.0 + 10 +10.92012598425197 + 20 +-0.072759842519685 + 30 +0.0 + 10 +10.92012598425197 + 20 +-0.072759842519685 + 30 +0.0 + 10 +10.92307086614173 + 20 +-0.0738149606299213 + 30 +0.0 + 10 +10.93168110236221 + 20 +-0.0763149606299213 + 30 +0.0 + 10 +10.94601181102362 + 20 +-0.0802047244094488 + 30 +0.0 + 10 +10.94601181102362 + 20 +-0.0802047244094488 + 30 +0.0 + 10 +10.96673622047244 + 20 +-0.085759842519685 + 30 +0.0 + 10 +10.98118110236221 + 20 +-0.090259842519685 + 30 +0.0 + 10 +10.98934645669291 + 20 +-0.0938149606299213 + 30 +0.0 + 10 +10.98934645669291 + 20 +-0.0938149606299213 + 30 +0.0 + 10 +10.99757086614173 + 20 +-0.0973149606299213 + 30 +0.0 + 10 +11.00401181102362 + 20 +-0.1024842519685039 + 30 +0.0 + 10 +11.00868110236221 + 20 +-0.1092047244094488 + 30 +0.0 + 10 +11.00868110236221 + 20 +-0.1092047244094488 + 30 +0.0 + 10 +11.01334645669291 + 20 +-0.1159291338582677 + 30 +0.0 + 10 +11.0156811023622 + 20 +-0.124259842519685 + 30 +0.0 + 10 +11.0156811023622 + 20 +-0.134259842519685 + 30 +0.0 + 10 +11.0156811023622 + 20 +-0.134259842519685 + 30 +0.0 + 10 +11.0156811023622 + 20 +-0.1440393700787402 + 30 +0.0 + 10 +11.01279133858268 + 20 +-0.1532047244094488 + 30 +0.0 + 10 +11.00712598425197 + 20 +-0.1618740157480315 + 30 +0.0 + 10 +11.00712598425197 + 20 +-0.1618740157480315 + 30 +0.0 + 10 +11.00140157480315 + 20 +-0.1704842519685039 + 30 +0.0 + 10 +10.9931811023622 + 20 +-0.1771496062992126 + 30 +0.0 + 10 +10.98245669291339 + 20 +-0.1818740157480315 + 30 +0.0 + 10 +10.98245669291339 + 20 +-0.1818740157480315 + 30 +0.0 + 10 +10.97173622047244 + 20 +-0.1865944881889764 + 30 +0.0 + 10 +10.95957086614173 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.94601181102362 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.94601181102362 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.92351181102362 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +10.90640157480315 + 20 +-0.1842598425196851 + 30 +0.0 + 10 +10.89462598425197 + 20 +-0.1749291338582677 + 30 +0.0 + 10 +10.89462598425197 + 20 +-0.1749291338582677 + 30 +0.0 + 10 +10.88284645669291 + 20 +-0.1655944881889764 + 30 +0.0 + 10 +10.87534645669291 + 20 +-0.1517598425196851 + 30 +0.0 + 10 +10.87212598425197 + 20 +-0.1334291338582677 + 30 +0.0 + 0 +SPLINE + 5 +3E4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.03957086614173 + 20 +-0.0985944881889764 + 30 +0.0 + 10 +11.03957086614173 + 20 +-0.0665944881889764 + 30 +0.0 + 10 +11.04846062992126 + 20 +-0.0428740157480315 + 30 +0.0 + 10 +11.06629527559055 + 20 +-0.0274842519685039 + 30 +0.0 + 10 +11.06629527559055 + 20 +-0.0274842519685039 + 30 +0.0 + 10 +11.08112598425197 + 20 +-0.0147047244094488 + 30 +0.0 + 10 +11.09924015748032 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.14440551181102 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.16385039370079 + 20 +-0.0160393700787402 + 30 +0.0 + 10 +11.17890551181102 + 20 +-0.0316496062992126 + 30 +0.0 + 10 +11.17890551181102 + 20 +-0.0316496062992126 + 30 +0.0 + 10 +11.1940157480315 + 20 +-0.0472047244094488 + 30 +0.0 + 10 +11.2015157480315 + 20 +-0.0687047244094488 + 30 +0.0 + 10 +11.2015157480315 + 20 +-0.0961496062992126 + 30 +0.0 + 10 +11.2015157480315 + 20 +-0.0961496062992126 + 30 +0.0 + 10 +11.2015157480315 + 20 +-0.1184291338582677 + 30 +0.0 + 10 +11.19818503937008 + 20 +-0.1359291338582677 + 30 +0.0 + 10 +11.1915157480315 + 20 +-0.1486496062992126 + 30 +0.0 + 10 +11.1915157480315 + 20 +-0.1486496062992126 + 30 +0.0 + 10 +11.18485039370079 + 20 +-0.1614291338582677 + 30 +0.0 + 10 +11.17512598425197 + 20 +-0.1713188976377953 + 30 +0.0 + 10 +11.16240551181102 + 20 +-0.1783740157480315 + 30 +0.0 + 10 +11.16240551181102 + 20 +-0.1783740157480315 + 30 +0.0 + 10 +11.14962598425197 + 20 +-0.1854291338582677 + 30 +0.0 + 10 +11.13574015748032 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.09646062992126 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.07690551181102 + 20 +-0.1812047244094488 + 30 +0.0 + 10 +11.06196062992126 + 20 +-0.1656496062992126 + 30 +0.0 + 10 +11.06196062992126 + 20 +-0.1656496062992126 + 30 +0.0 + 10 +11.0470157480315 + 20 +-0.1501496062992126 + 30 +0.0 + 10 +11.03957086614173 + 20 +-0.1278149606299213 + 30 +0.0 + 10 +11.03957086614173 + 20 +-0.0985944881889764 + 30 +0.0 + 0 +SPLINE + 5 +3E5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.06968110236221 + 20 +-0.0985944881889764 + 30 +0.0 + 10 +11.06968110236221 + 20 +-0.120759842519685 + 30 +0.0 + 10 +11.0745157480315 + 20 +-0.1373188976377953 + 30 +0.0 + 10 +11.0841811023622 + 20 +-0.1483188976377953 + 30 +0.0 + 10 +11.0841811023622 + 20 +-0.1483188976377953 + 30 +0.0 + 10 +11.09385039370079 + 20 +-0.1593740157480315 + 30 +0.0 + 10 +11.1060157480315 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.13518110236221 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.14729527559055 + 20 +-0.1593188976377953 + 30 +0.0 + 10 +11.15696062992126 + 20 +-0.148259842519685 + 30 +0.0 + 10 +11.15696062992126 + 20 +-0.148259842519685 + 30 +0.0 + 10 +11.16657086614173 + 20 +-0.1372047244094488 + 30 +0.0 + 10 +11.17140551181102 + 20 +-0.1203149606299213 + 30 +0.0 + 10 +11.17140551181102 + 20 +-0.0976496062992126 + 30 +0.0 + 10 +11.17140551181102 + 20 +-0.0976496062992126 + 30 +0.0 + 10 +11.17140551181102 + 20 +-0.076259842519685 + 30 +0.0 + 10 +11.16657086614173 + 20 +-0.0600393700787402 + 30 +0.0 + 10 +11.15685039370079 + 20 +-0.0490393700787402 + 30 +0.0 + 10 +11.15685039370079 + 20 +-0.0490393700787402 + 30 +0.0 + 10 +11.14712598425197 + 20 +-0.0380393700787402 + 30 +0.0 + 10 +11.13507086614173 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +11.12062598425197 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +11.1060157480315 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +11.09385039370079 + 20 +-0.0380393700787402 + 30 +0.0 + 10 +11.0841811023622 + 20 +-0.0489842519685039 + 30 +0.0 + 10 +11.0841811023622 + 20 +-0.0489842519685039 + 30 +0.0 + 10 +11.0745157480315 + 20 +-0.0599291338582677 + 30 +0.0 + 10 +11.06968110236221 + 20 +-0.0764842519685039 + 30 +0.0 + 10 +11.06968110236221 + 20 +-0.0985944881889764 + 30 +0.0 + 0 +SPLINE + 5 +3E6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.23590551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.036759842519685 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.036759842519685 + 30 +0.0 + 10 +11.26224015748032 + 20 +-0.036759842519685 + 30 +0.0 + 10 +11.27496062992126 + 20 +-0.017759842519685 + 30 +0.0 + 10 +11.29329527559055 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.31724015748031 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.31724015748031 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.32768503937008 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.33724015748031 + 20 +-0.0101496062992126 + 30 +0.0 + 10 +11.34596062992126 + 20 +-0.0138700787401575 + 30 +0.0 + 10 +11.34596062992126 + 20 +-0.0138700787401575 + 30 +0.0 + 10 +11.35474015748031 + 20 +-0.0176496062992126 + 30 +0.0 + 10 +11.36124015748032 + 20 +-0.0225393700787402 + 30 +0.0 + 10 +11.36557086614173 + 20 +-0.0286496062992126 + 30 +0.0 + 10 +11.36557086614173 + 20 +-0.0286496062992126 + 30 +0.0 + 10 +11.36996062992126 + 20 +-0.0347047244094488 + 30 +0.0 + 10 +11.37296062992126 + 20 +-0.0419291338582677 + 30 +0.0 + 10 +11.37474015748031 + 20 +-0.050259842519685 + 30 +0.0 + 10 +11.37474015748031 + 20 +-0.050259842519685 + 30 +0.0 + 10 +11.37579527559055 + 20 +-0.0557047244094488 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.0652047244094488 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.078759842519685 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.078759842519685 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.078759842519685 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.37635039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +11.3470157480315 + 20 +-0.0679842519685039 + 30 +0.0 + 10 +11.34590551181102 + 20 +-0.0590393700787402 + 30 +0.0 + 10 +11.34362992125984 + 20 +-0.0530944881889764 + 30 +0.0 + 10 +11.34362992125984 + 20 +-0.0530944881889764 + 30 +0.0 + 10 +11.34135039370079 + 20 +-0.0472047244094488 + 30 +0.0 + 10 +11.33729527559055 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +11.3315157480315 + 20 +-0.0389842519685039 + 30 +0.0 + 10 +11.3315157480315 + 20 +-0.0389842519685039 + 30 +0.0 + 10 +11.32568503937008 + 20 +-0.0354291338582677 + 30 +0.0 + 10 +11.31890551181102 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +11.31107086614173 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +11.31107086614173 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +11.29857086614173 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +11.28785039370079 + 20 +-0.0376496062992126 + 30 +0.0 + 10 +11.27874015748031 + 20 +-0.0455393700787402 + 30 +0.0 + 10 +11.27874015748031 + 20 +-0.0455393700787402 + 30 +0.0 + 10 +11.26968503937008 + 20 +-0.0534842519685039 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.0684842519685039 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.26518503937008 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.23590551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3E7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.42140551181102 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.45074015748031 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0198503937007874 + 30 +0.0 + 10 +11.42140551181102 + 20 +0.0198503937007874 + 30 +0.0 + 0 +SPLINE + 5 +3E8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.42140551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.45074015748031 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.42140551181102 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3E9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.60812992125984 + 20 +-0.1217047244094488 + 30 +0.0 + 10 +11.60812992125984 + 20 +-0.1217047244094488 + 30 +0.0 + 10 +11.63690551181102 + 20 +-0.1254842519685039 + 30 +0.0 + 10 +11.63690551181102 + 20 +-0.1254842519685039 + 30 +0.0 + 10 +11.63690551181102 + 20 +-0.1254842519685039 + 30 +0.0 + 10 +11.63379527559055 + 20 +-0.1453188976377953 + 30 +0.0 + 10 +11.62574015748032 + 20 +-0.1608740157480315 + 30 +0.0 + 10 +11.61274015748032 + 20 +-0.1720944881889764 + 30 +0.0 + 10 +11.61274015748032 + 20 +-0.1720944881889764 + 30 +0.0 + 10 +11.59979527559055 + 20 +-0.1833188976377953 + 30 +0.0 + 10 +11.58385039370079 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.56496062992126 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.56496062992126 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.54135039370079 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +11.52229527559055 + 20 +-0.1812047244094488 + 30 +0.0 + 10 +11.50796062992126 + 20 +-0.165759842519685 + 30 +0.0 + 10 +11.50796062992126 + 20 +-0.165759842519685 + 30 +0.0 + 10 +11.49357086614173 + 20 +-0.1503188976377953 + 30 +0.0 + 10 +11.48635039370079 + 20 +-0.1281496062992126 + 30 +0.0 + 10 +11.48635039370079 + 20 +-0.099259842519685 + 30 +0.0 + 10 +11.48635039370079 + 20 +-0.099259842519685 + 30 +0.0 + 10 +11.48635039370079 + 20 +-0.0805944881889764 + 30 +0.0 + 10 +11.48946062992126 + 20 +-0.064259842519685 + 30 +0.0 + 10 +11.49562992125984 + 20 +-0.050259842519685 + 30 +0.0 + 10 +11.49562992125984 + 20 +-0.050259842519685 + 30 +0.0 + 10 +11.50185039370079 + 20 +-0.036259842519685 + 30 +0.0 + 10 +11.51124015748032 + 20 +-0.025759842519685 + 30 +0.0 + 10 +11.52390551181102 + 20 +-0.018759842519685 + 30 +0.0 + 10 +11.52390551181102 + 20 +-0.018759842519685 + 30 +0.0 + 10 +11.5365157480315 + 20 +-0.011759842519685 + 30 +0.0 + 10 +11.55029527559055 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.56512992125984 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.56512992125984 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.58390551181102 + 20 +-0.008259842519685 + 30 +0.0 + 10 +11.59929527559055 + 20 +-0.0130393700787402 + 30 +0.0 + 10 +11.61118503937008 + 20 +-0.0225393700787402 + 30 +0.0 + 10 +11.61118503937008 + 20 +-0.0225393700787402 + 30 +0.0 + 10 +11.62312992125984 + 20 +-0.0320393700787402 + 30 +0.0 + 10 +11.63079527559055 + 20 +-0.0454842519685039 + 30 +0.0 + 10 +11.63418503937008 + 20 +-0.0629842519685039 + 30 +0.0 + 10 +11.63418503937008 + 20 +-0.0629842519685039 + 30 +0.0 + 10 +11.63418503937008 + 20 +-0.0629842519685039 + 30 +0.0 + 10 +11.60568503937008 + 20 +-0.0673740157480315 + 30 +0.0 + 10 +11.60568503937008 + 20 +-0.0673740157480315 + 30 +0.0 + 10 +11.60568503937008 + 20 +-0.0673740157480315 + 30 +0.0 + 10 +11.60296062992126 + 20 +-0.055759842519685 + 30 +0.0 + 10 +11.59818503937008 + 20 +-0.0470393700787402 + 30 +0.0 + 10 +11.59129527559055 + 20 +-0.0411496062992126 + 30 +0.0 + 10 +11.59129527559055 + 20 +-0.0411496062992126 + 30 +0.0 + 10 +11.58440551181102 + 20 +-0.0353149606299213 + 30 +0.0 + 10 +11.57607480314961 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +11.56629527559055 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +11.56629527559055 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +11.5515157480315 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +11.5395157480315 + 20 +-0.0376496062992126 + 30 +0.0 + 10 +11.53029527559055 + 20 +-0.048259842519685 + 30 +0.0 + 10 +11.53029527559055 + 20 +-0.048259842519685 + 30 +0.0 + 10 +11.52107086614173 + 20 +-0.0588149606299213 + 30 +0.0 + 10 +11.51646062992126 + 20 +-0.0755393700787402 + 30 +0.0 + 10 +11.51646062992126 + 20 +-0.0984291338582677 + 30 +0.0 + 10 +11.51646062992126 + 20 +-0.0984291338582677 + 30 +0.0 + 10 +11.51646062992126 + 20 +-0.1216496062992126 + 30 +0.0 + 10 +11.52090551181102 + 20 +-0.1385393700787401 + 30 +0.0 + 10 +11.52985039370079 + 20 +-0.1490944881889764 + 30 +0.0 + 10 +11.52985039370079 + 20 +-0.1490944881889764 + 30 +0.0 + 10 +11.53874015748032 + 20 +-0.1595944881889764 + 30 +0.0 + 10 +11.55035039370079 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.56468503937008 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.56468503937008 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.57618503937008 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +11.58574015748031 + 20 +-0.1613188976377953 + 30 +0.0 + 10 +11.59346062992126 + 20 +-0.1542598425196851 + 30 +0.0 + 10 +11.59346062992126 + 20 +-0.1542598425196851 + 30 +0.0 + 10 +11.60118503937008 + 20 +-0.1472047244094488 + 30 +0.0 + 10 +11.60607480314961 + 20 +-0.1363740157480315 + 30 +0.0 + 10 +11.60812992125984 + 20 +-0.1217047244094488 + 30 +0.0 + 0 +SPLINE + 5 +3EA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.75835039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.75835039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.75835039370079 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.75835039370079 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.75835039370079 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.75835039370079 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.84835433070866 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.84835433070866 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.84835433070866 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.86418503937008 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.87629527559055 + 20 +0.0527952755905512 + 30 +0.0 + 10 +11.88462992125984 + 20 +0.0512952755905512 + 30 +0.0 + 10 +11.88462992125984 + 20 +0.0512952755905512 + 30 +0.0 + 10 +11.89635433070866 + 20 +0.0493503937007874 + 30 +0.0 + 10 +11.90618503937008 + 20 +0.0456299212598425 + 30 +0.0 + 10 +11.91412992125984 + 20 +0.0401299212598425 + 30 +0.0 + 10 +11.91412992125984 + 20 +0.0401299212598425 + 30 +0.0 + 10 +11.92201968503937 + 20 +0.0346850393700787 + 30 +0.0 + 10 +11.9284094488189 + 20 +0.0269606299212598 + 30 +0.0 + 10 +11.93324015748031 + 20 +0.0171299212598425 + 30 +0.0 + 10 +11.93324015748031 + 20 +0.0171299212598425 + 30 +0.0 + 10 +11.93807480314961 + 20 +0.007240157480315 + 30 +0.0 + 10 +11.94046456692913 + 20 +-0.0035944881889764 + 30 +0.0 + 10 +11.94046456692913 + 20 +-0.0154291338582677 + 30 +0.0 + 10 +11.94046456692913 + 20 +-0.0154291338582677 + 30 +0.0 + 10 +11.94046456692913 + 20 +-0.0357047244094488 + 30 +0.0 + 10 +11.93401968503937 + 20 +-0.0529291338582677 + 30 +0.0 + 10 +11.92112992125984 + 20 +-0.0669842519685039 + 30 +0.0 + 10 +11.92112992125984 + 20 +-0.0669842519685039 + 30 +0.0 + 10 +11.90818503937008 + 20 +-0.0809842519685039 + 30 +0.0 + 10 +11.88485433070866 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.85112992125984 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.85112992125984 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.85112992125984 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0880393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.75835039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.75835039370079 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3EB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.7899094488189 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.85162992125984 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.85162992125984 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.85162992125984 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.87201968503937 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.88651968503937 + 20 +-0.0560944881889764 + 30 +0.0 + 10 +11.89507480314961 + 20 +-0.0484842519685039 + 30 +0.0 + 10 +11.89507480314961 + 20 +-0.0484842519685039 + 30 +0.0 + 10 +11.90362992125984 + 20 +-0.0408740157480315 + 30 +0.0 + 10 +11.9079094488189 + 20 +-0.0302047244094488 + 30 +0.0 + 10 +11.9079094488189 + 20 +-0.0164291338582677 + 30 +0.0 + 10 +11.9079094488189 + 20 +-0.0164291338582677 + 30 +0.0 + 10 +11.9079094488189 + 20 +-0.0064291338582677 + 30 +0.0 + 10 +11.9054094488189 + 20 +0.0021299212598425 + 30 +0.0 + 10 +11.90035433070866 + 20 +0.009240157480315 + 30 +0.0 + 10 +11.90035433070866 + 20 +0.009240157480315 + 30 +0.0 + 10 +11.89529527559055 + 20 +0.0163503937007874 + 30 +0.0 + 10 +11.88868503937008 + 20 +0.0210157480314961 + 30 +0.0 + 10 +11.8804094488189 + 20 +0.0232952755905512 + 30 +0.0 + 10 +11.8804094488189 + 20 +0.0232952755905512 + 30 +0.0 + 10 +11.87507480314961 + 20 +0.0246850393700787 + 30 +0.0 + 10 +11.86529527559055 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.85096456692913 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.85096456692913 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.85096456692913 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.7899094488189 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.7899094488189 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.7899094488189 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.7899094488189 + 20 +0.0254055118110236 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0598740157480315 + 30 +0.0 + 10 +11.7899094488189 + 20 +-0.0598740157480315 + 30 +0.0 + 0 +SPLINE + 5 +3EC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.98607480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.98607480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.98607480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.98607480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.98607480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +11.98607480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.01762992125984 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.01762992125984 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.01762992125984 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.01762992125984 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.01762992125984 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.01762992125984 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.01762992125984 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.01762992125984 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.98607480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +11.98607480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3ED +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.07379527559055 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.07379527559055 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.07379527559055 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.07379527559055 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.07379527559055 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.07379527559055 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.17957480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.17957480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.17957480314961 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.20085433070866 + 20 +0.0535708661417323 + 30 +0.0 + 10 +12.21701968503937 + 20 +0.0514055118110236 + 30 +0.0 + 10 +12.22807480314961 + 20 +0.0471299212598425 + 30 +0.0 + 10 +12.22807480314961 + 20 +0.0471299212598425 + 30 +0.0 + 10 +12.23912992125984 + 20 +0.0428503937007874 + 30 +0.0 + 10 +12.24796456692913 + 20 +0.0352952755905512 + 30 +0.0 + 10 +12.25462992125984 + 20 +0.0244606299212598 + 30 +0.0 + 10 +12.25462992125984 + 20 +0.0244606299212598 + 30 +0.0 + 10 +12.26124409448819 + 20 +0.0135708661417323 + 30 +0.0 + 10 +12.26451968503937 + 20 +0.0015708661417323 + 30 +0.0 + 10 +12.26451968503937 + 20 +-0.0115393700787402 + 30 +0.0 + 10 +12.26451968503937 + 20 +-0.0115393700787402 + 30 +0.0 + 10 +12.26451968503937 + 20 +-0.0284842519685039 + 30 +0.0 + 10 +12.25907480314961 + 20 +-0.0427047244094488 + 30 +0.0 + 10 +12.24807480314961 + 20 +-0.0543149606299213 + 30 +0.0 + 10 +12.24807480314961 + 20 +-0.0543149606299213 + 30 +0.0 + 10 +12.23712992125984 + 20 +-0.0659291338582677 + 30 +0.0 + 10 +12.22018503937008 + 20 +-0.0733149606299213 + 30 +0.0 + 10 +12.19729921259843 + 20 +-0.0764842519685039 + 30 +0.0 + 10 +12.19729921259843 + 20 +-0.0764842519685039 + 30 +0.0 + 10 +12.20568503937008 + 20 +-0.0804842519685039 + 30 +0.0 + 10 +12.21201968503937 + 20 +-0.0844291338582677 + 30 +0.0 + 10 +12.21635433070866 + 20 +-0.0883740157480315 + 30 +0.0 + 10 +12.21635433070866 + 20 +-0.0883740157480315 + 30 +0.0 + 10 +12.22557480314961 + 20 +-0.0968149606299213 + 30 +0.0 + 10 +12.23429921259843 + 20 +-0.1074291338582677 + 30 +0.0 + 10 +12.24257480314961 + 20 +-0.1200944881889764 + 30 +0.0 + 10 +12.24257480314961 + 20 +-0.1200944881889764 + 30 +0.0 + 10 +12.24257480314961 + 20 +-0.1200944881889764 + 30 +0.0 + 10 +12.28407480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.28407480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.28407480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.28407480314961 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.24435433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.24435433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.24435433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.24435433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.21279921259842 + 20 +-0.1353740157480315 + 30 +0.0 + 10 +12.21279921259842 + 20 +-0.1353740157480315 + 30 +0.0 + 10 +12.21279921259842 + 20 +-0.1353740157480315 + 30 +0.0 + 10 +12.20357480314961 + 20 +-0.1210944881889764 + 30 +0.0 + 10 +12.19596456692913 + 20 +-0.1100944881889764 + 30 +0.0 + 10 +12.18996456692913 + 20 +-0.1025393700787402 + 30 +0.0 + 10 +12.18996456692913 + 20 +-0.1025393700787402 + 30 +0.0 + 10 +12.18401968503937 + 20 +-0.0949291338582677 + 30 +0.0 + 10 +12.17868503937008 + 20 +-0.0895944881889764 + 30 +0.0 + 10 +12.17396456692913 + 20 +-0.0865944881889764 + 30 +0.0 + 10 +12.17396456692913 + 20 +-0.0865944881889764 + 30 +0.0 + 10 +12.16924015748032 + 20 +-0.0835393700787402 + 30 +0.0 + 10 +12.16446456692913 + 20 +-0.0814291338582677 + 30 +0.0 + 10 +12.15957480314961 + 20 +-0.0802047244094488 + 30 +0.0 + 10 +12.15957480314961 + 20 +-0.0802047244094488 + 30 +0.0 + 10 +12.15596456692913 + 20 +-0.0794842519685039 + 30 +0.0 + 10 +12.15012992125984 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.14196456692913 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.14196456692913 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.14196456692913 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.0790944881889764 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.07379527559055 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.07379527559055 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3EE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.10535433070866 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.17324015748031 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.17324015748031 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.17324015748031 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.18762992125984 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.19896456692913 + 20 +-0.050259842519685 + 30 +0.0 + 10 +12.20707480314961 + 20 +-0.047259842519685 + 30 +0.0 + 10 +12.20707480314961 + 20 +-0.047259842519685 + 30 +0.0 + 10 +12.21524409448819 + 20 +-0.044259842519685 + 30 +0.0 + 10 +12.2214094488189 + 20 +-0.0394842519685039 + 30 +0.0 + 10 +12.22562992125984 + 20 +-0.0329291338582677 + 30 +0.0 + 10 +12.22562992125984 + 20 +-0.0329291338582677 + 30 +0.0 + 10 +12.22985433070866 + 20 +-0.0263740157480315 + 30 +0.0 + 10 +12.23196456692913 + 20 +-0.019259842519685 + 30 +0.0 + 10 +12.23196456692913 + 20 +-0.0115393700787402 + 30 +0.0 + 10 +12.23196456692913 + 20 +-0.0115393700787402 + 30 +0.0 + 10 +12.23196456692913 + 20 +-0.000259842519685 + 30 +0.0 + 10 +12.2279094488189 + 20 +0.0090157480314961 + 30 +0.0 + 10 +12.21968503937008 + 20 +0.0162952755905512 + 30 +0.0 + 10 +12.21968503937008 + 20 +0.0162952755905512 + 30 +0.0 + 10 +12.21151968503937 + 20 +0.0235708661417323 + 30 +0.0 + 10 +12.19857480314961 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.18085433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.18085433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.18085433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.10535433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.10535433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.10535433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.10535433070866 + 20 +0.0271850393700787 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.051759842519685 + 30 +0.0 + 10 +12.10535433070866 + 20 +-0.051759842519685 + 30 +0.0 + 0 +SPLINE + 5 +3EF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 136 + 73 + 132 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0294117647058824 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.0882352941176471 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1470588235294118 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2058823529411765 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2647058823529412 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3235294117647059 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.3823529411764706 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4411764705882353 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5588235294117647 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6176470588235294 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.6764705882352942 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7352941176470589 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.7941176470588235 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8529411764705882 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9117647058823529 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +0.9411764705882353 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.39118897637795 + 20 +-0.1334291338582677 + 30 +0.0 + 10 +12.39118897637795 + 20 +-0.1334291338582677 + 30 +0.0 + 10 +12.42012992125984 + 20 +-0.1288740157480315 + 30 +0.0 + 10 +12.42012992125984 + 20 +-0.1288740157480315 + 30 +0.0 + 10 +12.42012992125984 + 20 +-0.1288740157480315 + 30 +0.0 + 10 +12.42174409448819 + 20 +-0.1404842519685039 + 30 +0.0 + 10 +12.42629921259842 + 20 +-0.1493740157480315 + 30 +0.0 + 10 +12.43374409448819 + 20 +-0.1555944881889764 + 30 +0.0 + 10 +12.43374409448819 + 20 +-0.1555944881889764 + 30 +0.0 + 10 +12.44113385826772 + 20 +-0.161759842519685 + 30 +0.0 + 10 +12.45151968503937 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +12.4649094488189 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +12.4649094488189 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +12.47835433070866 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +12.48835433070866 + 20 +-0.1620944881889764 + 30 +0.0 + 10 +12.49485433070866 + 20 +-0.1566496062992126 + 30 +0.0 + 10 +12.49485433070866 + 20 +-0.1566496062992126 + 30 +0.0 + 10 +12.50135433070866 + 20 +-0.1511496062992126 + 30 +0.0 + 10 +12.50463385826772 + 20 +-0.1447047244094488 + 30 +0.0 + 10 +12.50463385826772 + 20 +-0.1373740157480315 + 30 +0.0 + 10 +12.50463385826772 + 20 +-0.1373740157480315 + 30 +0.0 + 10 +12.50463385826772 + 20 +-0.1307047244094488 + 30 +0.0 + 10 +12.50174409448819 + 20 +-0.1255393700787402 + 30 +0.0 + 10 +12.49596456692913 + 20 +-0.1217047244094488 + 30 +0.0 + 10 +12.49596456692913 + 20 +-0.1217047244094488 + 30 +0.0 + 10 +12.49196456692913 + 20 +-0.1190944881889764 + 30 +0.0 + 10 +12.48196456692913 + 20 +-0.1158149606299213 + 30 +0.0 + 10 +12.46601968503937 + 20 +-0.1118149606299213 + 30 +0.0 + 10 +12.46601968503937 + 20 +-0.1118149606299213 + 30 +0.0 + 10 +12.44457480314961 + 20 +-0.1063740157480315 + 30 +0.0 + 10 +12.42962992125984 + 20 +-0.1017047244094488 + 30 +0.0 + 10 +12.42135433070866 + 20 +-0.0977047244094488 + 30 +0.0 + 10 +12.42135433070866 + 20 +-0.0977047244094488 + 30 +0.0 + 10 +12.41307480314961 + 20 +-0.093759842519685 + 30 +0.0 + 10 +12.40674409448819 + 20 +-0.088259842519685 + 30 +0.0 + 10 +12.40246456692913 + 20 +-0.081259842519685 + 30 +0.0 + 10 +12.40246456692913 + 20 +-0.081259842519685 + 30 +0.0 + 10 +12.39818897637795 + 20 +-0.074259842519685 + 30 +0.0 + 10 +12.39601968503937 + 20 +-0.0665393700787402 + 30 +0.0 + 10 +12.39601968503937 + 20 +-0.0580944881889764 + 30 +0.0 + 10 +12.39601968503937 + 20 +-0.0580944881889764 + 30 +0.0 + 10 +12.39601968503937 + 20 +-0.0503740157480315 + 30 +0.0 + 10 +12.39779921259843 + 20 +-0.043259842519685 + 30 +0.0 + 10 +12.40135433070866 + 20 +-0.0367047244094488 + 30 +0.0 + 10 +12.40135433070866 + 20 +-0.0367047244094488 + 30 +0.0 + 10 +12.40485433070866 + 20 +-0.0300944881889764 + 30 +0.0 + 10 +12.40968897637795 + 20 +-0.0246496062992126 + 30 +0.0 + 10 +12.41574409448819 + 20 +-0.0203149606299213 + 30 +0.0 + 10 +12.41574409448819 + 20 +-0.0203149606299213 + 30 +0.0 + 10 +12.42029921259843 + 20 +-0.0169842519685039 + 30 +0.0 + 10 +12.42651968503937 + 20 +-0.0140944881889764 + 30 +0.0 + 10 +12.43435433070866 + 20 +-0.011759842519685 + 30 +0.0 + 10 +12.43435433070866 + 20 +-0.011759842519685 + 30 +0.0 + 10 +12.44224409448819 + 20 +-0.0094291338582677 + 30 +0.0 + 10 +12.45068897637795 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.45968897637795 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.45968897637795 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.47324409448819 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.48513385826772 + 20 +-0.010259842519685 + 30 +0.0 + 10 +12.4954094488189 + 20 +-0.0141496062992126 + 30 +0.0 + 10 +12.4954094488189 + 20 +-0.0141496062992126 + 30 +0.0 + 10 +12.50568897637795 + 20 +-0.0180393700787402 + 30 +0.0 + 10 +12.51324409448819 + 20 +-0.0233149606299213 + 30 +0.0 + 10 +12.51813385826772 + 20 +-0.0299842519685039 + 30 +0.0 + 10 +12.51813385826772 + 20 +-0.0299842519685039 + 30 +0.0 + 10 +12.52301968503937 + 20 +-0.0367047244094488 + 30 +0.0 + 10 +12.52635433070866 + 20 +-0.0455944881889764 + 30 +0.0 + 10 +12.52818897637795 + 20 +-0.056759842519685 + 30 +0.0 + 10 +12.52818897637795 + 20 +-0.056759842519685 + 30 +0.0 + 10 +12.52818897637795 + 20 +-0.056759842519685 + 30 +0.0 + 10 +12.49957480314961 + 20 +-0.0607047244094488 + 30 +0.0 + 10 +12.49957480314961 + 20 +-0.0607047244094488 + 30 +0.0 + 10 +12.49957480314961 + 20 +-0.0607047244094488 + 30 +0.0 + 10 +12.49824409448819 + 20 +-0.0518149606299213 + 30 +0.0 + 10 +12.49446456692913 + 20 +-0.0448740157480315 + 30 +0.0 + 10 +12.48824409448819 + 20 +-0.0398740157480315 + 30 +0.0 + 10 +12.48824409448819 + 20 +-0.0398740157480315 + 30 +0.0 + 10 +12.48201968503937 + 20 +-0.0348740157480315 + 30 +0.0 + 10 +12.47318897637795 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +12.46179921259843 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +12.46179921259843 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +12.44835433070866 + 20 +-0.0323740157480315 + 30 +0.0 + 10 +12.43874409448819 + 20 +-0.0345944881889764 + 30 +0.0 + 10 +12.43301968503937 + 20 +-0.0390393700787402 + 30 +0.0 + 10 +12.43301968503937 + 20 +-0.0390393700787402 + 30 +0.0 + 10 +12.42724409448819 + 20 +-0.0434842519685039 + 30 +0.0 + 10 +12.42435433070866 + 20 +-0.0487047244094488 + 30 +0.0 + 10 +12.42435433070866 + 20 +-0.0546496062992126 + 30 +0.0 + 10 +12.42435433070866 + 20 +-0.0546496062992126 + 30 +0.0 + 10 +12.42435433070866 + 20 +-0.0584842519685039 + 30 +0.0 + 10 +12.42557480314961 + 20 +-0.0618740157480315 + 30 +0.0 + 10 +12.42796456692913 + 20 +-0.0649291338582677 + 30 +0.0 + 10 +12.42796456692913 + 20 +-0.0649291338582677 + 30 +0.0 + 10 +12.43035433070866 + 20 +-0.0680944881889764 + 30 +0.0 + 10 +12.43407480314961 + 20 +-0.0706496062992126 + 30 +0.0 + 10 +12.43918897637795 + 20 +-0.072759842519685 + 30 +0.0 + 10 +12.43918897637795 + 20 +-0.072759842519685 + 30 +0.0 + 10 +12.44213385826772 + 20 +-0.0738149606299213 + 30 +0.0 + 10 +12.45074409448819 + 20 +-0.0763149606299213 + 30 +0.0 + 10 +12.46507480314961 + 20 +-0.0802047244094488 + 30 +0.0 + 10 +12.46507480314961 + 20 +-0.0802047244094488 + 30 +0.0 + 10 +12.48579921259843 + 20 +-0.085759842519685 + 30 +0.0 + 10 +12.50024409448819 + 20 +-0.090259842519685 + 30 +0.0 + 10 +12.5084094488189 + 20 +-0.0938149606299213 + 30 +0.0 + 10 +12.5084094488189 + 20 +-0.0938149606299213 + 30 +0.0 + 10 +12.51663385826772 + 20 +-0.0973149606299213 + 30 +0.0 + 10 +12.52307480314961 + 20 +-0.1024842519685039 + 30 +0.0 + 10 +12.52774409448819 + 20 +-0.1092047244094488 + 30 +0.0 + 10 +12.52774409448819 + 20 +-0.1092047244094488 + 30 +0.0 + 10 +12.5324094488189 + 20 +-0.1159291338582677 + 30 +0.0 + 10 +12.53474409448819 + 20 +-0.124259842519685 + 30 +0.0 + 10 +12.53474409448819 + 20 +-0.134259842519685 + 30 +0.0 + 10 +12.53474409448819 + 20 +-0.134259842519685 + 30 +0.0 + 10 +12.53474409448819 + 20 +-0.1440393700787402 + 30 +0.0 + 10 +12.53185433070866 + 20 +-0.1532047244094488 + 30 +0.0 + 10 +12.52618897637795 + 20 +-0.1618740157480315 + 30 +0.0 + 10 +12.52618897637795 + 20 +-0.1618740157480315 + 30 +0.0 + 10 +12.52046456692913 + 20 +-0.1704842519685039 + 30 +0.0 + 10 +12.51224409448819 + 20 +-0.1771496062992126 + 30 +0.0 + 10 +12.50151968503937 + 20 +-0.1818740157480315 + 30 +0.0 + 10 +12.50151968503937 + 20 +-0.1818740157480315 + 30 +0.0 + 10 +12.49079921259843 + 20 +-0.1865944881889764 + 30 +0.0 + 10 +12.47863385826772 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.46507480314961 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.46507480314961 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.44257480314961 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.42546456692913 + 20 +-0.1842598425196851 + 30 +0.0 + 10 +12.41368897637795 + 20 +-0.1749291338582677 + 30 +0.0 + 10 +12.41368897637795 + 20 +-0.1749291338582677 + 30 +0.0 + 10 +12.4019094488189 + 20 +-0.1655944881889764 + 30 +0.0 + 10 +12.3944094488189 + 20 +-0.1517598425196851 + 30 +0.0 + 10 +12.39118897637795 + 20 +-0.1334291338582677 + 30 +0.0 + 0 +SPLINE + 5 +3F0 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.63352362204724 + 20 +-0.1588188976377953 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.1588188976377953 + 30 +0.0 + 10 +12.63774409448819 + 20 +-0.1847047244094488 + 30 +0.0 + 10 +12.63774409448819 + 20 +-0.1847047244094488 + 30 +0.0 + 10 +12.63774409448819 + 20 +-0.1847047244094488 + 30 +0.0 + 10 +12.62952362204724 + 20 +-0.1864291338582677 + 30 +0.0 + 10 +12.62213385826772 + 20 +-0.1873188976377953 + 30 +0.0 + 10 +12.61563385826772 + 20 +-0.1873188976377953 + 30 +0.0 + 10 +12.61563385826772 + 20 +-0.1873188976377953 + 30 +0.0 + 10 +12.60496850393701 + 20 +-0.1873188976377953 + 30 +0.0 + 10 +12.59674409448819 + 20 +-0.1856496062992126 + 30 +0.0 + 10 +12.59085826771654 + 20 +-0.1822598425196851 + 30 +0.0 + 10 +12.59085826771654 + 20 +-0.1822598425196851 + 30 +0.0 + 10 +12.58502362204724 + 20 +-0.1789291338582677 + 30 +0.0 + 10 +12.58091338582677 + 20 +-0.174484251968504 + 30 +0.0 + 10 +12.57852362204724 + 20 +-0.1689842519685039 + 30 +0.0 + 10 +12.57852362204724 + 20 +-0.1689842519685039 + 30 +0.0 + 10 +12.57613385826772 + 20 +-0.1635393700787402 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.1519842519685039 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.1344291338582677 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.1344291338582677 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.1344291338582677 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.55341338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.57491338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.57491338582677 + 20 +0.0306299212598425 + 30 +0.0 + 10 +12.57491338582677 + 20 +0.0306299212598425 + 30 +0.0 + 10 +12.57491338582677 + 20 +0.0306299212598425 + 30 +0.0 + 10 +12.57491338582677 + 20 +0.0306299212598425 + 30 +0.0 + 10 +12.60407874015748 + 20 +0.0481850393700787 + 30 +0.0 + 10 +12.60407874015748 + 20 +0.0481850393700787 + 30 +0.0 + 10 +12.60407874015748 + 20 +0.0481850393700787 + 30 +0.0 + 10 +12.60407874015748 + 20 +0.0481850393700787 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.1360393700787401 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.1360393700787401 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.1360393700787401 + 30 +0.0 + 10 +12.60407874015748 + 20 +-0.1444291338582677 + 30 +0.0 + 10 +12.60457874015748 + 20 +-0.149759842519685 + 30 +0.0 + 10 +12.60557874015748 + 20 +-0.1521496062992126 + 30 +0.0 + 10 +12.60557874015748 + 20 +-0.1521496062992126 + 30 +0.0 + 10 +12.60663385826772 + 20 +-0.1545393700787402 + 30 +0.0 + 10 +12.6083031496063 + 20 +-0.1564291338582677 + 30 +0.0 + 10 +12.61063385826772 + 20 +-0.1578740157480315 + 30 +0.0 + 10 +12.61063385826772 + 20 +-0.1578740157480315 + 30 +0.0 + 10 +12.61296850393701 + 20 +-0.159259842519685 + 30 +0.0 + 10 +12.6163031496063 + 20 +-0.1599842519685039 + 30 +0.0 + 10 +12.62063385826772 + 20 +-0.1599842519685039 + 30 +0.0 + 10 +12.62063385826772 + 20 +-0.1599842519685039 + 30 +0.0 + 10 +12.62391338582677 + 20 +-0.1599842519685039 + 30 +0.0 + 10 +12.62818897637795 + 20 +-0.1595944881889764 + 30 +0.0 + 10 +12.63352362204724 + 20 +-0.1588188976377953 + 30 +0.0 + 0 +SPLINE + 5 +3F1 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.77496850393701 + 20 +-0.1637047244094488 + 30 +0.0 + 10 +12.76407874015748 + 20 +-0.1729291338582677 + 30 +0.0 + 10 +12.75363385826772 + 20 +-0.1794291338582677 + 30 +0.0 + 10 +12.74363385826772 + 20 +-0.1832598425196851 + 30 +0.0 + 10 +12.74363385826772 + 20 +-0.1832598425196851 + 30 +0.0 + 10 +12.73357874015748 + 20 +-0.1870393700787402 + 30 +0.0 + 10 +12.72279921259842 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.71129921259842 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.71129921259842 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.69229921259842 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +12.67774409448819 + 20 +-0.1843188976377953 + 30 +0.0 + 10 +12.66752362204724 + 20 +-0.1750393700787402 + 30 +0.0 + 10 +12.66752362204724 + 20 +-0.1750393700787402 + 30 +0.0 + 10 +12.65735433070866 + 20 +-0.165759842519685 + 30 +0.0 + 10 +12.65224409448819 + 20 +-0.1538740157480315 + 30 +0.0 + 10 +12.65224409448819 + 20 +-0.1394842519685039 + 30 +0.0 + 10 +12.65224409448819 + 20 +-0.1394842519685039 + 30 +0.0 + 10 +12.65224409448819 + 20 +-0.1309842519685039 + 30 +0.0 + 10 +12.65413385826772 + 20 +-0.123259842519685 + 30 +0.0 + 10 +12.65802362204724 + 20 +-0.116259842519685 + 30 +0.0 + 10 +12.65802362204724 + 20 +-0.116259842519685 + 30 +0.0 + 10 +12.66185433070866 + 20 +-0.109259842519685 + 30 +0.0 + 10 +12.6669094488189 + 20 +-0.1036496062992126 + 30 +0.0 + 10 +12.67313385826772 + 20 +-0.0994291338582677 + 30 +0.0 + 10 +12.67313385826772 + 20 +-0.0994291338582677 + 30 +0.0 + 10 +12.6794094488189 + 20 +-0.0952047244094488 + 30 +0.0 + 10 +12.6864094488189 + 20 +-0.0919842519685039 + 30 +0.0 + 10 +12.69424409448819 + 20 +-0.0898149606299213 + 30 +0.0 + 10 +12.69424409448819 + 20 +-0.0898149606299213 + 30 +0.0 + 10 +12.69996850393701 + 20 +-0.0883149606299213 + 30 +0.0 + 10 +12.70863385826772 + 20 +-0.0868149606299213 + 30 +0.0 + 10 +12.72024409448819 + 20 +-0.0854291338582677 + 30 +0.0 + 10 +12.72024409448819 + 20 +-0.0854291338582677 + 30 +0.0 + 10 +12.74391338582677 + 20 +-0.0825944881889764 + 30 +0.0 + 10 +12.76135433070866 + 20 +-0.079259842519685 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.0753149606299213 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.0753149606299213 + 30 +0.0 + 10 +12.77263385826772 + 20 +-0.0713149606299213 + 30 +0.0 + 10 +12.77268897637795 + 20 +-0.068759842519685 + 30 +0.0 + 10 +12.77268897637795 + 20 +-0.0677047244094488 + 30 +0.0 + 10 +12.77268897637795 + 20 +-0.0677047244094488 + 30 +0.0 + 10 +12.77268897637795 + 20 +-0.055759842519685 + 30 +0.0 + 10 +12.76991338582677 + 20 +-0.0473149606299213 + 30 +0.0 + 10 +12.76435433070866 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +12.76435433070866 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +12.75691338582677 + 20 +-0.0358149606299213 + 30 +0.0 + 10 +12.74574409448819 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +12.73102362204724 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +12.73102362204724 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +12.71724409448819 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +12.70707874015748 + 20 +-0.0349291338582677 + 30 +0.0 + 10 +12.70046850393701 + 20 +-0.039759842519685 + 30 +0.0 + 10 +12.70046850393701 + 20 +-0.039759842519685 + 30 +0.0 + 10 +12.6939094488189 + 20 +-0.0445944881889764 + 30 +0.0 + 10 +12.68907874015748 + 20 +-0.0531496062992126 + 30 +0.0 + 10 +12.6859094488189 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +12.6859094488189 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +12.6859094488189 + 20 +-0.0654291338582677 + 30 +0.0 + 10 +12.65729921259843 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +12.65729921259843 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +12.65729921259843 + 20 +-0.0614842519685039 + 30 +0.0 + 10 +12.6599094488189 + 20 +-0.049259842519685 + 30 +0.0 + 10 +12.66418897637795 + 20 +-0.0393149606299213 + 30 +0.0 + 10 +12.67013385826772 + 20 +-0.0318149606299213 + 30 +0.0 + 10 +12.67013385826772 + 20 +-0.0318149606299213 + 30 +0.0 + 10 +12.67607874015748 + 20 +-0.024259842519685 + 30 +0.0 + 10 +12.68474409448819 + 20 +-0.0184291338582677 + 30 +0.0 + 10 +12.69602362204724 + 20 +-0.0143700787401575 + 30 +0.0 + 10 +12.69602362204724 + 20 +-0.0143700787401575 + 30 +0.0 + 10 +12.70729921259842 + 20 +-0.0103149606299213 + 30 +0.0 + 10 +12.72035433070866 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.73524409448819 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.73524409448819 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.75002362204724 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.76196850393701 + 20 +-0.0100393700787402 + 30 +0.0 + 10 +12.77118897637795 + 20 +-0.0134842519685039 + 30 +0.0 + 10 +12.77118897637795 + 20 +-0.0134842519685039 + 30 +0.0 + 10 +12.78041338582677 + 20 +-0.0169842519685039 + 30 +0.0 + 10 +12.78718897637795 + 20 +-0.0213149606299213 + 30 +0.0 + 10 +12.79157874015748 + 20 +-0.0265944881889764 + 30 +0.0 + 10 +12.79157874015748 + 20 +-0.0265944881889764 + 30 +0.0 + 10 +12.79591338582677 + 20 +-0.0318740157480315 + 30 +0.0 + 10 +12.79891338582677 + 20 +-0.0384842519685039 + 30 +0.0 + 10 +12.80068897637795 + 20 +-0.0465393700787402 + 30 +0.0 + 10 +12.80068897637795 + 20 +-0.0465393700787402 + 30 +0.0 + 10 +12.80163385826772 + 20 +-0.0515393700787402 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.0605393700787402 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.0735393700787402 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.1125944881889764 + 30 +0.0 + 10 +12.80213385826772 + 20 +-0.1398740157480315 + 30 +0.0 + 10 +12.80274409448819 + 20 +-0.1570944881889764 + 30 +0.0 + 10 +12.80402362204724 + 20 +-0.164259842519685 + 30 +0.0 + 10 +12.80402362204724 + 20 +-0.164259842519685 + 30 +0.0 + 10 +12.80524409448819 + 20 +-0.1714842519685039 + 30 +0.0 + 10 +12.80774409448819 + 20 +-0.1784291338582677 + 30 +0.0 + 10 +12.81141338582677 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.81141338582677 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.81141338582677 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.78079921259843 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.78079921259843 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.78079921259843 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.77779921259843 + 20 +-0.1789842519685039 + 30 +0.0 + 10 +12.77579921259843 + 20 +-0.1718740157480315 + 30 +0.0 + 10 +12.77496850393701 + 20 +-0.1637047244094488 + 30 +0.0 + 0 +SPLINE + 5 +3F2 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.77252362204724 + 20 +-0.098259842519685 + 30 +0.0 + 10 +12.76185433070866 + 20 +-0.1026496062992126 + 30 +0.0 + 10 +12.74591338582677 + 20 +-0.1063149606299213 + 30 +0.0 + 10 +12.72468897637795 + 20 +-0.1093740157480315 + 30 +0.0 + 10 +12.72468897637795 + 20 +-0.1093740157480315 + 30 +0.0 + 10 +12.71263385826772 + 20 +-0.1110944881889764 + 30 +0.0 + 10 +12.70407874015748 + 20 +-0.1130393700787402 + 30 +0.0 + 10 +12.69913385826772 + 20 +-0.1152047244094488 + 30 +0.0 + 10 +12.69913385826772 + 20 +-0.1152047244094488 + 30 +0.0 + 10 +12.69413385826772 + 20 +-0.1173740157480315 + 30 +0.0 + 10 +12.69024409448819 + 20 +-0.1205393700787402 + 30 +0.0 + 10 +12.68757874015748 + 20 +-0.124759842519685 + 30 +0.0 + 10 +12.68757874015748 + 20 +-0.124759842519685 + 30 +0.0 + 10 +12.68485433070866 + 20 +-0.1289291338582677 + 30 +0.0 + 10 +12.68346850393701 + 20 +-0.1335393700787401 + 30 +0.0 + 10 +12.68346850393701 + 20 +-0.1386496062992126 + 30 +0.0 + 10 +12.68346850393701 + 20 +-0.1386496062992126 + 30 +0.0 + 10 +12.68346850393701 + 20 +-0.1464842519685039 + 30 +0.0 + 10 +12.68646850393701 + 20 +-0.1529842519685039 + 30 +0.0 + 10 +12.69235433070866 + 20 +-0.1582047244094488 + 30 +0.0 + 10 +12.69235433070866 + 20 +-0.1582047244094488 + 30 +0.0 + 10 +12.69824409448819 + 20 +-0.1633740157480315 + 30 +0.0 + 10 +12.70691338582677 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +12.71829921259843 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +12.71829921259843 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +12.72957874015748 + 20 +-0.1659842519685039 + 30 +0.0 + 10 +12.73963385826772 + 20 +-0.1635393700787402 + 30 +0.0 + 10 +12.74841338582677 + 20 +-0.1585944881889764 + 30 +0.0 + 10 +12.74841338582677 + 20 +-0.1585944881889764 + 30 +0.0 + 10 +12.75718897637795 + 20 +-0.1536496062992126 + 30 +0.0 + 10 +12.76368897637795 + 20 +-0.1468740157480315 + 30 +0.0 + 10 +12.76779921259842 + 20 +-0.1383188976377953 + 30 +0.0 + 10 +12.76779921259842 + 20 +-0.1383188976377953 + 30 +0.0 + 10 +12.77096850393701 + 20 +-0.1317047244094488 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.1219291338582677 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.1090393700787402 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.098259842519685 + 30 +0.0 + 10 +12.77252362204724 + 20 +-0.098259842519685 + 30 +0.0 + 0 +SPLINE + 5 +3F3 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.84757874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.036759842519685 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.036759842519685 + 30 +0.0 + 10 +12.87391338582677 + 20 +-0.036759842519685 + 30 +0.0 + 10 +12.88663385826772 + 20 +-0.017759842519685 + 30 +0.0 + 10 +12.90496850393701 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.92891338582677 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.92891338582677 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.93935826771654 + 20 +-0.008259842519685 + 30 +0.0 + 10 +12.94891338582677 + 20 +-0.0101496062992126 + 30 +0.0 + 10 +12.95763385826772 + 20 +-0.0138700787401575 + 30 +0.0 + 10 +12.95763385826772 + 20 +-0.0138700787401575 + 30 +0.0 + 10 +12.96641338582677 + 20 +-0.0176496062992126 + 30 +0.0 + 10 +12.97291338582677 + 20 +-0.0225393700787402 + 30 +0.0 + 10 +12.97724409448819 + 20 +-0.0286496062992126 + 30 +0.0 + 10 +12.97724409448819 + 20 +-0.0286496062992126 + 30 +0.0 + 10 +12.98163385826772 + 20 +-0.0347047244094488 + 30 +0.0 + 10 +12.98463385826772 + 20 +-0.0419291338582677 + 30 +0.0 + 10 +12.98641338582677 + 20 +-0.050259842519685 + 30 +0.0 + 10 +12.98641338582677 + 20 +-0.050259842519685 + 30 +0.0 + 10 +12.98746850393701 + 20 +-0.0557047244094488 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.0652047244094488 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.078759842519685 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.078759842519685 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.078759842519685 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.98802362204724 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.0798740157480315 + 30 +0.0 + 10 +12.95868897637795 + 20 +-0.0679842519685039 + 30 +0.0 + 10 +12.95757874015748 + 20 +-0.0590393700787402 + 30 +0.0 + 10 +12.9553031496063 + 20 +-0.0530944881889764 + 30 +0.0 + 10 +12.9553031496063 + 20 +-0.0530944881889764 + 30 +0.0 + 10 +12.95302362204724 + 20 +-0.0472047244094488 + 30 +0.0 + 10 +12.94896850393701 + 20 +-0.0424842519685039 + 30 +0.0 + 10 +12.94318897637795 + 20 +-0.0389842519685039 + 30 +0.0 + 10 +12.94318897637795 + 20 +-0.0389842519685039 + 30 +0.0 + 10 +12.93735826771653 + 20 +-0.0354291338582677 + 30 +0.0 + 10 +12.93057874015748 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +12.92274409448819 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +12.92274409448819 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +12.91024409448819 + 20 +-0.0336496062992126 + 30 +0.0 + 10 +12.89952362204724 + 20 +-0.0376496062992126 + 30 +0.0 + 10 +12.89041338582677 + 20 +-0.0455393700787402 + 30 +0.0 + 10 +12.89041338582677 + 20 +-0.0455393700787402 + 30 +0.0 + 10 +12.88135826771654 + 20 +-0.0534842519685039 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.0684842519685039 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.0906496062992126 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.87685826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +12.84757874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3F4 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 60 + 73 + 56 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.0666666666666667 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.1333333333333333 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.2666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.4666666666666667 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.5333333333333333 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.7333333333333333 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +0.8666666666666667 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.14507874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.14507874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.14507874015748 + 20 +-0.1632047244094488 + 30 +0.0 + 10 +13.14507874015748 + 20 +-0.1632047244094488 + 30 +0.0 + 10 +13.14507874015748 + 20 +-0.1632047244094488 + 30 +0.0 + 10 +13.13413385826772 + 20 +-0.1803740157480315 + 30 +0.0 + 10 +13.11802362204724 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.09674803149606 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.09674803149606 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.08296850393701 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.0703031496063 + 20 +-0.1851496062992126 + 30 +0.0 + 10 +13.05874803149606 + 20 +-0.1775393700787402 + 30 +0.0 + 10 +13.05874803149606 + 20 +-0.1775393700787402 + 30 +0.0 + 10 +13.04718897637795 + 20 +-0.1699842519685039 + 30 +0.0 + 10 +13.03824803149606 + 20 +-0.1593740157480315 + 30 +0.0 + 10 +13.03185826771653 + 20 +-0.1457047244094488 + 30 +0.0 + 10 +13.03185826771653 + 20 +-0.1457047244094488 + 30 +0.0 + 10 +13.02552362204724 + 20 +-0.1320944881889764 + 30 +0.0 + 10 +13.02235826771654 + 20 +-0.1164842519685039 + 30 +0.0 + 10 +13.02235826771654 + 20 +-0.098759842519685 + 30 +0.0 + 10 +13.02235826771654 + 20 +-0.098759842519685 + 30 +0.0 + 10 +13.02235826771654 + 20 +-0.0815393700787402 + 30 +0.0 + 10 +13.02524803149606 + 20 +-0.0658740157480315 + 30 +0.0 + 10 +13.03096850393701 + 20 +-0.0518149606299213 + 30 +0.0 + 10 +13.03096850393701 + 20 +-0.0518149606299213 + 30 +0.0 + 10 +13.03674803149606 + 20 +-0.037759842519685 + 30 +0.0 + 10 +13.04535826771654 + 20 +-0.0269842519685039 + 30 +0.0 + 10 +13.05685826771654 + 20 +-0.0195393700787402 + 30 +0.0 + 10 +13.05685826771654 + 20 +-0.0195393700787402 + 30 +0.0 + 10 +13.06835826771654 + 20 +-0.0120393700787402 + 30 +0.0 + 10 +13.08124803149606 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.09546850393701 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.09546850393701 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.10585826771653 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.11513385826772 + 20 +-0.0104842519685039 + 30 +0.0 + 10 +13.12324803149606 + 20 +-0.0148700787401575 + 30 +0.0 + 10 +13.12324803149606 + 20 +-0.0148700787401575 + 30 +0.0 + 10 +13.13141338582677 + 20 +-0.019259842519685 + 30 +0.0 + 10 +13.13802362204724 + 20 +-0.0249842519685039 + 30 +0.0 + 10 +13.14313385826772 + 20 +-0.0320393700787402 + 30 +0.0 + 10 +13.14313385826772 + 20 +-0.0320393700787402 + 30 +0.0 + 10 +13.14313385826772 + 20 +-0.0320393700787402 + 30 +0.0 + 10 +13.14313385826772 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.14313385826772 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.14313385826772 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.14313385826772 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.17224803149606 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.17224803149606 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.17224803149606 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.17224803149606 + 20 +0.0535708661417323 + 30 +0.0 + 10 +13.17224803149606 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.17224803149606 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.17224803149606 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.17224803149606 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.14507874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.14507874015748 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3F5 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.05246850393701 + 20 +-0.098759842519685 + 30 +0.0 + 10 +13.05246850393701 + 20 +-0.1209291338582677 + 30 +0.0 + 10 +13.05713385826772 + 20 +-0.1374842519685039 + 30 +0.0 + 10 +13.06646850393701 + 20 +-0.1484291338582677 + 30 +0.0 + 10 +13.06646850393701 + 20 +-0.1484291338582677 + 30 +0.0 + 10 +13.0758031496063 + 20 +-0.1593740157480315 + 30 +0.0 + 10 +13.0868031496063 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.09952362204724 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.09952362204724 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.1123031496063 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.12319291338583 + 20 +-0.1595944881889764 + 30 +0.0 + 10 +13.13213385826772 + 20 +-0.1491496062992126 + 30 +0.0 + 10 +13.13213385826772 + 20 +-0.1491496062992126 + 30 +0.0 + 10 +13.14107874015748 + 20 +-0.1387047244094488 + 30 +0.0 + 10 +13.14557874015748 + 20 +-0.1227047244094488 + 30 +0.0 + 10 +13.14557874015748 + 20 +-0.1012047244094488 + 30 +0.0 + 10 +13.14557874015748 + 20 +-0.1012047244094488 + 30 +0.0 + 10 +13.14557874015748 + 20 +-0.0775393700787402 + 30 +0.0 + 10 +13.14102362204724 + 20 +-0.0602047244094488 + 30 +0.0 + 10 +13.13191338582677 + 20 +-0.0491496062992126 + 30 +0.0 + 10 +13.13191338582677 + 20 +-0.0491496062992126 + 30 +0.0 + 10 +13.1228031496063 + 20 +-0.0380393700787402 + 30 +0.0 + 10 +13.11157874015748 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.09819291338583 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.09819291338583 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.08519291338583 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.0743031496063 + 20 +-0.0378740157480315 + 30 +0.0 + 10 +13.06557874015748 + 20 +-0.0484842519685039 + 30 +0.0 + 10 +13.06557874015748 + 20 +-0.0484842519685039 + 30 +0.0 + 10 +13.05685826771654 + 20 +-0.0590944881889764 + 30 +0.0 + 10 +13.05246850393701 + 20 +-0.0758740157480315 + 30 +0.0 + 10 +13.05246850393701 + 20 +-0.098759842519685 + 30 +0.0 + 0 +SPLINE + 5 +3F6 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.20741338582677 + 20 +-0.0985944881889764 + 30 +0.0 + 10 +13.20741338582677 + 20 +-0.0665944881889764 + 30 +0.0 + 10 +13.2163031496063 + 20 +-0.0428740157480315 + 30 +0.0 + 10 +13.23413779527559 + 20 +-0.0274842519685039 + 30 +0.0 + 10 +13.23413779527559 + 20 +-0.0274842519685039 + 30 +0.0 + 10 +13.24896850393701 + 20 +-0.0147047244094488 + 30 +0.0 + 10 +13.26708267716536 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.31224803149606 + 20 +-0.008259842519685 + 30 +0.0 + 10 +13.33169291338583 + 20 +-0.0160393700787402 + 30 +0.0 + 10 +13.34674803149606 + 20 +-0.0316496062992126 + 30 +0.0 + 10 +13.34674803149606 + 20 +-0.0316496062992126 + 30 +0.0 + 10 +13.36185826771653 + 20 +-0.0472047244094488 + 30 +0.0 + 10 +13.36935826771654 + 20 +-0.0687047244094488 + 30 +0.0 + 10 +13.36935826771654 + 20 +-0.0961496062992126 + 30 +0.0 + 10 +13.36935826771654 + 20 +-0.0961496062992126 + 30 +0.0 + 10 +13.36935826771654 + 20 +-0.1184291338582677 + 30 +0.0 + 10 +13.36602755905512 + 20 +-0.1359291338582677 + 30 +0.0 + 10 +13.35935826771654 + 20 +-0.1486496062992126 + 30 +0.0 + 10 +13.35935826771654 + 20 +-0.1486496062992126 + 30 +0.0 + 10 +13.35269291338583 + 20 +-0.1614291338582677 + 30 +0.0 + 10 +13.34296850393701 + 20 +-0.1713188976377953 + 30 +0.0 + 10 +13.33024803149606 + 20 +-0.1783740157480315 + 30 +0.0 + 10 +13.33024803149606 + 20 +-0.1783740157480315 + 30 +0.0 + 10 +13.31746850393701 + 20 +-0.1854291338582677 + 30 +0.0 + 10 +13.30358267716535 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.2643031496063 + 20 +-0.1889291338582677 + 30 +0.0 + 10 +13.24474803149606 + 20 +-0.1812047244094488 + 30 +0.0 + 10 +13.2298031496063 + 20 +-0.1656496062992126 + 30 +0.0 + 10 +13.2298031496063 + 20 +-0.1656496062992126 + 30 +0.0 + 10 +13.21485826771653 + 20 +-0.1501496062992126 + 30 +0.0 + 10 +13.20741338582677 + 20 +-0.1278149606299213 + 30 +0.0 + 10 +13.20741338582677 + 20 +-0.0985944881889764 + 30 +0.0 + 0 +SPLINE + 5 +3F7 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.23752362204724 + 20 +-0.0985944881889764 + 30 +0.0 + 10 +13.23752362204724 + 20 +-0.120759842519685 + 30 +0.0 + 10 +13.24235826771653 + 20 +-0.1373188976377953 + 30 +0.0 + 10 +13.25202362204724 + 20 +-0.1483188976377953 + 30 +0.0 + 10 +13.25202362204724 + 20 +-0.1483188976377953 + 30 +0.0 + 10 +13.26169291338583 + 20 +-0.1593740157480315 + 30 +0.0 + 10 +13.27385826771654 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.30302362204724 + 20 +-0.1648740157480315 + 30 +0.0 + 10 +13.31513779527559 + 20 +-0.1593188976377953 + 30 +0.0 + 10 +13.3248031496063 + 20 +-0.148259842519685 + 30 +0.0 + 10 +13.3248031496063 + 20 +-0.148259842519685 + 30 +0.0 + 10 +13.33441338582677 + 20 +-0.1372047244094488 + 30 +0.0 + 10 +13.33924803149606 + 20 +-0.1203149606299213 + 30 +0.0 + 10 +13.33924803149606 + 20 +-0.0976496062992126 + 30 +0.0 + 10 +13.33924803149606 + 20 +-0.0976496062992126 + 30 +0.0 + 10 +13.33924803149606 + 20 +-0.076259842519685 + 30 +0.0 + 10 +13.33441338582677 + 20 +-0.0600393700787402 + 30 +0.0 + 10 +13.32469291338583 + 20 +-0.0490393700787402 + 30 +0.0 + 10 +13.32469291338583 + 20 +-0.0490393700787402 + 30 +0.0 + 10 +13.31496850393701 + 20 +-0.0380393700787402 + 30 +0.0 + 10 +13.30291338582677 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.28846850393701 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.27385826771654 + 20 +-0.0325393700787402 + 30 +0.0 + 10 +13.26169291338583 + 20 +-0.0380393700787402 + 30 +0.0 + 10 +13.25202362204724 + 20 +-0.0489842519685039 + 30 +0.0 + 10 +13.25202362204724 + 20 +-0.0489842519685039 + 30 +0.0 + 10 +13.24235826771653 + 20 +-0.0599291338582677 + 30 +0.0 + 10 +13.23752362204724 + 20 +-0.0764842519685039 + 30 +0.0 + 10 +13.23752362204724 + 20 +-0.0985944881889764 + 30 +0.0 + 0 +SPLINE + 5 +3F8 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.41069291338583 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.38485826771653 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.41069291338583 + 20 +0.0061850393700787 + 30 +0.0 + 10 +13.41069291338583 + 20 +0.0061850393700787 + 30 +0.0 + 10 +13.41069291338583 + 20 +0.0061850393700787 + 30 +0.0 + 10 +13.41069291338583 + 20 +0.0177952755905512 + 30 +0.0 + 10 +13.41174803149606 + 20 +0.0264606299212598 + 30 +0.0 + 10 +13.4138031496063 + 20 +0.0320708661417323 + 30 +0.0 + 10 +13.4138031496063 + 20 +0.0320708661417323 + 30 +0.0 + 10 +13.41663779527559 + 20 +0.0396850393700787 + 30 +0.0 + 10 +13.42158267716535 + 20 +0.0458503937007874 + 30 +0.0 + 10 +13.42869291338583 + 20 +0.0505708661417323 + 30 +0.0 + 10 +13.42869291338583 + 20 +0.0505708661417323 + 30 +0.0 + 10 +13.4358031496063 + 20 +0.0552952755905512 + 30 +0.0 + 10 +13.44574803149606 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.45858267716535 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.45858267716535 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.4668031496063 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.47591338582677 + 20 +0.0566850393700787 + 30 +0.0 + 10 +13.48591338582677 + 20 +0.0546850393700787 + 30 +0.0 + 10 +13.48591338582677 + 20 +0.0546850393700787 + 30 +0.0 + 10 +13.48591338582677 + 20 +0.0546850393700787 + 30 +0.0 + 10 +13.48152755905512 + 20 +0.0291299212598425 + 30 +0.0 + 10 +13.48152755905512 + 20 +0.0291299212598425 + 30 +0.0 + 10 +13.48152755905512 + 20 +0.0291299212598425 + 30 +0.0 + 10 +13.47547244094488 + 20 +0.030240157480315 + 30 +0.0 + 10 +13.46969291338583 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.46424803149606 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.46424803149606 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.45535826771654 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.44908267716535 + 20 +0.0289055118110236 + 30 +0.0 + 10 +13.44541338582677 + 20 +0.0250708661417323 + 30 +0.0 + 10 +13.44541338582677 + 20 +0.0250708661417323 + 30 +0.0 + 10 +13.44169291338583 + 20 +0.0212952755905512 + 30 +0.0 + 10 +13.43985826771654 + 20 +0.0141850393700787 + 30 +0.0 + 10 +13.43985826771654 + 20 +0.003740157480315 + 30 +0.0 + 10 +13.43985826771654 + 20 +0.003740157480315 + 30 +0.0 + 10 +13.43985826771654 + 20 +0.003740157480315 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47352755905512 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.43985826771654 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.41069291338583 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3F9 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.4973031496063 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.47146850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.4973031496063 + 20 +0.0061850393700787 + 30 +0.0 + 10 +13.4973031496063 + 20 +0.0061850393700787 + 30 +0.0 + 10 +13.4973031496063 + 20 +0.0061850393700787 + 30 +0.0 + 10 +13.4973031496063 + 20 +0.0177952755905512 + 30 +0.0 + 10 +13.49835826771653 + 20 +0.0264606299212598 + 30 +0.0 + 10 +13.50041338582677 + 20 +0.0320708661417323 + 30 +0.0 + 10 +13.50041338582677 + 20 +0.0320708661417323 + 30 +0.0 + 10 +13.50324803149606 + 20 +0.0396850393700787 + 30 +0.0 + 10 +13.50819291338583 + 20 +0.0458503937007874 + 30 +0.0 + 10 +13.5153031496063 + 20 +0.0505708661417323 + 30 +0.0 + 10 +13.5153031496063 + 20 +0.0505708661417323 + 30 +0.0 + 10 +13.52241338582677 + 20 +0.0552952755905512 + 30 +0.0 + 10 +13.53235826771654 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.54519291338583 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.54519291338583 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.55341338582677 + 20 +0.0576299212598425 + 30 +0.0 + 10 +13.56252362204724 + 20 +0.0566850393700787 + 30 +0.0 + 10 +13.57252362204724 + 20 +0.0546850393700787 + 30 +0.0 + 10 +13.57252362204724 + 20 +0.0546850393700787 + 30 +0.0 + 10 +13.57252362204724 + 20 +0.0546850393700787 + 30 +0.0 + 10 +13.56813779527559 + 20 +0.0291299212598425 + 30 +0.0 + 10 +13.56813779527559 + 20 +0.0291299212598425 + 30 +0.0 + 10 +13.56813779527559 + 20 +0.0291299212598425 + 30 +0.0 + 10 +13.56208267716536 + 20 +0.030240157480315 + 30 +0.0 + 10 +13.5563031496063 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.55085826771654 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.55085826771654 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.54196850393701 + 20 +0.0307952755905512 + 30 +0.0 + 10 +13.53569291338583 + 20 +0.0289055118110236 + 30 +0.0 + 10 +13.53202362204724 + 20 +0.0250708661417323 + 30 +0.0 + 10 +13.53202362204724 + 20 +0.0250708661417323 + 30 +0.0 + 10 +13.5283031496063 + 20 +0.0212952755905512 + 30 +0.0 + 10 +13.52646850393701 + 20 +0.0141850393700787 + 30 +0.0 + 10 +13.52646850393701 + 20 +0.003740157480315 + 30 +0.0 + 10 +13.52646850393701 + 20 +0.003740157480315 + 30 +0.0 + 10 +13.52646850393701 + 20 +0.003740157480315 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0122047244094488 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.56013779527559 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.0349842519685039 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.52646850393701 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.1850393700787402 + 30 +0.0 + 10 +13.4973031496063 + 20 +-0.1850393700787402 + 30 +0.0 + 0 +SPLINE + 5 +3FA +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.1612874015748 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +10.14512204724409 + 20 +-0.6072086614173229 + 30 +0.0 + 10 +10.13145275590551 + 20 +-0.5833188976377953 + 30 +0.0 + 10 +10.1202874015748 + 20 +-0.555984251968504 + 30 +0.0 + 10 +10.1202874015748 + 20 +-0.555984251968504 + 30 +0.0 + 10 +10.10912204724409 + 20 +-0.5285944881889764 + 30 +0.0 + 10 +10.10350787401575 + 20 +-0.5003188976377952 + 30 +0.0 + 10 +10.10350787401575 + 20 +-0.470984251968504 + 30 +0.0 + 10 +10.10350787401575 + 20 +-0.470984251968504 + 30 +0.0 + 10 +10.10350787401575 + 20 +-0.4451496062992126 + 30 +0.0 + 10 +10.10767716535433 + 20 +-0.4204291338582677 + 30 +0.0 + 10 +10.11606299212598 + 20 +-0.396763779527559 + 30 +0.0 + 10 +10.11606299212598 + 20 +-0.396763779527559 + 30 +0.0 + 10 +10.12584251968504 + 20 +-0.3693188976377953 + 30 +0.0 + 10 +10.14089763779528 + 20 +-0.341984251968504 + 30 +0.0 + 10 +10.1612874015748 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.1612874015748 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.1612874015748 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.1822874015748 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.1822874015748 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.1822874015748 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.16917716535433 + 20 +-0.3373188976377953 + 30 +0.0 + 10 +10.16050787401575 + 20 +-0.3534291338582677 + 30 +0.0 + 10 +10.1562874015748 + 20 +-0.3630944881889764 + 30 +0.0 + 10 +10.1562874015748 + 20 +-0.3630944881889764 + 30 +0.0 + 10 +10.14962204724409 + 20 +-0.3780393700787402 + 30 +0.0 + 10 +10.14445275590551 + 20 +-0.3937047244094488 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.4099842519685039 + 30 +0.0 + 10 +10.1406220472441 + 20 +-0.4099842519685039 + 30 +0.0 + 10 +10.13595275590551 + 20 +-0.4302637795275591 + 30 +0.0 + 10 +10.13362204724409 + 20 +-0.4506496062992126 + 30 +0.0 + 10 +10.13362204724409 + 20 +-0.4711496062992126 + 30 +0.0 + 10 +10.13362204724409 + 20 +-0.4711496062992126 + 30 +0.0 + 10 +10.13362204724409 + 20 +-0.5233740157480316 + 30 +0.0 + 10 +10.14984251968504 + 20 +-0.575484251968504 + 30 +0.0 + 10 +10.1822874015748 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +10.1822874015748 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +10.1822874015748 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +10.1612874015748 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +10.1612874015748 + 20 +-0.6275944881889763 + 30 +0.0 + 0 +SPLINE + 5 +3FB +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.32912204724409 + 20 +-0.4940944881889764 + 30 +0.0 + 10 +10.32912204724409 + 20 +-0.4940944881889764 + 30 +0.0 + 10 +10.35789763779528 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +10.35789763779528 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +10.35789763779528 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +10.3547874015748 + 20 +-0.5177086614173229 + 30 +0.0 + 10 +10.34673228346457 + 20 +-0.5332637795275591 + 30 +0.0 + 10 +10.33373228346457 + 20 +-0.5444842519685039 + 30 +0.0 + 10 +10.33373228346457 + 20 +-0.5444842519685039 + 30 +0.0 + 10 +10.3207874015748 + 20 +-0.5557086614173228 + 30 +0.0 + 10 +10.30484251968504 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.28595275590551 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.28595275590551 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.26234251968504 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.2432874015748 + 20 +-0.5535944881889764 + 30 +0.0 + 10 +10.22895275590551 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +10.22895275590551 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +10.21456299212598 + 20 +-0.5227086614173229 + 30 +0.0 + 10 +10.20734251968504 + 20 +-0.5005393700787402 + 30 +0.0 + 10 +10.20734251968504 + 20 +-0.4716496062992126 + 30 +0.0 + 10 +10.20734251968504 + 20 +-0.4716496062992126 + 30 +0.0 + 10 +10.20734251968504 + 20 +-0.4529842519685039 + 30 +0.0 + 10 +10.21045275590551 + 20 +-0.4366496062992126 + 30 +0.0 + 10 +10.21662204724409 + 20 +-0.4226496062992126 + 30 +0.0 + 10 +10.21662204724409 + 20 +-0.4226496062992126 + 30 +0.0 + 10 +10.22284251968504 + 20 +-0.4086496062992126 + 30 +0.0 + 10 +10.23223228346457 + 20 +-0.3981496062992126 + 30 +0.0 + 10 +10.24489763779528 + 20 +-0.3911496062992126 + 30 +0.0 + 10 +10.24489763779528 + 20 +-0.3911496062992126 + 30 +0.0 + 10 +10.25750787401575 + 20 +-0.3841496062992126 + 30 +0.0 + 10 +10.2712874015748 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.28612204724409 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.28612204724409 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.30489763779527 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.3202874015748 + 20 +-0.3854291338582677 + 30 +0.0 + 10 +10.33217716535433 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +10.33217716535433 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +10.3441220472441 + 20 +-0.4044291338582677 + 30 +0.0 + 10 +10.3517874015748 + 20 +-0.4178740157480315 + 30 +0.0 + 10 +10.35517716535433 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +10.35517716535433 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +10.35517716535433 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +10.32667716535433 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +10.32667716535433 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +10.32667716535433 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +10.32395275590551 + 20 +-0.4281496062992126 + 30 +0.0 + 10 +10.31917716535433 + 20 +-0.4194291338582677 + 30 +0.0 + 10 +10.3122874015748 + 20 +-0.4135393700787401 + 30 +0.0 + 10 +10.3122874015748 + 20 +-0.4135393700787401 + 30 +0.0 + 10 +10.30539763779528 + 20 +-0.4077047244094488 + 30 +0.0 + 10 +10.29706692913386 + 20 +-0.404763779527559 + 30 +0.0 + 10 +10.2872874015748 + 20 +-0.404763779527559 + 30 +0.0 + 10 +10.2872874015748 + 20 +-0.404763779527559 + 30 +0.0 + 10 +10.27250787401575 + 20 +-0.404763779527559 + 30 +0.0 + 10 +10.26050787401575 + 20 +-0.4100393700787401 + 30 +0.0 + 10 +10.2512874015748 + 20 +-0.4206496062992126 + 30 +0.0 + 10 +10.2512874015748 + 20 +-0.4206496062992126 + 30 +0.0 + 10 +10.24206299212598 + 20 +-0.4312047244094488 + 30 +0.0 + 10 +10.23745275590551 + 20 +-0.4479291338582677 + 30 +0.0 + 10 +10.23745275590551 + 20 +-0.4708188976377953 + 30 +0.0 + 10 +10.23745275590551 + 20 +-0.4708188976377953 + 30 +0.0 + 10 +10.23745275590551 + 20 +-0.4940393700787402 + 30 +0.0 + 10 +10.24189763779528 + 20 +-0.5109291338582678 + 30 +0.0 + 10 +10.25084251968504 + 20 +-0.5214842519685039 + 30 +0.0 + 10 +10.25084251968504 + 20 +-0.5214842519685039 + 30 +0.0 + 10 +10.25973228346457 + 20 +-0.531984251968504 + 30 +0.0 + 10 +10.27134251968504 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +10.28567716535433 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +10.28567716535433 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +10.29717716535433 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +10.30673228346457 + 20 +-0.5337086614173229 + 30 +0.0 + 10 +10.31445275590551 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +10.31445275590551 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +10.32217716535433 + 20 +-0.5195944881889764 + 30 +0.0 + 10 +10.32706692913386 + 20 +-0.508763779527559 + 30 +0.0 + 10 +10.32912204724409 + 20 +-0.4940944881889764 + 30 +0.0 + 0 +SPLINE + 5 +3FC +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.49629133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.49629133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.49629133858268 + 20 +-0.5320393700787401 + 30 +0.0 + 10 +10.49629133858268 + 20 +-0.5320393700787401 + 30 +0.0 + 10 +10.49629133858268 + 20 +-0.5320393700787401 + 30 +0.0 + 10 +10.48279133858268 + 20 +-0.5515944881889764 + 30 +0.0 + 10 +10.46451181102362 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.44140157480315 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.44140157480315 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.43123622047244 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.42167716535433 + 20 +-0.5593740157480315 + 30 +0.0 + 10 +10.41284645669291 + 20 +-0.5554842519685039 + 30 +0.0 + 10 +10.41284645669291 + 20 +-0.5554842519685039 + 30 +0.0 + 10 +10.40401181102362 + 20 +-0.5515944881889764 + 30 +0.0 + 10 +10.39745669291339 + 20 +-0.5466496062992126 + 30 +0.0 + 10 +10.39317716535433 + 20 +-0.540763779527559 + 30 +0.0 + 10 +10.39317716535433 + 20 +-0.540763779527559 + 30 +0.0 + 10 +10.38884645669291 + 20 +-0.5348188976377952 + 30 +0.0 + 10 +10.38584645669291 + 20 +-0.5275944881889764 + 30 +0.0 + 10 +10.38412204724409 + 20 +-0.5190393700787401 + 30 +0.0 + 10 +10.38412204724409 + 20 +-0.5190393700787401 + 30 +0.0 + 10 +10.38295669291339 + 20 +-0.5132637795275591 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.5041496062992126 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.4916496062992126 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.4916496062992126 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.4916496062992126 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.38234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.4804291338582677 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.4804291338582677 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.4804291338582677 + 30 +0.0 + 10 +10.41162204724409 + 20 +-0.4957637795275591 + 30 +0.0 + 10 +10.41223228346457 + 20 +-0.5060393700787401 + 30 +0.0 + 10 +10.41340157480315 + 20 +-0.5113740157480315 + 30 +0.0 + 10 +10.41340157480315 + 20 +-0.5113740157480315 + 30 +0.0 + 10 +10.41529133858268 + 20 +-0.5190944881889764 + 30 +0.0 + 10 +10.41917716535433 + 20 +-0.5250944881889764 + 30 +0.0 + 10 +10.42512204724409 + 20 +-0.5295393700787402 + 30 +0.0 + 10 +10.42512204724409 + 20 +-0.5295393700787402 + 30 +0.0 + 10 +10.4311220472441 + 20 +-0.5339291338582677 + 30 +0.0 + 10 +10.43851181102362 + 20 +-0.5360944881889764 + 30 +0.0 + 10 +10.44729133858268 + 20 +-0.5360944881889764 + 30 +0.0 + 10 +10.44729133858268 + 20 +-0.5360944881889764 + 30 +0.0 + 10 +10.45606692913386 + 20 +-0.5360944881889764 + 30 +0.0 + 10 +10.46429133858268 + 20 +-0.5338740157480315 + 30 +0.0 + 10 +10.47201181102362 + 20 +-0.5293740157480314 + 30 +0.0 + 10 +10.47201181102362 + 20 +-0.5293740157480314 + 30 +0.0 + 10 +10.47973622047244 + 20 +-0.5248740157480315 + 30 +0.0 + 10 +10.48517716535433 + 20 +-0.5187086614173229 + 30 +0.0 + 10 +10.48834645669291 + 20 +-0.5109842519685039 + 30 +0.0 + 10 +10.48834645669291 + 20 +-0.5109842519685039 + 30 +0.0 + 10 +10.49156692913386 + 20 +-0.5032086614173228 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.4919291338582677 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.4772047244094488 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.4772047244094488 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.4772047244094488 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.49317716535433 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.52245669291339 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.49629133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.49629133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +3FD +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.63234645669291 + 20 +-0.5312086614173228 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.5312086614173228 + 30 +0.0 + 10 +10.63656692913386 + 20 +-0.5570944881889763 + 30 +0.0 + 10 +10.63656692913386 + 20 +-0.5570944881889763 + 30 +0.0 + 10 +10.63656692913386 + 20 +-0.5570944881889763 + 30 +0.0 + 10 +10.62834645669291 + 20 +-0.5588188976377952 + 30 +0.0 + 10 +10.62095669291338 + 20 +-0.5597086614173228 + 30 +0.0 + 10 +10.61445669291339 + 20 +-0.5597086614173228 + 30 +0.0 + 10 +10.61445669291339 + 20 +-0.5597086614173228 + 30 +0.0 + 10 +10.60379133858268 + 20 +-0.5597086614173228 + 30 +0.0 + 10 +10.59556692913386 + 20 +-0.5580393700787402 + 30 +0.0 + 10 +10.5896811023622 + 20 +-0.5546496062992126 + 30 +0.0 + 10 +10.5896811023622 + 20 +-0.5546496062992126 + 30 +0.0 + 10 +10.58384645669291 + 20 +-0.5513188976377953 + 30 +0.0 + 10 +10.57973622047244 + 20 +-0.5468740157480315 + 30 +0.0 + 10 +10.57734645669291 + 20 +-0.5413740157480315 + 30 +0.0 + 10 +10.57734645669291 + 20 +-0.5413740157480315 + 30 +0.0 + 10 +10.57495669291339 + 20 +-0.5359291338582677 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.5243740157480314 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.5068188976377953 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.5068188976377953 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.5068188976377953 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.55223622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3417598425196851 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3417598425196851 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3417598425196851 + 30 +0.0 + 10 +10.57373622047244 + 20 +-0.3417598425196851 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3242047244094488 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3242047244094488 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3242047244094488 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3242047244094488 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.5084291338582677 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.5084291338582677 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.5084291338582677 + 30 +0.0 + 10 +10.60290157480315 + 20 +-0.5168188976377953 + 30 +0.0 + 10 +10.60340157480315 + 20 +-0.5221496062992126 + 30 +0.0 + 10 +10.60440157480315 + 20 +-0.5245393700787402 + 30 +0.0 + 10 +10.60440157480315 + 20 +-0.5245393700787402 + 30 +0.0 + 10 +10.60545669291339 + 20 +-0.5269291338582677 + 30 +0.0 + 10 +10.60712598425197 + 20 +-0.5288188976377953 + 30 +0.0 + 10 +10.60945669291339 + 20 +-0.5302637795275591 + 30 +0.0 + 10 +10.60945669291339 + 20 +-0.5302637795275591 + 30 +0.0 + 10 +10.61179133858268 + 20 +-0.5316496062992127 + 30 +0.0 + 10 +10.61512598425197 + 20 +-0.5323740157480314 + 30 +0.0 + 10 +10.61945669291339 + 20 +-0.5323740157480314 + 30 +0.0 + 10 +10.61945669291339 + 20 +-0.5323740157480314 + 30 +0.0 + 10 +10.62273622047244 + 20 +-0.5323740157480314 + 30 +0.0 + 10 +10.62701181102362 + 20 +-0.531984251968504 + 30 +0.0 + 10 +10.63234645669291 + 20 +-0.5312086614173228 + 30 +0.0 + 0 +SPLINE + 5 +3FE +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.76056692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.73473228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3662047244094488 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3662047244094488 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3662047244094488 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.3545944881889764 + 30 +0.0 + 10 +10.76162204724409 + 20 +-0.3459291338582677 + 30 +0.0 + 10 +10.76367716535433 + 20 +-0.3403188976377953 + 30 +0.0 + 10 +10.76367716535433 + 20 +-0.3403188976377953 + 30 +0.0 + 10 +10.76651181102362 + 20 +-0.3327047244094488 + 30 +0.0 + 10 +10.77145669291339 + 20 +-0.3265393700787402 + 30 +0.0 + 10 +10.77856692913386 + 20 +-0.3218188976377953 + 30 +0.0 + 10 +10.77856692913386 + 20 +-0.3218188976377953 + 30 +0.0 + 10 +10.78567716535433 + 20 +-0.3170944881889764 + 30 +0.0 + 10 +10.79562204724409 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.80845669291338 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.80845669291338 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.81667716535433 + 20 +-0.314759842519685 + 30 +0.0 + 10 +10.8257874015748 + 20 +-0.3157047244094488 + 30 +0.0 + 10 +10.8357874015748 + 20 +-0.3177047244094488 + 30 +0.0 + 10 +10.8357874015748 + 20 +-0.3177047244094488 + 30 +0.0 + 10 +10.8357874015748 + 20 +-0.3177047244094488 + 30 +0.0 + 10 +10.83140157480315 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +10.83140157480315 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +10.83140157480315 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +10.82534645669291 + 20 +-0.3421496062992126 + 30 +0.0 + 10 +10.81956692913386 + 20 +-0.3415944881889764 + 30 +0.0 + 10 +10.81412204724409 + 20 +-0.3415944881889764 + 30 +0.0 + 10 +10.81412204724409 + 20 +-0.3415944881889764 + 30 +0.0 + 10 +10.80523228346457 + 20 +-0.3415944881889764 + 30 +0.0 + 10 +10.79895669291339 + 20 +-0.343484251968504 + 30 +0.0 + 10 +10.7952874015748 + 20 +-0.3473188976377953 + 30 +0.0 + 10 +10.7952874015748 + 20 +-0.3473188976377953 + 30 +0.0 + 10 +10.79156692913386 + 20 +-0.3510944881889764 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3582047244094488 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3686496062992126 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3686496062992126 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3686496062992126 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.82340157480315 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.4073740157480315 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.78973228346457 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.76056692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +3FF +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.84589763779528 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.410763779527559 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.410763779527559 + 30 +0.0 + 10 +10.87223228346457 + 20 +-0.410763779527559 + 30 +0.0 + 10 +10.87895275590551 + 20 +-0.3985393700787402 + 30 +0.0 + 10 +10.88517716535433 + 20 +-0.3904291338582677 + 30 +0.0 + 10 +10.89089763779528 + 20 +-0.3865393700787402 + 30 +0.0 + 10 +10.89089763779528 + 20 +-0.3865393700787402 + 30 +0.0 + 10 +10.89656692913386 + 20 +-0.3826496062992126 + 30 +0.0 + 10 +10.90284251968504 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.90967716535433 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.90967716535433 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.91956692913386 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +10.92956692913386 + 20 +-0.3838188976377953 + 30 +0.0 + 10 +10.9397874015748 + 20 +-0.3900944881889764 + 30 +0.0 + 10 +10.9397874015748 + 20 +-0.3900944881889764 + 30 +0.0 + 10 +10.9397874015748 + 20 +-0.3900944881889764 + 30 +0.0 + 10 +10.92967716535433 + 20 +-0.4173188976377953 + 30 +0.0 + 10 +10.92967716535433 + 20 +-0.4173188976377953 + 30 +0.0 + 10 +10.92967716535433 + 20 +-0.4173188976377953 + 30 +0.0 + 10 +10.92256692913386 + 20 +-0.4130393700787401 + 30 +0.0 + 10 +10.91539763779527 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +10.90823228346457 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +10.90823228346457 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +10.9017874015748 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +10.89606692913386 + 20 +-0.4128740157480315 + 30 +0.0 + 10 +10.89095669291339 + 20 +-0.4167047244094488 + 30 +0.0 + 10 +10.89095669291339 + 20 +-0.4167047244094488 + 30 +0.0 + 10 +10.88584251968504 + 20 +-0.4205944881889764 + 30 +0.0 + 10 +10.88223228346457 + 20 +-0.4259291338582677 + 30 +0.0 + 10 +10.88006692913386 + 20 +-0.4327637795275591 + 30 +0.0 + 10 +10.88006692913386 + 20 +-0.4327637795275591 + 30 +0.0 + 10 +10.8767874015748 + 20 +-0.4431496062992126 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.4545393700787402 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.4669291338582677 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.4669291338582677 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.4669291338582677 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.87517716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +10.84589763779528 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +400 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.9462874015748 + 20 +-0.470984251968504 + 30 +0.0 + 10 +10.9462874015748 + 20 +-0.4389842519685039 + 30 +0.0 + 10 +10.95517716535433 + 20 +-0.4152637795275591 + 30 +0.0 + 10 +10.97301181102362 + 20 +-0.3998740157480315 + 30 +0.0 + 10 +10.97301181102362 + 20 +-0.3998740157480315 + 30 +0.0 + 10 +10.98784251968504 + 20 +-0.3870944881889764 + 30 +0.0 + 10 +11.00595669291339 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.05112204724409 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.07056692913386 + 20 +-0.3884291338582677 + 30 +0.0 + 10 +11.08562204724409 + 20 +-0.4040393700787401 + 30 +0.0 + 10 +11.08562204724409 + 20 +-0.4040393700787401 + 30 +0.0 + 10 +11.10073228346457 + 20 +-0.4195944881889764 + 30 +0.0 + 10 +11.10823228346457 + 20 +-0.4410944881889764 + 30 +0.0 + 10 +11.10823228346457 + 20 +-0.4685393700787401 + 30 +0.0 + 10 +11.10823228346457 + 20 +-0.4685393700787401 + 30 +0.0 + 10 +11.10823228346457 + 20 +-0.4908188976377953 + 30 +0.0 + 10 +11.10490157480315 + 20 +-0.5083188976377953 + 30 +0.0 + 10 +11.09823228346457 + 20 +-0.5210393700787401 + 30 +0.0 + 10 +11.09823228346457 + 20 +-0.5210393700787401 + 30 +0.0 + 10 +11.09156692913386 + 20 +-0.5338188976377953 + 30 +0.0 + 10 +11.08184251968504 + 20 +-0.5437086614173229 + 30 +0.0 + 10 +11.06912204724409 + 20 +-0.5507637795275591 + 30 +0.0 + 10 +11.06912204724409 + 20 +-0.5507637795275591 + 30 +0.0 + 10 +11.05634251968504 + 20 +-0.5578188976377952 + 30 +0.0 + 10 +11.04245669291338 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +11.00317716535433 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +10.9836220472441 + 20 +-0.5535944881889764 + 30 +0.0 + 10 +10.96867716535433 + 20 +-0.5380393700787401 + 30 +0.0 + 10 +10.96867716535433 + 20 +-0.5380393700787401 + 30 +0.0 + 10 +10.95373228346457 + 20 +-0.5225393700787402 + 30 +0.0 + 10 +10.9462874015748 + 20 +-0.5002047244094489 + 30 +0.0 + 10 +10.9462874015748 + 20 +-0.470984251968504 + 30 +0.0 + 0 +SPLINE + 5 +401 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +10.97639763779527 + 20 +-0.470984251968504 + 30 +0.0 + 10 +10.97639763779527 + 20 +-0.4931496062992126 + 30 +0.0 + 10 +10.98123228346457 + 20 +-0.5097086614173229 + 30 +0.0 + 10 +10.99089763779527 + 20 +-0.5207086614173229 + 30 +0.0 + 10 +10.99089763779527 + 20 +-0.5207086614173229 + 30 +0.0 + 10 +11.00056692913386 + 20 +-0.531763779527559 + 30 +0.0 + 10 +11.01273228346457 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +11.04189763779527 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +11.05401181102362 + 20 +-0.5317086614173229 + 30 +0.0 + 10 +11.06367716535433 + 20 +-0.5206496062992126 + 30 +0.0 + 10 +11.06367716535433 + 20 +-0.5206496062992126 + 30 +0.0 + 10 +11.0732874015748 + 20 +-0.5095944881889763 + 30 +0.0 + 10 +11.0781220472441 + 20 +-0.4927047244094488 + 30 +0.0 + 10 +11.0781220472441 + 20 +-0.4700393700787401 + 30 +0.0 + 10 +11.0781220472441 + 20 +-0.4700393700787401 + 30 +0.0 + 10 +11.0781220472441 + 20 +-0.4486496062992126 + 30 +0.0 + 10 +11.0732874015748 + 20 +-0.4324291338582677 + 30 +0.0 + 10 +11.06356692913386 + 20 +-0.4214291338582677 + 30 +0.0 + 10 +11.06356692913386 + 20 +-0.4214291338582677 + 30 +0.0 + 10 +11.05384251968504 + 20 +-0.4104291338582677 + 30 +0.0 + 10 +11.0417874015748 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +11.02734251968504 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +11.01273228346457 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +11.00056692913386 + 20 +-0.4104291338582677 + 30 +0.0 + 10 +10.99089763779527 + 20 +-0.4213740157480315 + 30 +0.0 + 10 +10.99089763779527 + 20 +-0.4213740157480315 + 30 +0.0 + 10 +10.98123228346457 + 20 +-0.4323188976377953 + 30 +0.0 + 10 +10.97639763779527 + 20 +-0.4488740157480315 + 30 +0.0 + 10 +10.97639763779527 + 20 +-0.470984251968504 + 30 +0.0 + 0 +SPLINE + 5 +402 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.14262204724409 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.4088188976377953 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.4088188976377953 + 30 +0.0 + 10 +11.1687874015748 + 20 +-0.4088188976377953 + 30 +0.0 + 10 +11.17423228346457 + 20 +-0.4003740157480315 + 30 +0.0 + 10 +11.18145669291339 + 20 +-0.3935393700787402 + 30 +0.0 + 10 +11.19045669291339 + 20 +-0.3884291338582677 + 30 +0.0 + 10 +11.19045669291339 + 20 +-0.3884291338582677 + 30 +0.0 + 10 +11.19945669291338 + 20 +-0.383259842519685 + 30 +0.0 + 10 +11.20973228346457 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.22123228346457 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.22123228346457 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.23401181102362 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.24451181102362 + 20 +-0.3833188976377953 + 30 +0.0 + 10 +11.25267716535433 + 20 +-0.3886496062992126 + 30 +0.0 + 10 +11.25267716535433 + 20 +-0.3886496062992126 + 30 +0.0 + 10 +11.26090157480315 + 20 +-0.393984251968504 + 30 +0.0 + 10 +11.26667716535433 + 20 +-0.4013740157480315 + 30 +0.0 + 10 +11.27001181102362 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +11.27001181102362 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +11.28373228346457 + 20 +-0.390759842519685 + 30 +0.0 + 10 +11.30151181102362 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.32340157480315 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.32340157480315 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.34056692913386 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +11.35373228346457 + 20 +-0.3854291338582677 + 30 +0.0 + 10 +11.36295669291339 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +11.36295669291339 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +11.37217716535433 + 20 +-0.4044291338582677 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.4190393700787401 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.4387637795275591 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.4387637795275591 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.4387637795275591 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.37679133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.4485393700787402 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.4485393700787402 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.4485393700787402 + 30 +0.0 + 10 +11.34767716535433 + 20 +-0.4368188976377953 + 30 +0.0 + 10 +11.34673228346457 + 20 +-0.4283740157480315 + 30 +0.0 + 10 +11.34484645669291 + 20 +-0.4232047244094488 + 30 +0.0 + 10 +11.34484645669291 + 20 +-0.4232047244094488 + 30 +0.0 + 10 +11.34290157480315 + 20 +-0.4180944881889764 + 30 +0.0 + 10 +11.33945669291339 + 20 +-0.4139291338582677 + 30 +0.0 + 10 +11.33451181102362 + 20 +-0.410763779527559 + 30 +0.0 + 10 +11.33451181102362 + 20 +-0.410763779527559 + 30 +0.0 + 10 +11.32951181102362 + 20 +-0.4076496062992126 + 30 +0.0 + 10 +11.3236220472441 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.31690157480315 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.31690157480315 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.30473228346457 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.29467716535433 + 20 +-0.4100944881889764 + 30 +0.0 + 10 +11.28662204724409 + 20 +-0.4182047244094488 + 30 +0.0 + 10 +11.28662204724409 + 20 +-0.4182047244094488 + 30 +0.0 + 10 +11.2786220472441 + 20 +-0.4262637795275591 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.4392047244094488 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.456984251968504 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.456984251968504 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.456984251968504 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.27456692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.4451496062992126 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.4451496062992126 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.4451496062992126 + 30 +0.0 + 10 +11.2452874015748 + 20 +-0.4320944881889764 + 30 +0.0 + 10 +11.24290157480315 + 20 +-0.4223188976377953 + 30 +0.0 + 10 +11.23812204724409 + 20 +-0.4158188976377953 + 30 +0.0 + 10 +11.23812204724409 + 20 +-0.4158188976377953 + 30 +0.0 + 10 +11.23334645669291 + 20 +-0.4093188976377953 + 30 +0.0 + 10 +11.22556692913386 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.21467716535433 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.21467716535433 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.20645669291339 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.19884645669291 + 20 +-0.4082047244094488 + 30 +0.0 + 10 +11.19184645669291 + 20 +-0.4125944881889764 + 30 +0.0 + 10 +11.19184645669291 + 20 +-0.4125944881889764 + 30 +0.0 + 10 +11.18484645669291 + 20 +-0.4169291338582677 + 30 +0.0 + 10 +11.17973228346457 + 20 +-0.4232637795275591 + 30 +0.0 + 10 +11.17662204724409 + 20 +-0.4315944881889764 + 30 +0.0 + 10 +11.17662204724409 + 20 +-0.4315944881889764 + 30 +0.0 + 10 +11.17345669291339 + 20 +-0.4399842519685039 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.4520393700787402 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.467763779527559 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.467763779527559 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.467763779527559 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.17190157480315 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.14262204724409 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +403 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.61506692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.370759842519685 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.370759842519685 + 30 +0.0 + 10 +11.58579133858268 + 20 +-0.370759842519685 + 30 +0.0 + 10 +11.57873622047244 + 20 +-0.3774842519685039 + 30 +0.0 + 10 +11.56951181102362 + 20 +-0.3842047244094488 + 30 +0.0 + 10 +11.55806692913386 + 20 +-0.3909291338582677 + 30 +0.0 + 10 +11.55806692913386 + 20 +-0.3909291338582677 + 30 +0.0 + 10 +11.54656692913386 + 20 +-0.3976496062992126 + 30 +0.0 + 10 +11.53629133858268 + 20 +-0.4027047244094488 + 30 +0.0 + 10 +11.5271811023622 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.5271811023622 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.5271811023622 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.5271811023622 + 20 +-0.377759842519685 + 30 +0.0 + 10 +11.5271811023622 + 20 +-0.377759842519685 + 30 +0.0 + 10 +11.5271811023622 + 20 +-0.377759842519685 + 30 +0.0 + 10 +11.54356692913386 + 20 +-0.3700393700787402 + 30 +0.0 + 10 +11.55790157480315 + 20 +-0.3607047244094488 + 30 +0.0 + 10 +11.5701811023622 + 20 +-0.3497598425196851 + 30 +0.0 + 10 +11.5701811023622 + 20 +-0.3497598425196851 + 30 +0.0 + 10 +11.58240157480315 + 20 +-0.3387598425196851 + 30 +0.0 + 10 +11.59112598425197 + 20 +-0.3281496062992126 + 30 +0.0 + 10 +11.59623622047244 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.59623622047244 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.59623622047244 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +11.61506692913386 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +404 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.67629133858268 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.67629133858268 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.74545669291339 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.74545669291339 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.74545669291339 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.74545669291339 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.76890157480315 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.76890157480315 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.76890157480315 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.76890157480315 + 20 +-0.314759842519685 + 30 +0.0 + 10 +11.69990157480315 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.69990157480315 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.69990157480315 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.69990157480315 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.67629133858268 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.67629133858268 + 20 +-0.5614842519685039 + 30 +0.0 + 0 +SPLINE + 5 +405 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 68 + 73 + 64 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.0588235294117647 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1176470588235294 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.1764705882352941 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2352941176470588 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.2941176470588235 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.3529411764705883 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4117647058823529 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.4705882352941176 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5294117647058824 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.5882352941176471 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.6470588235294118 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7058823529411765 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.7647058823529411 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8235294117647058 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +0.8823529411764706 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.82784645669291 + 20 +-0.4280393700787402 + 30 +0.0 + 10 +11.81568110236221 + 20 +-0.4235944881889764 + 30 +0.0 + 10 +11.80668110236221 + 20 +-0.4172637795275591 + 30 +0.0 + 10 +11.80079133858268 + 20 +-0.408984251968504 + 30 +0.0 + 10 +11.80079133858268 + 20 +-0.408984251968504 + 30 +0.0 + 10 +11.79495669291339 + 20 +-0.400763779527559 + 30 +0.0 + 10 +11.79201181102362 + 20 +-0.3908740157480315 + 30 +0.0 + 10 +11.79201181102362 + 20 +-0.3793740157480315 + 30 +0.0 + 10 +11.79201181102362 + 20 +-0.3793740157480315 + 30 +0.0 + 10 +11.79201181102362 + 20 +-0.3619842519685039 + 30 +0.0 + 10 +11.79823622047244 + 20 +-0.3474291338582677 + 30 +0.0 + 10 +11.81073622047244 + 20 +-0.3355944881889764 + 30 +0.0 + 10 +11.81073622047244 + 20 +-0.3355944881889764 + 30 +0.0 + 10 +11.82323622047244 + 20 +-0.323759842519685 + 30 +0.0 + 10 +11.83979133858268 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.86051181102362 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.86051181102362 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.88134645669291 + 20 +-0.3178188976377953 + 30 +0.0 + 10 +11.89812598425197 + 20 +-0.3238740157480315 + 30 +0.0 + 10 +11.91084645669291 + 20 +-0.335984251968504 + 30 +0.0 + 10 +11.91084645669291 + 20 +-0.335984251968504 + 30 +0.0 + 10 +11.92351181102362 + 20 +-0.3480944881889764 + 30 +0.0 + 10 +11.92984645669291 + 20 +-0.3628188976377953 + 30 +0.0 + 10 +11.92984645669291 + 20 +-0.3802047244094488 + 30 +0.0 + 10 +11.92984645669291 + 20 +-0.3802047244094488 + 30 +0.0 + 10 +11.92984645669291 + 20 +-0.391263779527559 + 30 +0.0 + 10 +11.92695669291339 + 20 +-0.4008740157480315 + 30 +0.0 + 10 +11.9211811023622 + 20 +-0.4090944881889764 + 30 +0.0 + 10 +11.9211811023622 + 20 +-0.4090944881889764 + 30 +0.0 + 10 +11.91534645669291 + 20 +-0.4172637795275591 + 30 +0.0 + 10 +11.90656692913386 + 20 +-0.4235944881889764 + 30 +0.0 + 10 +11.89473622047244 + 20 +-0.4280393700787402 + 30 +0.0 + 10 +11.89473622047244 + 20 +-0.4280393700787402 + 30 +0.0 + 10 +11.90934645669291 + 20 +-0.4328188976377953 + 30 +0.0 + 10 +11.92051181102362 + 20 +-0.4404842519685039 + 30 +0.0 + 10 +11.9281811023622 + 20 +-0.4511496062992126 + 30 +0.0 + 10 +11.9281811023622 + 20 +-0.4511496062992126 + 30 +0.0 + 10 +11.93579133858268 + 20 +-0.461763779527559 + 30 +0.0 + 10 +11.93962598425197 + 20 +-0.4744842519685039 + 30 +0.0 + 10 +11.93962598425197 + 20 +-0.4892047244094488 + 30 +0.0 + 10 +11.93962598425197 + 20 +-0.4892047244094488 + 30 +0.0 + 10 +11.93962598425197 + 20 +-0.5096496062992126 + 30 +0.0 + 10 +11.93240157480315 + 20 +-0.526763779527559 + 30 +0.0 + 10 +11.91801181102362 + 20 +-0.5406496062992125 + 30 +0.0 + 10 +11.91801181102362 + 20 +-0.5406496062992125 + 30 +0.0 + 10 +11.90356692913386 + 20 +-0.5545393700787402 + 30 +0.0 + 10 +11.88456692913386 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.86101181102362 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.86101181102362 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.83745669291339 + 20 +-0.5614842519685039 + 30 +0.0 + 10 +11.81851181102362 + 20 +-0.5545393700787402 + 30 +0.0 + 10 +11.80406692913386 + 20 +-0.5405944881889764 + 30 +0.0 + 10 +11.80406692913386 + 20 +-0.5405944881889764 + 30 +0.0 + 10 +11.78962204724409 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +11.78240157480315 + 20 +-0.5092637795275591 + 30 +0.0 + 10 +11.78240157480315 + 20 +-0.4884291338582677 + 30 +0.0 + 10 +11.78240157480315 + 20 +-0.4884291338582677 + 30 +0.0 + 10 +11.78240157480315 + 20 +-0.4729291338582677 + 30 +0.0 + 10 +11.78634645669291 + 20 +-0.4599291338582677 + 30 +0.0 + 10 +11.79423622047244 + 20 +-0.4494291338582677 + 30 +0.0 + 10 +11.79423622047244 + 20 +-0.4494291338582677 + 30 +0.0 + 10 +11.80206692913386 + 20 +-0.4389842519685039 + 30 +0.0 + 10 +11.81329133858268 + 20 +-0.4318188976377953 + 30 +0.0 + 10 +11.82784645669291 + 20 +-0.4280393700787402 + 30 +0.0 + 0 +SPLINE + 5 +406 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.82195669291339 + 20 +-0.3783740157480315 + 30 +0.0 + 10 +11.82195669291339 + 20 +-0.3896496062992126 + 30 +0.0 + 10 +11.82562598425197 + 20 +-0.3988740157480315 + 30 +0.0 + 10 +11.83284645669291 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.83284645669291 + 20 +-0.4060393700787401 + 30 +0.0 + 10 +11.84012598425197 + 20 +-0.4132047244094488 + 30 +0.0 + 10 +11.84956692913386 + 20 +-0.4168188976377953 + 30 +0.0 + 10 +11.8611811023622 + 20 +-0.4168188976377953 + 30 +0.0 + 10 +11.8611811023622 + 20 +-0.4168188976377953 + 30 +0.0 + 10 +11.87245669291339 + 20 +-0.4168188976377953 + 30 +0.0 + 10 +11.88173622047244 + 20 +-0.413263779527559 + 30 +0.0 + 10 +11.88895669291339 + 20 +-0.4061496062992126 + 30 +0.0 + 10 +11.88895669291339 + 20 +-0.4061496062992126 + 30 +0.0 + 10 +11.8961811023622 + 20 +-0.3990393700787401 + 30 +0.0 + 10 +11.89973622047244 + 20 +-0.3903188976377953 + 30 +0.0 + 10 +11.89973622047244 + 20 +-0.3800393700787402 + 30 +0.0 + 10 +11.89973622047244 + 20 +-0.3800393700787402 + 30 +0.0 + 10 +11.89973622047244 + 20 +-0.369259842519685 + 30 +0.0 + 10 +11.89606692913386 + 20 +-0.360259842519685 + 30 +0.0 + 10 +11.88862598425197 + 20 +-0.3529291338582677 + 30 +0.0 + 10 +11.88862598425197 + 20 +-0.3529291338582677 + 30 +0.0 + 10 +11.88118110236221 + 20 +-0.3455944881889764 + 30 +0.0 + 10 +11.87195669291339 + 20 +-0.3419291338582677 + 30 +0.0 + 10 +11.86084645669291 + 20 +-0.3419291338582677 + 30 +0.0 + 10 +11.86084645669291 + 20 +-0.3419291338582677 + 30 +0.0 + 10 +11.8496811023622 + 20 +-0.3419291338582677 + 30 +0.0 + 10 +11.84040157480315 + 20 +-0.3455393700787401 + 30 +0.0 + 10 +11.83301181102362 + 20 +-0.3526496062992126 + 30 +0.0 + 10 +11.83301181102362 + 20 +-0.3526496062992126 + 30 +0.0 + 10 +11.82562598425197 + 20 +-0.3598188976377953 + 30 +0.0 + 10 +11.82195669291339 + 20 +-0.3684291338582677 + 30 +0.0 + 10 +11.82195669291339 + 20 +-0.3783740157480315 + 30 +0.0 + 0 +SPLINE + 5 +407 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.81251181102362 + 20 +-0.4885944881889764 + 30 +0.0 + 10 +11.81251181102362 + 20 +-0.4969291338582677 + 30 +0.0 + 10 +11.81451181102362 + 20 +-0.5050393700787401 + 30 +0.0 + 10 +11.81845669291339 + 20 +-0.5128188976377953 + 30 +0.0 + 10 +11.81845669291339 + 20 +-0.5128188976377953 + 30 +0.0 + 10 +11.82240157480315 + 20 +-0.5206496062992126 + 30 +0.0 + 10 +11.82829133858268 + 20 +-0.5267086614173229 + 30 +0.0 + 10 +11.83612598425197 + 20 +-0.530984251968504 + 30 +0.0 + 10 +11.83612598425197 + 20 +-0.530984251968504 + 30 +0.0 + 10 +11.84395669291339 + 20 +-0.5352637795275591 + 30 +0.0 + 10 +11.85234645669291 + 20 +-0.5374291338582677 + 30 +0.0 + 10 +11.86134645669291 + 20 +-0.5374291338582677 + 30 +0.0 + 10 +11.86134645669291 + 20 +-0.5374291338582677 + 30 +0.0 + 10 +11.87534645669291 + 20 +-0.5374291338582677 + 30 +0.0 + 10 +11.88690157480315 + 20 +-0.5329291338582677 + 30 +0.0 + 10 +11.89601181102362 + 20 +-0.5238740157480315 + 30 +0.0 + 10 +11.89601181102362 + 20 +-0.5238740157480315 + 30 +0.0 + 10 +11.90512598425197 + 20 +-0.5148740157480315 + 30 +0.0 + 10 +11.9096811023622 + 20 +-0.5034291338582677 + 30 +0.0 + 10 +11.9096811023622 + 20 +-0.4895393700787402 + 30 +0.0 + 10 +11.9096811023622 + 20 +-0.4895393700787402 + 30 +0.0 + 10 +11.9096811023622 + 20 +-0.4754291338582677 + 30 +0.0 + 10 +11.90501181102362 + 20 +-0.463763779527559 + 30 +0.0 + 10 +11.89562598425197 + 20 +-0.4545393700787402 + 30 +0.0 + 10 +11.89562598425197 + 20 +-0.4545393700787402 + 30 +0.0 + 10 +11.88623622047244 + 20 +-0.4453188976377953 + 30 +0.0 + 10 +11.87445669291339 + 20 +-0.4407047244094488 + 30 +0.0 + 10 +11.86034645669291 + 20 +-0.4407047244094488 + 30 +0.0 + 10 +11.86034645669291 + 20 +-0.4407047244094488 + 30 +0.0 + 10 +11.84656692913386 + 20 +-0.4407047244094488 + 30 +0.0 + 10 +11.8351811023622 + 20 +-0.4452637795275591 + 30 +0.0 + 10 +11.82612598425197 + 20 +-0.4543740157480315 + 30 +0.0 + 10 +11.82612598425197 + 20 +-0.4543740157480315 + 30 +0.0 + 10 +11.81706692913386 + 20 +-0.4635393700787401 + 30 +0.0 + 10 +11.81251181102362 + 20 +-0.4749291338582677 + 30 +0.0 + 10 +11.81251181102362 + 20 +-0.4885944881889764 + 30 +0.0 + 0 +SPLINE + 5 +408 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +11.96845669291339 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +11.99984645669291 + 20 +-0.357759842519685 + 30 +0.0 + 10 +11.9981811023622 + 20 +-0.368259842519685 + 30 +0.0 + 10 +11.99484645669291 + 20 +-0.3746496062992126 + 30 +0.0 + 10 +11.99484645669291 + 20 +-0.3746496062992126 + 30 +0.0 + 10 +11.99018110236221 + 20 +-0.3834291338582677 + 30 +0.0 + 10 +11.98290157480315 + 20 +-0.3900393700787402 + 30 +0.0 + 10 +11.97301181102362 + 20 +-0.394484251968504 + 30 +0.0 + 10 +11.97301181102362 + 20 +-0.394484251968504 + 30 +0.0 + 10 +11.97301181102362 + 20 +-0.394484251968504 + 30 +0.0 + 10 +11.96584645669291 + 20 +-0.3829291338582677 + 30 +0.0 + 10 +11.96584645669291 + 20 +-0.3829291338582677 + 30 +0.0 + 10 +11.96584645669291 + 20 +-0.3829291338582677 + 30 +0.0 + 10 +11.9716811023622 + 20 +-0.3805393700787402 + 30 +0.0 + 10 +11.97607086614173 + 20 +-0.3768188976377953 + 30 +0.0 + 10 +11.97895669291339 + 20 +-0.3716496062992126 + 30 +0.0 + 10 +11.97895669291339 + 20 +-0.3716496062992126 + 30 +0.0 + 10 +11.98184645669291 + 20 +-0.3664842519685039 + 30 +0.0 + 10 +11.98340157480315 + 20 +-0.3594291338582677 + 30 +0.0 + 10 +11.98373622047244 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +11.98373622047244 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +11.98373622047244 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +11.96845669291339 + 20 +-0.3503740157480315 + 30 +0.0 + 0 +SPLINE + 5 +409 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.01890157480315 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3163740157480315 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.3432598425196851 + 30 +0.0 + 10 +12.05034645669291 + 20 +-0.357759842519685 + 30 +0.0 + 10 +12.04862598425197 + 20 +-0.368259842519685 + 30 +0.0 + 10 +12.04529133858268 + 20 +-0.3746496062992126 + 30 +0.0 + 10 +12.04529133858268 + 20 +-0.3746496062992126 + 30 +0.0 + 10 +12.04062598425197 + 20 +-0.3834291338582677 + 30 +0.0 + 10 +12.03334645669291 + 20 +-0.3900393700787402 + 30 +0.0 + 10 +12.02345669291339 + 20 +-0.394484251968504 + 30 +0.0 + 10 +12.02345669291339 + 20 +-0.394484251968504 + 30 +0.0 + 10 +12.02345669291339 + 20 +-0.394484251968504 + 30 +0.0 + 10 +12.01629133858268 + 20 +-0.3829291338582677 + 30 +0.0 + 10 +12.01629133858268 + 20 +-0.3829291338582677 + 30 +0.0 + 10 +12.01629133858268 + 20 +-0.3829291338582677 + 30 +0.0 + 10 +12.02218110236221 + 20 +-0.3805393700787402 + 30 +0.0 + 10 +12.0265157480315 + 20 +-0.3768188976377953 + 30 +0.0 + 10 +12.02940157480315 + 20 +-0.3716496062992126 + 30 +0.0 + 10 +12.02940157480315 + 20 +-0.3716496062992126 + 30 +0.0 + 10 +12.03229133858268 + 20 +-0.3664842519685039 + 30 +0.0 + 10 +12.03390157480315 + 20 +-0.3594291338582677 + 30 +0.0 + 10 +12.0341811023622 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +12.0341811023622 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +12.0341811023622 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3503740157480315 + 30 +0.0 + 10 +12.01890157480315 + 20 +-0.3503740157480315 + 30 +0.0 + 0 +SPLINE + 5 +40A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 112 + 73 + 108 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0357142857142857 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1071428571428571 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.1785714285714286 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3214285714285715 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.3928571428571428 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.4642857142857143 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5357142857142857 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6071428571428571 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.6785714285714286 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8214285714285714 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.8928571428571429 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +0.9285714285714286 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.2926811023622 + 20 +-0.5360944881889764 + 30 +0.0 + 10 +12.28179133858268 + 20 +-0.5453188976377953 + 30 +0.0 + 10 +12.27134645669291 + 20 +-0.5518188976377952 + 30 +0.0 + 10 +12.26134645669291 + 20 +-0.5556496062992126 + 30 +0.0 + 10 +12.26134645669291 + 20 +-0.5556496062992126 + 30 +0.0 + 10 +12.25129133858268 + 20 +-0.5594291338582678 + 30 +0.0 + 10 +12.24051181102362 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.22901181102362 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.22901181102362 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.21001181102362 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.19545669291339 + 20 +-0.5567086614173228 + 30 +0.0 + 10 +12.18523622047244 + 20 +-0.5474291338582677 + 30 +0.0 + 10 +12.18523622047244 + 20 +-0.5474291338582677 + 30 +0.0 + 10 +12.17506692913386 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +12.16995669291339 + 20 +-0.5262637795275591 + 30 +0.0 + 10 +12.16995669291339 + 20 +-0.5118740157480315 + 30 +0.0 + 10 +12.16995669291339 + 20 +-0.5118740157480315 + 30 +0.0 + 10 +12.16995669291339 + 20 +-0.5033740157480315 + 30 +0.0 + 10 +12.17184645669291 + 20 +-0.4956496062992126 + 30 +0.0 + 10 +12.17573622047244 + 20 +-0.4886496062992126 + 30 +0.0 + 10 +12.17573622047244 + 20 +-0.4886496062992126 + 30 +0.0 + 10 +12.17956692913386 + 20 +-0.4816496062992126 + 30 +0.0 + 10 +12.18462204724409 + 20 +-0.4760393700787401 + 30 +0.0 + 10 +12.19084645669291 + 20 +-0.4718188976377953 + 30 +0.0 + 10 +12.19084645669291 + 20 +-0.4718188976377953 + 30 +0.0 + 10 +12.1971220472441 + 20 +-0.4675944881889764 + 30 +0.0 + 10 +12.20412204724409 + 20 +-0.4643740157480315 + 30 +0.0 + 10 +12.21195669291339 + 20 +-0.4622047244094488 + 30 +0.0 + 10 +12.21195669291339 + 20 +-0.4622047244094488 + 30 +0.0 + 10 +12.2176811023622 + 20 +-0.4607047244094488 + 30 +0.0 + 10 +12.22634645669291 + 20 +-0.4592047244094488 + 30 +0.0 + 10 +12.23795669291339 + 20 +-0.4578188976377953 + 30 +0.0 + 10 +12.23795669291339 + 20 +-0.4578188976377953 + 30 +0.0 + 10 +12.26162598425197 + 20 +-0.4549842519685039 + 30 +0.0 + 10 +12.27906692913386 + 20 +-0.4516496062992126 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4477047244094488 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4477047244094488 + 30 +0.0 + 10 +12.29034645669291 + 20 +-0.4437047244094488 + 30 +0.0 + 10 +12.29040157480315 + 20 +-0.4411496062992126 + 30 +0.0 + 10 +12.29040157480315 + 20 +-0.4400944881889764 + 30 +0.0 + 10 +12.29040157480315 + 20 +-0.4400944881889764 + 30 +0.0 + 10 +12.29040157480315 + 20 +-0.4281496062992126 + 30 +0.0 + 10 +12.28762598425197 + 20 +-0.4197047244094488 + 30 +0.0 + 10 +12.28206692913386 + 20 +-0.4148740157480315 + 30 +0.0 + 10 +12.28206692913386 + 20 +-0.4148740157480315 + 30 +0.0 + 10 +12.27462598425197 + 20 +-0.4082047244094488 + 30 +0.0 + 10 +12.26345669291339 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +12.24873622047244 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +12.24873622047244 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +12.23495669291339 + 20 +-0.4049291338582677 + 30 +0.0 + 10 +12.22479133858268 + 20 +-0.4073188976377953 + 30 +0.0 + 10 +12.21818110236221 + 20 +-0.4121496062992126 + 30 +0.0 + 10 +12.21818110236221 + 20 +-0.4121496062992126 + 30 +0.0 + 10 +12.2116220472441 + 20 +-0.4169842519685039 + 30 +0.0 + 10 +12.20679133858268 + 20 +-0.4255393700787402 + 30 +0.0 + 10 +12.20362204724409 + 20 +-0.4378188976377953 + 30 +0.0 + 10 +12.20362204724409 + 20 +-0.4378188976377953 + 30 +0.0 + 10 +12.20362204724409 + 20 +-0.4378188976377953 + 30 +0.0 + 10 +12.17501181102362 + 20 +-0.4338740157480315 + 30 +0.0 + 10 +12.17501181102362 + 20 +-0.4338740157480315 + 30 +0.0 + 10 +12.17501181102362 + 20 +-0.4338740157480315 + 30 +0.0 + 10 +12.17762204724409 + 20 +-0.4216496062992126 + 30 +0.0 + 10 +12.18190157480315 + 20 +-0.4117047244094488 + 30 +0.0 + 10 +12.18784645669291 + 20 +-0.4042047244094488 + 30 +0.0 + 10 +12.18784645669291 + 20 +-0.4042047244094488 + 30 +0.0 + 10 +12.19379133858268 + 20 +-0.3966496062992126 + 30 +0.0 + 10 +12.20245669291339 + 20 +-0.3908188976377953 + 30 +0.0 + 10 +12.21373622047244 + 20 +-0.386759842519685 + 30 +0.0 + 10 +12.21373622047244 + 20 +-0.386759842519685 + 30 +0.0 + 10 +12.22501181102362 + 20 +-0.3827047244094488 + 30 +0.0 + 10 +12.23806692913386 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.25295669291339 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.25295669291339 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.26773622047244 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.2796811023622 + 20 +-0.3824291338582677 + 30 +0.0 + 10 +12.28890157480315 + 20 +-0.3858740157480315 + 30 +0.0 + 10 +12.28890157480315 + 20 +-0.3858740157480315 + 30 +0.0 + 10 +12.29812598425197 + 20 +-0.3893740157480315 + 30 +0.0 + 10 +12.30490157480315 + 20 +-0.3937047244094488 + 30 +0.0 + 10 +12.30929133858268 + 20 +-0.398984251968504 + 30 +0.0 + 10 +12.30929133858268 + 20 +-0.398984251968504 + 30 +0.0 + 10 +12.31362598425197 + 20 +-0.404263779527559 + 30 +0.0 + 10 +12.31662598425197 + 20 +-0.4108740157480315 + 30 +0.0 + 10 +12.31840157480315 + 20 +-0.4189291338582677 + 30 +0.0 + 10 +12.31840157480315 + 20 +-0.4189291338582677 + 30 +0.0 + 10 +12.31934645669291 + 20 +-0.4239291338582677 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4329291338582677 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4459291338582677 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4459291338582677 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4459291338582677 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4849842519685039 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4849842519685039 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.4849842519685039 + 30 +0.0 + 10 +12.31984645669291 + 20 +-0.5122637795275591 + 30 +0.0 + 10 +12.32045669291339 + 20 +-0.5294842519685039 + 30 +0.0 + 10 +12.32173622047244 + 20 +-0.5366496062992125 + 30 +0.0 + 10 +12.32173622047244 + 20 +-0.5366496062992125 + 30 +0.0 + 10 +12.32295669291339 + 20 +-0.5438740157480315 + 30 +0.0 + 10 +12.32545669291339 + 20 +-0.5508188976377952 + 30 +0.0 + 10 +12.32912598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.32912598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.32912598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.29851181102362 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.29851181102362 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.29851181102362 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.29551181102362 + 20 +-0.5513740157480315 + 30 +0.0 + 10 +12.29351181102362 + 20 +-0.5442637795275591 + 30 +0.0 + 10 +12.2926811023622 + 20 +-0.5360944881889764 + 30 +0.0 + 0 +SPLINE + 5 +40B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.29023622047244 + 20 +-0.4706496062992126 + 30 +0.0 + 10 +12.27956692913386 + 20 +-0.4750393700787401 + 30 +0.0 + 10 +12.26362598425197 + 20 +-0.4787047244094488 + 30 +0.0 + 10 +12.24240157480315 + 20 +-0.4817637795275591 + 30 +0.0 + 10 +12.24240157480315 + 20 +-0.4817637795275591 + 30 +0.0 + 10 +12.23034645669291 + 20 +-0.4834842519685039 + 30 +0.0 + 10 +12.22179133858268 + 20 +-0.4854291338582677 + 30 +0.0 + 10 +12.21684645669291 + 20 +-0.4875944881889764 + 30 +0.0 + 10 +12.21684645669291 + 20 +-0.4875944881889764 + 30 +0.0 + 10 +12.21184645669291 + 20 +-0.4897637795275591 + 30 +0.0 + 10 +12.20795669291339 + 20 +-0.4929291338582677 + 30 +0.0 + 10 +12.20529133858268 + 20 +-0.4971496062992126 + 30 +0.0 + 10 +12.20529133858268 + 20 +-0.4971496062992126 + 30 +0.0 + 10 +12.20256692913386 + 20 +-0.5013188976377952 + 30 +0.0 + 10 +12.2011811023622 + 20 +-0.5059291338582678 + 30 +0.0 + 10 +12.2011811023622 + 20 +-0.5110393700787401 + 30 +0.0 + 10 +12.2011811023622 + 20 +-0.5110393700787401 + 30 +0.0 + 10 +12.2011811023622 + 20 +-0.5188740157480315 + 30 +0.0 + 10 +12.2041811023622 + 20 +-0.5253740157480314 + 30 +0.0 + 10 +12.21006692913386 + 20 +-0.5305944881889764 + 30 +0.0 + 10 +12.21006692913386 + 20 +-0.5305944881889764 + 30 +0.0 + 10 +12.21595669291339 + 20 +-0.535763779527559 + 30 +0.0 + 10 +12.22462598425197 + 20 +-0.5383740157480315 + 30 +0.0 + 10 +12.23601181102362 + 20 +-0.5383740157480315 + 30 +0.0 + 10 +12.23601181102362 + 20 +-0.5383740157480315 + 30 +0.0 + 10 +12.24729133858268 + 20 +-0.5383740157480315 + 30 +0.0 + 10 +12.25734645669291 + 20 +-0.5359291338582677 + 30 +0.0 + 10 +12.26612598425197 + 20 +-0.530984251968504 + 30 +0.0 + 10 +12.26612598425197 + 20 +-0.530984251968504 + 30 +0.0 + 10 +12.27490157480315 + 20 +-0.5260393700787401 + 30 +0.0 + 10 +12.28140157480315 + 20 +-0.5192637795275591 + 30 +0.0 + 10 +12.28551181102362 + 20 +-0.5107086614173229 + 30 +0.0 + 10 +12.28551181102362 + 20 +-0.5107086614173229 + 30 +0.0 + 10 +12.2886811023622 + 20 +-0.5040944881889764 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4943188976377953 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4814291338582677 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4814291338582677 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4814291338582677 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4706496062992126 + 30 +0.0 + 10 +12.29023622047244 + 20 +-0.4706496062992126 + 30 +0.0 + 0 +SPLINE + 5 +40C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.47807086614173 + 20 +-0.4940944881889764 + 30 +0.0 + 10 +12.47807086614173 + 20 +-0.4940944881889764 + 30 +0.0 + 10 +12.50684645669291 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +12.50684645669291 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +12.50684645669291 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +12.50373622047244 + 20 +-0.5177086614173229 + 30 +0.0 + 10 +12.49568110236221 + 20 +-0.5332637795275591 + 30 +0.0 + 10 +12.48268110236221 + 20 +-0.5444842519685039 + 30 +0.0 + 10 +12.48268110236221 + 20 +-0.5444842519685039 + 30 +0.0 + 10 +12.46973622047244 + 20 +-0.5557086614173228 + 30 +0.0 + 10 +12.45379133858268 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.43490157480315 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.43490157480315 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.41129133858268 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.39223622047244 + 20 +-0.5535944881889764 + 30 +0.0 + 10 +12.37790157480315 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +12.37790157480315 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +12.36351181102362 + 20 +-0.5227086614173229 + 30 +0.0 + 10 +12.35629133858268 + 20 +-0.5005393700787402 + 30 +0.0 + 10 +12.35629133858268 + 20 +-0.4716496062992126 + 30 +0.0 + 10 +12.35629133858268 + 20 +-0.4716496062992126 + 30 +0.0 + 10 +12.35629133858268 + 20 +-0.4529842519685039 + 30 +0.0 + 10 +12.35940157480315 + 20 +-0.4366496062992126 + 30 +0.0 + 10 +12.36557086614173 + 20 +-0.4226496062992126 + 30 +0.0 + 10 +12.36557086614173 + 20 +-0.4226496062992126 + 30 +0.0 + 10 +12.37179133858268 + 20 +-0.4086496062992126 + 30 +0.0 + 10 +12.38118110236221 + 20 +-0.3981496062992126 + 30 +0.0 + 10 +12.39384645669291 + 20 +-0.3911496062992126 + 30 +0.0 + 10 +12.39384645669291 + 20 +-0.3911496062992126 + 30 +0.0 + 10 +12.40645669291339 + 20 +-0.3841496062992126 + 30 +0.0 + 10 +12.42023622047244 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.43507086614173 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.43507086614173 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.45384645669291 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.46923622047244 + 20 +-0.3854291338582677 + 30 +0.0 + 10 +12.48112598425197 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +12.48112598425197 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +12.49307086614173 + 20 +-0.4044291338582677 + 30 +0.0 + 10 +12.50073622047244 + 20 +-0.4178740157480315 + 30 +0.0 + 10 +12.50412598425197 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +12.50412598425197 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +12.50412598425197 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +12.47562598425197 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +12.47562598425197 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +12.47562598425197 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +12.47290157480315 + 20 +-0.4281496062992126 + 30 +0.0 + 10 +12.46812598425197 + 20 +-0.4194291338582677 + 30 +0.0 + 10 +12.46123622047244 + 20 +-0.4135393700787401 + 30 +0.0 + 10 +12.46123622047244 + 20 +-0.4135393700787401 + 30 +0.0 + 10 +12.45434645669291 + 20 +-0.4077047244094488 + 30 +0.0 + 10 +12.4460157480315 + 20 +-0.404763779527559 + 30 +0.0 + 10 +12.43623622047244 + 20 +-0.404763779527559 + 30 +0.0 + 10 +12.43623622047244 + 20 +-0.404763779527559 + 30 +0.0 + 10 +12.42145669291339 + 20 +-0.404763779527559 + 30 +0.0 + 10 +12.40945669291339 + 20 +-0.4100393700787401 + 30 +0.0 + 10 +12.40023622047244 + 20 +-0.4206496062992126 + 30 +0.0 + 10 +12.40023622047244 + 20 +-0.4206496062992126 + 30 +0.0 + 10 +12.39101181102362 + 20 +-0.4312047244094488 + 30 +0.0 + 10 +12.38640157480315 + 20 +-0.4479291338582677 + 30 +0.0 + 10 +12.38640157480315 + 20 +-0.4708188976377953 + 30 +0.0 + 10 +12.38640157480315 + 20 +-0.4708188976377953 + 30 +0.0 + 10 +12.38640157480315 + 20 +-0.4940393700787402 + 30 +0.0 + 10 +12.39084645669291 + 20 +-0.5109291338582678 + 30 +0.0 + 10 +12.39979133858268 + 20 +-0.5214842519685039 + 30 +0.0 + 10 +12.39979133858268 + 20 +-0.5214842519685039 + 30 +0.0 + 10 +12.40868110236221 + 20 +-0.531984251968504 + 30 +0.0 + 10 +12.42029133858268 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +12.43462598425197 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +12.43462598425197 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +12.44612598425197 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +12.4556811023622 + 20 +-0.5337086614173229 + 30 +0.0 + 10 +12.46340157480315 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +12.46340157480315 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +12.47112598425197 + 20 +-0.5195944881889764 + 30 +0.0 + 10 +12.4760157480315 + 20 +-0.508763779527559 + 30 +0.0 + 10 +12.47807086614173 + 20 +-0.4940944881889764 + 30 +0.0 + 0 +SPLINE + 5 +40D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.53162598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.410763779527559 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.410763779527559 + 30 +0.0 + 10 +12.55796062992126 + 20 +-0.410763779527559 + 30 +0.0 + 10 +12.5646811023622 + 20 +-0.3985393700787402 + 30 +0.0 + 10 +12.57090551181102 + 20 +-0.3904291338582677 + 30 +0.0 + 10 +12.57662598425197 + 20 +-0.3865393700787402 + 30 +0.0 + 10 +12.57662598425197 + 20 +-0.3865393700787402 + 30 +0.0 + 10 +12.58229527559055 + 20 +-0.3826496062992126 + 30 +0.0 + 10 +12.58857086614173 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.59540551181102 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.59540551181102 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.60529527559055 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +12.61529527559055 + 20 +-0.3838188976377953 + 30 +0.0 + 10 +12.6255157480315 + 20 +-0.3900944881889764 + 30 +0.0 + 10 +12.6255157480315 + 20 +-0.3900944881889764 + 30 +0.0 + 10 +12.6255157480315 + 20 +-0.3900944881889764 + 30 +0.0 + 10 +12.61540551181102 + 20 +-0.4173188976377953 + 30 +0.0 + 10 +12.61540551181102 + 20 +-0.4173188976377953 + 30 +0.0 + 10 +12.61540551181102 + 20 +-0.4173188976377953 + 30 +0.0 + 10 +12.60829527559055 + 20 +-0.4130393700787401 + 30 +0.0 + 10 +12.60112598425197 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +12.59396062992126 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +12.59396062992126 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +12.5875157480315 + 20 +-0.4109291338582677 + 30 +0.0 + 10 +12.58179527559055 + 20 +-0.4128740157480315 + 30 +0.0 + 10 +12.57668503937008 + 20 +-0.4167047244094488 + 30 +0.0 + 10 +12.57668503937008 + 20 +-0.4167047244094488 + 30 +0.0 + 10 +12.57157086614173 + 20 +-0.4205944881889764 + 30 +0.0 + 10 +12.56796062992126 + 20 +-0.4259291338582677 + 30 +0.0 + 10 +12.56579527559055 + 20 +-0.4327637795275591 + 30 +0.0 + 10 +12.56579527559055 + 20 +-0.4327637795275591 + 30 +0.0 + 10 +12.5625157480315 + 20 +-0.4431496062992126 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.4545393700787402 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.4669291338582677 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.4669291338582677 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.4669291338582677 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.56090551181102 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.53162598425197 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +40E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 76 + 73 + 72 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.0526315789473684 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1052631578947368 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.1578947368421053 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2105263157894737 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.2631578947368421 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3157894736842105 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.3684210526315789 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4210526315789473 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.4736842105263158 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5263157894736842 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.5789473684210527 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.631578947368421 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.6842105263157895 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7368421052631579 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.7894736842105263 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8421052631578947 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +0.8947368421052632 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.64162598425197 + 20 +-0.6239842519685039 + 30 +0.0 + 10 +12.64162598425197 + 20 +-0.6239842519685039 + 30 +0.0 + 10 +12.63835039370079 + 20 +-0.596484251968504 + 30 +0.0 + 10 +12.63835039370079 + 20 +-0.596484251968504 + 30 +0.0 + 10 +12.63835039370079 + 20 +-0.596484251968504 + 30 +0.0 + 10 +12.64479527559055 + 20 +-0.5982086614173229 + 30 +0.0 + 10 +12.65035039370079 + 20 +-0.5990944881889764 + 30 +0.0 + 10 +12.65512598425197 + 20 +-0.5990944881889764 + 30 +0.0 + 10 +12.65512598425197 + 20 +-0.5990944881889764 + 30 +0.0 + 10 +12.66162598425197 + 20 +-0.5990944881889764 + 30 +0.0 + 10 +12.66685039370079 + 20 +-0.5979842519685039 + 30 +0.0 + 10 +12.67074015748032 + 20 +-0.5958188976377953 + 30 +0.0 + 10 +12.67074015748032 + 20 +-0.5958188976377953 + 30 +0.0 + 10 +12.67468110236221 + 20 +-0.5936496062992126 + 30 +0.0 + 10 +12.67785039370079 + 20 +-0.5906496062992126 + 30 +0.0 + 10 +12.68035039370079 + 20 +-0.5867086614173228 + 30 +0.0 + 10 +12.68035039370079 + 20 +-0.5867086614173228 + 30 +0.0 + 10 +12.68224015748032 + 20 +-0.5838188976377953 + 30 +0.0 + 10 +12.68518503937008 + 20 +-0.5765393700787401 + 30 +0.0 + 10 +12.68929527559055 + 20 +-0.5649291338582677 + 30 +0.0 + 10 +12.68929527559055 + 20 +-0.5649291338582677 + 30 +0.0 + 10 +12.68985039370079 + 20 +-0.563263779527559 + 30 +0.0 + 10 +12.69074015748031 + 20 +-0.5609291338582677 + 30 +0.0 + 10 +12.69190551181102 + 20 +-0.5577637795275591 + 30 +0.0 + 10 +12.69190551181102 + 20 +-0.5577637795275591 + 30 +0.0 + 10 +12.69190551181102 + 20 +-0.5577637795275591 + 30 +0.0 + 10 +12.62635039370079 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.62635039370079 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.62635039370079 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.62635039370079 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.65790551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.65790551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.65790551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.65790551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.69390551181102 + 20 +-0.4846496062992126 + 30 +0.0 + 10 +12.69390551181102 + 20 +-0.4846496062992126 + 30 +0.0 + 10 +12.69390551181102 + 20 +-0.4846496062992126 + 30 +0.0 + 10 +12.6985157480315 + 20 +-0.4973740157480315 + 30 +0.0 + 10 +12.70274015748032 + 20 +-0.5107086614173229 + 30 +0.0 + 10 +12.70640551181102 + 20 +-0.5247086614173229 + 30 +0.0 + 10 +12.70640551181102 + 20 +-0.5247086614173229 + 30 +0.0 + 10 +12.70979527559055 + 20 +-0.5112637795275591 + 30 +0.0 + 10 +12.71379527559055 + 20 +-0.4981496062992126 + 30 +0.0 + 10 +12.71846062992126 + 20 +-0.4853188976377953 + 30 +0.0 + 10 +12.71846062992126 + 20 +-0.4853188976377953 + 30 +0.0 + 10 +12.71846062992126 + 20 +-0.4853188976377953 + 30 +0.0 + 10 +12.75540551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.75540551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.75540551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.75540551181102 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.78468503937008 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.78468503937008 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.78468503937008 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.78468503937008 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.71896062992126 + 20 +-0.5603740157480315 + 30 +0.0 + 10 +12.71896062992126 + 20 +-0.5603740157480315 + 30 +0.0 + 10 +12.71896062992126 + 20 +-0.5603740157480315 + 30 +0.0 + 10 +12.71190551181102 + 20 +-0.5793740157480315 + 30 +0.0 + 10 +12.70640551181102 + 20 +-0.5924291338582677 + 30 +0.0 + 10 +12.7025157480315 + 20 +-0.5995944881889764 + 30 +0.0 + 10 +12.7025157480315 + 20 +-0.5995944881889764 + 30 +0.0 + 10 +12.69729527559055 + 20 +-0.6092637795275591 + 30 +0.0 + 10 +12.69135039370079 + 20 +-0.6163188976377952 + 30 +0.0 + 10 +12.68462598425197 + 20 +-0.6208188976377953 + 30 +0.0 + 10 +12.68462598425197 + 20 +-0.6208188976377953 + 30 +0.0 + 10 +12.67785039370079 + 20 +-0.6253188976377952 + 30 +0.0 + 10 +12.66985039370079 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +12.6605157480315 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +12.6605157480315 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +12.65485039370079 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +12.64857086614173 + 20 +-0.6263740157480315 + 30 +0.0 + 10 +12.64162598425197 + 20 +-0.6239842519685039 + 30 +0.0 + 0 +SPLINE + 5 +40F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.80896456692913 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.83824015748032 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.80896456692913 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +410 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.88379527559055 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3188188976377953 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3525393700787401 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3525393700787401 + 30 +0.0 + 0 +SPLINE + 5 +411 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +12.88379527559055 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.3845944881889764 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.91312992125984 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.5574291338582678 + 30 +0.0 + 10 +12.88379527559055 + 20 +-0.5574291338582678 + 30 +0.0 + 0 +SPLINE + 5 +412 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.07051968503937 + 20 +-0.4940944881889764 + 30 +0.0 + 10 +13.07051968503937 + 20 +-0.4940944881889764 + 30 +0.0 + 10 +13.09929527559055 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +13.09929527559055 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +13.09929527559055 + 20 +-0.4978740157480315 + 30 +0.0 + 10 +13.09618503937008 + 20 +-0.5177086614173229 + 30 +0.0 + 10 +13.08812992125984 + 20 +-0.5332637795275591 + 30 +0.0 + 10 +13.07512992125984 + 20 +-0.5444842519685039 + 30 +0.0 + 10 +13.07512992125984 + 20 +-0.5444842519685039 + 30 +0.0 + 10 +13.06218503937008 + 20 +-0.5557086614173228 + 30 +0.0 + 10 +13.04624015748031 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +13.02735039370079 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +13.02735039370079 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +13.00374015748032 + 20 +-0.5613188976377953 + 30 +0.0 + 10 +12.98468503937008 + 20 +-0.5535944881889764 + 30 +0.0 + 10 +12.97035039370079 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +12.97035039370079 + 20 +-0.5381496062992126 + 30 +0.0 + 10 +12.95596062992126 + 20 +-0.5227086614173229 + 30 +0.0 + 10 +12.94874015748032 + 20 +-0.5005393700787402 + 30 +0.0 + 10 +12.94874015748032 + 20 +-0.4716496062992126 + 30 +0.0 + 10 +12.94874015748032 + 20 +-0.4716496062992126 + 30 +0.0 + 10 +12.94874015748032 + 20 +-0.4529842519685039 + 30 +0.0 + 10 +12.95185039370079 + 20 +-0.4366496062992126 + 30 +0.0 + 10 +12.95801968503937 + 20 +-0.4226496062992126 + 30 +0.0 + 10 +12.95801968503937 + 20 +-0.4226496062992126 + 30 +0.0 + 10 +12.96424015748032 + 20 +-0.4086496062992126 + 30 +0.0 + 10 +12.97362992125984 + 20 +-0.3981496062992126 + 30 +0.0 + 10 +12.98629527559055 + 20 +-0.3911496062992126 + 30 +0.0 + 10 +12.98629527559055 + 20 +-0.3911496062992126 + 30 +0.0 + 10 +12.99890551181102 + 20 +-0.3841496062992126 + 30 +0.0 + 10 +13.01268503937008 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +13.02751968503937 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +13.02751968503937 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +13.04629527559055 + 20 +-0.3806496062992126 + 30 +0.0 + 10 +13.06168503937008 + 20 +-0.3854291338582677 + 30 +0.0 + 10 +13.07357480314961 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +13.07357480314961 + 20 +-0.3949291338582677 + 30 +0.0 + 10 +13.08551968503937 + 20 +-0.4044291338582677 + 30 +0.0 + 10 +13.09318503937008 + 20 +-0.4178740157480315 + 30 +0.0 + 10 +13.09657480314961 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +13.09657480314961 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +13.09657480314961 + 20 +-0.4353740157480315 + 30 +0.0 + 10 +13.06807480314961 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +13.06807480314961 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +13.06807480314961 + 20 +-0.4397637795275591 + 30 +0.0 + 10 +13.06535039370079 + 20 +-0.4281496062992126 + 30 +0.0 + 10 +13.06057480314961 + 20 +-0.4194291338582677 + 30 +0.0 + 10 +13.05368503937008 + 20 +-0.4135393700787401 + 30 +0.0 + 10 +13.05368503937008 + 20 +-0.4135393700787401 + 30 +0.0 + 10 +13.04679527559055 + 20 +-0.4077047244094488 + 30 +0.0 + 10 +13.03846456692913 + 20 +-0.404763779527559 + 30 +0.0 + 10 +13.02868503937008 + 20 +-0.404763779527559 + 30 +0.0 + 10 +13.02868503937008 + 20 +-0.404763779527559 + 30 +0.0 + 10 +13.01390551181102 + 20 +-0.404763779527559 + 30 +0.0 + 10 +13.00190551181102 + 20 +-0.4100393700787401 + 30 +0.0 + 10 +12.99268503937008 + 20 +-0.4206496062992126 + 30 +0.0 + 10 +12.99268503937008 + 20 +-0.4206496062992126 + 30 +0.0 + 10 +12.98346062992126 + 20 +-0.4312047244094488 + 30 +0.0 + 10 +12.97885039370079 + 20 +-0.4479291338582677 + 30 +0.0 + 10 +12.97885039370079 + 20 +-0.4708188976377953 + 30 +0.0 + 10 +12.97885039370079 + 20 +-0.4708188976377953 + 30 +0.0 + 10 +12.97885039370079 + 20 +-0.4940393700787402 + 30 +0.0 + 10 +12.98329527559055 + 20 +-0.5109291338582678 + 30 +0.0 + 10 +12.99224015748032 + 20 +-0.5214842519685039 + 30 +0.0 + 10 +12.99224015748032 + 20 +-0.5214842519685039 + 30 +0.0 + 10 +13.00112992125984 + 20 +-0.531984251968504 + 30 +0.0 + 10 +13.01274015748031 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +13.02707480314961 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +13.02707480314961 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +13.03857480314961 + 20 +-0.5372637795275591 + 30 +0.0 + 10 +13.04812992125984 + 20 +-0.5337086614173229 + 30 +0.0 + 10 +13.05585039370079 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +13.05585039370079 + 20 +-0.5266496062992126 + 30 +0.0 + 10 +13.06357480314961 + 20 +-0.5195944881889764 + 30 +0.0 + 10 +13.06846456692913 + 20 +-0.508763779527559 + 30 +0.0 + 10 +13.07051968503937 + 20 +-0.4940944881889764 + 30 +0.0 + 0 +SPLINE + 5 +413 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 44 + 73 + 40 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +13.14357480314961 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +13.14357480314961 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +13.12257480314961 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +13.12257480314961 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +13.12257480314961 + 20 +-0.6275944881889763 + 30 +0.0 + 10 +13.15501968503937 + 20 +-0.575484251968504 + 30 +0.0 + 10 +13.17124409448819 + 20 +-0.5233740157480316 + 30 +0.0 + 10 +13.17124409448819 + 20 +-0.4711496062992126 + 30 +0.0 + 10 +13.17124409448819 + 20 +-0.4711496062992126 + 30 +0.0 + 10 +13.17124409448819 + 20 +-0.450763779527559 + 30 +0.0 + 10 +13.1689094488189 + 20 +-0.4305393700787402 + 30 +0.0 + 10 +13.16424409448819 + 20 +-0.4104291338582677 + 30 +0.0 + 10 +13.16424409448819 + 20 +-0.4104291338582677 + 30 +0.0 + 10 +13.16057480314961 + 20 +-0.3942047244094488 + 30 +0.0 + 10 +13.1554094488189 + 20 +-0.3785393700787402 + 30 +0.0 + 10 +13.14879921259842 + 20 +-0.3635944881889764 + 30 +0.0 + 10 +13.14879921259842 + 20 +-0.3635944881889764 + 30 +0.0 + 10 +13.14457480314961 + 20 +-0.3538188976377953 + 30 +0.0 + 10 +13.13585433070866 + 20 +-0.3375393700787401 + 30 +0.0 + 10 +13.12257480314961 + 20 +-0.314759842519685 + 30 +0.0 + 10 +13.12257480314961 + 20 +-0.314759842519685 + 30 +0.0 + 10 +13.12257480314961 + 20 +-0.314759842519685 + 30 +0.0 + 10 +13.14357480314961 + 20 +-0.314759842519685 + 30 +0.0 + 10 +13.14357480314961 + 20 +-0.314759842519685 + 30 +0.0 + 10 +13.14357480314961 + 20 +-0.314759842519685 + 30 +0.0 + 10 +13.16396456692913 + 20 +-0.341984251968504 + 30 +0.0 + 10 +13.17907480314961 + 20 +-0.3693188976377953 + 30 +0.0 + 10 +13.18885433070866 + 20 +-0.396763779527559 + 30 +0.0 + 10 +13.18885433070866 + 20 +-0.396763779527559 + 30 +0.0 + 10 +13.19718897637795 + 20 +-0.4204291338582677 + 30 +0.0 + 10 +13.20135433070866 + 20 +-0.4451496062992126 + 30 +0.0 + 10 +13.20135433070866 + 20 +-0.470984251968504 + 30 +0.0 + 10 +13.20135433070866 + 20 +-0.470984251968504 + 30 +0.0 + 10 +13.20135433070866 + 20 +-0.5003188976377952 + 30 +0.0 + 10 +13.19574409448819 + 20 +-0.5285944881889764 + 30 +0.0 + 10 +13.18451968503937 + 20 +-0.555984251968504 + 30 +0.0 + 10 +13.18451968503937 + 20 +-0.555984251968504 + 30 +0.0 + 10 +13.17329921259843 + 20 +-0.5833188976377953 + 30 +0.0 + 10 +13.15963385826772 + 20 +-0.6072086614173229 + 30 +0.0 + 10 +13.14357480314961 + 20 +-0.6275944881889763 + 30 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary +281 + 1 + 3 +ACAD_GROUP +350 +D + 3 +ACAD_LAYOUT +350 +1A + 3 +ACAD_MATERIAL +350 +3B + 3 +ACAD_MLEADERSTYLE +350 +435 + 3 +ACAD_MLINESTYLE +350 +17 + 3 +ACAD_PLOTSETTINGS +350 +19 + 3 +ACAD_PLOTSTYLENAME +350 +E + 3 +ACAD_TABLESTYLE +350 +434 + 3 +ACAD_VISUALSTYLE +350 +2A + 0 +DICTIONARY + 5 +D +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +DICTIONARY + 5 +1A +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +Layout1 +350 +1E + 3 +Layout2 +350 +26 + 3 +Model +350 +22 + 0 +DICTIONARY + 5 +3B +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +ByBlock +350 +3D + 3 +ByLayer +350 +3C + 3 +Global +350 +3E + 0 +DICTIONARY + 5 +435 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +DICTIONARY + 5 +17 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +Standard +350 +18 + 0 +DICTIONARY + 5 +19 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +ACDBDICTIONARYWDFLT + 5 +E +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +Normal +350 +F +100 +AcDbDictionaryWithDefault +340 +F + 0 +DICTIONARY + 5 +434 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +DICTIONARY + 5 +2A +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +2dWireframe +350 +2F + 3 +3D Hidden +350 +31 + 3 +3dWireframe +350 +30 + 3 +Basic +350 +32 + 3 +Brighten +350 +36 + 3 +ColorChange +350 +3A + 3 +Conceptual +350 +34 + 3 +Dim +350 +35 + 3 +Facepattern +350 +39 + 3 +Flat +350 +2B + 3 +FlatWithEdges +350 +2C + 3 +Gouraud +350 +2D + 3 +GouraudWithEdges +350 +2E + 3 +Linepattern +350 +38 + 3 +Realistic +350 +33 + 3 +Thicken +350 +37 + 0 +LAYOUT + 5 +1E +102 +{ACAD_REACTORS +330 +1A +102 +} +330 +1A +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 + 688 + 72 + 0 + 73 + 0 + 74 + 5 + 7 + + 75 + 16 + 76 + 0 + 77 + 2 + 78 + 300 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Layout1 + 70 + 1 + 71 + 1 + 10 +0.0 + 20 +0.0 + 11 +12.0 + 21 +9.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +1.000000000000000E+20 + 24 +1.000000000000000E+20 + 34 +1.000000000000000E+20 + 15 +-1.000000000000000E+20 + 25 +-1.000000000000000E+20 + 35 +-1.000000000000000E+20 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 + 0 +330 +1B + 0 +LAYOUT + 5 +26 +102 +{ACAD_REACTORS +330 +1A +102 +} +330 +1A +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 + 688 + 72 + 0 + 73 + 0 + 74 + 5 + 7 + + 75 + 16 + 76 + 0 + 77 + 2 + 78 + 300 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Layout2 + 70 + 1 + 71 + 2 + 10 +0.0 + 20 +0.0 + 11 +0.0 + 21 +0.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +0.0 + 24 +0.0 + 34 +0.0 + 15 +0.0 + 25 +0.0 + 35 +0.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 + 0 +330 +23 + 0 +LAYOUT + 5 +22 +102 +{ACAD_REACTORS +330 +1A +102 +} +330 +1A +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 + 1712 + 72 + 0 + 73 + 0 + 74 + 0 + 7 + + 75 + 0 + 76 + 0 + 77 + 2 + 78 + 300 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Model + 70 + 1 + 71 + 0 + 10 +0.0 + 20 +0.0 + 11 +12.0 + 21 +9.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +-3.070397637795276 + 24 +-9.832208661417322 + 34 +0.0 + 15 +14.89266535433071 + 25 +5.528948818897637 + 35 +0.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 + 0 +330 +1F +331 +29 + 0 +MATERIAL + 5 +3D +102 +{ACAD_REACTORS +330 +3B +102 +} +330 +3B +100 +AcDbMaterial + 1 +ByBlock + 72 + 1 + 94 + 127 + 0 +MATERIAL + 5 +3C +102 +{ACAD_REACTORS +330 +3B +102 +} +330 +3B +100 +AcDbMaterial + 1 +ByLayer + 72 + 1 + 94 + 127 + 0 +MATERIAL + 5 +3E +102 +{ACAD_REACTORS +330 +3B +102 +} +330 +3B +100 +AcDbMaterial + 1 +Global + 72 + 1 + 94 + 127 + 0 +MLINESTYLE + 5 +18 +102 +{ACAD_REACTORS +330 +17 +102 +} +330 +17 +100 +AcDbMlineStyle + 2 +Standard + 70 + 0 + 3 + + 62 + 256 + 51 +90.0 + 52 +90.0 + 71 + 2 + 49 +0.5 + 62 + 256 + 6 +BYLAYER + 49 +-0.5 + 62 + 256 + 6 +BYLAYER + 0 +ACDBPLACEHOLDER + 5 +F +102 +{ACAD_REACTORS +330 +E +102 +} +330 +E + 0 +VISUALSTYLE + 5 +2F +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +41C +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +2dWireframe + 70 + 4 + 71 + 0 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +31 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +420 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +3D Hidden + 70 + 6 + 71 + 1 + 72 + 2 + 73 + 2 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 2 + 91 + 2 + 64 + 7 + 65 + 257 + 75 + 2 +175 + 1 + 42 +40.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 3 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +30 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +41E +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +3dWireframe + 70 + 5 + 71 + 0 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +32 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +422 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Basic + 70 + 7 + 71 + 1 + 72 + 0 + 73 + 1 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 0 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +36 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +42A +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Brighten + 70 + 12 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +50.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +3A +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +432 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +ColorChange + 70 + 16 + 71 + 2 + 72 + 2 + 73 + 3 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 8 +421 + 8421504 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 8 +424 + 8421504 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +34 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +426 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Conceptual + 70 + 9 + 71 + 3 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 2 + 91 + 2 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +40.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 3 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +35 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +428 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Dim + 70 + 11 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +-50.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +39 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +430 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Facepattern + 70 + 15 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2B +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +414 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Flat + 70 + 0 + 71 + 2 + 72 + 1 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 0 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2C +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +416 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +FlatWithEdges + 70 + 1 + 71 + 2 + 72 + 1 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2D +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +418 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Gouraud + 70 + 2 + 71 + 2 + 72 + 2 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 0 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2E +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +41A +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +GouraudWithEdges + 70 + 3 + 71 + 2 + 72 + 2 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +38 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +42E +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Linepattern + 70 + 14 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 7 +175 + 7 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +33 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +424 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Realistic + 70 + 8 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 0 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 8 +424 + 7895160 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +37 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +42C +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Thicken + 70 + 13 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 12 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +DICTIONARY + 5 +41C +330 +2F +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +41D + 0 +DICTIONARY + 5 +420 +330 +31 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +421 + 0 +DICTIONARY + 5 +41E +330 +30 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +41F + 0 +DICTIONARY + 5 +422 +330 +32 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +423 + 0 +DICTIONARY + 5 +42A +330 +36 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +42B + 0 +DICTIONARY + 5 +432 +330 +3A +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +433 + 0 +DICTIONARY + 5 +426 +330 +34 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +427 + 0 +DICTIONARY + 5 +428 +330 +35 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +429 + 0 +DICTIONARY + 5 +430 +330 +39 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +431 + 0 +DICTIONARY + 5 +414 +330 +2B +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +415 + 0 +DICTIONARY + 5 +416 +330 +2C +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +417 + 0 +DICTIONARY + 5 +418 +330 +2D +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +419 + 0 +DICTIONARY + 5 +41A +330 +2E +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +41B + 0 +DICTIONARY + 5 +42E +330 +38 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +42F + 0 +DICTIONARY + 5 +424 +330 +33 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +425 + 0 +DICTIONARY + 5 +42C +330 +37 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +42D + 0 +XRECORD + 5 +41D +102 +{ACAD_REACTORS +330 +41C +102 +} +330 +41C +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +421 +102 +{ACAD_REACTORS +330 +420 +102 +} +330 +420 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +41F +102 +{ACAD_REACTORS +330 +41E +102 +} +330 +41E +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +423 +102 +{ACAD_REACTORS +330 +422 +102 +} +330 +422 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +42B +102 +{ACAD_REACTORS +330 +42A +102 +} +330 +42A +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +433 +102 +{ACAD_REACTORS +330 +432 +102 +} +330 +432 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +427 +102 +{ACAD_REACTORS +330 +426 +102 +} +330 +426 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +429 +102 +{ACAD_REACTORS +330 +428 +102 +} +330 +428 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +431 +102 +{ACAD_REACTORS +330 +430 +102 +} +330 +430 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +415 +102 +{ACAD_REACTORS +330 +414 +102 +} +330 +414 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +417 +102 +{ACAD_REACTORS +330 +416 +102 +} +330 +416 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +419 +102 +{ACAD_REACTORS +330 +418 +102 +} +330 +418 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +41B +102 +{ACAD_REACTORS +330 +41A +102 +} +330 +41A +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +42F +102 +{ACAD_REACTORS +330 +42E +102 +} +330 +42E +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +425 +102 +{ACAD_REACTORS +330 +424 +102 +} +330 +424 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +42D +102 +{ACAD_REACTORS +330 +42C +102 +} +330 +42C +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +ENDSEC + 0 +EOF diff --git a/lib/RFM69/Examples/MotionMote/MotionMote.ino b/lib/RFM69/Examples/MotionMote/MotionMote.ino new file mode 100644 index 00000000..c4ac759f --- /dev/null +++ b/lib/RFM69/Examples/MotionMote/MotionMote.ino @@ -0,0 +1,249 @@ +// Sample RFM69 sender/node sketch for the MotionMote +// http://lowpowerlab.com/motionmote +// PIR motion sensor connected to D3 (INT1) +// When RISE happens on D3, the sketch transmits a "MOTION" msg to receiver Moteino and goes back to sleep +// In sleep mode, Moteino + PIR motion sensor use about ~60uA +// IMPORTANT: adjust the settings in the configuration section below !!! + +// ********************************************************************************** +// Copyright Felix Rusu of LowPowerLab.com, 2016 +// RFM69 library and sample code by Felix Rusu - lowpowerlab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //comes with Arduino IDE (www.arduino.cc) +#include //get library from: https://github.com/lowpowerlab/lowpower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ +#include //get it here: https://www.github.com/lowpowerlab/spiflash +#include //get it here: https://github.com/sparkfun/SparkFun_BME280_Breakout_Board/tree/master/Libraries/Arduino/src +#include //comes with Arduino + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 88 //unique for each node on same network +#define NETWORKID 100 //the same on all nodes that talk to each other +#define GATEWAYID 1 +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//#define ENABLE_BME280 //uncomment to allow reading the BME280 (if present) +//********************************************************************************************* +#define ACK_TIME 30 // max # of ms to wait for an ack +#define ONBOARDLED 9 // Moteinos have LEDs on D9 +#define LED 5 // MotionOLEDMote has an external LED on D5 +#define MOTION_PIN 3 // D3 +#define MOTION_IRQ 1 // hardware interrupt 1 (D3) - where motion sensors OUTput is connected, this will generate an interrupt every time there is MOTION +#define BATT_MONITOR A7 // Sense VBAT_COND signal (when powered externally should read ~3.25v/3.3v (1000-1023), when external power is cutoff it should start reading around 2.85v/3.3v * 1023 ~= 883 (ratio given by 10k+4.7K divider from VBAT_COND = 1.47 multiplier) +#define BATT_FORMULA(reading) reading * 0.00322 * 1.49 // >>> fine tune this parameter to match your voltage when fully charged + // details on how this works: https://lowpowerlab.com/forum/index.php/topic,1206.0.html +#define DUPLICATE_INTERVAL 20000 //avoid duplicates in 55second intervals (ie mailman sometimes spends 30+ seconds at mailbox) +#define BATT_INTERVAL 300000 // read and report battery voltage every this many ms (approx) + +//#define SERIAL_EN //comment this out when deploying to an installed Mote to save a few KB of sketch size +#define SERIAL_BAUD 115200 +#ifdef SERIAL_EN +#define DEBUG(input) {Serial.print(input); delay(1);} +#define DEBUGln(input) {Serial.println(input); delay(1);} +#define DEBUGFlush() { Serial.flush(); } +#else +#define DEBUG(input); +#define DEBUGln(input); +#define DEBUGFlush(); +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +#define FLASH_SS 8 // and FLASH SS on D8 on regular Moteinos (D23 on MoteinoMEGA) +SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL) + +#ifdef ENABLE_BME280 + BME280 bme280; +#endif + +volatile boolean motionDetected=false; +float batteryVolts = 5; +char BATstr[10]; //longest battery voltage reading message = 9chars +char sendBuf[32]; +byte sendLen; +#ifdef ENABLE_BME280 + float temperature=0; + char Fstr[10]; +#endif + +void motionIRQ(void); +void checkBattery(void); + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +//Auto Transmission Control - dials down transmit power to save battery (-100 is the noise floor, -90 is still pretty good) +//For indoor nodes that are pretty static and at pretty stable temperatures (like a MotionMote) -90dBm is quite safe +//For more variable nodes that can expect to move or experience larger temp drifts a lower margin like -70 to -80 would probably be better +//Always test your ATC mote in the edge cases in your own environment to ensure ATC will perform as you expect +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + pinMode(MOTION_PIN, INPUT); + attachInterrupt(MOTION_IRQ, motionIRQ, RISING); + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + DEBUGln(buff); + pinMode(ONBOARDLED, OUTPUT); + pinMode(LED, OUTPUT); + radio.sendWithRetry(GATEWAYID, "START", 5); + +#ifdef ENABLE_ATC + DEBUGln("RFM69_ATC Enabled (Auto Transmission Control)\n"); +#endif + + if (flash.initialize()) flash.sleep(); //if Moteino has FLASH-MEM, make sure it sleeps + +#ifdef ENABLE_BME280 + bme280.settings.commInterface = I2C_MODE; + bme280.settings.I2CAddress = 0x77; + bme280.settings.runMode = 3; //Normal mode + bme280.settings.tStandby = 0; + bme280.settings.filter = 0; + bme280.settings.tempOverSample = 1; + bme280.settings.pressOverSample = 1; + bme280.settings.humidOverSample = 1; +#endif +} + +void motionIRQ() +{ + motionDetected=true; + DEBUGln("IRQ"); +} + +uint16_t batteryReportCycles=0; +uint32_t time=0, now=0, MLO=0, BLO=0; +byte motionRecentlyCycles=0; +void loop() { + now = millis(); + checkBattery(); + //DEBUG("Slept: ");DEBUG(now-lastSleepTime);DEBUGln("ms"); + + if (motionDetected && (time-MLO > DUPLICATE_INTERVAL)) + { + digitalWrite(LED, HIGH); + MLO = time; //save timestamp of event + +#ifdef ENABLE_BME280 + //read BME sensor + bme280.begin(); + dtostrf(bme280.readTempF(), 3,2, Fstr); + bme280.writeRegister(BME280_CTRL_MEAS_REG, 0x00); //sleep the BME280 + sprintf(sendBuf, "MOTION BAT:%sv F:%s", BATstr, Fstr); +#else + sprintf(sendBuf, "MOTION BAT:%sv", BATstr); +#endif + + sendLen = strlen(sendBuf); + + if (radio.sendWithRetry(GATEWAYID, sendBuf, sendLen)) + { + DEBUG("MOTION ACK:OK! RSSI:"); + DEBUG(radio.RSSI); + batteryReportCycles = 0; + } + else DEBUG("MOTION ACK:NOK..."); + + DEBUG(" VIN: "); + DEBUGln(BATstr); + + radio.sleep(); + digitalWrite(LED, LOW); + } + else if (time-BLO > BATT_INTERVAL) + { +#ifdef ENABLE_BME280 + //read BME sensor + bme280.begin(); + dtostrf(bme280.readTempF(), 3,2, Fstr); + bme280.writeRegister(BME280_CTRL_MEAS_REG, 0x00); //sleep the BME280 + sprintf(sendBuf, "BAT:%sv F:%s", BATstr, Fstr); +#else + sprintf(sendBuf, "BAT:%sv", BATstr); +#endif + + sendLen = strlen(sendBuf); + BLO = time; + radio.sendWithRetry(GATEWAYID, sendBuf, sendLen); + radio.sleep(); + batteryReportCycles=0; + } + + DEBUGFlush(); + + //while motion recently happened sleep for small slots of time to better approximate last motion event + //this helps with debouncing a "MOTION" event more accurately for sensors that fire the IRQ very rapidly (ie panasonic sensors) + if (motionDetected ||motionRecentlyCycles>0) + { + if (motionDetected) motionRecentlyCycles=8; + else motionRecentlyCycles--; + motionDetected=false; //do NOT move this after the SLEEP line below or motion will never be detected + time = time + 250 + millis()-now; + radio.sleep(); + LowPower.powerDown(SLEEP_250MS, ADC_OFF, BOD_OFF); + DEBUGln("WAKEUP250ms"); + } + else + { + time = time + 8000 + millis()-now; + radio.sleep(); + LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); + DEBUGln("WAKEUP8s"); + } + batteryReportCycles++; +} + +uint32_t BLR=0; +void checkBattery() +{ + if (time-BLR > 30000) //only read battery every 30s or so + { + unsigned int readings=0; + BLR = time; + for (byte i=0; i<10; i++) //take 10 samples, and average + readings+=analogRead(BATT_MONITOR); + batteryVolts = BATT_FORMULA(readings / 10.0); + dtostrf(batteryVolts, 3,2, BATstr); //update the BATStr which gets sent every BATT_CYCLES or along with the MOTION message + } +} \ No newline at end of file diff --git a/lib/RFM69/Examples/MotionMote/OLD/MotionMote.ino b/lib/RFM69/Examples/MotionMote/OLD/MotionMote.ino new file mode 100644 index 00000000..41510fb4 --- /dev/null +++ b/lib/RFM69/Examples/MotionMote/OLD/MotionMote.ino @@ -0,0 +1,68 @@ +// Sample RFM69 sender/node sketch for motion sensor +// PIR motion sensor connected to D3 (INT1) +// When RISE happens on D3, the sketch transmits a "MOTION" msg to receiver Moteino and goes back to sleep +// In sleep mode, Moteino + PIR motion sensor use about ~78uA +// Library and code by Felix Rusu - felix@lowpowerlab.com +// Get the RFM69 and SPIFlash library at: https://github.com/LowPowerLab/ + +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //get library from: https://github.com/LowPowerLab/LowPower + +#define NODEID 18 //unique for each node on same network +#define NETWORKID 100 //the same on all nodes that talk to each other +#define GATEWAYID 1 +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +//#define IS_RFM69HW //uncomment only for RFM69HW! Leave out if you have RFM69W! +#define ACK_TIME 30 // max # of ms to wait for an ack +#define LED 9 // Moteinos have LEDs on D9 +#define SERIAL_BAUD 115200 +#define MOTIONPIN 1 //hardware interrupt 1 (D3) + +RFM69 radio; +volatile boolean motionDetected=false; + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW + radio.setHighPower(); //uncomment only for RFM69HW! +#endif + radio.encrypt(ENCRYPTKEY); + attachInterrupt(MOTIONPIN, motionIRQ, RISING); + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); +} + +void motionIRQ() +{ + motionDetected=true; +} + +void loop() { + if (motionDetected) + { + if (radio.sendWithRetry(GATEWAYID, "MOTION", 6)) + { + Serial.println(" ok!"); + Blink(LED,3); + } + else Serial.println(" nothing..."); + motionDetected=false; + } + radio.sleep(); + LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_OFF); +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} diff --git a/lib/RFM69/Examples/MotionMote/OLD/MotionMote.jpg b/lib/RFM69/Examples/MotionMote/OLD/MotionMote.jpg new file mode 100644 index 0000000000000000000000000000000000000000..618c9144b643715a8e338d656861f69f2c914d38 GIT binary patch literal 20602 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 + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/lib/RFM69/Examples/Node/Node.ino b/lib/RFM69/Examples/Node/Node.ino new file mode 100644 index 00000000..3558b2a9 --- /dev/null +++ b/lib/RFM69/Examples/Node/Node.ino @@ -0,0 +1,223 @@ +// Sample RFM69 sender/node sketch, with ACK and optional encryption, and Automatic Transmission Control +// Sends periodic messages of increasing length to gateway (id=1) +// It also looks for an onboard FLASH chip, if present +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://www.github.com/lowpowerlab/spiflash +#include //included with Arduino IDE install (www.arduino.cc) + +//********************************************************************************************* +//************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************ +//********************************************************************************************* +#define NODEID 2 //must be unique for each node on same network (range up to 254, 255 is used for broadcast) +#define NETWORKID 100 //the same on all nodes that talk to each other (range up to 255) +#define GATEWAYID 1 +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +//#define FREQUENCY RF69_915MHZ +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//********************************************************************************************* +//Auto Transmission Control - dials down transmit power to save battery +//Usually you do not need to always transmit at max output power +//By reducing TX power even a little you save a significant amount of battery power +//This setting enables this gateway to work with remote nodes that have ATC enabled to +//dial their power down to only the required level (ATC_RSSI) +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -80 +//********************************************************************************************* + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#define SERIAL_BAUD 115200 + +int TRANSMITPERIOD = 200; //transmit a packet to gateway so often (in ms) +char payload[] = "123 ABCDEFGHIJKLMNOPQRSTUVWXYZ"; +char buff[20]; +byte sendSize=0; +boolean requestACK = false; +SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond chip (W25X40CL) + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + //radio.setFrequency(919000000); //set frequency to some custom frequency + +//Auto Transmission Control - dials down transmit power to save battery (-100 is the noise floor, -90 is still pretty good) +//For indoor nodes that are pretty static and at pretty stable temperatures (like a MotionMote) -90dBm is quite safe +//For more variable nodes that can expect to move or experience larger temp drifts a lower margin like -70 to -80 would probably be better +//Always test your ATC mote in the edge cases in your own environment to ensure ATC will perform as you expect +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); + + if (flash.initialize()) + { + Serial.print("SPI Flash Init OK ... UniqueID (MAC): "); + flash.readUniqueId(); + for (byte i=0;i<8;i++) + { + Serial.print(flash.UNIQUEID[i], HEX); + Serial.print(' '); + } + Serial.println(); + } + else + Serial.println("SPI Flash MEM not found (is chip soldered?)..."); + +#ifdef ENABLE_ATC + Serial.println("RFM69_ATC Enabled (Auto Transmission Control)\n"); +#endif +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} + +long lastPeriod = 0; +void loop() { + //process any serial input + if (Serial.available() > 0) + { + char input = Serial.read(); + if (input >= 48 && input <= 57) //[0,9] + { + TRANSMITPERIOD = 100 * (input-48); + if (TRANSMITPERIOD == 0) TRANSMITPERIOD = 1000; + Serial.print("\nChanging delay to "); + Serial.print(TRANSMITPERIOD); + Serial.println("ms\n"); + } + + if (input == 'r') //d=dump register values + radio.readAllRegs(); + //if (input == 'E') //E=enable encryption + // radio.encrypt(KEY); + //if (input == 'e') //e=disable encryption + // radio.encrypt(null); + + if (input == 'd') //d=dump flash area + { + Serial.println("Flash content:"); + uint16_t counter = 0; + + Serial.print("0-256: "); + while(counter<=256){ + Serial.print(flash.readByte(counter++), HEX); + Serial.print('.'); + } + while(flash.busy()); + Serial.println(); + } + if (input == 'e') + { + Serial.print("Erasing Flash chip ... "); + flash.chipErase(); + while(flash.busy()); + Serial.println("DONE"); + } + if (input == 'i') + { + Serial.print("DeviceID: "); + word jedecid = flash.readDeviceId(); + Serial.println(jedecid, HEX); + } + } + + //check for any received packets + if (radio.receiveDone()) + { + Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] "); + for (byte i = 0; i < radio.DATALEN; i++) + Serial.print((char)radio.DATA[i]); + Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]"); + + if (radio.ACKRequested()) + { + radio.sendACK(); + Serial.print(" - ACK sent"); + } + Blink(LED,3); + Serial.println(); + } + + int currPeriod = millis()/TRANSMITPERIOD; + if (currPeriod != lastPeriod) + { + lastPeriod=currPeriod; + + //send FLASH id + if(sendSize==0) + { + sprintf(buff, "FLASH_MEM_ID:0x%X", flash.readDeviceId()); + byte buffLen=strlen(buff); + if (radio.sendWithRetry(GATEWAYID, buff, buffLen)) + Serial.print(" ok!"); + else Serial.print(" nothing..."); + //sendSize = (sendSize + 1) % 31; + } + else + { + Serial.print("Sending["); + Serial.print(sendSize); + Serial.print("]: "); + for(byte i = 0; i < sendSize; i++) + Serial.print((char)payload[i]); + + if (radio.sendWithRetry(GATEWAYID, payload, sendSize)) + Serial.print(" ok!"); + else Serial.print(" nothing..."); + } + sendSize = (sendSize + 1) % 31; + Serial.println(); + Blink(LED,3); + } +} diff --git a/lib/RFM69/Examples/OLEDMote/OLEDMote.ino b/lib/RFM69/Examples/OLEDMote/OLEDMote.ino new file mode 100644 index 00000000..720d6ae1 --- /dev/null +++ b/lib/RFM69/Examples/OLEDMote/OLEDMote.ino @@ -0,0 +1,237 @@ +// Sample RFM69 sketch for the MotionOLED mote containing the OLED +// Displays any messages on the network on the OLED display and beeps the buzzer every time a message is received +// The side button will step through 10 past received messages +// Library and code by Felix Rusu - felix@lowpowerlab.com +// Get libraries at: https://github.com/LowPowerLab/ +// Make sure you adjust the settings in the configuration section below !!! + +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get library from: https://www.github.com/lowpowerlab/spiflash +#include //get library from: https://github.com/lowpowerlab/lowpower +#include "U8glib.h" //get library from: https://code.google.com/p/u8glib/ +#include //included with Arduino IDE (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 122 //unique for each node on same network +#define NETWORKID 100 //the same on all nodes that talk to each other +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//********************************************************************************************* + +#define SERIAL_BAUD 115200 +#define LED 5 // Moteinos have LEDs on D9, but for MotionMote we are using the external led on D5 +#define BUZZER 6 +#define BUTTON_INT 1 //user button on interrupt 1 +#define BUTTON_PIN 3 //user button on interrupt 1 + +RFM69 radio; +U8GLIB_SSD1306_128X64 u8g(U8G_I2C_OPT_NONE); // I2C / TWI SSD1306 OLED 128x64 +bool promiscuousMode = true; //set to 'true' to sniff all packets on the same network + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + radio.promiscuous(promiscuousMode); + char buff[50]; + sprintf(buff, "\nListening at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); + pinMode(BUZZER, OUTPUT); + + //configure OLED + u8g.setRot180(); //flip screen + // assign default color value + if ( u8g.getMode() == U8G_MODE_R3G3B2 ) + u8g.setColorIndex(255); // white + else if ( u8g.getMode() == U8G_MODE_GRAY2BIT ) + u8g.setColorIndex(3); // max intensity + else if ( u8g.getMode() == U8G_MODE_BW ) + u8g.setColorIndex(1); // pixel on + else if ( u8g.getMode() == U8G_MODE_HICOLOR ) + u8g.setHiColorByRGB(255,255,255); + u8g.begin(); + Serial.flush(); + pinMode(BUTTON_PIN, INPUT_PULLUP); + attachInterrupt(BUTTON_INT, handleButton, FALLING); +} + +#define FLAG_INTERRUPT 0x01 +volatile int mainEventFlags = 0; +boolean buttonPressed = false; +void handleButton() +{ + mainEventFlags |= FLAG_INTERRUPT; +} + +byte ackCount=0; + +#define MSG_MAX_LEN 17 //OLED 1 line max # of chars (16 + EOL) +#define HISTORY_LEN 10 //hold this many past messages +typedef struct { + char data[MSG_MAX_LEN]; + int rssi; + byte from; +} Message; +Message * messageHistory = new Message[HISTORY_LEN]; + +byte lastMessageIndex = HISTORY_LEN; +byte currMessageIndex = HISTORY_LEN; +byte historyLength = 0; +void loop() { + if (mainEventFlags & FLAG_INTERRUPT) + { + LowPower.powerDown(SLEEP_30MS, ADC_OFF, BOD_ON); + mainEventFlags &= ~FLAG_INTERRUPT; + if (!digitalRead(BUTTON_PIN)) { + buttonPressed=true; + } + } + + if (buttonPressed) + { + buttonPressed = false; + Beep(10, false); + + //save non-ACK messages in a circular buffer + if (!radio.ACK_RECEIVED && historyLength > 1) //only care if at least 2 messages saved. if only 1 message it should be displayed already + { + if (currMessageIndex==0) + currMessageIndex=historyLength-1; + else currMessageIndex--; + + //Serial.print("HIST currIndex/histLen=");Serial.print(currMessageIndex+1);Serial.print("/");Serial.print(historyLength); + //Serial.print(" - "); + //Serial.println(messageHistory[currMessageIndex].data); + + u8g.firstPage(); + do { + draw(messageHistory[currMessageIndex].data, messageHistory[currMessageIndex].rssi, messageHistory[currMessageIndex].from, true); + } while(u8g.nextPage()); + //delay(10); //give OLED time to draw? + } + } + + if (radio.receiveDone()) + { + Serial.print('[');Serial.print(radio.SENDERID);Serial.print("] "); + if (promiscuousMode) + Serial.print("to [");Serial.print(radio.TARGETID);Serial.print("] "); + + Serial.print((char*)radio.DATA); + Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]"); + Serial.println(); + + saveToHistory((char *)radio.DATA, radio.RSSI, radio.SENDERID); + Blink(LED,3); + Beep(20, true); + u8g.firstPage(); + do { + draw((char*)radio.DATA, radio.RSSI, radio.SENDERID, false); + } while(u8g.nextPage()); + //delay(10); //give OLED time to draw? + } + radio.receiveDone(); + Serial.flush(); + LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_ON); +} + +float batteryVolts = 5; +char* BATstr="BAT:5.00v"; +void draw(char * data, int rssi, byte from, boolean isHist) { + char buff[20]; + // graphic commands to redraw the complete screen should be placed here + u8g.setFont(u8g_font_unifont); + u8g.drawStr( 0, 10, data); + sprintf(buff, "ID:%d", from); + u8g.drawStr( 0, 25, buff); + sprintf(buff, "RSSI:%d", rssi); + u8g.drawStr( 60, 25, buff); + + if (!isHist) + { + batteryVolts = analogRead(A7) * 0.00322 * 1.42; + dtostrf(batteryVolts, 3,2, BATstr); + sprintf(buff, "BAT:%sv", BATstr); + u8g.drawStr( 0, 55, buff); + } +} + +void Beep(byte theDelay, boolean both) +{ + if (theDelay > 20) theDelay = 20; + tone(BUZZER, 4200); //4200 + delay(theDelay); + noTone(BUZZER); + LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_ON); + if (both) + { + tone(BUZZER, 4500); //4500 + delay(theDelay); + noTone(BUZZER); + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} + +void saveToHistory(char * msg, int rssi, byte from) +{ + byte length = strlen(msg); + byte i = 0; + if (lastMessageIndex >=9) lastMessageIndex = 0; + else lastMessageIndex++; + currMessageIndex = lastMessageIndex; + if (historyLength < HISTORY_LEN) historyLength++; + + //Serial.print("HIST SAVE lastIndex=");Serial.print(lastMessageIndex);Serial.print(" strlen=");Serial.print(length); + //Serial.print(" msg=["); + + for (; i<(MSG_MAX_LEN-1) && (i < length); i++) + { + messageHistory[lastMessageIndex].data[i] = msg[i]; + Serial.print(msg[i]); + } + //Serial.print("] copied:"); + messageHistory[lastMessageIndex].data[i] = '\0'; //terminate string + //Serial.println((char*)messageHistory[lastMessageIndex].data); + + messageHistory[lastMessageIndex].rssi = rssi; + messageHistory[lastMessageIndex].from = from; +} \ No newline at end of file diff --git a/lib/RFM69/Examples/PiGateway/PiGateway.ino b/lib/RFM69/Examples/PiGateway/PiGateway.ino new file mode 100644 index 00000000..3588bf2e --- /dev/null +++ b/lib/RFM69/Examples/PiGateway/PiGateway.ino @@ -0,0 +1,179 @@ +// ********************************************************************************************************** +// Moteino gateway/base sketch that works with Moteinos equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// This is a basic gateway sketch that receives packets from end node Moteinos, formats them as ASCII strings +// with the end node [ID] and passes them to Pi/host computer via serial port +// (ex: "messageFromNode" from node 123 gets passed to serial as "[123] messageFromNode") +// It also listens to serial messages that should be sent to listening end nodes +// (ex: "123:messageToNode" sends "messageToNode" to node 123) +// Make sure to adjust the settings to match your transceiver settings (frequency, HW etc). +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 1 //the ID of this node +#define NETWORKID 200 //the network ID of all nodes this node listens/talks to +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //identical 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ACK_TIME 30 // # of ms to wait for an ack packet +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 //target RSSI for RFM69_ATC (recommended > -80) +//***************************************************************************************************************************** +// Serial baud rate must match your Pi/host computer serial port baud rate! +#define SERIAL_EN //comment out if you don't want any serial verbose output +#define SERIAL_BAUD 19200 +//***************************************************************************************************************************** + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#ifdef SERIAL_EN + #define DEBUG(input) {Serial.print(input); delay(1);} + #define DEBUGln(input) {Serial.println(input); delay(1);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for 4mbit Windbond FlashMEM chip + +void setup() { + Serial.begin(SERIAL_BAUD); + delay(10); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", radio.getFrequency()/1000000); + DEBUGln(buff); + + if (flash.initialize()) + { + DEBUGln("SPI Flash Init OK!"); + } + else + { + DEBUGln("SPI FlashMEM not found (is chip onboard?)"); + } +} + +byte ackCount=0; +byte inputLen=0; +char input[64]; +byte buff[61]; +String inputstr; + +void loop() { + inputLen = readSerialLine(input); + inputstr = String(input); + inputstr.toUpperCase(); + + if (inputLen > 0) + { + if (inputstr.equals("KEY?")) + { + DEBUG("ENCRYPTKEY:"); + DEBUG(ENCRYPTKEY); + } + + byte targetId = inputstr.toInt(); //extract ID if any + byte colonIndex = inputstr.indexOf(":"); //find position of first colon + + if (targetId > 0) + { + inputstr = inputstr.substring(colonIndex+1); //trim "ID:" if any + } + + if (targetId > 0 && targetId != NODEID && targetId != RF69_BROADCAST_ADDR && colonIndex>0 && colonIndex<4 && inputstr.length()>0) + { + inputstr.getBytes(buff, 61); + //DEBUGln((char*)buff); + //DEBUGln(targetId); + //DEBUGln(colonIndex); + if (radio.sendWithRetry(targetId, buff, inputstr.length())) + { + DEBUGln("ACK:OK"); + } + else + DEBUGln("ACK:NOK"); + } + } + + if (radio.receiveDone()) + { + int rssi = radio.RSSI; + DEBUG('[');DEBUG(radio.SENDERID);DEBUG("] "); + if (radio.DATALEN > 0) + { + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUG(" [RSSI:");DEBUG(rssi);DEBUG("]"); + } + + CheckForWirelessHEX(radio, flash, false); //non verbose DEBUG + + if (radio.ACKRequested()) + { + byte theNodeID = radio.SENDERID; + radio.sendACK(); + DEBUG("[ACK-sent]"); + } + DEBUGln(); + Blink(LED,3); + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/PiGateway/PiGateway_withLCD.ino b/lib/RFM69/Examples/PiGateway/PiGateway_withLCD.ino new file mode 100644 index 00000000..26e0070e --- /dev/null +++ b/lib/RFM69/Examples/PiGateway/PiGateway_withLCD.ino @@ -0,0 +1,219 @@ +// ********************************************************************************************************** +// Moteino gateway/base sketch that works with Moteinos equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// This sketch uses a 2x20 Newhaven RGB backlight LCD to display incoming messages from end nodes +// http://www.digikey.com/product-search/en?keywords=NHD-C0220BIZ-FS(RGB)-FBW-3VM +// This is a basic gateway sketch that receives packets from end node Moteinos, formats them as ASCII strings +// with the end node [ID] and passes them to Pi/host computer via serial port +// (ex: "messageFromNode" from node 123 gets passed to serial as "[123] messageFromNode") +// It also listens to serial messages that should be sent to listening end nodes +// (ex: "123:messageToNode" sends "messageToNode" to node 123) +// Make sure to adjust the settings to match your transceiver settings (frequency, HW etc). +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. + +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) +#include //included with Arduino IDE (www.arduino.cc) +#include "ST7036.h" //get it from here: https://bitbucket.org/fmalpartida/st7036-display-driver/src/ +#include "LCD_C0220BiZ.h" //get it from here: https://bitbucket.org/fmalpartida/st7036-display-driver/src/ + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 1 //the ID of this node +#define NETWORKID 200 //the network ID of all nodes this node listens/talks to +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //identical 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ACK_TIME 30 // # of ms to wait for an ack +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 //target RSSI for RFM69_ATC (recommended > -80) +//***************************************************************************************************************************** +// Serial baud rate must match your Pi/host computer serial port baud rate! +#define SERIAL_EN //comment out if you don't want any serial verbose output +#define SERIAL_BAUD 19200 +//***************************************************************************************************************************** + +#define BACKLIGHTPIN 5 //3=R,5=G,6=B + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#ifdef SERIAL_EN + #define DEBUG(input) {Serial.print(input); delay(1);} + #define DEBUGln(input) {Serial.println(input); delay(1);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +SPIFlash flash(FLASH_SS, 0xEF30); //EF40 for 16mbit windbond chip + +//initialize LCD +ST7036 lcd = ST7036(2, 20, 0x78, BACKLIGHTPIN); //row count, column count, I2C addr, pin for backlight PWM +byte battChar[8] = {0b00000,0b01110,0b11111,0b11111,0b11111,0b11111,0b11111,0}; +byte rssiChar[8] = {0b00000,0b00100,0b10101,0b01110,0b00100,0b00100,0b00100,0}; + +void setup() { + Serial.begin(SERIAL_BAUD); + delay(10); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", radio.getFrequency()/1000000); + + DEBUGln(buff); + + if (flash.initialize()) + { + DEBUGln("SPI Flash Init OK!"); + } + else + { + DEBUGln("SPI FlashMEM not found (is chip onboard?)"); + } + + lcd.init(); + lcd.setContrast(10); + lcd.clear(); + lcd.load_custom_character(0, battChar); + lcd.load_custom_character(1, rssiChar); + lcd.setCursor(0,0); + lcd.print(buff); +} + +byte ackCount=0; +byte inputLen=0; +char input[64]; +byte buff[61]; +char LO[20]; +char BAT[20]; +char temp[25]; +String inputstr; + +void loop() { + inputLen = readSerialLine(input, 10, 64, 10); //readSerialLine(char* input, char endOfLineChar=10, byte maxLength=64, uint16_t timeout=10); + inputstr = String(input); + inputstr.toUpperCase(); + + if (inputLen > 0) + { + if (inputstr.equals("KEY?")) + { + DEBUG("ENCRYPTKEY:"); + DEBUG(ENCRYPTKEY); + } + + byte targetId = inputstr.toInt(); //extract ID if any + byte colonIndex = inputstr.indexOf(":"); //find position of first colon + if (targetId > 0) inputstr = inputstr.substring(colonIndex+1); //trim "ID:" if any + if (targetId > 0 && targetId != NODEID && targetId != RF69_BROADCAST_ADDR && colonIndex>0 && colonIndex<4 && inputstr.length()>0) + { + + inputstr.getBytes(buff, 61); + //DEBUGln((char*)buff); + //DEBUGln(targetId); + //DEBUGln(colonIndex); + if (radio.sendWithRetry(targetId, buff, inputstr.length())) + { + DEBUGln("ACK:OK"); + } + else + DEBUGln("ACK:NOK"); + } + } + + if (radio.receiveDone()) + { + int rssi = radio.RSSI; + DEBUG('[');DEBUG(radio.SENDERID);DEBUG("] "); + if (radio.DATALEN > 0) + { + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUG(" [RSSI:");DEBUG(rssi);DEBUG("]"); + } + + CheckForWirelessHEX(radio, flash, false); //non verbose DEBUG + + if (radio.ACKRequested()) + { + byte theNodeID = radio.SENDERID; + radio.sendACK(); + DEBUG("[ACK-sent]"); + } + DEBUGln(); + Blink(LED,3); + + lcd.clear(); + lcd.setCursor(0,0); + + //if (radio.DATALEN < RF69_MAX_DATA_LEN) radio.DATA[radio.DATALEN]=0; + byte matches = sscanf((const char*)radio.DATA, "%s BAT:%s", LO, BAT); + if (matches==2) + { + lcd.print(LO); + lcd.setCursor(0,14); + lcd.print(char(0)); + lcd.setCursor(0,15); + lcd.print(BAT); + } + else lcd.print((const char*)radio.DATA); + + lcd.setCursor(1,14); + lcd.print(char(1)); + lcd.setCursor(1,16); + lcd.print(rssi); + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/PulseMeter/PulseMeter.ino b/lib/RFM69/Examples/PulseMeter/PulseMeter.ino new file mode 100644 index 00000000..e16d5dfa --- /dev/null +++ b/lib/RFM69/Examples/PulseMeter/PulseMeter.ino @@ -0,0 +1,281 @@ +// Sample RFM69 sketch for PulseMote sketch works with Moteinos equipped with RFM69W/RFM69HW/RFM69CW/RFM69HCW +// Reads an EE-SY310 based water/pulse meter and reports readings like: +// - GPM - gallons per minute (when actively flowing) +// - GLM - gallons last minute (gallons used in the last minute) +// - GAL - total gallons used +// Example: https://lowpowerlab.com/blog/2013/02/02/meet-the-watermote-moteino-based-water-meter-reader-ee-sy310/ +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) +#include //included with Arduino IDE (www.arduino.cc) +#include + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 5 +#define GATEWAYID 1 +#define NETWORKID 250 +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//***************************************************************************************************************************** +#define PULSESPERGALLON 45 //how many pulses from sensor equal 1 gallon +#define GPMTHRESHOLD 8000 // GPM will reset after this many MS if no pulses are registered +#define XMITPERIOD 5000 // GPMthreshold should be less than 2*XMITPERIOD +//********************************************************************************************* +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define INTERRUPTPIN 1 //INT1 = digital pin 11 (must be a hardware interrupt pin!) +#else + #define LED 9 // Moteinos have LEDs on D9 + #define INTERRUPTPIN 1 //INT1 = digital pin 3 (must be a hardware interrupt pin!) +#endif +//********************************************************************************************* +#define SERIAL_EN //uncomment this line to enable serial IO (when you debug Moteino and need serial output) +#define SERIAL_BAUD 115200 +#ifdef SERIAL_EN + #define DEBUG(input) {Serial.print(input);} + #define DEBUGln(input) {Serial.println(input);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif +//***************************************************************************************************************************** +// flash(SPI_CS, MANUFACTURER_ID) +// SPI_CS - CS pin attached to SPI flash chip (8 in case of Moteino) +// MANUFACTURER_ID - OPTIONAL, 0xEF30 for windbond 4mbit flash (Moteino OEM) +//***************************************************************************************************************************** +SPIFlash flash(8, 0xEF30); //WINDBOND 4MBIT flash chip on CS pin D8 (default for Moteino) + +volatile byte ledState = LOW; +volatile unsigned long PulseCounterVolatile = 0; // use volatile for shared variables +unsigned long NOW = 0; +unsigned long PulseCounter = 0; +unsigned long LASTMINUTEMARK = 0; +unsigned long PULSECOUNTLASTMINUTEMARK = 0; //keeps pulse count at the last minute mark + +byte COUNTEREEPROMSLOTS = 10; +unsigned long COUNTERADDRBASE = 8; //address in EEPROM that points to the first possible slot for a counter +unsigned long COUNTERADDR = 0; //address in EEPROM that points to the latest Counter in EEPROM +byte secondCounter = 0; + +unsigned long TIMESTAMP_pulse_prev = 0; +unsigned long TIMESTAMP_pulse_curr = 0; +int pulseAVGInterval = 0; +int pulsesPerXMITperiod = 0; +float GPM=0, GLM=0, GAL=0, GALlast=0, GPMlast=0, GLMlast=0; +byte sendLen; +char buff[80]; +char* GALstr="99999999999999.99"; //longest expected GAL message +char* GPMstr="99999.99"; //longest expected GPM message +char* GLMstr="9999999.99"; //longest expected GLM message +boolean WPReady = false; + +void setup() { + #ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); + #endif + + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + pinMode(LED, OUTPUT); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + //initialize counter from EEPROM + unsigned long savedCounter = EEPROM_Read_Counter(); + if (savedCounter <=0) savedCounter = 1; //avoid division by 0 + PulseCounterVolatile = PulseCounter = PULSECOUNTLASTMINUTEMARK = savedCounter; + attachInterrupt(INTERRUPTPIN, pulseCounterInterrupt, RISING); + Timer1.initialize(XMITPERIOD * 1000L); + Timer1.attachInterrupt(XMIT); + + sprintf(buff, "\nTransmitting at %d Mhz, id:%d nid:%d gid:%d", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915, NODEID, NETWORKID, GATEWAYID); + DEBUG(buff); + for (byte i=0;i GPMTHRESHOLD) + //more than 'GPMthreshold' seconds passed since last pulse... resetting GPM + pulsesPerXMITperiod=pulseAVGInterval=0; + else + { + pulsesPerXMITperiod++; + pulseAVGInterval += TIMESTAMP_pulse_curr - TIMESTAMP_pulse_prev; + } + interrupts(); +} + +void XMIT() +{ + noInterrupts(); + PulseCounter = PulseCounterVolatile; + interrupts(); + + if (millis() - TIMESTAMP_pulse_curr >= 5000) + { + ledState = !ledState; + digitalWrite(LED, ledState); + } + + //calculate Gallons counter + GAL = ((float)PulseCounter)/PULSESPERGALLON; + DEBUG("PulseCounter:");DEBUG(PulseCounter);DEBUG(", GAL: "); DEBUGln(GAL); + + //calculate & output GPM + GPM = pulseAVGInterval > 0 ? 60.0 * 1000 * (1.0/PULSESPERGALLON)/(pulseAVGInterval/pulsesPerXMITperiod) + : 0; + dtostrf(GAL,3,2, GALstr); + dtostrf(GPM,3,2, GPMstr); + + pulsesPerXMITperiod = 0; + pulseAVGInterval = 0; + secondCounter += XMITPERIOD/1000; + + //once per minute, output a GallonsLastMinute count + if (secondCounter>=60) + { + //DEBUG("60sec mark ... "); + secondCounter=0; + GLM = ((float)(PulseCounter - PULSECOUNTLASTMINUTEMARK))/PULSESPERGALLON; + PULSECOUNTLASTMINUTEMARK = PulseCounter; + EEPROM_Write_Counter(PulseCounter); + dtostrf(GLM,3,2, GLMstr); + sprintf(buff, "GAL:%s GPM:%s GLM:%s", GALstr, GPMstr, GLMstr); + //DEBUGln("done"); + } + else + { + sprintf(buff, "GAL:%s GPM:%s", GALstr, GPMstr); + } + + if (GPM!=GPMlast || GAL!=GALlast || GLM!=GLMlast) + { + sendLen = strlen(buff); + radio.sendWithRetry(GATEWAYID, buff, sendLen); + GALlast = GAL; + GPMlast = GPM; + GLMlast = GLM; + } + + DEBUGln(buff); +} + +unsigned long EEPROM_Read_Counter() +{ + return EEPROM_Read_ULong(EEPROM_Read_ULong(COUNTERADDR)); +} + +void EEPROM_Write_Counter(unsigned long counterNow) +{ + if (counterNow == EEPROM_Read_Counter()) + { + DEBUG("{EEPROM-SKIP(no changes)}"); + return; //skip if nothing changed + } + + DEBUG("{EEPROM-SAVE("); + DEBUG(EEPROM_Read_ULong(COUNTERADDR)); + DEBUG(")="); + DEBUG(PulseCounter); + DEBUG("}"); + + unsigned long CounterAddr = EEPROM_Read_ULong(COUNTERADDR); + if (CounterAddr == COUNTERADDRBASE+8*(COUNTEREEPROMSLOTS-1)) + CounterAddr = COUNTERADDRBASE; + else CounterAddr += 8; + + EEPROM_Write_ULong(CounterAddr, counterNow); + EEPROM_Write_ULong(COUNTERADDR, CounterAddr); +} + +unsigned long EEPROM_Read_ULong(int address) +{ + unsigned long temp; + for (byte i=0; i<8; i++) + temp = (temp << 8) + EEPROM.read(address++); + return temp; +} + +void EEPROM_Write_ULong(int address, unsigned long data) +{ + for (byte i=0; i<8; i++) + { + EEPROM.write(address+7-i, data); + data = data >> 8; + } +} \ No newline at end of file diff --git a/lib/RFM69/Examples/RandomNumbers/RandomNumbers.ino b/lib/RFM69/Examples/RandomNumbers/RandomNumbers.ino new file mode 100644 index 00000000..d1073664 --- /dev/null +++ b/lib/RFM69/Examples/RandomNumbers/RandomNumbers.ino @@ -0,0 +1,132 @@ +// Sample RFM69 random temperature sender at fixed intervals (Fahrenheit) +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 98 //unique for each node on same network +#define NETWORKID 100 //the same on all nodes that talk to each other +#define GATEWAYID 1 +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +#define FREQUENCY RF69_915MHZ +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//***************************************************************************************************************************** +#define ACK_TIME 30 // max # of ms to wait for an ack + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#define SERIAL_BAUD 115200 + +int TRANSMITPERIOD = 2000; //transmit a packet to gateway so often (in ms) +char buff[50]; +byte sendSize=0; + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); +} + +long lastPeriod = 0; +long randNumber1 = 0; +long randNumber2 = 0; +void loop() { + if (radio.receiveDone()) + { + Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] "); + for (byte i = 0; i < radio.DATALEN; i++) + Serial.print((char)radio.DATA[i]); + Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]"); + + if (radio.ACKRequested()) + { + radio.sendACK(); + Serial.print(" - ACK sent"); + } + Blink(LED,3); + Serial.println(); + } + + int currPeriod = millis()/TRANSMITPERIOD; + if (currPeriod != lastPeriod) + { + lastPeriod=currPeriod; + randNumber1 = random(99); + randNumber2 = random(99); + + if (randNumber2 > 70) + sprintf(buff, "F:%d.5", randNumber1); + else + sprintf(buff, "F:-%d.5", randNumber1); + sendSize = strlen(buff); + + if (radio.sendWithRetry(GATEWAYID, buff, sendSize)) + Serial.print(" ok!"); + else Serial.print(" nothing..."); + + Serial.println(); + Blink(LED,3); + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/SonarMote/SonarMote_DistanceReader/SonarMote_DistanceReader.ino b/lib/RFM69/Examples/SonarMote/SonarMote_DistanceReader/SonarMote_DistanceReader.ino new file mode 100644 index 00000000..000e2201 --- /dev/null +++ b/lib/RFM69/Examples/SonarMote/SonarMote_DistanceReader/SonarMote_DistanceReader.ino @@ -0,0 +1,97 @@ +// Sample sketch for the SonarMote - Simple distance reading +// http://lowpowerlab.com/sonar +// Ultrasonic sensor (HC-SR04) connected to D6 (Trig), D7 (Echo), and power enabled through D5 +// Make sure you adjust the settings in the configuration section below !!! +// ********************************************************************************** +// Copyright Felix Rusu, LowPowerLab.com +// Library and code by Felix Rusu - felix@lowpowerlab.com +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General +// Public License along with this program. +// If not, see . +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#define TRIG 6 +#define ECHO 7 +#define EN 5 + +void setup() { + pinMode (TRIG,OUTPUT);//attach pin 2 to vcc + pinMode (ECHO,OUTPUT);//attach pin 2 to vcc + pinMode (EN,OUTPUT);//attach pin 5 to GND + pinMode (ECHO, INPUT);//attach pin 4 to Echo + // initialize serial communication: + Serial.begin(115200); + digitalWrite(EN, LOW); +} + +long cm; +void loop() +{ + cm = readDistanceCM(); + Serial.print(cm); Serial.println("cm"); + delay(500); +} + +long readDistanceCM() +{ + digitalWrite(EN, HIGH); + delay(75); + // The PING))) is triggered by a HIGH pulse of 2 or more microseconds. + // Give a short LOW pulse beforehand to ensure a clean HIGH pulse: + digitalWrite(TRIG, LOW); + delayMicroseconds(2); + digitalWrite(TRIG, HIGH); + delayMicroseconds(5); + digitalWrite(TRIG, LOW); + pulseIn(ECHO, HIGH); + delay(16); + digitalWrite(TRIG, LOW); + delayMicroseconds(2); + digitalWrite(TRIG, HIGH); + delayMicroseconds(5); + digitalWrite(TRIG, LOW); + // The same pin is used to read the signal from the PING))): a HIGH + // pulse whose duration is the time (in microseconds) from the sending + // of the ping to the reception of its echo off of an object. + long duration = pulseIn(ECHO, HIGH); + digitalWrite(EN, LOW); + return microsecondsToCentimeters(duration); +} + +long microsecondsToInches(long microseconds) +{ + // According to Parallax's datasheet for the PING))), there are + // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per + // second). This gives the distance travelled by the ping, outbound + // and return, so we divide by 2 to get the distance of the obstacle. + // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf + return microseconds / 74 / 2; +} + +long microsecondsToCentimeters(long microseconds) +{ + // The speed of sound is 340 m/s or 29 microseconds per centimeter. + // The ping travels out and back, so to find the distance of the + // object we take half of the distance travelled. + return microseconds / 29 / 2; +} diff --git a/lib/RFM69/Examples/SonarMote/SonarMote_DistanceTracker/SonarMote_DistanceTracker.ino b/lib/RFM69/Examples/SonarMote/SonarMote_DistanceTracker/SonarMote_DistanceTracker.ino new file mode 100644 index 00000000..cc8ba90e --- /dev/null +++ b/lib/RFM69/Examples/SonarMote/SonarMote_DistanceTracker/SonarMote_DistanceTracker.ino @@ -0,0 +1,270 @@ +// Sample RFM69 sender/node sketch for the SonarMote - Distance tracker +// Can be used for inventory control - ex to measure distance in a multi lane cigarette pack rack +// http://lowpowerlab.com/sonarmote +// Ultrasonic sensor (HC-SR04) connected to D6 (Trig), D7 (Echo), and power enabled through D5 +// This sketch sleeps the Moteino and sensor most of the time. It wakes up every few seconds to take +// a distance reading. If it detects an approaching object (car) it increases the sampling rate +// and starts lighting up the LED (from green to yellow to red to blinking red). Once there is no more +// motion the LED is turned off and the cycle is back to a few seconds in between sensor reads. +// Button is connected on D3. Holding the button for a few seconds enters the "red zone adjust" mode (RZA). +// By default the red zone limit is at 25cm (LED turns RED below this and starts blinking faster and faster). +// In RZA, readings are taken for 5 seconds. In this time you have the chance to set a new red zone limit. +// Valid new red zone readings are between the RED__LIMIT_UPPER (default 25cm) and MAX_ADJUST_DISTANCE (cm). +// In RZA mode the BLU Led blinks fast to indicate new red limit distance. It blinks slow if the readings are invalid +// If desired this value could be saved to EEPROM to persist if unit is turned off +// Get the RFM69 at: https://github.com/LowPowerLab/ +// Make sure you adjust the settings in the configuration section below !!! + +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //included with Arduino IDE (www.arduino.cc) +#include //get library from: https://github.com/lowpowerlab/lowpower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ + +//********************************************************************************************* +//************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************* +//********************************************************************************************* +#define NODEID 22 //unique for each node on same network +#define GATEWAYID 1 //node Id of the receiver we are sending data to +#define NETWORKID 100 //the same on all nodes that talk to each other including this node and the gateway +#define FREQUENCY RF69_915MHZ //others: RF69_433MHZ, RF69_868MHZ (this must match the RFM69 freq you have on your Moteino) +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define SENDLOOPS 80 //default:80 //if no message was sent for this many sleep loops/cycles, then force a send +#define READ_SAMPLES 3 +#define HISTERESIS 1.3 //(cm) only send a message when new reading is this many centimeters different +#define DIST_READ_LOOPS 2 //read distance every this many sleeping loops (ie if sleep time is 8s then 2 loops => a read occurs every 16s) +//********************************************************************************************* +#define BUZZER_ENABLE //uncomment this line if you have the BUZZER soldered and want the sketch to make sounds +//#define SERIAL_EN //uncomment if you want serial debugging output +//********************************************************************************************* +#define SLEEP_FASTEST SLEEP_15MS +#define SLEEP_FAST SLEEP_250MS +#define SLEEP_SEC SLEEP_1S +#define SLEEP_LONG SLEEP_2S +#define SLEEP_LONGER SLEEP_4S +#define SLEEP_LONGEST SLEEP_8S +period_t sleepTime = SLEEP_LONGEST; //period_t is an enum type defined in the LowPower library (LowPower.h) +//********************************************************************************************* +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 +#endif +#define TRIG 6 // digital pin wired to TRIG pin of ultrasonic sensor +#define ECHO 7 // digital pin wired to ECHO pin of ultrasonic sensor +#define SENSOR_EN 5 // digital pin that enables power to ultrasonic sensor +#define BUZZER 4 // digital pin that is connected to onboard buzzer +#define MAX_DISTANCE 150 // maximum valid distance +#define MIN_DISTANCE 2 // minimum valid distance +#define MAX_ADJUST_DISTANCE (MAX_DISTANCE-GRN_LIMIT_UPPER) //this is the amount by which the RED_LIMIT_UPPER can by increased + +#ifdef SERIAL_EN + #define SERIAL_BAUD 115200 + #define DEBUG(input) {Serial.print(input);} + #define DEBUGln(input) {Serial.println(input);} + #define SERIALFLUSH() {Serial.flush();} +#else + #define DEBUG(input); + #define DEBUGln(input); + #define SERIALFLUSH(); +#endif + +#define BATT_MONITOR A7 // Sense VBAT_COND signal (when powered externally should read ~3.25v/3.3v (1000-1023), when external power is cutoff it should start reading around 2.85v/3.3v * 1023 ~= 883 (ratio given by 10k+4.7K divider from VBAT_COND = 1.47 multiplier) +#define BATT_READ_LOOPS SENDLOOPS // read and report battery voltage every this many sleep cycles (ex 30cycles * 8sec sleep = 240sec/4min). For 450 cycles you would get ~1 hour intervals between readings +#define BATT_FORMULA(reading) reading * 0.00322 * 1.475 // >>> fine tune this parameter to match your voltage when fully charged +#define BATT_LOW 3.55 + +byte sendLen; +byte sendLoops=0; +byte distReadLoops=0; +byte battReadLoops=0; +float distance=0; +float prevDistance=0; +float batteryVolts = 5; +char buff[50]; //this is just an empty string used as a buffer to place the payload for the radio +char* BATstr="BAT:5.00v"; //longest battery voltage reading message = 9chars +char* DISTstr="99999.99cm"; //longest distance reading message = 5chars +float readDistance(byte samples=1); //take 1 samples by default +RFM69 radio; + +void setup() { +#ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); // Open serial monitor at 115200 baud to see ping results. +#endif + + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + //sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + sprintf(buff, "\nTransmitting at %d Mhz, id:%d nid:%d gid:%d", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915, NODEID, NETWORKID, GATEWAYID); + DEBUG(buff); + for (byte i=0;i HISTERESIS || diff < -HISTERESIS) || (sendLoops--<=0)) //only send a new message if the distance has changed more than the HISTERESIS or if sendloops has expired + { + if (distance > MAX_DISTANCE || distance < MIN_DISTANCE) + DISTstr = "0"; // zero, out of range + else dtostrf(distance,3,2, DISTstr); + + if (diff > HISTERESIS || diff < -HISTERESIS) + sprintf(buff, "%scm BAT:%s", DISTstr, BATstr); //send both distance and battery readings + else + sprintf(buff, "BAT:%s", BATstr); //distance has not changed significantly so only send last battery reading + sendLen = strlen(buff); + + digitalWrite(LED, HIGH); + DEBUG(buff); + if (radio.sendWithRetry(GATEWAYID, buff, sendLen)) + { + prevDistance = distance; + DEBUG(" - ACK:OK! RSSI:"); + DEBUGln(radio.RSSI); + } + else DEBUGln(" - ACK:NOK..."); + digitalWrite(LED, LOW); + sendLoops = SENDLOOPS-1; //reset send loop counter + } + radio.sleep(); + SERIALFLUSH(); + + LowPower.powerDown(sleepTime, ADC_OFF, BOD_OFF); //put microcontroller to sleep to save battery life +} + +float readDistance(byte samples) +{ + if (samples == 0) samples = 1; + if (samples > 10) samples = 10; + digitalWrite(SENSOR_EN, HIGH); + //need about 60-75ms after power up before HC-SR04 will be usable, so just sleep in the meantime + LowPower.powerDown(SLEEP_60MS, ADC_OFF, BOD_OFF); + LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_OFF); + PING(); + LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_OFF); + + unsigned long duration = 0; + for (byte i=0; i 1) LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_OFF); + } + digitalWrite(SENSOR_EN, LOW); + return microsecondsToCentimeters(duration / samples); +} + +long PING() +{ + digitalWrite(TRIG, LOW); + delayMicroseconds(2); + digitalWrite(TRIG, HIGH); + delayMicroseconds(5); + digitalWrite(TRIG, LOW); + return pulseIn(ECHO, HIGH); +} + +void readBattery() +{ + unsigned int readings=0; + for (byte i=0; i<5; i++) //take several samples, and average + readings+=analogRead(BATT_MONITOR); + batteryVolts = BATT_FORMULA(readings / 5.0); + dtostrf(batteryVolts,3,2, BATstr); //update the BATStr which gets sent every BATT_CYCLES or along with the MOTION message + if (batteryVolts <= BATT_LOW) BATstr = "LOW"; +} + +float microsecondsToInches(long microseconds) +{ + // According to Parallax's datasheet for the PING))), there are + // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per + // second). This gives the distance travelled by the ping, outbound + // and return, so we divide by 2 to get the distance of the obstacle. + // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf + return microseconds / 74.0 / 2.0f; +} + +float microsecondsToCentimeters(long microseconds) +{ + // The speed of sound is 340 m/s or 29 microseconds per centimeter. + // The ping travels out and back, so to find the distance of the + // object we take half of the distance travelled. + return (float)microseconds / 29.0f / 2.0f; +} + +#ifdef BUZZER_ENABLE +void buzzer(byte soundTime, byte repeats, byte repeatsDelay) +{ + for (byte i=0;i<=repeats;i++) + { + tone(BUZZER, 4500); //4500hz makes a nice audible sound from a 3.3v Moteino digital pin + delay(soundTime); + noTone(BUZZER); + if (repeats>0) delay(repeatsDelay); + } +} +#endif + +void Blink(byte pin) +{ + pinMode(pin, OUTPUT); + digitalWrite(pin, HIGH); + delay(2); + digitalWrite(pin, LOW); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/SonarMote/SonarMote_Parking/SonarMote_Parking.ino b/lib/RFM69/Examples/SonarMote/SonarMote_Parking/SonarMote_Parking.ino new file mode 100644 index 00000000..731dc980 --- /dev/null +++ b/lib/RFM69/Examples/SonarMote/SonarMote_Parking/SonarMote_Parking.ino @@ -0,0 +1,418 @@ +// Sample sketch for the SonarMote - Standalone parking assist with RGB LED indicator +// This example uses the NewPing library from https://code.google.com/p/arduino-new-ping/ +// but that could be replaced by raw reading of the sonar sensor as seen in other SonarMote examples +// More info/photos at: http://lowpowerlab.com/sonar +// Ultrasonic sensor (HC-SR04) connected to D6 (Trig), D7 (Echo), and power enabled through D5 +// This sketch sleeps the Moteino and sensor most of the time. It wakes up every few seconds to take +// a distance reading. If it detects an approaching object (car) it increases the sampling rate +// and starts lighting up the LED (from green to yellow to red to blinking red). Once there is no more +// motion the LED is turned off and the cycle is back to a few seconds in between sensor reads. +// Button is connected on D3. Holding the button for a few seconds enters the "red zone adjust" mode (RZA). +// By default the red zone limit is at 25cm (LED turns RED below this and starts blinking faster and faster). +// In RZA, readings are taken for 5 seconds. In this time you have the chance to set a new red zone limit. +// Valid new red zone readings are between the RED__LIMIT_UPPER (default 25cm) and MAX_ADJUST_DISTANCE (cm). +// In RZA mode the BLU Led blinks fast to indicate new red limit distance. It blinks slow if the readings are invalid +// If desired this value could be saved to EEPROM to persist if unit is turned off +// Make sure you adjust the settings in the configuration section below !!! + +// ********************************************************************************** +// Copyright Felix Rusu, LowPowerLab.com +// Library and code by Felix Rusu - felix@lowpowerlab.com +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General +// Public License along with this program. +// If not, see . +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include // get this library at: https://code.google.com/p/arduino-new-ping/ +#include //get library from: https://github.com/lowpowerlab/lowpower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ + +#define TRIG 6 // digital pin wired to TRIG pin of ultrasonic sensor +#define ECHO 7 // digital pin wired to ECHO pin of ultrasonic sensor +#define SENSOR_EN 5 // digital pin that enables power to ultrasonic sensor +#define RED A0 // pin connected to red LED +#define GRN A1 // pin connected to green LED +#define BLU A2 // pin connected to blue LED +#define BUTTON_INT 1 // user button on interrupt 1 (D3) +#define BUTTON_PIN 3 // user button on interrupt 1 (D3) +#define BUTTON_HOLD_MS 3000 // hold button this many ms before entering red zone adjust +#define MOTEINOLED 9 // moteino onboard LED +#define MAX_DISTANCE 220 // maximum valid distance +#define MIN_DISTANCE 2 // minimum valid distance + +#define GRN_LIMIT_UPPER 180+redZoneAdjust // upper limit distance for GREEN +#define YLW_LIMIT_UPPER 40+redZoneAdjust // upper limit distance for YELLOW +#define RED_LIMIT_UPPER 25+redZoneAdjust // upper limit distance for RED + +#define MAX_ADJUST_DISTANCE (MAX_DISTANCE-GRN_LIMIT_UPPER) //this is the amount by which the RED_LIMIT_UPPER can by increased + +//possible states of LED status +#define STATE_SOLID 0 +#define STATE_BLINK 1 + +//possible states for LED color +#define STATE_OFF 0 +#define STATE_GRN 1 +#define STATE_YLW 2 +#define STATE_RED 3 + +byte state_LED = STATE_SOLID; +byte state_LEDCOLOR = STATE_OFF; +byte state_LEDONOFF = LOW; +byte redZoneAdjust = 0; //this is adjustable via the button (press button for a few seconds, then take a reading) + +#define LED_RED {digitalWrite(RED,HIGH);digitalWrite(GRN,LOW);} +#define LED_GRN {digitalWrite(RED,LOW);digitalWrite(GRN,HIGH);} +#define LED_YLW {digitalWrite(RED,HIGH);digitalWrite(GRN,HIGH);} +#define LED_OFF {digitalWrite(RED,LOW);digitalWrite(GRN,LOW);} + +#define SERIAL_EN //uncomment if you want serial debugging output +#ifdef SERIAL_EN + #define SERIAL_BAUD 115200 + #define DEBUG(input) {Serial.print(input);} + #define DEBUGln(input) {Serial.println(input);} + #define SERIALFLUSH() {Serial.flush();} +#else + #define DEBUG(input); + #define DEBUGln(input); + #define SERIALFLUSH(); +#endif + +#define SLEEP_MINILOOP SLEEP_15MS +#define SLEEP_LOOP SLEEP_250MS +#define SLEEP_LONG SLEEP_2S +#define SLEEP_LOBATT SLEEP_4S +#define SLEEP_HIBERNATE SLEEP_8S + +#define BATT_MONITOR A7 // Sense VBAT_COND signal (when powered externally should read ~3.25v/3.3v (1000-1023), when external power is cutoff it should start reading around 2.85v/3.3v * 1023 ~= 883 (ratio given by 10k+4.7K divider from VBAT_COND = 1.47 multiplier) +#define BATT_CYCLES 120 // read and report battery voltage every this many sleep cycles (ex 30cycles * 8sec sleep = 240sec/4min). For 450 cyclesyou would get ~1 hour intervals +#define BATT_FORMULA(reading) reading * 0.00322 * 1.475 // >>> fine tune this parameter to match your voltage when fully charged +#define BATT_LOW 3.35 + +NewPing sensor(TRIG, ECHO, MAX_DISTANCE); // NewPing setup of pins and maximum distance. +float readDistance(byte samples=3); //take 3 samples by default +void checkBattery(byte samples=10); //take 10 samples by default +float batteryVolts = 5; + +void setup() { +#ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); // Open serial monitor at 115200 baud to see ping results. +#endif + pinMode(TRIG, OUTPUT); + pinMode(ECHO, INPUT); + pinMode(RED, OUTPUT); + pinMode(GRN, OUTPUT); + pinMode(BLU, OUTPUT); + pinMode(SENSOR_EN, OUTPUT); + digitalWrite(SENSOR_EN, LOW); + pinMode(BUTTON_PIN, INPUT_PULLUP); + attachInterrupt(BUTTON_INT, buttonInterrupt, FALLING); +} + +#define FLAG_INTERRUPT 0x01 +volatile int mainEventFlags = 0; +boolean buttonPressed = false; +void buttonInterrupt() +{ + mainEventFlags |= FLAG_INTERRUPT; +} + +long distance=0; +long lastDistance=0; +long lastSigDistance=0; +byte loops=0; +byte miniLoops=0; +byte skipBlinkingLoops=5; +unsigned long now=0; +period_t sleepTime = SLEEP_LONG; //period_t is an enum type defined in the LowPower library (LowPower.h) + +void loop() { + if (mainEventFlags & FLAG_INTERRUPT) + { + LowPower.powerDown(SLEEP_30MS, ADC_OFF, BOD_ON); + mainEventFlags &= ~FLAG_INTERRUPT; + if (!digitalRead(BUTTON_PIN)) { + buttonPressed=true; + } + } + + if (buttonPressed) + { + detachInterrupt(BUTTON_INT); + DEBUGln("BUTTON PRESS!"); + unsigned long timestamp = millis(); + while (millis() - timestamp < BUTTON_HOLD_MS) + { + if (digitalRead(BUTTON_PIN)) + { + buttonPressed = false; + break; + } + DEBUG('.');SERIALFLUSH(); + LowPower.powerDown(SLEEP_30MS, ADC_OFF, BOD_ON); + timestamp-=40; + } + + //if it's still pressed after BUTTON_HOLD_MS then enter red zone adjust mode + if (buttonPressed) + { + DEBUG("STILL_PRESSED");SERIALFLUSH(); + handleRedZoneAdjust(); + } + else + { + DEBUG("ABORTED");SERIALFLUSH(); + } + attachInterrupt(BUTTON_INT, buttonInterrupt, FALLING); + } + + + if (miniLoops>0) + { + miniLoops--; + sleepTime = SLEEP_MINILOOP; + //when looping fast we need to wake the sensor about 60-75ms before doing a reading (about 5 miniloops assuming 1 miniloop=15ms) + //otherwise there will be a visible delay in the LED blinking + if (miniLoops == 5) digitalWrite(SENSOR_EN, HIGH); + } + else if (loops > 0) + { + loops--; + miniLoops=16; //16 mini loops translate + sleepTime = SLEEP_MINILOOP; + } + else + //sleep longer when no significant state changes happened + //if battery is low, sleep even longer to try to squeeze more life + sleepTime = (batteryVolts > BATT_LOW ? SLEEP_LONG : SLEEP_LOBATT); + + if ((loops == 0 && miniLoops == 0) || ((miniLoops % skipBlinkingLoops) == 0)) + { + DEBUG('*'); + handleLEDState(); + } + + SERIALFLUSH(); //flush any characters in the serial buffer before sleeping otherwise they get lost or garbled + LowPower.powerDown(sleepTime, ADC_OFF, BOD_OFF); //put microcontroller to sleep to save battery life + if (miniLoops > 0) { DEBUG('.');return; } //as long as we still have miniloops we skip readings + //only proceed to a reading every loop + now = millis(); + distance = readDistance(); + + DEBUGln(); + DEBUG("Read: "); + DEBUG(distance); // Convert ping time to distance in cm and print result (0 = outside set distance range) + DEBUG("cm"); + DEBUG(" ["); + DEBUG(millis()-now); + DEBUGln("]ms"); + + if (distance > MAX_DISTANCE || distance < MIN_DISTANCE) + { + DEBUGln("Out of range"); + loops=0; + lastDistance = distance; + return; + } + + if (distance < GRN_LIMIT_UPPER && distance > YLW_LIMIT_UPPER && abs(lastSigDistance-distance)>20) + { + if (distance < lastSigDistance) + loops=12; //begin looping fast only when object is approaching + lastSigDistance = distance; + } + else if (distance < YLW_LIMIT_UPPER && abs(lastSigDistance-distance)>5) + { + if (distance < lastSigDistance) + loops=12; //begin looping fast only when object is approaching + lastSigDistance = distance; + } + + //if the looping was started, determine the state we're in + if (loops > 0) + { + if (distance >= YLW_LIMIT_UPPER) { state_LEDCOLOR = STATE_GRN; state_LED = STATE_SOLID; } + else if (distance >= RED_LIMIT_UPPER) { state_LEDCOLOR=STATE_YLW; state_LED = STATE_SOLID; } + else { state_LEDCOLOR=STATE_RED; state_LED = STATE_BLINK; } + } + else { state_LEDCOLOR=STATE_OFF; state_LED = STATE_SOLID; } + + //adjust the blinking rate based on the distance to the object + if (state_LEDCOLOR==STATE_RED) + { + if (distance > RED_LIMIT_UPPER-2) + skipBlinkingLoops = 8; + else if (distance > RED_LIMIT_UPPER-6) + skipBlinkingLoops = 6; + else if (lastDistance > RED_LIMIT_UPPER-10) + skipBlinkingLoops = 4; + else if (lastDistance > RED_LIMIT_UPPER-14) + skipBlinkingLoops = 2; + else + { + skipBlinkingLoops = 1; + state_LED = STATE_SOLID; + } + } + else skipBlinkingLoops = 1; + lastDistance = distance; //remember the last reading + checkBattery(); + if (batteryVolts < BATT_LOW) + Blink(BLU); + else Blink(MOTEINOLED); + DEBUG("Batt: "); + DEBUG(batteryVolts); + DEBUGln("v"); +} + +//reads the ultrasonic sensor, takes 3 samples by default +float uS; +float readDistance(byte samples) +{ + uS = 0; + if (loops == 0 && miniLoops == 0) + { + digitalWrite(SENSOR_EN, HIGH); + //need about 60-75ms after power up before HC-SR04 will be usable, so just sleep in the meantime + LowPower.powerDown(SLEEP_60MS, ADC_OFF, BOD_OFF); + LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_OFF); + } + + sensor.ping(); + for (byte i=0; i1) delay(4); //need a short delay between samples + } + digitalWrite(SENSOR_EN, LOW); + return (uS / samples) / US_ROUNDTRIP_CM; +} + + +////reads the ultrasonic sensor, takes 3 samples by default +//float readDistance(byte samples) +//{ +// long duration, distance; +// digitalWrite(SENSOR_EN, HIGH); +// delay(75); +// +// digitalWrite(TRIG, LOW); // Added this line +// delayMicroseconds(2); // Added this line +// digitalWrite(TRIG, HIGH); +// delayMicroseconds(10); // Added this line +// digitalWrite(TRIG, LOW); +// pulseIn(ECHO, HIGH); +// +// digitalWrite(TRIG, LOW); // Added this line +// delayMicroseconds(2); // Added this line +// digitalWrite(TRIG, HIGH); +// delayMicroseconds(10); // Added this line +// digitalWrite(TRIG, LOW); +// duration = pulseIn(ECHO, HIGH); +// distance = (duration/2) / 29.1; +// digitalWrite(SENSOR_EN, LOW); +// return distance; +//} + +//handles the status and color of the LED depending what state we are in +void handleLEDState() +{ + switch(state_LEDCOLOR) + { + case STATE_OFF: LED_OFF; break; + case STATE_GRN: LED_GRN; break; + case STATE_YLW: LED_YLW; break; + case STATE_RED: + if (state_LED == STATE_BLINK) + { + if (state_LEDONOFF == HIGH) + { + LED_OFF; + state_LEDONOFF = LOW; + } + else + { + LED_RED; + state_LEDONOFF = HIGH; + } + } + else LED_RED; + break; + } +} + +void Blink(byte pin) +{ + pinMode(pin, OUTPUT); + digitalWrite(pin, HIGH); + delay(2); + digitalWrite(pin, LOW); +} + +byte cycleCount=BATT_CYCLES; +void checkBattery(byte samples) +{ + if (cycleCount++ == BATT_CYCLES) //only read battery every BATT_CYCLES sleep cycles + { + unsigned int readings=0; + for (byte i=0; i MAX_ADJUST_DISTANCE + RED_LIMIT_UPPER-redZoneAdjust) + delay(300); + else if (distance <= RED_LIMIT_UPPER-redZoneAdjust) + state = HIGH; //keep LED on + else + delay (distance); + + DEBUG(distance);DEBUGln("cm");SERIALFLUSH(); + Blink(MOTEINOLED); + } + + digitalWrite(BLU, LOW); //turn LED off + if (distance > RED_LIMIT_UPPER-redZoneAdjust && distance <= MAX_ADJUST_DISTANCE + RED_LIMIT_UPPER-redZoneAdjust) + { + redZoneAdjust = distance - RED_LIMIT_UPPER - redZoneAdjust; + DEBUG("New RED_ZONE_SHIFT = "); DEBUGln(redZoneAdjust);SERIALFLUSH(); + } +} diff --git a/lib/RFM69/Examples/SonarMote/SonarMote_Parking_Sound_OLED/SonarMote_Parking_Sound_OLED.ino b/lib/RFM69/Examples/SonarMote/SonarMote_Parking_Sound_OLED/SonarMote_Parking_Sound_OLED.ino new file mode 100644 index 00000000..1a3fc3a5 --- /dev/null +++ b/lib/RFM69/Examples/SonarMote/SonarMote_Parking_Sound_OLED/SonarMote_Parking_Sound_OLED.ino @@ -0,0 +1,512 @@ +// Sample sketch for the SonarMote - Standalone parking assist with RGB LED indicator, piezo buzzer and OLED display +// This example uses the NewPing library from https://code.google.com/p/arduino-new-ping/ +// but that could be replaced by raw reading of the sonar sensor as seen in other SonarMote examples +// More info/photos at: http://lowpowerlab.com/sonar +// Ultrasonic sensor (HC-SR04) connected to D6 (Trig), D7 (Echo), and power enabled through D5 +// This sketch sleeps the Moteino and sensor most of the time. It wakes up every few seconds to take +// a distance reading. If it detects an approaching object (car) it increases the sampling rate +// and starts lighting up the LED (from green to yellow to red to blinking red). Once there is no more +// motion the LED is turned off and the cycle is back to a few seconds in between sensor reads. +// Button is connected on D3. Holding the button for a few seconds enters the "red zone adjust" mode (RZA). +// By default the red zone limit is at 25cm (LED turns RED below this and starts blinking faster and faster). +// In RZA, readings are taken for 5 seconds. In this time you have the chance to set a new red zone limit. +// Valid new red zone readings are between the RED__LIMIT_UPPER (default 25cm) and MAX_ADJUST_DISTANCE (cm). +// In RZA mode the BLU Led blinks fast to indicate new red limit distance. It blinks slow if the readings are invalid +// If desired this value could be saved to EEPROM to persist if unit is turned off +// Make sure you adjust the settings in the configuration section below !!! + +// ********************************************************************************** +// Copyright Felix Rusu, LowPowerLab.com +// Library and code by Felix Rusu - felix@lowpowerlab.com +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General +// Public License along with this program. +// If not, see . +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get library from: https://github.com/lowpowerlab/lowpower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ +//#define BUZZER_ENABLE //uncomment this line if you have the BUZZER soldered and want the sketch to make sounds +//#define OLED_ENABLE //uncomment this line if you have an OLED attached on the SonarMote and want to see the distance printed on it + //the OLED drawing will cause a visible delay in the LED blinking, nothing much to do about it without complicating the sketch a lot more + +#ifdef OLED_ENABLE + #include "U8glib.h" //get library from: https://code.google.com/p/u8glib/ +#endif + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 +#else + #define LED 9 // Moteinos have LEDs on D9 +#endif + +#define TRIG 6 // digital pin wired to TRIG pin of ultrasonic sensor +#define ECHO 7 // digital pin wired to ECHO pin of ultrasonic sensor +#define SENSOR_EN 5 // digital pin that enables power to ultrasonic sensor +#define RED A0 // pin connected to red LED +#define GRN A1 // pin connected to green LED +#define BLU A2 // pin connected to blue LED +#define BUZZER 4 +#define BUTTON_INT 1 // user button on interrupt 1 (D3) +#define BUTTON_PIN 3 // user button on interrupt 1 (D3) +#define BUTTON_HOLD_MS 3000 // hold button this many ms before entering red zone adjust +#define MAX_DISTANCE 220 // maximum valid distance +#define MIN_DISTANCE 2 // minimum valid distance + +#define GRN_LIMIT_UPPER 180+redZoneAdjust // upper limit distance for GREEN +#define YLW_LIMIT_UPPER 40+redZoneAdjust // upper limit distance for YELLOW +#define RED_LIMIT_UPPER 25+redZoneAdjust // upper limit distance for RED + +#define MAX_ADJUST_DISTANCE (MAX_DISTANCE-GRN_LIMIT_UPPER) //this is the amount by which the RED_LIMIT_UPPER can by increased + +//possible states of LED status +#define STATE_SOLID 0 +#define STATE_BLINK 1 + +//possible states for LED color +#define STATE_OFF 0 +#define STATE_GRN 1 +#define STATE_YLW 2 +#define STATE_RED 3 + +byte state_LED = STATE_SOLID; +byte state_LEDCOLOR = STATE_OFF; +byte state_LEDONOFF = LOW; +byte redZoneAdjust = 0; //this is adjustable via the button (press button for a few seconds, then take a reading) + +#define LED_RED {digitalWrite(RED,HIGH);digitalWrite(GRN,LOW);} +#define LED_GRN {digitalWrite(RED,LOW);digitalWrite(GRN,HIGH);} +#define LED_YLW {digitalWrite(RED,HIGH);digitalWrite(GRN,HIGH);} +#define LED_OFF {digitalWrite(RED,LOW);digitalWrite(GRN,LOW);} + +#define SERIAL_EN //uncomment if you want serial debugging output +#ifdef SERIAL_EN + #define SERIAL_BAUD 115200 + #define DEBUG(input) {Serial.print(input);} + #define DEBUGln(input) {Serial.println(input);} + #define SERIALFLUSH() {Serial.flush();} +#else + #define DEBUG(input); + #define DEBUGln(input); + #define SERIALFLUSH(); +#endif + +#define SLEEP_MINILOOP SLEEP_15MS +#define SLEEP_LOOP SLEEP_250MS +#define SLEEP_LONG SLEEP_2S +#define SLEEP_LOBATT SLEEP_4S +#define SLEEP_HIBERNATE SLEEP_8S + +#define BATT_MONITOR A7 // Sense VBAT_COND signal (when powered externally should read ~3.25v/3.3v (1000-1023), when external power is cutoff it should start reading around 2.85v/3.3v * 1023 ~= 883 (ratio given by 10k+4.7K divider from VBAT_COND = 1.47 multiplier) +#define BATT_CYCLES 120 // read and report battery voltage every this many sleep cycles (ex 30cycles * 8sec sleep = 240sec/4min). For 450 cyclesyou would get ~1 hour intervals +#define BATT_FORMULA(reading) reading * 0.00322 * 1.475 // >>> fine tune this parameter to match your voltage when fully charged +#define BATT_LOW 3.35 + +#ifdef OLED_ENABLE + U8GLIB_SSD1306_128X64 OLED(U8G_I2C_OPT_NONE); // I2C / TWI SSD1306 OLED 128x64 +#endif +void checkBattery(byte samples=10); //take 10 samples by default +float batteryVolts = 5; +char buff[50]; + +void setup() { +#ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); // Open serial monitor at 115200 baud to see ping results. +#endif + pinMode(TRIG, OUTPUT); + pinMode(ECHO, INPUT); + pinMode(RED, OUTPUT); + pinMode(GRN, OUTPUT); + pinMode(BLU, OUTPUT); + pinMode(SENSOR_EN, OUTPUT); + pinMode(BUZZER, OUTPUT); + digitalWrite(SENSOR_EN, LOW); + pinMode(BUTTON_PIN, INPUT_PULLUP); + attachInterrupt(BUTTON_INT, buttonInterrupt, FALLING); + +#ifdef OLED_ENABLE + OLED.setRot180(); //flip screen + // assign default color value + if (OLED.getMode() == U8G_MODE_R3G3B2 ) + OLED.setColorIndex(255); // white + else if (OLED.getMode() == U8G_MODE_GRAY2BIT) + OLED.setColorIndex(3); // max intensity + else if (OLED.getMode() == U8G_MODE_BW) + OLED.setColorIndex(1); // pixel on + else if (OLED.getMode() == U8G_MODE_HICOLOR) + OLED.setHiColorByRGB(255,255,255); + OLED.begin(); + + OLED.firstPage(); + OLED.setFont(u8g_font_unifont); + do { + OLED.drawStr(0, 10, "SonarMote"); + } while(OLED.nextPage()); +#endif + +#ifdef BUZZER_ENABLE + buzzer(50,2,100); +#endif + + readDistance(); //first reading seems to always be low +} + +#define FLAG_INTERRUPT 0x01 +volatile int mainEventFlags = 0; +boolean buttonPressed = false; +void buttonInterrupt() +{ + mainEventFlags |= FLAG_INTERRUPT; +} + +long distance=0; +long lastDistance=0; +long lastSigDistance=0; +byte loops=0; +byte miniLoops=0; +byte skipBlinkingLoops=5; +unsigned long now=0; +period_t sleepTime = SLEEP_LONG; //period_t is an enum type defined in the LowPower library (LowPower.h) + +void loop() { + if (mainEventFlags & FLAG_INTERRUPT) + { + LowPower.powerDown(SLEEP_30MS, ADC_OFF, BOD_ON); + mainEventFlags &= ~FLAG_INTERRUPT; + if (!digitalRead(BUTTON_PIN)) { + buttonPressed=true; + } + } + + if (buttonPressed) + { + detachInterrupt(BUTTON_INT); + DEBUGln("BUTTON PRESS!"); + unsigned long timestamp = millis(); + while (millis() - timestamp < BUTTON_HOLD_MS) + { + if (digitalRead(BUTTON_PIN)) + { + buttonPressed = false; + break; + } + DEBUG('.');SERIALFLUSH(); + LowPower.powerDown(SLEEP_30MS, ADC_OFF, BOD_ON); + timestamp-=40; + } + + //if it's still pressed after BUTTON_HOLD_MS then enter red zone adjust mode + if (buttonPressed) + { + DEBUG("STILL_PRESSED");SERIALFLUSH(); + handleRedZoneAdjust(); + } + else + { + DEBUG("ABORTED");SERIALFLUSH(); + } + attachInterrupt(BUTTON_INT, buttonInterrupt, FALLING); + } + + if (miniLoops>0) + { + miniLoops--; //miniloops starts at + sleepTime = SLEEP_MINILOOP; + //EARLY SENSOR WAKEUP + //When looping fast we need to wake the sensor about 60-75ms before doing a reading (about 5 miniloops assuming 1 miniloop=15ms) + //otherwise there will be a visible delay in the LED blinking + if (miniLoops == 6) digitalWrite(SENSOR_EN, HIGH); + else if (miniLoops == 1) sacrificialPing(); //need 5 miniloops (75ms) between wakeup and dummy reading and another 15ms (1 miniloop) to real reading + //reading will happen when miniLoops==0 + } + else if (loops > 0) + { + loops--; + miniLoops=16; //16 "miniloops" form 1 "loop" (~240ms) + sleepTime = SLEEP_MINILOOP; + } + else + //sleep longer when no significant state changes happened + //if battery is low, sleep even longer to try to squeeze more life + sleepTime = (batteryVolts > BATT_LOW ? SLEEP_LONG : SLEEP_LOBATT); + + if ((loops == 0 && miniLoops == 0) || ((miniLoops % skipBlinkingLoops) == 0)) + { + DEBUG('*'); + handleLEDState(); + } + + SERIALFLUSH(); //flush any characters in the serial buffer before sleeping otherwise they get lost or garbled + LowPower.powerDown(sleepTime, ADC_OFF, BOD_OFF); //put microcontroller to sleep to save battery life + if (miniLoops > 0) { DEBUG('.');return; } //as long as we still have miniloops we skip readings + //only proceed to a reading every loop + now = millis(); + distance = readDistance(); + byte d = millis()-now; +#ifdef OLED_ENABLE + draw(distance); +#endif + + DEBUG("Read: "); + DEBUG(distance); // Convert ping time to distance in cm and print result (0 = outside set distance range) + DEBUG("cm"); + DEBUG(" ["); + DEBUG(d); + DEBUGln("]ms"); + + if (distance > MAX_DISTANCE || distance < MIN_DISTANCE) + { + DEBUGln("Out of range"); + loops=0; + lastDistance = distance; + return; + } + + if (distance < GRN_LIMIT_UPPER && distance > YLW_LIMIT_UPPER && abs(lastSigDistance-distance)>20) + { + if (distance < lastSigDistance) + loops=12; //begin looping fast only when object is approaching + lastSigDistance = distance; + } + else if (distance < YLW_LIMIT_UPPER && abs(lastSigDistance-distance)>5) + { + if (distance < lastSigDistance) + loops=12; //begin looping fast only when object is approaching + lastSigDistance = distance; + } + + //if the looping was started, determine the state we're in + if (loops > 0) + { + if (distance >= YLW_LIMIT_UPPER) { state_LEDCOLOR = STATE_GRN; state_LED = STATE_SOLID; } + else if (distance >= RED_LIMIT_UPPER) { state_LEDCOLOR=STATE_YLW; state_LED = STATE_SOLID; } + else { state_LEDCOLOR=STATE_RED; state_LED = STATE_BLINK; } + } + else { state_LEDCOLOR=STATE_OFF; state_LED = STATE_SOLID; } + + //adjust the blinking rate based on the distance to the object + if (state_LEDCOLOR==STATE_RED) + { + if (distance > RED_LIMIT_UPPER-2) + skipBlinkingLoops = 8; + else if (distance > RED_LIMIT_UPPER-6) + skipBlinkingLoops = 6; + else if (lastDistance > RED_LIMIT_UPPER-10) + skipBlinkingLoops = 4; + else if (lastDistance > RED_LIMIT_UPPER-14) + skipBlinkingLoops = 2; + else + { + skipBlinkingLoops = 1; + state_LED = STATE_SOLID; + } + } + else skipBlinkingLoops = 1; + lastDistance = distance; //remember the last reading + checkBattery(); + if (batteryVolts < BATT_LOW) + Blink(BLU); + else Blink(LED); + DEBUG("Batt: "); + DEBUG(batteryVolts); + DEBUGln("v"); +} + +float readDistance() +{ + //To save battery we need to sleep the HC-SR04 sonar sensor in between readings. + //However to get valid readings it requires special waking up and delay + //It needs to be powered up for ~75ms, then a dummy reading has to be made which is typically bogus + //Then another 15ms needs to pass before doing the real reading + //Because the main loop sleeps between readings and we want to avoid visible delays in the LED blinking + // we need to wake up the sensor in the main loop, look for "EARLY SENSOR WAKEUP". + // When looping fast in the main loop (aka minilooping, to allow fast LED blinking) + // each "miniloop" is about 15ms of sleep time. So we should wake up the sensor 5 miniloops before we do the reading + // and do the sacrificial dummy reading 1 miniloop before the real reading. See the "EARLY SENSOR WAKEUP" code in the main loop. + + //when not looping fast in the main loop, just do the special sensor wakeup here + //first enable sensor power and sleep MCU while sensor settles (needs)75ms + if (loops == 0 && miniLoops == 0) + { + digitalWrite(SENSOR_EN, HIGH); + //need about 60-75ms after power up before HC-SR04 will be usable, so just sleep in the meantime + LowPower.powerDown(SLEEP_60MS, ADC_OFF, BOD_OFF); + LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_OFF); + // do a dummy reading first and wait another 15ms for the real reading + sacrificialPing(); + LowPower.powerDown(SLEEP_15MS, ADC_OFF, BOD_OFF); + } + + // Now do the real reading + // The PING))) is triggered by a HIGH pulse of 2 or more microseconds. + // Give a short LOW pulse beforehand to ensure a clean HIGH pulse: + digitalWrite(TRIG, LOW); + delayMicroseconds(2); + digitalWrite(TRIG, HIGH); + delayMicroseconds(5); + digitalWrite(TRIG, LOW); + // The same pin is used to read the signal from the PING))): a HIGH + // pulse whose duration is the time (in microseconds) from the sending + // of the ping to the reception of its echo off of an object. + long duration = pulseIn(ECHO, HIGH); + digitalWrite(SENSOR_EN, LOW); + return microsecondsToCentimeters(duration); +} + +void sacrificialPing() +{ + digitalWrite(TRIG, LOW); + delayMicroseconds(2); + digitalWrite(TRIG, HIGH); + delayMicroseconds(5); + digitalWrite(TRIG, LOW); + pulseIn(ECHO, HIGH); +} + +//handles the status and color of the LED depending what state we are in +void handleLEDState() +{ + switch(state_LEDCOLOR) + { + case STATE_OFF: LED_OFF; break; + case STATE_GRN: LED_GRN; break; + case STATE_YLW: LED_YLW; break; + case STATE_RED: + if (state_LED == STATE_BLINK) + { + if (state_LEDONOFF == HIGH) + { + LED_OFF; + state_LEDONOFF = LOW; + } + else + { + LED_RED; + state_LEDONOFF = HIGH; +#ifdef BUZZER_ENABLE + buzzer(skipBlinkingLoops,0,0); +#endif + } + } + else LED_RED; + break; + } +} + +void Blink(byte pin) +{ + pinMode(pin, OUTPUT); + digitalWrite(pin, HIGH); + delay(2); + digitalWrite(pin, LOW); +} + +byte cycleCount=BATT_CYCLES; +void checkBattery(byte samples) +{ + if (cycleCount++ == BATT_CYCLES) //only read battery every BATT_CYCLES sleep cycles + { + unsigned int readings=0; + for (byte i=0; i MAX_ADJUST_DISTANCE + RED_LIMIT_UPPER-redZoneAdjust) + delay(300); + else if (distance <= RED_LIMIT_UPPER-redZoneAdjust) + state = HIGH; //keep LED on + else + delay (distance); + + DEBUG(distance);DEBUGln("cm");SERIALFLUSH(); + Blink(LED); + } + + digitalWrite(BLU, LOW); //turn LED off + if (distance > RED_LIMIT_UPPER-redZoneAdjust && distance <= MAX_ADJUST_DISTANCE + RED_LIMIT_UPPER-redZoneAdjust) + { + redZoneAdjust = distance - RED_LIMIT_UPPER - redZoneAdjust; + DEBUG("New RED_ZONE_SHIFT = "); DEBUGln(redZoneAdjust);SERIALFLUSH(); + } +} + +float microsecondsToInches(long microseconds) +{ + // According to Parallax's datasheet for the PING))), there are + // 73.746 microseconds per inch (i.e. sound travels at 1130 feet per + // second). This gives the distance travelled by the ping, outbound + // and return, so we divide by 2 to get the distance of the obstacle. + // See: http://www.parallax.com/dl/docs/prod/acc/28015-PING-v1.3.pdf + return microseconds / 74.0 / 2.0f; +} + +float microsecondsToCentimeters(long microseconds) +{ + // The speed of sound is 340 m/s or 29 microseconds per centimeter. + // The ping travels out and back, so to find the distance of the + // object we take half of the distance travelled. + return (float)microseconds / 29.0f / 2.0f; +} + +#ifdef OLED_ENABLE +void draw(byte distance) { + OLED.firstPage(); + OLED.setFont(u8g_font_unifont); + sprintf(buff, "Reading: %dcm", distance); + + do { + OLED.drawStr(0, 10, buff); + } while(OLED.nextPage()); +} +#endif + +#ifdef BUZZER_ENABLE +void buzzer(byte soundTime, byte repeats, byte repeatsDelay) +{ + for (byte i=0;i<=repeats;i++) + { + tone(BUZZER, 4500); //4500hz makes a nice audible sound from a 3.3v Moteino digital pin + delay(soundTime); + noTone(BUZZER); + if (repeats>0) delay(repeatsDelay); + } +} +#endif diff --git a/lib/RFM69/Examples/SonarMote/SonarMote_lasercut plans_1.75mm acrylic.dxf b/lib/RFM69/Examples/SonarMote/SonarMote_lasercut plans_1.75mm acrylic.dxf new file mode 100644 index 00000000..568a3ee4 --- /dev/null +++ b/lib/RFM69/Examples/SonarMote/SonarMote_lasercut plans_1.75mm acrylic.dxf @@ -0,0 +1,35910 @@ + 0 +SECTION + 2 +HEADER + 9 +$ACADVER + 1 +AC1021 + 9 +$ACADMAINTVER + 70 + 25 + 9 +$DWGCODEPAGE + 3 +ANSI_1252 + 9 +$INSBASE + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$EXTMIN + 10 +-5.24165748031496 + 20 +-6.359767716535433 + 30 +0.0 + 9 +$EXTMAX + 10 +2.166854330708662 + 20 +-2.421259842519685 + 30 +0.0 + 9 +$LIMMIN + 10 +0.0 + 20 +0.0 + 9 +$LIMMAX + 10 +12.0 + 20 +9.0 + 9 +$ORTHOMODE + 70 + 0 + 9 +$REGENMODE + 70 + 1 + 9 +$FILLMODE + 70 + 1 + 9 +$QTEXTMODE + 70 + 0 + 9 +$MIRRTEXT + 70 + 1 + 9 +$LTSCALE + 40 +1.0 + 9 +$ATTMODE + 70 + 1 + 9 +$TEXTSIZE + 40 +0.2 + 9 +$TRACEWID + 40 +0.05 + 9 +$TEXTSTYLE + 7 +Standard + 9 +$CLAYER + 8 +0 + 9 +$CELTYPE + 6 +ByLayer + 9 +$CECOLOR + 62 + 256 + 9 +$CELTSCALE + 40 +1.0 + 9 +$DISPSILH + 70 + 0 + 9 +$DIMSCALE + 40 +1.0 + 9 +$DIMASZ + 40 +0.18 + 9 +$DIMEXO + 40 +0.0625 + 9 +$DIMDLI + 40 +0.38 + 9 +$DIMRND + 40 +0.0 + 9 +$DIMDLE + 40 +0.0 + 9 +$DIMEXE + 40 +0.18 + 9 +$DIMTP + 40 +0.0 + 9 +$DIMTM + 40 +0.0 + 9 +$DIMTXT + 40 +0.18 + 9 +$DIMCEN + 40 +0.09 + 9 +$DIMTSZ + 40 +0.0 + 9 +$DIMTOL + 70 + 0 + 9 +$DIMLIM + 70 + 0 + 9 +$DIMTIH + 70 + 1 + 9 +$DIMTOH + 70 + 1 + 9 +$DIMSE1 + 70 + 0 + 9 +$DIMSE2 + 70 + 0 + 9 +$DIMTAD + 70 + 0 + 9 +$DIMZIN + 70 + 0 + 9 +$DIMBLK + 1 + + 9 +$DIMASO + 70 + 1 + 9 +$DIMSHO + 70 + 1 + 9 +$DIMPOST + 1 + + 9 +$DIMAPOST + 1 + + 9 +$DIMALT + 70 + 0 + 9 +$DIMALTD + 70 + 2 + 9 +$DIMALTF + 40 +25.4 + 9 +$DIMLFAC + 40 +1.0 + 9 +$DIMTOFL + 70 + 0 + 9 +$DIMTVP + 40 +0.0 + 9 +$DIMTIX + 70 + 0 + 9 +$DIMSOXD + 70 + 0 + 9 +$DIMSAH + 70 + 0 + 9 +$DIMBLK1 + 1 + + 9 +$DIMBLK2 + 1 + + 9 +$DIMSTYLE + 2 +Standard + 9 +$DIMCLRD + 70 + 0 + 9 +$DIMCLRE + 70 + 0 + 9 +$DIMCLRT + 70 + 0 + 9 +$DIMTFAC + 40 +1.0 + 9 +$DIMGAP + 40 +0.09 + 9 +$DIMJUST + 70 + 0 + 9 +$DIMSD1 + 70 + 0 + 9 +$DIMSD2 + 70 + 0 + 9 +$DIMTOLJ + 70 + 1 + 9 +$DIMTZIN + 70 + 0 + 9 +$DIMALTZ + 70 + 0 + 9 +$DIMALTTZ + 70 + 0 + 9 +$DIMUPT + 70 + 0 + 9 +$DIMDEC + 70 + 4 + 9 +$DIMTDEC + 70 + 4 + 9 +$DIMALTU + 70 + 2 + 9 +$DIMALTTD + 70 + 2 + 9 +$DIMTXSTY + 7 +Standard + 9 +$DIMAUNIT + 70 + 0 + 9 +$DIMADEC + 70 + 0 + 9 +$DIMALTRND + 40 +0.0 + 9 +$DIMAZIN + 70 + 0 + 9 +$DIMDSEP + 70 + 46 + 9 +$DIMATFIT + 70 + 3 + 9 +$DIMFRAC + 70 + 0 + 9 +$DIMLDRBLK + 1 + + 9 +$DIMLUNIT + 70 + 2 + 9 +$DIMLWD + 70 + -2 + 9 +$DIMLWE + 70 + -2 + 9 +$DIMTMOVE + 70 + 0 + 9 +$DIMFXL + 40 +1.0 + 9 +$DIMFXLON + 70 + 0 + 9 +$DIMJOGANG + 40 +0.7853981633974483 + 9 +$DIMTFILL + 70 + 0 + 9 +$DIMTFILLCLR + 70 + 0 + 9 +$DIMARCSYM + 70 + 0 + 9 +$DIMLTYPE + 6 + + 9 +$DIMLTEX1 + 6 + + 9 +$DIMLTEX2 + 6 + + 9 +$LUNITS + 70 + 2 + 9 +$LUPREC + 70 + 4 + 9 +$SKETCHINC + 40 +0.1 + 9 +$FILLETRAD + 40 +0.5 + 9 +$AUNITS + 70 + 0 + 9 +$AUPREC + 70 + 0 + 9 +$MENU + 1 +. + 9 +$ELEVATION + 40 +0.0 + 9 +$PELEVATION + 40 +0.0 + 9 +$THICKNESS + 40 +0.0 + 9 +$LIMCHECK + 70 + 0 + 9 +$CHAMFERA + 40 +0.5 + 9 +$CHAMFERB + 40 +0.5 + 9 +$CHAMFERC + 40 +1.0 + 9 +$CHAMFERD + 40 +0.0 + 9 +$SKPOLY + 70 + 0 + 9 +$TDCREATE + 40 +2457258.692787454 + 9 +$TDUCREATE + 40 +2457258.859454121 + 9 +$TDUPDATE + 40 +2457258.692787465 + 9 +$TDUUPDATE + 40 +2457258.859454132 + 9 +$TDINDWG + 40 +0.0000000116 + 9 +$TDUSRTIMER + 40 +0.0000000116 + 9 +$USRTIMER + 70 + 1 + 9 +$ANGBASE + 50 +0.0 + 9 +$ANGDIR + 70 + 0 + 9 +$PDMODE + 70 + 0 + 9 +$PDSIZE + 40 +0.0 + 9 +$PLINEWID + 40 +0.0 + 9 +$SPLFRAME + 70 + 0 + 9 +$SPLINETYPE + 70 + 6 + 9 +$SPLINESEGS + 70 + 8 + 9 +$HANDSEED + 5 +91 + 9 +$SURFTAB1 + 70 + 6 + 9 +$SURFTAB2 + 70 + 6 + 9 +$SURFTYPE + 70 + 6 + 9 +$SURFU + 70 + 6 + 9 +$SURFV + 70 + 6 + 9 +$UCSBASE + 2 + + 9 +$UCSNAME + 2 + + 9 +$UCSORG + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSXDIR + 10 +1.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSYDIR + 10 +0.0 + 20 +1.0 + 30 +0.0 + 9 +$UCSORTHOREF + 2 + + 9 +$UCSORTHOVIEW + 70 + 0 + 9 +$UCSORGTOP + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGBOTTOM + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGLEFT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGRIGHT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGFRONT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$UCSORGBACK + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSBASE + 2 + + 9 +$PUCSNAME + 2 + + 9 +$PUCSORG + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSXDIR + 10 +1.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSYDIR + 10 +0.0 + 20 +1.0 + 30 +0.0 + 9 +$PUCSORTHOREF + 2 + + 9 +$PUCSORTHOVIEW + 70 + 0 + 9 +$PUCSORGTOP + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGBOTTOM + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGLEFT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGRIGHT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGFRONT + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PUCSORGBACK + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$USERI1 + 70 + 0 + 9 +$USERI2 + 70 + 0 + 9 +$USERI3 + 70 + 0 + 9 +$USERI4 + 70 + 0 + 9 +$USERI5 + 70 + 0 + 9 +$USERR1 + 40 +0.0 + 9 +$USERR2 + 40 +0.0 + 9 +$USERR3 + 40 +0.0 + 9 +$USERR4 + 40 +0.0 + 9 +$USERR5 + 40 +0.0 + 9 +$WORLDVIEW + 70 + 1 + 9 +$SHADEDGE + 70 + 3 + 9 +$SHADEDIF + 70 + 70 + 9 +$TILEMODE + 70 + 1 + 9 +$MAXACTVP + 70 + 64 + 9 +$PINSBASE + 10 +0.0 + 20 +0.0 + 30 +0.0 + 9 +$PLIMCHECK + 70 + 0 + 9 +$PEXTMIN + 10 +1.000000000000000E+20 + 20 +1.000000000000000E+20 + 30 +1.000000000000000E+20 + 9 +$PEXTMAX + 10 +-1.000000000000000E+20 + 20 +-1.000000000000000E+20 + 30 +-1.000000000000000E+20 + 9 +$PLIMMIN + 10 +0.0 + 20 +0.0 + 9 +$PLIMMAX + 10 +12.0 + 20 +9.0 + 9 +$UNITMODE + 70 + 0 + 9 +$VISRETAIN + 70 + 1 + 9 +$PLINEGEN + 70 + 0 + 9 +$PSLTSCALE + 70 + 1 + 9 +$TREEDEPTH + 70 + 3020 + 9 +$CMLSTYLE + 2 +Standard + 9 +$CMLJUST + 70 + 0 + 9 +$CMLSCALE + 40 +1.0 + 9 +$PROXYGRAPHICS + 70 + 1 + 9 +$MEASUREMENT + 70 + 0 + 9 +$CELWEIGHT +370 + -1 + 9 +$ENDCAPS +280 + 0 + 9 +$JOINSTYLE +280 + 0 + 9 +$LWDISPLAY +290 + 0 + 9 +$INSUNITS + 70 + 1 + 9 +$HYPERLINKBASE + 1 + + 9 +$STYLESHEET + 1 + + 9 +$XEDIT +290 + 1 + 9 +$CEPSNTYPE +380 + 0 + 9 +$PSTYLEMODE +290 + 1 + 9 +$FINGERPRINTGUID + 2 +{028D2A59-FC32-4414-A8AF-5A344F37CEFB} + 9 +$VERSIONGUID + 2 +{FAEB1C32-E019-11D5-929B-00C0DF256EC4} + 9 +$EXTNAMES +290 + 1 + 9 +$PSVPSCALE + 40 +0.0 + 9 +$OLESTARTUP +290 + 0 + 9 +$SORTENTS +280 + 127 + 9 +$INDEXCTL +280 + 0 + 9 +$HIDETEXT +280 + 1 + 9 +$XCLIPFRAME +290 + 0 + 9 +$HALOGAP +280 + 0 + 9 +$OBSCOLOR + 70 + 257 + 9 +$OBSLTYPE +280 + 0 + 9 +$INTERSECTIONDISPLAY +280 + 0 + 9 +$INTERSECTIONCOLOR + 70 + 257 + 9 +$DIMASSOC +280 + 2 + 9 +$PROJECTNAME + 1 + + 9 +$CAMERADISPLAY +290 + 0 + 9 +$LENSLENGTH + 40 +50.0 + 9 +$CAMERAHEIGHT + 40 +0.0 + 9 +$STEPSPERSEC + 40 +2.0 + 9 +$STEPSIZE + 40 +6.0 + 9 +$3DDWFPREC + 40 +2.0 + 9 +$PSOLWIDTH + 40 +0.25 + 9 +$PSOLHEIGHT + 40 +4.0 + 9 +$LOFTANG1 + 40 +1.570796326794897 + 9 +$LOFTANG2 + 40 +1.570796326794897 + 9 +$LOFTMAG1 + 40 +0.0 + 9 +$LOFTMAG2 + 40 +0.0 + 9 +$LOFTPARAM + 70 + 7 + 9 +$LOFTNORMALS +280 + 1 + 9 +$LATITUDE + 40 +37.795 + 9 +$LONGITUDE + 40 +-122.394 + 9 +$NORTHDIRECTION + 40 +0.0 + 9 +$TIMEZONE + 70 + -8000 + 9 +$LIGHTGLYPHDISPLAY +280 + 1 + 9 +$TILEMODELIGHTSYNCH +280 + 1 + 9 +$SOLIDHIST +280 + 1 + 9 +$SHOWHIST +280 + 1 + 9 +$DWFFRAME +280 + 2 + 9 +$DGNFRAME +280 + 2 + 9 +$REALWORLDSCALE +290 + 1 + 9 +$INTERFERECOLOR + 62 + 256 + 9 +$CSHADOW +280 + 0 + 9 +$SHADOWPLANELOCATION + 40 +0.0 + 0 +ENDSEC + 0 +SECTION + 2 +CLASSES + 0 +CLASS + 1 +ACDBDICTIONARYWDFLT + 2 +AcDbDictionaryWithDefault + 3 +ObjectDBX Classes + 90 + 0 + 91 + 4 +280 + 0 +281 + 0 + 0 +CLASS + 1 +VISUALSTYLE + 2 +AcDbVisualStyle + 3 +ObjectDBX Classes + 90 + 4095 + 91 + 4 +280 + 0 +281 + 0 + 0 +CLASS + 1 +MATERIAL + 2 +AcDbMaterial + 3 +ObjectDBX Classes + 90 + 1153 + 91 + 4 +280 + 0 +281 + 0 + 0 +ENDSEC + 0 +SECTION + 2 +TABLES + 0 +TABLE + 2 +VPORT + 5 +8 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +VPORT + 5 +29 +330 +8 +100 +AcDbSymbolTableRecord +100 +AcDbViewportTableRecord + 2 +*Active + 70 + 0 + 10 +0.0 + 20 +0.0 + 11 +1.0 + 21 +1.0 + 12 +10.42990654205607 + 22 +4.5 + 13 +0.0 + 23 +0.0 + 14 +0.5 + 24 +0.5 + 15 +0.5 + 25 +0.5 + 16 +0.0 + 26 +0.0 + 36 +1.0 + 17 +0.0 + 27 +0.0 + 37 +0.0 + 40 +9.0 + 41 +1.972972972850329 + 42 +50.0 + 43 +0.0 + 44 +0.0 + 50 +0.0 + 51 +0.0 + 71 + 0 + 72 + 100 + 73 + 1 + 74 + 3 + 75 + 0 + 76 + 0 + 77 + 0 + 78 + 0 +281 + 0 + 65 + 1 +110 +0.0 +120 +0.0 +130 +0.0 +111 +1.0 +121 +0.0 +131 +0.0 +112 +0.0 +122 +1.0 +132 +0.0 + 79 + 0 +146 +0.0 + 60 + 3 + 61 + 5 +292 + 1 +282 + 1 +141 +0.0 +142 +0.0 + 63 + 250 + 0 +ENDTAB + 0 +TABLE + 2 +LTYPE + 5 +5 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +LTYPE + 5 +14 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ByBlock + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +15 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +ByLayer + 70 + 0 + 3 + + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +LTYPE + 5 +16 +330 +5 +100 +AcDbSymbolTableRecord +100 +AcDbLinetypeTableRecord + 2 +Continuous + 70 + 0 + 3 +Solid line + 72 + 65 + 73 + 0 + 40 +0.0 + 0 +ENDTAB + 0 +TABLE + 2 +LAYER + 5 +2 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +LAYER + 5 +10 +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +0 + 70 + 0 + 62 + 7 + 6 +Continuous +370 + -3 +390 +F +347 +3E + 0 +LAYER + 5 +40 +330 +2 +100 +AcDbSymbolTableRecord +100 +AcDbLayerTableRecord + 2 +Layer 1 + 70 + 0 + 62 + 7 + 6 +Continuous +370 + -3 +390 +F +347 +3E + 0 +ENDTAB + 0 +TABLE + 2 +STYLE + 5 +3 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +STYLE + 5 +11 +330 +3 +100 +AcDbSymbolTableRecord +100 +AcDbTextStyleTableRecord + 2 +Standard + 70 + 0 + 40 +0.0 + 41 +1.0 + 50 +0.0 + 71 + 0 + 42 +0.2 + 3 +txt + 4 + + 0 +ENDTAB + 0 +TABLE + 2 +VIEW + 5 +6 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +UCS + 5 +7 +330 +0 +100 +AcDbSymbolTable + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +APPID + 5 +9 +330 +0 +100 +AcDbSymbolTable + 70 + 2 + 0 +APPID + 5 +12 +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ACAD + 70 + 0 + 0 +APPID + 5 +3F +330 +9 +100 +AcDbSymbolTableRecord +100 +AcDbRegAppTableRecord + 2 +ODA + 70 + 0 + 0 +ENDTAB + 0 +TABLE + 2 +DIMSTYLE + 5 +A +330 +0 +100 +AcDbSymbolTable + 70 + 1 +100 +AcDbDimStyleTable + 0 +DIMSTYLE +105 +27 +330 +A +100 +AcDbSymbolTableRecord +100 +AcDbDimStyleTableRecord + 2 +Standard + 70 + 0 +178 + 0 +340 +11 + 0 +ENDTAB + 0 +TABLE + 2 +BLOCK_RECORD + 5 +1 +330 +0 +100 +AcDbSymbolTable + 70 + 1 + 0 +BLOCK_RECORD + 5 +1F +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Model_Space +340 +22 + 70 + 0 +280 + 1 +281 + 0 + 0 +BLOCK_RECORD + 5 +1B +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Paper_Space +340 +1E + 70 + 0 +280 + 1 +281 + 0 + 0 +BLOCK_RECORD + 5 +23 +330 +1 +100 +AcDbSymbolTableRecord +100 +AcDbBlockTableRecord + 2 +*Paper_Space0 +340 +26 + 70 + 0 +280 + 1 +281 + 0 + 0 +ENDTAB + 0 +ENDSEC + 0 +SECTION + 2 +BLOCKS + 0 +BLOCK + 5 +20 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*Model_Space + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Model_Space + 1 + + 0 +ENDBLK + 5 +21 +330 +1F +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +1C +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockBegin + 2 +*Paper_Space + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Paper_Space + 1 + + 0 +ENDBLK + 5 +1D +330 +1B +100 +AcDbEntity + 67 + 1 + 8 +0 +100 +AcDbBlockEnd + 0 +BLOCK + 5 +24 +330 +23 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockBegin + 2 +*Paper_Space0 + 70 + 0 + 10 +0.0 + 20 +0.0 + 30 +0.0 + 3 +*Paper_Space0 + 1 + + 0 +ENDBLK + 5 +25 +330 +23 +100 +AcDbEntity + 8 +0 +100 +AcDbBlockEnd + 0 +ENDSEC + 0 +SECTION + 2 +ENTITIES + 0 +SPLINE + 5 +41 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-5.24015748031496 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.961614173228346 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.253937007874016 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.458661417322835 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.647637795275591 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-3.852362204724409 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.041338582677166 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.246062992125984 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.43503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.639763779527559 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.932086614173229 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-2.996062992125984 + 30 +0.0 + 0 +SPLINE + 5 +42 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 244 + 73 + 240 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0163934426229508 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0327868852459016 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0491803278688525 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0655737704918033 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0819672131147541 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.0983606557377049 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1147540983606557 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1311475409836066 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1475409836065574 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.1639344262295082 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.180327868852459 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.1967213114754098 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2131147540983606 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2295081967213115 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2459016393442623 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2622950819672131 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2786885245901639 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.2950819672131147 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3114754098360656 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3278688524590164 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.3442622950819672 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.360655737704918 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3770491803278688 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.3934426229508197 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4098360655737705 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4262295081967213 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.4426229508196721 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.459016393442623 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4754098360655737 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.4918032786885246 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5081967213114754 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5245901639344263 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5409836065573771 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5573770491803278 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5737704918032787 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.5901639344262295 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6065573770491803 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.6229508196721312 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.639344262295082 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6557377049180327 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6721311475409836 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.6885245901639344 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7049180327868853 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7213114754098361 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7377049180327869 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7540983606557377 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7704918032786885 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.7868852459016393 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.8032786885245902 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.819672131147541 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8360655737704918 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8524590163934426 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8688524590163934 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.8852459016393442 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9016393442622951 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9180327868852459 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9344262295081968 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9508196721311475 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +0.9672131147540983 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.375 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.375 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.375 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.375 + 20 +-3.06496062992126 + 30 +0.0 + 10 +-0.375 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.375 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.375 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.375 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.375 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.375 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.375 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.375 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.375 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.375 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.375 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.375 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.6673228346456693 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-0.8720472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.061023622047244 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.265748031496063 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.454724409448819 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.659448818897638 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.848425196850394 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.053149606299213 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.057086614173229 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.345472440944882 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.893700787401575 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.677165354330709 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.44488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-3.228346456692913 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-2.996062992125984 + 30 +0.0 + 0 +SPLINE + 5 +43 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 212 + 73 + 208 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0188679245283019 + 40 +0.0188679245283019 + 40 +0.0188679245283019 + 40 +0.0188679245283019 + 40 +0.0377358490566038 + 40 +0.0377358490566038 + 40 +0.0377358490566038 + 40 +0.0377358490566038 + 40 +0.0566037735849057 + 40 +0.0566037735849057 + 40 +0.0566037735849057 + 40 +0.0566037735849057 + 40 +0.0754716981132075 + 40 +0.0754716981132075 + 40 +0.0754716981132075 + 40 +0.0754716981132075 + 40 +0.0943396226415094 + 40 +0.0943396226415094 + 40 +0.0943396226415094 + 40 +0.0943396226415094 + 40 +0.1132075471698113 + 40 +0.1132075471698113 + 40 +0.1132075471698113 + 40 +0.1132075471698113 + 40 +0.1320754716981132 + 40 +0.1320754716981132 + 40 +0.1320754716981132 + 40 +0.1320754716981132 + 40 +0.1509433962264151 + 40 +0.1509433962264151 + 40 +0.1509433962264151 + 40 +0.1509433962264151 + 40 +0.169811320754717 + 40 +0.169811320754717 + 40 +0.169811320754717 + 40 +0.169811320754717 + 40 +0.1886792452830189 + 40 +0.1886792452830189 + 40 +0.1886792452830189 + 40 +0.1886792452830189 + 40 +0.2075471698113208 + 40 +0.2075471698113208 + 40 +0.2075471698113208 + 40 +0.2075471698113208 + 40 +0.2264150943396226 + 40 +0.2264150943396226 + 40 +0.2264150943396226 + 40 +0.2264150943396226 + 40 +0.2452830188679245 + 40 +0.2452830188679245 + 40 +0.2452830188679245 + 40 +0.2452830188679245 + 40 +0.2641509433962264 + 40 +0.2641509433962264 + 40 +0.2641509433962264 + 40 +0.2641509433962264 + 40 +0.2830188679245283 + 40 +0.2830188679245283 + 40 +0.2830188679245283 + 40 +0.2830188679245283 + 40 +0.3018867924528302 + 40 +0.3018867924528302 + 40 +0.3018867924528302 + 40 +0.3018867924528302 + 40 +0.3207547169811321 + 40 +0.3207547169811321 + 40 +0.3207547169811321 + 40 +0.3207547169811321 + 40 +0.3396226415094339 + 40 +0.3396226415094339 + 40 +0.3396226415094339 + 40 +0.3396226415094339 + 40 +0.3584905660377358 + 40 +0.3584905660377358 + 40 +0.3584905660377358 + 40 +0.3584905660377358 + 40 +0.3773584905660378 + 40 +0.3773584905660378 + 40 +0.3773584905660378 + 40 +0.3773584905660378 + 40 +0.3962264150943396 + 40 +0.3962264150943396 + 40 +0.3962264150943396 + 40 +0.3962264150943396 + 40 +0.4150943396226415 + 40 +0.4150943396226415 + 40 +0.4150943396226415 + 40 +0.4150943396226415 + 40 +0.4339622641509434 + 40 +0.4339622641509434 + 40 +0.4339622641509434 + 40 +0.4339622641509434 + 40 +0.4528301886792453 + 40 +0.4528301886792453 + 40 +0.4528301886792453 + 40 +0.4528301886792453 + 40 +0.4716981132075472 + 40 +0.4716981132075472 + 40 +0.4716981132075472 + 40 +0.4716981132075472 + 40 +0.4905660377358491 + 40 +0.4905660377358491 + 40 +0.4905660377358491 + 40 +0.4905660377358491 + 40 +0.5094339622641509 + 40 +0.5094339622641509 + 40 +0.5094339622641509 + 40 +0.5094339622641509 + 40 +0.5283018867924528 + 40 +0.5283018867924528 + 40 +0.5283018867924528 + 40 +0.5283018867924528 + 40 +0.5471698113207547 + 40 +0.5471698113207547 + 40 +0.5471698113207547 + 40 +0.5471698113207547 + 40 +0.5660377358490566 + 40 +0.5660377358490566 + 40 +0.5660377358490566 + 40 +0.5660377358490566 + 40 +0.5849056603773585 + 40 +0.5849056603773585 + 40 +0.5849056603773585 + 40 +0.5849056603773585 + 40 +0.6037735849056604 + 40 +0.6037735849056604 + 40 +0.6037735849056604 + 40 +0.6037735849056604 + 40 +0.6226415094339622 + 40 +0.6226415094339622 + 40 +0.6226415094339622 + 40 +0.6226415094339622 + 40 +0.6415094339622641 + 40 +0.6415094339622641 + 40 +0.6415094339622641 + 40 +0.6415094339622641 + 40 +0.660377358490566 + 40 +0.660377358490566 + 40 +0.660377358490566 + 40 +0.660377358490566 + 40 +0.6792452830188679 + 40 +0.6792452830188679 + 40 +0.6792452830188679 + 40 +0.6792452830188679 + 40 +0.6981132075471698 + 40 +0.6981132075471698 + 40 +0.6981132075471698 + 40 +0.6981132075471698 + 40 +0.7169811320754716 + 40 +0.7169811320754716 + 40 +0.7169811320754716 + 40 +0.7169811320754716 + 40 +0.7358490566037735 + 40 +0.7358490566037735 + 40 +0.7358490566037735 + 40 +0.7358490566037735 + 40 +0.7547169811320755 + 40 +0.7547169811320755 + 40 +0.7547169811320755 + 40 +0.7547169811320755 + 40 +0.7735849056603774 + 40 +0.7735849056603774 + 40 +0.7735849056603774 + 40 +0.7735849056603774 + 40 +0.7924528301886793 + 40 +0.7924528301886793 + 40 +0.7924528301886793 + 40 +0.7924528301886793 + 40 +0.8113207547169812 + 40 +0.8113207547169812 + 40 +0.8113207547169812 + 40 +0.8113207547169812 + 40 +0.8301886792452831 + 40 +0.8301886792452831 + 40 +0.8301886792452831 + 40 +0.8301886792452831 + 40 +0.8490566037735849 + 40 +0.8490566037735849 + 40 +0.8490566037735849 + 40 +0.8490566037735849 + 40 +0.8679245283018868 + 40 +0.8679245283018868 + 40 +0.8679245283018868 + 40 +0.8679245283018868 + 40 +0.8867924528301887 + 40 +0.8867924528301887 + 40 +0.8867924528301887 + 40 +0.8867924528301887 + 40 +0.9056603773584906 + 40 +0.9056603773584906 + 40 +0.9056603773584906 + 40 +0.9056603773584906 + 40 +0.9245283018867925 + 40 +0.9245283018867925 + 40 +0.9245283018867925 + 40 +0.9245283018867925 + 40 +0.9433962264150944 + 40 +0.9433962264150944 + 40 +0.9433962264150944 + 40 +0.9433962264150944 + 40 +0.9622641509433962 + 40 +0.9622641509433962 + 40 +0.9622641509433962 + 40 +0.9622641509433962 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0019685039370079 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-3.06496062992126 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.151574803149606 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.151574803149606 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.151574803149606 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.151574803149606 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.151574803149606 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.151574803149606 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.151574803149606 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.151574803149606 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.340551181102362 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.340551181102362 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.340551181102362 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.340551181102362 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.340551181102362 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.340551181102362 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.340551181102362 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.340551181102362 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.545275590551181 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.545275590551181 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.545275590551181 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.545275590551181 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.545275590551181 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.545275590551181 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.545275590551181 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.545275590551181 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.84744094488189 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.84744094488189 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.84744094488189 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.84744094488189 + 20 +-3.06496062992126 + 30 +0.0 + 10 +1.84744094488189 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.84744094488189 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.84744094488189 + 20 +-2.996062992125984 + 30 +0.0 + 10 +1.84744094488189 + 20 +-2.996062992125984 + 30 +0.0 + 10 +2.096456692913386 + 20 +-2.996062992125984 + 30 +0.0 + 10 +2.096456692913386 + 20 +-2.996062992125984 + 30 +0.0 + 10 +2.096456692913386 + 20 +-2.996062992125984 + 30 +0.0 + 10 +2.096456692913386 + 20 +-2.996062992125984 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.220472440944882 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.452755905511811 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.669291338582677 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.165354330708662 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.096456692913386 + 20 +-3.901574803149606 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.057086614173229 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.057086614173229 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.901574803149606 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.901574803149606 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.901574803149606 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.901574803149606 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.901574803149606 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.901574803149606 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.901574803149606 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.901574803149606 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.669291338582677 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.669291338582677 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.669291338582677 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.669291338582677 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.669291338582677 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.669291338582677 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.669291338582677 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.669291338582677 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.452755905511811 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.452755905511811 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.452755905511811 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.452755905511811 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.452755905511811 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.452755905511811 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.452755905511811 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.452755905511811 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.220472440944882 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.220472440944882 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.220472440944882 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-3.220472440944882 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.220472440944882 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.220472440944882 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.220472440944882 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-3.220472440944882 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-2.996062992125984 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-2.996062992125984 + 30 +0.0 + 0 +SPLINE + 5 +44 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 212 + 73 + 208 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0188679245283019 + 40 +0.0188679245283019 + 40 +0.0188679245283019 + 40 +0.0188679245283019 + 40 +0.0377358490566038 + 40 +0.0377358490566038 + 40 +0.0377358490566038 + 40 +0.0377358490566038 + 40 +0.0566037735849057 + 40 +0.0566037735849057 + 40 +0.0566037735849057 + 40 +0.0566037735849057 + 40 +0.0754716981132075 + 40 +0.0754716981132075 + 40 +0.0754716981132075 + 40 +0.0754716981132075 + 40 +0.0943396226415094 + 40 +0.0943396226415094 + 40 +0.0943396226415094 + 40 +0.0943396226415094 + 40 +0.1132075471698113 + 40 +0.1132075471698113 + 40 +0.1132075471698113 + 40 +0.1132075471698113 + 40 +0.1320754716981132 + 40 +0.1320754716981132 + 40 +0.1320754716981132 + 40 +0.1320754716981132 + 40 +0.1509433962264151 + 40 +0.1509433962264151 + 40 +0.1509433962264151 + 40 +0.1509433962264151 + 40 +0.169811320754717 + 40 +0.169811320754717 + 40 +0.169811320754717 + 40 +0.169811320754717 + 40 +0.1886792452830189 + 40 +0.1886792452830189 + 40 +0.1886792452830189 + 40 +0.1886792452830189 + 40 +0.2075471698113208 + 40 +0.2075471698113208 + 40 +0.2075471698113208 + 40 +0.2075471698113208 + 40 +0.2264150943396226 + 40 +0.2264150943396226 + 40 +0.2264150943396226 + 40 +0.2264150943396226 + 40 +0.2452830188679245 + 40 +0.2452830188679245 + 40 +0.2452830188679245 + 40 +0.2452830188679245 + 40 +0.2641509433962264 + 40 +0.2641509433962264 + 40 +0.2641509433962264 + 40 +0.2641509433962264 + 40 +0.2830188679245283 + 40 +0.2830188679245283 + 40 +0.2830188679245283 + 40 +0.2830188679245283 + 40 +0.3018867924528302 + 40 +0.3018867924528302 + 40 +0.3018867924528302 + 40 +0.3018867924528302 + 40 +0.3207547169811321 + 40 +0.3207547169811321 + 40 +0.3207547169811321 + 40 +0.3207547169811321 + 40 +0.3396226415094339 + 40 +0.3396226415094339 + 40 +0.3396226415094339 + 40 +0.3396226415094339 + 40 +0.3584905660377358 + 40 +0.3584905660377358 + 40 +0.3584905660377358 + 40 +0.3584905660377358 + 40 +0.3773584905660378 + 40 +0.3773584905660378 + 40 +0.3773584905660378 + 40 +0.3773584905660378 + 40 +0.3962264150943396 + 40 +0.3962264150943396 + 40 +0.3962264150943396 + 40 +0.3962264150943396 + 40 +0.4150943396226415 + 40 +0.4150943396226415 + 40 +0.4150943396226415 + 40 +0.4150943396226415 + 40 +0.4339622641509434 + 40 +0.4339622641509434 + 40 +0.4339622641509434 + 40 +0.4339622641509434 + 40 +0.4528301886792453 + 40 +0.4528301886792453 + 40 +0.4528301886792453 + 40 +0.4528301886792453 + 40 +0.4716981132075472 + 40 +0.4716981132075472 + 40 +0.4716981132075472 + 40 +0.4716981132075472 + 40 +0.4905660377358491 + 40 +0.4905660377358491 + 40 +0.4905660377358491 + 40 +0.4905660377358491 + 40 +0.5094339622641509 + 40 +0.5094339622641509 + 40 +0.5094339622641509 + 40 +0.5094339622641509 + 40 +0.5283018867924528 + 40 +0.5283018867924528 + 40 +0.5283018867924528 + 40 +0.5283018867924528 + 40 +0.5471698113207547 + 40 +0.5471698113207547 + 40 +0.5471698113207547 + 40 +0.5471698113207547 + 40 +0.5660377358490566 + 40 +0.5660377358490566 + 40 +0.5660377358490566 + 40 +0.5660377358490566 + 40 +0.5849056603773585 + 40 +0.5849056603773585 + 40 +0.5849056603773585 + 40 +0.5849056603773585 + 40 +0.6037735849056604 + 40 +0.6037735849056604 + 40 +0.6037735849056604 + 40 +0.6037735849056604 + 40 +0.6226415094339622 + 40 +0.6226415094339622 + 40 +0.6226415094339622 + 40 +0.6226415094339622 + 40 +0.6415094339622641 + 40 +0.6415094339622641 + 40 +0.6415094339622641 + 40 +0.6415094339622641 + 40 +0.660377358490566 + 40 +0.660377358490566 + 40 +0.660377358490566 + 40 +0.660377358490566 + 40 +0.6792452830188679 + 40 +0.6792452830188679 + 40 +0.6792452830188679 + 40 +0.6792452830188679 + 40 +0.6981132075471698 + 40 +0.6981132075471698 + 40 +0.6981132075471698 + 40 +0.6981132075471698 + 40 +0.7169811320754716 + 40 +0.7169811320754716 + 40 +0.7169811320754716 + 40 +0.7169811320754716 + 40 +0.7358490566037735 + 40 +0.7358490566037735 + 40 +0.7358490566037735 + 40 +0.7358490566037735 + 40 +0.7547169811320755 + 40 +0.7547169811320755 + 40 +0.7547169811320755 + 40 +0.7547169811320755 + 40 +0.7735849056603774 + 40 +0.7735849056603774 + 40 +0.7735849056603774 + 40 +0.7735849056603774 + 40 +0.7924528301886793 + 40 +0.7924528301886793 + 40 +0.7924528301886793 + 40 +0.7924528301886793 + 40 +0.8113207547169812 + 40 +0.8113207547169812 + 40 +0.8113207547169812 + 40 +0.8113207547169812 + 40 +0.8301886792452831 + 40 +0.8301886792452831 + 40 +0.8301886792452831 + 40 +0.8301886792452831 + 40 +0.8490566037735849 + 40 +0.8490566037735849 + 40 +0.8490566037735849 + 40 +0.8490566037735849 + 40 +0.8679245283018868 + 40 +0.8679245283018868 + 40 +0.8679245283018868 + 40 +0.8679245283018868 + 40 +0.8867924528301887 + 40 +0.8867924528301887 + 40 +0.8867924528301887 + 40 +0.8867924528301887 + 40 +0.9056603773584906 + 40 +0.9056603773584906 + 40 +0.9056603773584906 + 40 +0.9056603773584906 + 40 +0.9245283018867925 + 40 +0.9245283018867925 + 40 +0.9245283018867925 + 40 +0.9245283018867925 + 40 +0.9433962264150944 + 40 +0.9433962264150944 + 40 +0.9433962264150944 + 40 +0.9433962264150944 + 40 +0.9622641509433962 + 40 +0.9622641509433962 + 40 +0.9622641509433962 + 40 +0.9622641509433962 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.19488188976378 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.151574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.340551181102362 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.545275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +1.84744094488189 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.125984251968504 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.350393700787402 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.582677165354331 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.096456692913386 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.165354330708662 + 20 +-4.799212598425197 + 30 +0.0 + 10 +2.165354330708662 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.165354330708662 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.165354330708662 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.165354330708662 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.031496062992126 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.255905511811024 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.255905511811024 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.255905511811024 + 30 +0.0 + 10 +2.096456692913386 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.84744094488189 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.545275590551181 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.340551181102362 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.187007874015748 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.255905511811024 + 30 +0.0 + 10 +1.151574803149606 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.9468503937007874 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.7578740157480315 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.5531496062992126 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.187007874015748 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.2509842519685039 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.255905511811024 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.031496062992126 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.031496062992126 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.031496062992126 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-5.031496062992126 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.031496062992126 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.031496062992126 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.031496062992126 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.031496062992126 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.799212598425197 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.799212598425197 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.799212598425197 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.799212598425197 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.799212598425197 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.799212598425197 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.799212598425197 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.799212598425197 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.582677165354331 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.582677165354331 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.582677165354331 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.582677165354331 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.582677165354331 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.582677165354331 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.582677165354331 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.582677165354331 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.350393700787402 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.350393700787402 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.350393700787402 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.350393700787402 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.350393700787402 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.350393700787402 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.350393700787402 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.350393700787402 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 10 +0.0019685039370079 + 20 +-4.125984251968504 + 30 +0.0 + 0 +SPLINE + 5 +45 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 308 + 73 + 304 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.012987012987013 + 40 +0.012987012987013 + 40 +0.012987012987013 + 40 +0.012987012987013 + 40 +0.025974025974026 + 40 +0.025974025974026 + 40 +0.025974025974026 + 40 +0.025974025974026 + 40 +0.038961038961039 + 40 +0.038961038961039 + 40 +0.038961038961039 + 40 +0.038961038961039 + 40 +0.051948051948052 + 40 +0.051948051948052 + 40 +0.051948051948052 + 40 +0.051948051948052 + 40 +0.0649350649350649 + 40 +0.0649350649350649 + 40 +0.0649350649350649 + 40 +0.0649350649350649 + 40 +0.0779220779220779 + 40 +0.0779220779220779 + 40 +0.0779220779220779 + 40 +0.0779220779220779 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1038961038961039 + 40 +0.1038961038961039 + 40 +0.1038961038961039 + 40 +0.1038961038961039 + 40 +0.1168831168831169 + 40 +0.1168831168831169 + 40 +0.1168831168831169 + 40 +0.1168831168831169 + 40 +0.1298701298701299 + 40 +0.1298701298701299 + 40 +0.1298701298701299 + 40 +0.1298701298701299 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1558441558441558 + 40 +0.1558441558441558 + 40 +0.1558441558441558 + 40 +0.1558441558441558 + 40 +0.1688311688311688 + 40 +0.1688311688311688 + 40 +0.1688311688311688 + 40 +0.1688311688311688 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1948051948051948 + 40 +0.1948051948051948 + 40 +0.1948051948051948 + 40 +0.1948051948051948 + 40 +0.2077922077922078 + 40 +0.2077922077922078 + 40 +0.2077922077922078 + 40 +0.2077922077922078 + 40 +0.2207792207792208 + 40 +0.2207792207792208 + 40 +0.2207792207792208 + 40 +0.2207792207792208 + 40 +0.2337662337662338 + 40 +0.2337662337662338 + 40 +0.2337662337662338 + 40 +0.2337662337662338 + 40 +0.2467532467532468 + 40 +0.2467532467532468 + 40 +0.2467532467532468 + 40 +0.2467532467532468 + 40 +0.2597402597402597 + 40 +0.2597402597402597 + 40 +0.2597402597402597 + 40 +0.2597402597402597 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2987012987012987 + 40 +0.2987012987012987 + 40 +0.2987012987012987 + 40 +0.2987012987012987 + 40 +0.3116883116883117 + 40 +0.3116883116883117 + 40 +0.3116883116883117 + 40 +0.3116883116883117 + 40 +0.3246753246753247 + 40 +0.3246753246753247 + 40 +0.3246753246753247 + 40 +0.3246753246753247 + 40 +0.3376623376623377 + 40 +0.3376623376623377 + 40 +0.3376623376623377 + 40 +0.3376623376623377 + 40 +0.3506493506493507 + 40 +0.3506493506493507 + 40 +0.3506493506493507 + 40 +0.3506493506493507 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3766233766233766 + 40 +0.3766233766233766 + 40 +0.3766233766233766 + 40 +0.3766233766233766 + 40 +0.3896103896103896 + 40 +0.3896103896103896 + 40 +0.3896103896103896 + 40 +0.3896103896103896 + 40 +0.4025974025974026 + 40 +0.4025974025974026 + 40 +0.4025974025974026 + 40 +0.4025974025974026 + 40 +0.4155844155844156 + 40 +0.4155844155844156 + 40 +0.4155844155844156 + 40 +0.4155844155844156 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4415584415584415 + 40 +0.4415584415584415 + 40 +0.4415584415584415 + 40 +0.4415584415584415 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4675324675324675 + 40 +0.4675324675324675 + 40 +0.4675324675324675 + 40 +0.4675324675324675 + 40 +0.4805194805194805 + 40 +0.4805194805194805 + 40 +0.4805194805194805 + 40 +0.4805194805194805 + 40 +0.4935064935064935 + 40 +0.4935064935064935 + 40 +0.4935064935064935 + 40 +0.4935064935064935 + 40 +0.5064935064935064 + 40 +0.5064935064935064 + 40 +0.5064935064935064 + 40 +0.5064935064935064 + 40 +0.5194805194805194 + 40 +0.5194805194805194 + 40 +0.5194805194805194 + 40 +0.5194805194805194 + 40 +0.5324675324675324 + 40 +0.5324675324675324 + 40 +0.5324675324675324 + 40 +0.5324675324675324 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5584415584415584 + 40 +0.5584415584415584 + 40 +0.5584415584415584 + 40 +0.5584415584415584 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5844155844155844 + 40 +0.5844155844155844 + 40 +0.5844155844155844 + 40 +0.5844155844155844 + 40 +0.5974025974025974 + 40 +0.5974025974025974 + 40 +0.5974025974025974 + 40 +0.5974025974025974 + 40 +0.6103896103896104 + 40 +0.6103896103896104 + 40 +0.6103896103896104 + 40 +0.6103896103896104 + 40 +0.6233766233766234 + 40 +0.6233766233766234 + 40 +0.6233766233766234 + 40 +0.6233766233766234 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6493506493506493 + 40 +0.6493506493506493 + 40 +0.6493506493506493 + 40 +0.6493506493506493 + 40 +0.6623376623376623 + 40 +0.6623376623376623 + 40 +0.6623376623376623 + 40 +0.6623376623376623 + 40 +0.6753246753246753 + 40 +0.6753246753246753 + 40 +0.6753246753246753 + 40 +0.6753246753246753 + 40 +0.6883116883116883 + 40 +0.6883116883116883 + 40 +0.6883116883116883 + 40 +0.6883116883116883 + 40 +0.7012987012987013 + 40 +0.7012987012987013 + 40 +0.7012987012987013 + 40 +0.7012987012987013 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7402597402597403 + 40 +0.7402597402597403 + 40 +0.7402597402597403 + 40 +0.7402597402597403 + 40 +0.7532467532467533 + 40 +0.7532467532467533 + 40 +0.7532467532467533 + 40 +0.7532467532467533 + 40 +0.7662337662337663 + 40 +0.7662337662337663 + 40 +0.7662337662337663 + 40 +0.7662337662337663 + 40 +0.7792207792207793 + 40 +0.7792207792207793 + 40 +0.7792207792207793 + 40 +0.7792207792207793 + 40 +0.7922077922077922 + 40 +0.7922077922077922 + 40 +0.7922077922077922 + 40 +0.7922077922077922 + 40 +0.8051948051948052 + 40 +0.8051948051948052 + 40 +0.8051948051948052 + 40 +0.8051948051948052 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8311688311688312 + 40 +0.8311688311688312 + 40 +0.8311688311688312 + 40 +0.8311688311688312 + 40 +0.8441558441558441 + 40 +0.8441558441558441 + 40 +0.8441558441558441 + 40 +0.8441558441558441 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8701298701298701 + 40 +0.8701298701298701 + 40 +0.8701298701298701 + 40 +0.8701298701298701 + 40 +0.8831168831168831 + 40 +0.8831168831168831 + 40 +0.8831168831168831 + 40 +0.8831168831168831 + 40 +0.8961038961038961 + 40 +0.8961038961038961 + 40 +0.8961038961038961 + 40 +0.8961038961038961 + 40 +0.9090909090909091 + 40 +0.9090909090909091 + 40 +0.9090909090909091 + 40 +0.9090909090909091 + 40 +0.922077922077922 + 40 +0.922077922077922 + 40 +0.922077922077922 + 40 +0.922077922077922 + 40 +0.935064935064935 + 40 +0.935064935064935 + 40 +0.935064935064935 + 40 +0.935064935064935 + 40 +0.948051948051948 + 40 +0.948051948051948 + 40 +0.948051948051948 + 40 +0.948051948051948 + 40 +0.961038961038961 + 40 +0.961038961038961 + 40 +0.961038961038961 + 40 +0.961038961038961 + 40 +0.974025974025974 + 40 +0.974025974025974 + 40 +0.974025974025974 + 40 +0.974025974025974 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-5.171259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.72244094488189 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.953740157480315 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.261811023622047 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.450787401574803 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.655511811023622 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-3.844488188976378 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.049212598425197 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.238188976377953 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.442913385826771 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.631889763779528 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-4.93996062992126 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.24015748031496 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-5.171259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 0 +SPLINE + 5 +46 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 308 + 73 + 304 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.012987012987013 + 40 +0.012987012987013 + 40 +0.012987012987013 + 40 +0.012987012987013 + 40 +0.025974025974026 + 40 +0.025974025974026 + 40 +0.025974025974026 + 40 +0.025974025974026 + 40 +0.038961038961039 + 40 +0.038961038961039 + 40 +0.038961038961039 + 40 +0.038961038961039 + 40 +0.051948051948052 + 40 +0.051948051948052 + 40 +0.051948051948052 + 40 +0.051948051948052 + 40 +0.0649350649350649 + 40 +0.0649350649350649 + 40 +0.0649350649350649 + 40 +0.0649350649350649 + 40 +0.0779220779220779 + 40 +0.0779220779220779 + 40 +0.0779220779220779 + 40 +0.0779220779220779 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.0909090909090909 + 40 +0.1038961038961039 + 40 +0.1038961038961039 + 40 +0.1038961038961039 + 40 +0.1038961038961039 + 40 +0.1168831168831169 + 40 +0.1168831168831169 + 40 +0.1168831168831169 + 40 +0.1168831168831169 + 40 +0.1298701298701299 + 40 +0.1298701298701299 + 40 +0.1298701298701299 + 40 +0.1298701298701299 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1558441558441558 + 40 +0.1558441558441558 + 40 +0.1558441558441558 + 40 +0.1558441558441558 + 40 +0.1688311688311688 + 40 +0.1688311688311688 + 40 +0.1688311688311688 + 40 +0.1688311688311688 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1818181818181818 + 40 +0.1948051948051948 + 40 +0.1948051948051948 + 40 +0.1948051948051948 + 40 +0.1948051948051948 + 40 +0.2077922077922078 + 40 +0.2077922077922078 + 40 +0.2077922077922078 + 40 +0.2077922077922078 + 40 +0.2207792207792208 + 40 +0.2207792207792208 + 40 +0.2207792207792208 + 40 +0.2207792207792208 + 40 +0.2337662337662338 + 40 +0.2337662337662338 + 40 +0.2337662337662338 + 40 +0.2337662337662338 + 40 +0.2467532467532468 + 40 +0.2467532467532468 + 40 +0.2467532467532468 + 40 +0.2467532467532468 + 40 +0.2597402597402597 + 40 +0.2597402597402597 + 40 +0.2597402597402597 + 40 +0.2597402597402597 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2727272727272727 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2987012987012987 + 40 +0.2987012987012987 + 40 +0.2987012987012987 + 40 +0.2987012987012987 + 40 +0.3116883116883117 + 40 +0.3116883116883117 + 40 +0.3116883116883117 + 40 +0.3116883116883117 + 40 +0.3246753246753247 + 40 +0.3246753246753247 + 40 +0.3246753246753247 + 40 +0.3246753246753247 + 40 +0.3376623376623377 + 40 +0.3376623376623377 + 40 +0.3376623376623377 + 40 +0.3376623376623377 + 40 +0.3506493506493507 + 40 +0.3506493506493507 + 40 +0.3506493506493507 + 40 +0.3506493506493507 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3636363636363636 + 40 +0.3766233766233766 + 40 +0.3766233766233766 + 40 +0.3766233766233766 + 40 +0.3766233766233766 + 40 +0.3896103896103896 + 40 +0.3896103896103896 + 40 +0.3896103896103896 + 40 +0.3896103896103896 + 40 +0.4025974025974026 + 40 +0.4025974025974026 + 40 +0.4025974025974026 + 40 +0.4025974025974026 + 40 +0.4155844155844156 + 40 +0.4155844155844156 + 40 +0.4155844155844156 + 40 +0.4155844155844156 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4415584415584415 + 40 +0.4415584415584415 + 40 +0.4415584415584415 + 40 +0.4415584415584415 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4545454545454545 + 40 +0.4675324675324675 + 40 +0.4675324675324675 + 40 +0.4675324675324675 + 40 +0.4675324675324675 + 40 +0.4805194805194805 + 40 +0.4805194805194805 + 40 +0.4805194805194805 + 40 +0.4805194805194805 + 40 +0.4935064935064935 + 40 +0.4935064935064935 + 40 +0.4935064935064935 + 40 +0.4935064935064935 + 40 +0.5064935064935064 + 40 +0.5064935064935064 + 40 +0.5064935064935064 + 40 +0.5064935064935064 + 40 +0.5194805194805194 + 40 +0.5194805194805194 + 40 +0.5194805194805194 + 40 +0.5194805194805194 + 40 +0.5324675324675324 + 40 +0.5324675324675324 + 40 +0.5324675324675324 + 40 +0.5324675324675324 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5454545454545454 + 40 +0.5584415584415584 + 40 +0.5584415584415584 + 40 +0.5584415584415584 + 40 +0.5584415584415584 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5844155844155844 + 40 +0.5844155844155844 + 40 +0.5844155844155844 + 40 +0.5844155844155844 + 40 +0.5974025974025974 + 40 +0.5974025974025974 + 40 +0.5974025974025974 + 40 +0.5974025974025974 + 40 +0.6103896103896104 + 40 +0.6103896103896104 + 40 +0.6103896103896104 + 40 +0.6103896103896104 + 40 +0.6233766233766234 + 40 +0.6233766233766234 + 40 +0.6233766233766234 + 40 +0.6233766233766234 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6363636363636364 + 40 +0.6493506493506493 + 40 +0.6493506493506493 + 40 +0.6493506493506493 + 40 +0.6493506493506493 + 40 +0.6623376623376623 + 40 +0.6623376623376623 + 40 +0.6623376623376623 + 40 +0.6623376623376623 + 40 +0.6753246753246753 + 40 +0.6753246753246753 + 40 +0.6753246753246753 + 40 +0.6753246753246753 + 40 +0.6883116883116883 + 40 +0.6883116883116883 + 40 +0.6883116883116883 + 40 +0.6883116883116883 + 40 +0.7012987012987013 + 40 +0.7012987012987013 + 40 +0.7012987012987013 + 40 +0.7012987012987013 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7272727272727273 + 40 +0.7402597402597403 + 40 +0.7402597402597403 + 40 +0.7402597402597403 + 40 +0.7402597402597403 + 40 +0.7532467532467533 + 40 +0.7532467532467533 + 40 +0.7532467532467533 + 40 +0.7532467532467533 + 40 +0.7662337662337663 + 40 +0.7662337662337663 + 40 +0.7662337662337663 + 40 +0.7662337662337663 + 40 +0.7792207792207793 + 40 +0.7792207792207793 + 40 +0.7792207792207793 + 40 +0.7792207792207793 + 40 +0.7922077922077922 + 40 +0.7922077922077922 + 40 +0.7922077922077922 + 40 +0.7922077922077922 + 40 +0.8051948051948052 + 40 +0.8051948051948052 + 40 +0.8051948051948052 + 40 +0.8051948051948052 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8181818181818182 + 40 +0.8311688311688312 + 40 +0.8311688311688312 + 40 +0.8311688311688312 + 40 +0.8311688311688312 + 40 +0.8441558441558441 + 40 +0.8441558441558441 + 40 +0.8441558441558441 + 40 +0.8441558441558441 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8701298701298701 + 40 +0.8701298701298701 + 40 +0.8701298701298701 + 40 +0.8701298701298701 + 40 +0.8831168831168831 + 40 +0.8831168831168831 + 40 +0.8831168831168831 + 40 +0.8831168831168831 + 40 +0.8961038961038961 + 40 +0.8961038961038961 + 40 +0.8961038961038961 + 40 +0.8961038961038961 + 40 +0.9090909090909091 + 40 +0.9090909090909091 + 40 +0.9090909090909091 + 40 +0.9090909090909091 + 40 +0.922077922077922 + 40 +0.922077922077922 + 40 +0.922077922077922 + 40 +0.922077922077922 + 40 +0.935064935064935 + 40 +0.935064935064935 + 40 +0.935064935064935 + 40 +0.935064935064935 + 40 +0.948051948051948 + 40 +0.948051948051948 + 40 +0.948051948051948 + 40 +0.948051948051948 + 40 +0.961038961038961 + 40 +0.961038961038961 + 40 +0.961038961038961 + 40 +0.961038961038961 + 40 +0.974025974025974 + 40 +0.974025974025974 + 40 +0.974025974025974 + 40 +0.974025974025974 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.584645669291338 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.125984251968504 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.0669291338582677 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.1358267716535433 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.3671259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.6751968503937008 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-0.8641732283464567 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.068897637795276 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.257874015748031 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.46259842519685 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.651574803149606 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-1.856299212598425 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.045275590551181 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.358267716535433 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.353346456692913 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.289370078740157 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-6.048228346456693 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.730314960629921 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.541338582677166 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.336614173228346 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-5.147637795275591 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.942913385826771 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.753937007874016 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.653543307086614 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.436023622047244 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.19488188976378 + 30 +0.0 + 10 +-2.584645669291338 + 20 +-4.19488188976378 + 30 +0.0 + 0 +SPLINE + 5 +47 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5189724409448819 + 20 +-5.740570866141733 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +-5.917236220472441 + 30 +0.0 + 10 +-0.6621889763779527 + 20 +-6.060452755905512 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-6.060452755905512 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-6.060452755905512 + 30 +0.0 + 10 +-1.01551968503937 + 20 +-6.060452755905512 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-5.917236220472441 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-5.740570866141733 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-5.740570866141733 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-5.563905511811024 + 30 +0.0 + 10 +-1.01551968503937 + 20 +-5.420688976377953 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-5.420688976377953 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-5.420688976377953 + 30 +0.0 + 10 +-0.6621889763779527 + 20 +-5.420688976377953 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +-5.563905511811024 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +-5.740570866141733 + 30 +0.0 + 0 +SPLINE + 5 +48 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5189724409448819 + 20 +-4.723641732283465 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +-4.900307086614173 + 30 +0.0 + 10 +-0.6621889763779527 + 20 +-5.043523622047244 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-5.043523622047244 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-5.043523622047244 + 30 +0.0 + 10 +-1.01551968503937 + 20 +-5.043523622047244 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-4.900307086614173 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-4.723641732283465 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-4.723641732283465 + 30 +0.0 + 10 +-1.158736220472441 + 20 +-4.546976377952756 + 30 +0.0 + 10 +-1.01551968503937 + 20 +-4.403759842519685 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-4.403759842519685 + 30 +0.0 + 10 +-0.8388543307086614 + 20 +-4.403759842519685 + 30 +0.0 + 10 +-0.6621889763779527 + 20 +-4.403759842519685 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +-4.546976377952756 + 30 +0.0 + 10 +-0.5189724409448819 + 20 +-4.723641732283465 + 30 +0.0 + 0 +SPLINE + 5 +49 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-5.056720472440944 + 20 +-2.483759842519685 + 30 +0.0 + 10 +-5.056720472440944 + 20 +-2.483759842519685 + 30 +0.0 + 10 +-5.085830708661417 + 20 +-2.48603937007874 + 30 +0.0 + 10 +-5.085830708661417 + 20 +-2.48603937007874 + 30 +0.0 + 10 +-5.085830708661417 + 20 +-2.48603937007874 + 30 +0.0 + 10 +-5.088444881889764 + 20 +-2.47453937007874 + 30 +0.0 + 10 +-5.092110236220472 + 20 +-2.466149606299213 + 30 +0.0 + 10 +-5.096889763779528 + 20 +-2.460984251968504 + 30 +0.0 + 10 +-5.096889763779528 + 20 +-2.460984251968504 + 30 +0.0 + 10 +-5.104830708661417 + 20 +-2.452594488188976 + 30 +0.0 + 10 +-5.114610236220472 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-5.126220472440945 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-5.126220472440945 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-5.135555118110236 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-5.143720472440945 + 20 +-2.45103937007874 + 30 +0.0 + 10 +-5.150775590551181 + 20 +-2.456259842519685 + 30 +0.0 + 10 +-5.150775590551181 + 20 +-2.456259842519685 + 30 +0.0 + 10 +-5.16 + 20 +-2.462984251968504 + 30 +0.0 + 10 +-5.167275590551181 + 20 +-2.472818897637795 + 30 +0.0 + 10 +-5.172610236220472 + 20 +-2.485704724409449 + 30 +0.0 + 10 +-5.172610236220472 + 20 +-2.485704724409449 + 30 +0.0 + 10 +-5.177889763779527 + 20 +-2.498594488188977 + 30 +0.0 + 10 +-5.180665354330709 + 20 +-2.516984251968504 + 30 +0.0 + 10 +-5.180889763779527 + 20 +-2.540874015748031 + 30 +0.0 + 10 +-5.180889763779527 + 20 +-2.540874015748031 + 30 +0.0 + 10 +-5.173834645669292 + 20 +-2.530149606299213 + 30 +0.0 + 10 +-5.165220472440945 + 20 +-2.522149606299213 + 30 +0.0 + 10 +-5.155 + 20 +-2.516929133858268 + 30 +0.0 + 10 +-5.155 + 20 +-2.516929133858268 + 30 +0.0 + 10 +-5.144830708661417 + 20 +-2.511763779527559 + 30 +0.0 + 10 +-5.134110236220472 + 20 +-2.509149606299212 + 30 +0.0 + 10 +-5.122944881889763 + 20 +-2.509149606299212 + 30 +0.0 + 10 +-5.122944881889763 + 20 +-2.509149606299212 + 30 +0.0 + 10 +-5.103389763779528 + 20 +-2.509149606299212 + 30 +0.0 + 10 +-5.086775590551181 + 20 +-2.516318897637795 + 30 +0.0 + 10 +-5.073055118110236 + 20 +-2.530704724409449 + 30 +0.0 + 10 +-5.073055118110236 + 20 +-2.530704724409449 + 30 +0.0 + 10 +-5.059330708661418 + 20 +-2.545094488188977 + 30 +0.0 + 10 +-5.052444881889763 + 20 +-2.563649606299212 + 30 +0.0 + 10 +-5.052444881889763 + 20 +-2.586429133858268 + 30 +0.0 + 10 +-5.052444881889763 + 20 +-2.586429133858268 + 30 +0.0 + 10 +-5.052444881889763 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-5.055720472440945 + 20 +-2.615318897637795 + 30 +0.0 + 10 +-5.062165354330709 + 20 +-2.628208661417323 + 30 +0.0 + 10 +-5.062165354330709 + 20 +-2.628208661417323 + 30 +0.0 + 10 +-5.068610236220472 + 20 +-2.64103937007874 + 30 +0.0 + 10 +-5.0775 + 20 +-2.650929133858268 + 30 +0.0 + 10 +-5.088775590551181 + 20 +-2.657763779527559 + 30 +0.0 + 10 +-5.088775590551181 + 20 +-2.657763779527559 + 30 +0.0 + 10 +-5.100055118110236 + 20 +-2.664594488188976 + 30 +0.0 + 10 +-5.112830708661417 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-5.127165354330709 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-5.127165354330709 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-5.151610236220472 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-5.1715 + 20 +-2.65903937007874 + 30 +0.0 + 10 +-5.186889763779527 + 20 +-2.64103937007874 + 30 +0.0 + 10 +-5.186889763779527 + 20 +-2.64103937007874 + 30 +0.0 + 10 +-5.202334645669291 + 20 +-2.623094488188976 + 30 +0.0 + 10 +-5.21 + 20 +-2.593484251968504 + 30 +0.0 + 10 +-5.21 + 20 +-2.552263779527559 + 30 +0.0 + 10 +-5.21 + 20 +-2.552263779527559 + 30 +0.0 + 10 +-5.21 + 20 +-2.506149606299213 + 30 +0.0 + 10 +-5.2015 + 20 +-2.472649606299213 + 30 +0.0 + 10 +-5.184444881889764 + 20 +-2.451704724409449 + 30 +0.0 + 10 +-5.184444881889764 + 20 +-2.451704724409449 + 30 +0.0 + 10 +-5.169610236220472 + 20 +-2.433484251968504 + 30 +0.0 + 10 +-5.149610236220473 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-5.124389763779527 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-5.124389763779527 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-5.105665354330709 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-5.090275590551181 + 20 +-2.429594488188976 + 30 +0.0 + 10 +-5.078275590551181 + 20 +-2.440149606299213 + 30 +0.0 + 10 +-5.078275590551181 + 20 +-2.440149606299213 + 30 +0.0 + 10 +-5.066275590551181 + 20 +-2.450649606299212 + 30 +0.0 + 10 +-5.059110236220472 + 20 +-2.465204724409449 + 30 +0.0 + 10 +-5.056720472440944 + 20 +-2.483759842519685 + 30 +0.0 + 0 +SPLINE + 5 +4A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-5.176334645669291 + 20 +-2.586594488188976 + 30 +0.0 + 10 +-5.176334645669291 + 20 +-2.596704724409449 + 30 +0.0 + 10 +-5.174165354330708 + 20 +-2.606374015748032 + 30 +0.0 + 10 +-5.169889763779527 + 20 +-2.615594488188977 + 30 +0.0 + 10 +-5.169889763779527 + 20 +-2.615594488188977 + 30 +0.0 + 10 +-5.165610236220473 + 20 +-2.624818897637795 + 30 +0.0 + 10 +-5.159610236220472 + 20 +-2.631818897637795 + 30 +0.0 + 10 +-5.151944881889764 + 20 +-2.636649606299212 + 30 +0.0 + 10 +-5.151944881889764 + 20 +-2.636649606299212 + 30 +0.0 + 10 +-5.144220472440945 + 20 +-2.641484251968504 + 30 +0.0 + 10 +-5.136110236220472 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-5.127665354330708 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-5.127665354330708 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-5.115275590551181 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-5.104665354330709 + 20 +-2.638929133858268 + 30 +0.0 + 10 +-5.095775590551181 + 20 +-2.628929133858268 + 30 +0.0 + 10 +-5.095775590551181 + 20 +-2.628929133858268 + 30 +0.0 + 10 +-5.086889763779528 + 20 +-2.618929133858268 + 30 +0.0 + 10 +-5.082444881889764 + 20 +-2.605374015748032 + 30 +0.0 + 10 +-5.082444881889764 + 20 +-2.588263779527559 + 30 +0.0 + 10 +-5.082444881889764 + 20 +-2.588263779527559 + 30 +0.0 + 10 +-5.082444881889764 + 20 +-2.571763779527559 + 30 +0.0 + 10 +-5.086830708661418 + 20 +-2.558763779527559 + 30 +0.0 + 10 +-5.095610236220472 + 20 +-2.549263779527559 + 30 +0.0 + 10 +-5.095610236220472 + 20 +-2.549263779527559 + 30 +0.0 + 10 +-5.104389763779528 + 20 +-2.539763779527559 + 30 +0.0 + 10 +-5.115444881889764 + 20 +-2.53503937007874 + 30 +0.0 + 10 +-5.128775590551181 + 20 +-2.53503937007874 + 30 +0.0 + 10 +-5.128775590551181 + 20 +-2.53503937007874 + 30 +0.0 + 10 +-5.142055118110236 + 20 +-2.53503937007874 + 30 +0.0 + 10 +-5.153275590551181 + 20 +-2.539763779527559 + 30 +0.0 + 10 +-5.1625 + 20 +-2.549263779527559 + 30 +0.0 + 10 +-5.1625 + 20 +-2.549263779527559 + 30 +0.0 + 10 +-5.171720472440945 + 20 +-2.558763779527559 + 30 +0.0 + 10 +-5.176334645669291 + 20 +-2.571204724409449 + 30 +0.0 + 10 +-5.176334645669291 + 20 +-2.586594488188976 + 30 +0.0 + 0 +SPLINE + 5 +4B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.869330708661417 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-5.027055118110236 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-5.027055118110236 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-5.027055118110236 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-5.027275590551181 + 20 +-2.656874015748032 + 30 +0.0 + 10 +-5.026165354330709 + 20 +-2.650094488188977 + 30 +0.0 + 10 +-5.023665354330709 + 20 +-2.643594488188977 + 30 +0.0 + 10 +-5.023665354330709 + 20 +-2.643594488188977 + 30 +0.0 + 10 +-5.019665354330709 + 20 +-2.632818897637795 + 30 +0.0 + 10 +-5.013220472440945 + 20 +-2.622263779527559 + 30 +0.0 + 10 +-5.004385826771654 + 20 +-2.611818897637795 + 30 +0.0 + 10 +-5.004385826771654 + 20 +-2.611818897637795 + 30 +0.0 + 10 +-4.9955 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-4.982720472440945 + 20 +-2.589374015748032 + 30 +0.0 + 10 +-4.966055118110236 + 20 +-2.575704724409449 + 30 +0.0 + 10 +-4.966055118110236 + 20 +-2.575704724409449 + 30 +0.0 + 10 +-4.940110236220472 + 20 +-2.554429133858268 + 30 +0.0 + 10 +-4.922555118110236 + 20 +-2.537594488188976 + 30 +0.0 + 10 +-4.91344094488189 + 20 +-2.525149606299212 + 30 +0.0 + 10 +-4.91344094488189 + 20 +-2.525149606299212 + 30 +0.0 + 10 +-4.904330708661417 + 20 +-2.512763779527559 + 30 +0.0 + 10 +-4.899775590551181 + 20 +-2.500984251968504 + 30 +0.0 + 10 +-4.899775590551181 + 20 +-2.489929133858268 + 30 +0.0 + 10 +-4.899775590551181 + 20 +-2.489929133858268 + 30 +0.0 + 10 +-4.899775590551181 + 20 +-2.478318897637795 + 30 +0.0 + 10 +-4.90394094488189 + 20 +-2.46853937007874 + 30 +0.0 + 10 +-4.912220472440945 + 20 +-2.46053937007874 + 30 +0.0 + 10 +-4.912220472440945 + 20 +-2.46053937007874 + 30 +0.0 + 10 +-4.920555118110236 + 20 +-2.452594488188976 + 30 +0.0 + 10 +-4.931385826771653 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.944720472440945 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.944720472440945 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.958830708661417 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.970110236220473 + 20 +-2.452818897637795 + 30 +0.0 + 10 +-4.978555118110236 + 20 +-2.461318897637795 + 30 +0.0 + 10 +-4.978555118110236 + 20 +-2.461318897637795 + 30 +0.0 + 10 +-4.987055118110236 + 20 +-2.469759842519685 + 30 +0.0 + 10 +-4.991330708661417 + 20 +-2.481484251968504 + 30 +0.0 + 10 +-4.991444881889763 + 20 +-2.496429133858268 + 30 +0.0 + 10 +-4.991444881889763 + 20 +-2.496429133858268 + 30 +0.0 + 10 +-4.991444881889763 + 20 +-2.496429133858268 + 30 +0.0 + 10 +-5.021555118110236 + 20 +-2.493374015748032 + 30 +0.0 + 10 +-5.021555118110236 + 20 +-2.493374015748032 + 30 +0.0 + 10 +-5.021555118110236 + 20 +-2.493374015748032 + 30 +0.0 + 10 +-5.0195 + 20 +-2.470874015748032 + 30 +0.0 + 10 +-5.011720472440945 + 20 +-2.453759842519685 + 30 +0.0 + 10 +-4.998275590551181 + 20 +-2.441984251968504 + 30 +0.0 + 10 +-4.998275590551181 + 20 +-2.441984251968504 + 30 +0.0 + 10 +-4.984830708661417 + 20 +-2.430204724409449 + 30 +0.0 + 10 +-4.966720472440945 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.944055118110236 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.944055118110236 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.921165354330709 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.903055118110236 + 20 +-2.430704724409449 + 30 +0.0 + 10 +-4.889720472440945 + 20 +-2.443374015748032 + 30 +0.0 + 10 +-4.889720472440945 + 20 +-2.443374015748032 + 30 +0.0 + 10 +-4.876330708661417 + 20 +-2.456094488188977 + 30 +0.0 + 10 +-4.869665354330708 + 20 +-2.471818897637795 + 30 +0.0 + 10 +-4.869665354330708 + 20 +-2.490594488188977 + 30 +0.0 + 10 +-4.869665354330708 + 20 +-2.490594488188977 + 30 +0.0 + 10 +-4.869665354330708 + 20 +-2.500149606299213 + 30 +0.0 + 10 +-4.871610236220472 + 20 +-2.50953937007874 + 30 +0.0 + 10 +-4.875555118110237 + 20 +-2.518763779527559 + 30 +0.0 + 10 +-4.875555118110237 + 20 +-2.518763779527559 + 30 +0.0 + 10 +-4.87944094488189 + 20 +-2.527984251968504 + 30 +0.0 + 10 +-4.88594094488189 + 20 +-2.537704724409449 + 30 +0.0 + 10 +-4.895 + 20 +-2.547874015748032 + 30 +0.0 + 10 +-4.895 + 20 +-2.547874015748032 + 30 +0.0 + 10 +-4.904055118110236 + 20 +-2.558094488188976 + 30 +0.0 + 10 +-4.919110236220472 + 20 +-2.572094488188976 + 30 +0.0 + 10 +-4.940165354330708 + 20 +-2.589874015748031 + 30 +0.0 + 10 +-4.940165354330708 + 20 +-2.589874015748031 + 30 +0.0 + 10 +-4.957720472440945 + 20 +-2.604649606299212 + 30 +0.0 + 10 +-4.969 + 20 +-2.614649606299213 + 30 +0.0 + 10 +-4.974 + 20 +-2.619929133858268 + 30 +0.0 + 10 +-4.974 + 20 +-2.619929133858268 + 30 +0.0 + 10 +-4.979 + 20 +-2.625149606299213 + 30 +0.0 + 10 +-4.983110236220472 + 20 +-2.630429133858268 + 30 +0.0 + 10 +-4.986385826771653 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.986385826771653 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.986385826771653 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.869330708661417 + 20 +-2.635763779527559 + 30 +0.0 + 0 +SPLINE + 5 +4C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.849330708661418 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.849330708661418 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.786165354330708 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.786165354330708 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.786165354330708 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.786165354330708 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.844610236220473 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.844610236220473 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.844610236220473 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.844610236220473 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.807996062992126 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.807996062992126 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.807996062992126 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.807996062992126 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.78144094488189 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.78144094488189 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.78144094488189 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.776496062992126 + 20 +-2.539318897637795 + 30 +0.0 + 10 +-4.77244094488189 + 20 +-2.545763779527559 + 30 +0.0 + 10 +-4.76944094488189 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-4.76944094488189 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-4.764665354330709 + 20 +-2.543818897637795 + 30 +0.0 + 10 +-4.760275590551181 + 20 +-2.537484251968504 + 30 +0.0 + 10 +-4.756220472440945 + 20 +-2.531929133858268 + 30 +0.0 + 10 +-4.756220472440945 + 20 +-2.531929133858268 + 30 +0.0 + 10 +-4.756220472440945 + 20 +-2.531929133858268 + 30 +0.0 + 10 +-4.727110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.727110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.727110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.727110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.692110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.692110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.692110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.692110236220472 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.751830708661418 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.751830708661418 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.751830708661418 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.751830708661418 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.687551181102362 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.687551181102362 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.687551181102362 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.687551181102362 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.723496062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.723496062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.723496062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.723496062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.758996062992126 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.758996062992126 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.758996062992126 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.758996062992126 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.76844094488189 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.76844094488189 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.76844094488189 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.76844094488189 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.813830708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.813830708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.813830708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.813830708661417 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.849330708661418 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.849330708661418 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +4D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.517271653543308 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.674996062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.674996062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.674996062992126 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.675216535433071 + 20 +-2.656874015748032 + 30 +0.0 + 10 +-4.674106299212599 + 20 +-2.650094488188977 + 30 +0.0 + 10 +-4.671606299212598 + 20 +-2.643594488188977 + 30 +0.0 + 10 +-4.671606299212598 + 20 +-2.643594488188977 + 30 +0.0 + 10 +-4.667606299212599 + 20 +-2.632818897637795 + 30 +0.0 + 10 +-4.661161417322835 + 20 +-2.622263779527559 + 30 +0.0 + 10 +-4.652326771653543 + 20 +-2.611818897637795 + 30 +0.0 + 10 +-4.652326771653543 + 20 +-2.611818897637795 + 30 +0.0 + 10 +-4.64344094488189 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-4.630661417322835 + 20 +-2.589374015748032 + 30 +0.0 + 10 +-4.613996062992126 + 20 +-2.575704724409449 + 30 +0.0 + 10 +-4.613996062992126 + 20 +-2.575704724409449 + 30 +0.0 + 10 +-4.588051181102363 + 20 +-2.554429133858268 + 30 +0.0 + 10 +-4.570496062992126 + 20 +-2.537594488188976 + 30 +0.0 + 10 +-4.56138188976378 + 20 +-2.525149606299212 + 30 +0.0 + 10 +-4.56138188976378 + 20 +-2.525149606299212 + 30 +0.0 + 10 +-4.552271653543307 + 20 +-2.512763779527559 + 30 +0.0 + 10 +-4.547716535433071 + 20 +-2.500984251968504 + 30 +0.0 + 10 +-4.547716535433071 + 20 +-2.489929133858268 + 30 +0.0 + 10 +-4.547716535433071 + 20 +-2.489929133858268 + 30 +0.0 + 10 +-4.547716535433071 + 20 +-2.478318897637795 + 30 +0.0 + 10 +-4.55188188976378 + 20 +-2.46853937007874 + 30 +0.0 + 10 +-4.560161417322835 + 20 +-2.46053937007874 + 30 +0.0 + 10 +-4.560161417322835 + 20 +-2.46053937007874 + 30 +0.0 + 10 +-4.568496062992126 + 20 +-2.452594488188976 + 30 +0.0 + 10 +-4.579326771653544 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.592661417322835 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.592661417322835 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.606771653543307 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-4.618051181102362 + 20 +-2.452818897637795 + 30 +0.0 + 10 +-4.626496062992126 + 20 +-2.461318897637795 + 30 +0.0 + 10 +-4.626496062992126 + 20 +-2.461318897637795 + 30 +0.0 + 10 +-4.634996062992126 + 20 +-2.469759842519685 + 30 +0.0 + 10 +-4.639271653543307 + 20 +-2.481484251968504 + 30 +0.0 + 10 +-4.639385826771654 + 20 +-2.496429133858268 + 30 +0.0 + 10 +-4.639385826771654 + 20 +-2.496429133858268 + 30 +0.0 + 10 +-4.639385826771654 + 20 +-2.496429133858268 + 30 +0.0 + 10 +-4.669496062992126 + 20 +-2.493374015748032 + 30 +0.0 + 10 +-4.669496062992126 + 20 +-2.493374015748032 + 30 +0.0 + 10 +-4.669496062992126 + 20 +-2.493374015748032 + 30 +0.0 + 10 +-4.66744094488189 + 20 +-2.470874015748032 + 30 +0.0 + 10 +-4.659661417322835 + 20 +-2.453759842519685 + 30 +0.0 + 10 +-4.646216535433071 + 20 +-2.441984251968504 + 30 +0.0 + 10 +-4.646216535433071 + 20 +-2.441984251968504 + 30 +0.0 + 10 +-4.632771653543307 + 20 +-2.430204724409449 + 30 +0.0 + 10 +-4.614661417322835 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.591996062992126 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.591996062992126 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.569106299212598 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-4.550996062992126 + 20 +-2.430704724409449 + 30 +0.0 + 10 +-4.537661417322835 + 20 +-2.443374015748032 + 30 +0.0 + 10 +-4.537661417322835 + 20 +-2.443374015748032 + 30 +0.0 + 10 +-4.524271653543307 + 20 +-2.456094488188977 + 30 +0.0 + 10 +-4.517606299212598 + 20 +-2.471818897637795 + 30 +0.0 + 10 +-4.517606299212598 + 20 +-2.490594488188977 + 30 +0.0 + 10 +-4.517606299212598 + 20 +-2.490594488188977 + 30 +0.0 + 10 +-4.517606299212598 + 20 +-2.500149606299213 + 30 +0.0 + 10 +-4.519551181102362 + 20 +-2.50953937007874 + 30 +0.0 + 10 +-4.523496062992126 + 20 +-2.518763779527559 + 30 +0.0 + 10 +-4.523496062992126 + 20 +-2.518763779527559 + 30 +0.0 + 10 +-4.527381889763779 + 20 +-2.527984251968504 + 30 +0.0 + 10 +-4.533881889763779 + 20 +-2.537704724409449 + 30 +0.0 + 10 +-4.54294094488189 + 20 +-2.547874015748032 + 30 +0.0 + 10 +-4.54294094488189 + 20 +-2.547874015748032 + 30 +0.0 + 10 +-4.551996062992126 + 20 +-2.558094488188976 + 30 +0.0 + 10 +-4.567051181102363 + 20 +-2.572094488188976 + 30 +0.0 + 10 +-4.588106299212598 + 20 +-2.589874015748031 + 30 +0.0 + 10 +-4.588106299212598 + 20 +-2.589874015748031 + 30 +0.0 + 10 +-4.605661417322835 + 20 +-2.604649606299212 + 30 +0.0 + 10 +-4.61694094488189 + 20 +-2.614649606299213 + 30 +0.0 + 10 +-4.62194094488189 + 20 +-2.619929133858268 + 30 +0.0 + 10 +-4.62194094488189 + 20 +-2.619929133858268 + 30 +0.0 + 10 +-4.626940944881889 + 20 +-2.625149606299213 + 30 +0.0 + 10 +-4.631051181102362 + 20 +-2.630429133858268 + 30 +0.0 + 10 +-4.634326771653543 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.634326771653543 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.634326771653543 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.635763779527559 + 30 +0.0 + 10 +-4.517271653543308 + 20 +-2.635763779527559 + 30 +0.0 + 0 +SPLINE + 5 +4E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.391992125984252 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.495496062992126 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.386606299212598 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.386606299212598 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.386606299212598 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.386606299212598 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.330437007874016 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.606818897637795 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.362661417322835 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +4F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 16 + 73 + 12 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.391992125984252 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.472374015748032 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.472374015748032 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.472374015748032 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.472374015748032 + 30 +0.0 + 10 +-4.466661417322834 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.466661417322834 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.466661417322834 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.466661417322834 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.579929133858267 + 30 +0.0 + 10 +-4.391992125984252 + 20 +-2.579929133858267 + 30 +0.0 + 0 +SPLINE + 5 +50 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.31188188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.31188188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.248716535433071 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.248716535433071 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.248716535433071 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.248716535433071 + 20 +-2.574094488188976 + 30 +0.0 + 10 +-4.307161417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.307161417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.307161417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.307161417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.270547244094488 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.270547244094488 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.270547244094488 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.270547244094488 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.243992125984252 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.243992125984252 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.243992125984252 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.239047244094488 + 20 +-2.539318897637795 + 30 +0.0 + 10 +-4.234992125984252 + 20 +-2.545763779527559 + 30 +0.0 + 10 +-4.231992125984252 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-4.231992125984252 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-4.227216535433071 + 20 +-2.543818897637795 + 30 +0.0 + 10 +-4.222826771653543 + 20 +-2.537484251968504 + 30 +0.0 + 10 +-4.218771653543307 + 20 +-2.531929133858268 + 30 +0.0 + 10 +-4.218771653543307 + 20 +-2.531929133858268 + 30 +0.0 + 10 +-4.218771653543307 + 20 +-2.531929133858268 + 30 +0.0 + 10 +-4.189661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.189661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.189661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.189661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.154661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.154661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.154661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.154661417322835 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-4.214381889763779 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.214381889763779 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.214381889763779 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.214381889763779 + 20 +-2.572484251968504 + 30 +0.0 + 10 +-4.150102362204724 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.150102362204724 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.150102362204724 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.150102362204724 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.186047244094488 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.186047244094488 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.186047244094488 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.186047244094488 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.221547244094488 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.221547244094488 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.221547244094488 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.221547244094488 + 20 +-2.610208661417323 + 30 +0.0 + 10 +-4.230992125984252 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.230992125984252 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.230992125984252 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.230992125984252 + 20 +-2.595704724409449 + 30 +0.0 + 10 +-4.27638188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.27638188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.27638188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.27638188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.31188188976378 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-4.31188188976378 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +51 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-4.133822834645669 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-4.133822834645669 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-4.103047244094488 + 20 +-2.598818897637795 + 30 +0.0 + 10 +-4.103047244094488 + 20 +-2.598818897637795 + 30 +0.0 + 10 +-4.103047244094488 + 20 +-2.598818897637795 + 30 +0.0 + 10 +-4.100767716535433 + 20 +-2.613818897637795 + 30 +0.0 + 10 +-4.095492125984252 + 20 +-2.62503937007874 + 30 +0.0 + 10 +-4.087212598425197 + 20 +-2.632594488188976 + 30 +0.0 + 10 +-4.087212598425197 + 20 +-2.632594488188976 + 30 +0.0 + 10 +-4.078877952755906 + 20 +-2.640149606299213 + 30 +0.0 + 10 +-4.068877952755906 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-4.05715748031496 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-4.05715748031496 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-4.043047244094488 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-4.031102362204725 + 20 +-2.638594488188976 + 30 +0.0 + 10 +-4.021377952755905 + 20 +-2.627984251968504 + 30 +0.0 + 10 +-4.021377952755905 + 20 +-2.627984251968504 + 30 +0.0 + 10 +-4.011602362204725 + 20 +-2.617318897637795 + 30 +0.0 + 10 +-4.006712598425197 + 20 +-2.603204724409449 + 30 +0.0 + 10 +-4.006712598425197 + 20 +-2.585649606299213 + 30 +0.0 + 10 +-4.006712598425197 + 20 +-2.585649606299213 + 30 +0.0 + 10 +-4.006712598425197 + 20 +-2.568929133858268 + 30 +0.0 + 10 +-4.011377952755906 + 20 +-2.555763779527559 + 30 +0.0 + 10 +-4.020767716535433 + 20 +-2.546094488188976 + 30 +0.0 + 10 +-4.020767716535433 + 20 +-2.546094488188976 + 30 +0.0 + 10 +-4.03015748031496 + 20 +-2.536429133858268 + 30 +0.0 + 10 +-4.042433070866141 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.057657480314961 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.057657480314961 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.067102362204724 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-4.075602362204725 + 20 +-2.533763779527559 + 30 +0.0 + 10 +-4.083212598425197 + 20 +-2.53803937007874 + 30 +0.0 + 10 +-4.083212598425197 + 20 +-2.53803937007874 + 30 +0.0 + 10 +-4.090822834645669 + 20 +-2.542318897637795 + 30 +0.0 + 10 +-4.096767716535433 + 20 +-2.547874015748032 + 30 +0.0 + 10 +-4.101102362204724 + 20 +-2.554704724409449 + 30 +0.0 + 10 +-4.101102362204724 + 20 +-2.554704724409449 + 30 +0.0 + 10 +-4.101102362204724 + 20 +-2.554704724409449 + 30 +0.0 + 10 +-4.128602362204725 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-4.128602362204725 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-4.128602362204725 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-4.128602362204725 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-4.105492125984252 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-4.105492125984252 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-4.105492125984252 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-4.105492125984252 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-3.986822834645669 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-4.082047244094488 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-4.082047244094488 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-4.082047244094488 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-4.082047244094488 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-4.094937007874016 + 20 +-2.520704724409449 + 30 +0.0 + 10 +-4.094937007874016 + 20 +-2.520704724409449 + 30 +0.0 + 10 +-4.094937007874016 + 20 +-2.520704724409449 + 30 +0.0 + 10 +-4.080602362204725 + 20 +-2.510704724409449 + 30 +0.0 + 10 +-4.065547244094488 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-4.04982283464567 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-4.04982283464567 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-4.028992125984252 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-4.011433070866142 + 20 +-2.512929133858268 + 30 +0.0 + 10 +-3.997102362204724 + 20 +-2.527374015748031 + 30 +0.0 + 10 +-3.997102362204724 + 20 +-2.527374015748031 + 30 +0.0 + 10 +-3.982767716535433 + 20 +-2.541818897637795 + 30 +0.0 + 10 +-3.975602362204724 + 20 +-2.560374015748032 + 30 +0.0 + 10 +-3.975602362204724 + 20 +-2.58303937007874 + 30 +0.0 + 10 +-3.975602362204724 + 20 +-2.58303937007874 + 30 +0.0 + 10 +-3.975602362204724 + 20 +-2.604649606299212 + 30 +0.0 + 10 +-3.981933070866142 + 20 +-2.623318897637795 + 30 +0.0 + 10 +-3.994492125984252 + 20 +-2.63903937007874 + 30 +0.0 + 10 +-3.994492125984252 + 20 +-2.63903937007874 + 30 +0.0 + 10 +-4.00982283464567 + 20 +-2.658318897637795 + 30 +0.0 + 10 +-4.030712598425197 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-4.05715748031496 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-4.05715748031496 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-4.078877952755906 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-4.096602362204725 + 20 +-2.661929133858268 + 30 +0.0 + 10 +-4.110322834645669 + 20 +-2.649763779527559 + 30 +0.0 + 10 +-4.110322834645669 + 20 +-2.649763779527559 + 30 +0.0 + 10 +-4.124047244094488 + 20 +-2.637594488188976 + 30 +0.0 + 10 +-4.131877952755906 + 20 +-2.621484251968504 + 30 +0.0 + 10 +-4.133822834645669 + 20 +-2.601429133858268 + 30 +0.0 + 0 +SPLINE + 5 +52 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 124 + 73 + 120 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.032258064516129 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0645161290322581 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.0967741935483871 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1290322580645161 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1612903225806452 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.1935483870967742 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2258064516129032 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2580645161290323 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.2903225806451613 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3225806451612903 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3548387096774194 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.3870967741935484 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4193548387096774 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4516129032258064 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.4838709677419355 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5161290322580645 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5483870967741935 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.5806451612903226 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6129032258064516 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6451612903225806 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.6774193548387096 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7096774193548387 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7419354838709677 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.7741935483870968 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8064516129032258 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8387096774193549 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.8709677419354839 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9032258064516129 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +0.9354838709677419 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.948267716535433 + 20 +-2.600929133858268 + 30 +0.0 + 10 +-3.948267716535433 + 20 +-2.600929133858268 + 30 +0.0 + 10 +-3.918988188976378 + 20 +-2.59703937007874 + 30 +0.0 + 10 +-3.918988188976378 + 20 +-2.59703937007874 + 30 +0.0 + 10 +-3.918988188976378 + 20 +-2.59703937007874 + 30 +0.0 + 10 +-3.915602362204724 + 20 +-2.613649606299213 + 30 +0.0 + 10 +-3.909877952755906 + 20 +-2.625594488188976 + 30 +0.0 + 10 +-3.901822834645669 + 20 +-2.632929133858268 + 30 +0.0 + 10 +-3.901822834645669 + 20 +-2.632929133858268 + 30 +0.0 + 10 +-3.893712598425197 + 20 +-2.640263779527559 + 30 +0.0 + 10 +-3.883877952755905 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-3.872267716535433 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-3.872267716535433 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-3.858488188976378 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-3.846822834645669 + 20 +-2.639149606299213 + 30 +0.0 + 10 +-3.837322834645669 + 20 +-2.629594488188976 + 30 +0.0 + 10 +-3.837322834645669 + 20 +-2.629594488188976 + 30 +0.0 + 10 +-3.827877952755906 + 20 +-2.62003937007874 + 30 +0.0 + 10 +-3.823102362204724 + 20 +-2.608204724409449 + 30 +0.0 + 10 +-3.823102362204724 + 20 +-2.594094488188976 + 30 +0.0 + 10 +-3.823102362204724 + 20 +-2.594094488188976 + 30 +0.0 + 10 +-3.823102362204724 + 20 +-2.580649606299213 + 30 +0.0 + 10 +-3.827488188976378 + 20 +-2.56953937007874 + 30 +0.0 + 10 +-3.836267716535433 + 20 +-2.560818897637795 + 30 +0.0 + 10 +-3.836267716535433 + 20 +-2.560818897637795 + 30 +0.0 + 10 +-3.845102362204724 + 20 +-2.552094488188976 + 30 +0.0 + 10 +-3.856267716535433 + 20 +-2.547704724409449 + 30 +0.0 + 10 +-3.869822834645669 + 20 +-2.547704724409449 + 30 +0.0 + 10 +-3.869822834645669 + 20 +-2.547704724409449 + 30 +0.0 + 10 +-3.875377952755906 + 20 +-2.547704724409449 + 30 +0.0 + 10 +-3.882267716535433 + 20 +-2.548818897637795 + 30 +0.0 + 10 +-3.890488188976378 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-3.890488188976378 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-3.890488188976378 + 20 +-2.550984251968504 + 30 +0.0 + 10 +-3.887212598425197 + 20 +-2.525263779527559 + 30 +0.0 + 10 +-3.887212598425197 + 20 +-2.525263779527559 + 30 +0.0 + 10 +-3.887212598425197 + 20 +-2.525263779527559 + 30 +0.0 + 10 +-3.885267716535433 + 20 +-2.525484251968504 + 30 +0.0 + 10 +-3.883712598425197 + 20 +-2.525594488188976 + 30 +0.0 + 10 +-3.882488188976378 + 20 +-2.525594488188976 + 30 +0.0 + 10 +-3.882488188976378 + 20 +-2.525594488188976 + 30 +0.0 + 10 +-3.870043307086614 + 20 +-2.525594488188976 + 30 +0.0 + 10 +-3.858822834645669 + 20 +-2.522318897637795 + 30 +0.0 + 10 +-3.848822834645669 + 20 +-2.515818897637795 + 30 +0.0 + 10 +-3.848822834645669 + 20 +-2.515818897637795 + 30 +0.0 + 10 +-3.838822834645669 + 20 +-2.509318897637795 + 30 +0.0 + 10 +-3.833822834645669 + 20 +-2.499263779527559 + 30 +0.0 + 10 +-3.833822834645669 + 20 +-2.485704724409449 + 30 +0.0 + 10 +-3.833822834645669 + 20 +-2.485704724409449 + 30 +0.0 + 10 +-3.833822834645669 + 20 +-2.474984251968504 + 30 +0.0 + 10 +-3.837488188976378 + 20 +-2.46603937007874 + 30 +0.0 + 10 +-3.844767716535433 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-3.844767716535433 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-3.852043307086614 + 20 +-2.451984251968504 + 30 +0.0 + 10 +-3.861433070866142 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-3.872933070866142 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-3.872933070866142 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-3.884322834645669 + 20 +-2.448429133858268 + 30 +0.0 + 10 +-3.893822834645669 + 20 +-2.45203937007874 + 30 +0.0 + 10 +-3.901377952755905 + 20 +-2.459149606299213 + 30 +0.0 + 10 +-3.901377952755905 + 20 +-2.459149606299213 + 30 +0.0 + 10 +-3.908988188976378 + 20 +-2.466318897637795 + 30 +0.0 + 10 +-3.913877952755906 + 20 +-2.477094488188976 + 30 +0.0 + 10 +-3.916047244094488 + 20 +-2.491429133858268 + 30 +0.0 + 10 +-3.916047244094488 + 20 +-2.491429133858268 + 30 +0.0 + 10 +-3.916047244094488 + 20 +-2.491429133858268 + 30 +0.0 + 10 +-3.945322834645669 + 20 +-2.486204724409449 + 30 +0.0 + 10 +-3.945322834645669 + 20 +-2.486204724409449 + 30 +0.0 + 10 +-3.945322834645669 + 20 +-2.486204724409449 + 30 +0.0 + 10 +-3.941767716535433 + 20 +-2.46653937007874 + 30 +0.0 + 10 +-3.933602362204724 + 20 +-2.451318897637795 + 30 +0.0 + 10 +-3.920933070866142 + 20 +-2.44053937007874 + 30 +0.0 + 10 +-3.920933070866142 + 20 +-2.44053937007874 + 30 +0.0 + 10 +-3.908212598425197 + 20 +-2.429759842519685 + 30 +0.0 + 10 +-3.892433070866142 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-3.873543307086614 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-3.873543307086614 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-3.860543307086614 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-3.848543307086614 + 20 +-2.427149606299213 + 30 +0.0 + 10 +-3.837602362204724 + 20 +-2.432704724409449 + 30 +0.0 + 10 +-3.837602362204724 + 20 +-2.432704724409449 + 30 +0.0 + 10 +-3.826657480314961 + 20 +-2.438318897637795 + 30 +0.0 + 10 +-3.818267716535433 + 20 +-2.445929133858268 + 30 +0.0 + 10 +-3.812433070866142 + 20 +-2.455594488188976 + 30 +0.0 + 10 +-3.812433070866142 + 20 +-2.455594488188976 + 30 +0.0 + 10 +-3.806657480314961 + 20 +-2.465259842519685 + 30 +0.0 + 10 +-3.803712598425197 + 20 +-2.475484251968504 + 30 +0.0 + 10 +-3.803712598425197 + 20 +-2.486374015748031 + 30 +0.0 + 10 +-3.803712598425197 + 20 +-2.486374015748031 + 30 +0.0 + 10 +-3.803712598425197 + 20 +-2.496649606299213 + 30 +0.0 + 10 +-3.806488188976378 + 20 +-2.50603937007874 + 30 +0.0 + 10 +-3.812043307086614 + 20 +-2.51453937007874 + 30 +0.0 + 10 +-3.812043307086614 + 20 +-2.51453937007874 + 30 +0.0 + 10 +-3.817602362204724 + 20 +-2.522984251968504 + 30 +0.0 + 10 +-3.825767716535433 + 20 +-2.529704724409449 + 30 +0.0 + 10 +-3.836602362204725 + 20 +-2.534704724409449 + 30 +0.0 + 10 +-3.836602362204725 + 20 +-2.534704724409449 + 30 +0.0 + 10 +-3.822488188976378 + 20 +-2.537929133858268 + 30 +0.0 + 10 +-3.811543307086614 + 20 +-2.544704724409449 + 30 +0.0 + 10 +-3.803712598425197 + 20 +-2.554984251968504 + 30 +0.0 + 10 +-3.803712598425197 + 20 +-2.554984251968504 + 30 +0.0 + 10 +-3.795933070866142 + 20 +-2.565204724409449 + 30 +0.0 + 10 +-3.792043307086614 + 20 +-2.57803937007874 + 30 +0.0 + 10 +-3.792043307086614 + 20 +-2.593429133858268 + 30 +0.0 + 10 +-3.792043307086614 + 20 +-2.593429133858268 + 30 +0.0 + 10 +-3.792043307086614 + 20 +-2.614263779527559 + 30 +0.0 + 10 +-3.799602362204725 + 20 +-2.631929133858268 + 30 +0.0 + 10 +-3.814822834645669 + 20 +-2.646429133858268 + 30 +0.0 + 10 +-3.814822834645669 + 20 +-2.646429133858268 + 30 +0.0 + 10 +-3.829988188976378 + 20 +-2.660929133858268 + 30 +0.0 + 10 +-3.849212598425197 + 20 +-2.668149606299213 + 30 +0.0 + 10 +-3.872433070866142 + 20 +-2.668149606299213 + 30 +0.0 + 10 +-3.872433070866142 + 20 +-2.668149606299213 + 30 +0.0 + 10 +-3.893377952755905 + 20 +-2.668149606299213 + 30 +0.0 + 10 +-3.910767716535433 + 20 +-2.661929133858268 + 30 +0.0 + 10 +-3.924602362204725 + 20 +-2.649429133858268 + 30 +0.0 + 10 +-3.924602362204725 + 20 +-2.649429133858268 + 30 +0.0 + 10 +-3.938433070866142 + 20 +-2.636984251968504 + 30 +0.0 + 10 +-3.946322834645669 + 20 +-2.620818897637795 + 30 +0.0 + 10 +-3.948267716535433 + 20 +-2.600929133858268 + 30 +0.0 + 0 +SPLINE + 5 +53 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.754877952755905 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.515318897637795 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.515318897637795 + 30 +0.0 + 10 +-3.728712598425197 + 20 +-2.515318897637795 + 30 +0.0 + 10 +-3.723267716535433 + 20 +-2.506874015748032 + 30 +0.0 + 10 +-3.716043307086614 + 20 +-2.50003937007874 + 30 +0.0 + 10 +-3.707043307086614 + 20 +-2.494929133858268 + 30 +0.0 + 10 +-3.707043307086614 + 20 +-2.494929133858268 + 30 +0.0 + 10 +-3.698043307086614 + 20 +-2.489759842519685 + 30 +0.0 + 10 +-3.687767716535433 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.676267716535433 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.676267716535433 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.663488188976378 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.652988188976378 + 20 +-2.489818897637795 + 30 +0.0 + 10 +-3.644822834645669 + 20 +-2.495149606299213 + 30 +0.0 + 10 +-3.644822834645669 + 20 +-2.495149606299213 + 30 +0.0 + 10 +-3.63659842519685 + 20 +-2.500484251968504 + 30 +0.0 + 10 +-3.630822834645669 + 20 +-2.507874015748031 + 30 +0.0 + 10 +-3.627488188976378 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-3.627488188976378 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-3.613767716535433 + 20 +-2.497259842519685 + 30 +0.0 + 10 +-3.595988188976378 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.57409842519685 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.57409842519685 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.556933070866142 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.543767716535433 + 20 +-2.491929133858268 + 30 +0.0 + 10 +-3.534543307086614 + 20 +-2.501429133858268 + 30 +0.0 + 10 +-3.534543307086614 + 20 +-2.501429133858268 + 30 +0.0 + 10 +-3.525322834645669 + 20 +-2.510929133858268 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.52553937007874 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.545263779527559 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.545263779527559 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.545263779527559 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.520708661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.55503937007874 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.55503937007874 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.55503937007874 + 30 +0.0 + 10 +-3.549822834645669 + 20 +-2.543318897637795 + 30 +0.0 + 10 +-3.550767716535433 + 20 +-2.534874015748032 + 30 +0.0 + 10 +-3.552653543307087 + 20 +-2.529704724409449 + 30 +0.0 + 10 +-3.552653543307087 + 20 +-2.529704724409449 + 30 +0.0 + 10 +-3.554598425196851 + 20 +-2.524594488188976 + 30 +0.0 + 10 +-3.558043307086614 + 20 +-2.520429133858268 + 30 +0.0 + 10 +-3.562988188976378 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-3.562988188976378 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-3.567988188976378 + 20 +-2.514149606299213 + 30 +0.0 + 10 +-3.573877952755906 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.58059842519685 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.58059842519685 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.592767716535433 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.602822834645669 + 20 +-2.516594488188976 + 30 +0.0 + 10 +-3.610877952755906 + 20 +-2.524704724409449 + 30 +0.0 + 10 +-3.610877952755906 + 20 +-2.524704724409449 + 30 +0.0 + 10 +-3.618877952755906 + 20 +-2.532763779527559 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.545704724409449 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.563484251968504 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.563484251968504 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.563484251968504 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.622933070866142 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.551649606299212 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.551649606299212 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.551649606299212 + 30 +0.0 + 10 +-3.652212598425197 + 20 +-2.538594488188977 + 30 +0.0 + 10 +-3.65459842519685 + 20 +-2.528818897637795 + 30 +0.0 + 10 +-3.659377952755905 + 20 +-2.522318897637795 + 30 +0.0 + 10 +-3.659377952755905 + 20 +-2.522318897637795 + 30 +0.0 + 10 +-3.664153543307087 + 20 +-2.515818897637795 + 30 +0.0 + 10 +-3.671933070866142 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.682822834645669 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.682822834645669 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.691043307086614 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.698653543307087 + 20 +-2.514704724409449 + 30 +0.0 + 10 +-3.705653543307087 + 20 +-2.519094488188976 + 30 +0.0 + 10 +-3.705653543307087 + 20 +-2.519094488188976 + 30 +0.0 + 10 +-3.712653543307086 + 20 +-2.523429133858268 + 30 +0.0 + 10 +-3.717767716535433 + 20 +-2.529763779527559 + 30 +0.0 + 10 +-3.720877952755905 + 20 +-2.538094488188976 + 30 +0.0 + 10 +-3.720877952755905 + 20 +-2.538094488188976 + 30 +0.0 + 10 +-3.724043307086614 + 20 +-2.546484251968504 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.55853937007874 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.72559842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.754877952755905 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +54 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 116 + 73 + 112 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0344827586206897 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.0689655172413793 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.103448275862069 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1379310344827586 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.1724137931034483 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2068965517241379 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2413793103448276 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.2758620689655172 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3103448275862069 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3448275862068966 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.3793103448275862 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4137931034482759 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4482758620689655 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.4827586206896552 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5172413793103449 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5517241379310345 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.5862068965517241 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6206896551724138 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6551724137931034 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.6896551724137931 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7241379310344828 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7586206896551724 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.7931034482758621 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8275862068965517 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.8620689655172413 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.896551724137931 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +0.9310344827586207 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.477208661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.515318897637795 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.515318897637795 + 30 +0.0 + 10 +-3.451043307086614 + 20 +-2.515318897637795 + 30 +0.0 + 10 +-3.445598425196851 + 20 +-2.506874015748032 + 30 +0.0 + 10 +-3.438374015748031 + 20 +-2.50003937007874 + 30 +0.0 + 10 +-3.429374015748031 + 20 +-2.494929133858268 + 30 +0.0 + 10 +-3.429374015748031 + 20 +-2.494929133858268 + 30 +0.0 + 10 +-3.420374015748032 + 20 +-2.489759842519685 + 30 +0.0 + 10 +-3.41009842519685 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.39859842519685 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.39859842519685 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.385818897637795 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.375318897637795 + 20 +-2.489818897637795 + 30 +0.0 + 10 +-3.367153543307086 + 20 +-2.495149606299213 + 30 +0.0 + 10 +-3.367153543307086 + 20 +-2.495149606299213 + 30 +0.0 + 10 +-3.358929133858268 + 20 +-2.500484251968504 + 30 +0.0 + 10 +-3.353153543307087 + 20 +-2.507874015748031 + 30 +0.0 + 10 +-3.349818897637795 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-3.349818897637795 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-3.33609842519685 + 20 +-2.497259842519685 + 30 +0.0 + 10 +-3.318318897637795 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.296429133858268 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.296429133858268 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.279263779527559 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-3.266098425196851 + 20 +-2.491929133858268 + 30 +0.0 + 10 +-3.256874015748032 + 20 +-2.501429133858268 + 30 +0.0 + 10 +-3.256874015748032 + 20 +-2.501429133858268 + 30 +0.0 + 10 +-3.247653543307087 + 20 +-2.510929133858268 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.52553937007874 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.545263779527559 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.545263779527559 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.545263779527559 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.24303937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.55503937007874 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.55503937007874 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.55503937007874 + 30 +0.0 + 10 +-3.272153543307087 + 20 +-2.543318897637795 + 30 +0.0 + 10 +-3.27309842519685 + 20 +-2.534874015748032 + 30 +0.0 + 10 +-3.274984251968504 + 20 +-2.529704724409449 + 30 +0.0 + 10 +-3.274984251968504 + 20 +-2.529704724409449 + 30 +0.0 + 10 +-3.276929133858268 + 20 +-2.524594488188976 + 30 +0.0 + 10 +-3.280374015748031 + 20 +-2.520429133858268 + 30 +0.0 + 10 +-3.285318897637795 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-3.285318897637795 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-3.290318897637795 + 20 +-2.514149606299213 + 30 +0.0 + 10 +-3.296208661417323 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.302929133858268 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.302929133858268 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.31509842519685 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.325153543307087 + 20 +-2.516594488188976 + 30 +0.0 + 10 +-3.333208661417323 + 20 +-2.524704724409449 + 30 +0.0 + 10 +-3.333208661417323 + 20 +-2.524704724409449 + 30 +0.0 + 10 +-3.341208661417323 + 20 +-2.532763779527559 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.545704724409449 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.563484251968504 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.563484251968504 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.563484251968504 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.345263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.551649606299212 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.551649606299212 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.551649606299212 + 30 +0.0 + 10 +-3.374543307086614 + 20 +-2.538594488188977 + 30 +0.0 + 10 +-3.376929133858268 + 20 +-2.528818897637795 + 30 +0.0 + 10 +-3.381708661417323 + 20 +-2.522318897637795 + 30 +0.0 + 10 +-3.381708661417323 + 20 +-2.522318897637795 + 30 +0.0 + 10 +-3.386484251968504 + 20 +-2.515818897637795 + 30 +0.0 + 10 +-3.394263779527559 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.405153543307087 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.405153543307087 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.413374015748031 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.420984251968504 + 20 +-2.514704724409449 + 30 +0.0 + 10 +-3.427984251968504 + 20 +-2.519094488188976 + 30 +0.0 + 10 +-3.427984251968504 + 20 +-2.519094488188976 + 30 +0.0 + 10 +-3.434984251968504 + 20 +-2.523429133858268 + 30 +0.0 + 10 +-3.44009842519685 + 20 +-2.529763779527559 + 30 +0.0 + 10 +-3.443208661417323 + 20 +-2.538094488188976 + 30 +0.0 + 10 +-3.443208661417323 + 20 +-2.538094488188976 + 30 +0.0 + 10 +-3.446374015748031 + 20 +-2.546484251968504 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.55853937007874 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.447929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.477208661417323 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +55 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-3.191929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.15853937007874 + 20 +-2.676208661417323 + 30 +0.0 + 10 +-3.160704724409449 + 20 +-2.686094488188977 + 30 +0.0 + 10 +-3.16503937007874 + 20 +-2.693649606299213 + 30 +0.0 + 10 +-3.16503937007874 + 20 +-2.693649606299213 + 30 +0.0 + 10 +-3.169429133858268 + 20 +-2.701149606299213 + 30 +0.0 + 10 +-3.176318897637795 + 20 +-2.706984251968504 + 30 +0.0 + 10 +-3.185704724409449 + 20 +-2.711149606299212 + 30 +0.0 + 10 +-3.185704724409449 + 20 +-2.711149606299212 + 30 +0.0 + 10 +-3.185704724409449 + 20 +-2.711149606299212 + 30 +0.0 + 10 +-3.193874015748031 + 20 +-2.698594488188976 + 30 +0.0 + 10 +-3.193874015748031 + 20 +-2.698594488188976 + 30 +0.0 + 10 +-3.193874015748031 + 20 +-2.698594488188976 + 30 +0.0 + 10 +-3.187704724409449 + 20 +-2.695874015748032 + 30 +0.0 + 10 +-3.183149606299212 + 20 +-2.691874015748032 + 30 +0.0 + 10 +-3.180204724409449 + 20 +-2.686649606299213 + 30 +0.0 + 10 +-3.180204724409449 + 20 +-2.686649606299213 + 30 +0.0 + 10 +-3.177259842519685 + 20 +-2.681374015748032 + 30 +0.0 + 10 +-3.175649606299213 + 20 +-2.673818897637795 + 30 +0.0 + 10 +-3.175318897637795 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.175318897637795 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.175318897637795 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-3.191929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +56 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.912153543307086 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.477259842519685 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.477259842519685 + 30 +0.0 + 10 +-2.941429133858268 + 20 +-2.477259842519685 + 30 +0.0 + 10 +-2.948484251968504 + 20 +-2.483984251968504 + 30 +0.0 + 10 +-2.957708661417323 + 20 +-2.490704724409449 + 30 +0.0 + 10 +-2.969153543307087 + 20 +-2.497429133858268 + 30 +0.0 + 10 +-2.969153543307087 + 20 +-2.497429133858268 + 30 +0.0 + 10 +-2.980653543307087 + 20 +-2.504149606299213 + 30 +0.0 + 10 +-2.990929133858268 + 20 +-2.509204724409449 + 30 +0.0 + 10 +-3.00003937007874 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.00003937007874 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.00003937007874 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-3.00003937007874 + 20 +-2.484259842519685 + 30 +0.0 + 10 +-3.00003937007874 + 20 +-2.484259842519685 + 30 +0.0 + 10 +-3.00003937007874 + 20 +-2.484259842519685 + 30 +0.0 + 10 +-2.983653543307087 + 20 +-2.47653937007874 + 30 +0.0 + 10 +-2.969318897637795 + 20 +-2.467204724409449 + 30 +0.0 + 10 +-2.95703937007874 + 20 +-2.456259842519685 + 30 +0.0 + 10 +-2.95703937007874 + 20 +-2.456259842519685 + 30 +0.0 + 10 +-2.944818897637795 + 20 +-2.445259842519685 + 30 +0.0 + 10 +-2.936094488188977 + 20 +-2.434649606299212 + 30 +0.0 + 10 +-2.930984251968504 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.930984251968504 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.930984251968504 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.912153543307086 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +57 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.820649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.787263779527559 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.820649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +58 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 48 + 73 + 44 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.0833333333333333 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.4166666666666667 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.5833333333333334 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.74253937007874 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.428429133858268 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.451204724409449 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.451204724409449 + 30 +0.0 + 10 +-2.588094488188976 + 20 +-2.451204724409449 + 30 +0.0 + 10 +-2.603263779527559 + 20 +-2.467374015748031 + 30 +0.0 + 10 +-2.618318897637795 + 20 +-2.488874015748031 + 30 +0.0 + 10 +-2.633263779527559 + 20 +-2.515649606299212 + 30 +0.0 + 10 +-2.633263779527559 + 20 +-2.515649606299212 + 30 +0.0 + 10 +-2.648153543307087 + 20 +-2.542429133858268 + 30 +0.0 + 10 +-2.659708661417323 + 20 +-2.57003937007874 + 30 +0.0 + 10 +-2.667818897637795 + 20 +-2.598318897637795 + 30 +0.0 + 10 +-2.667818897637795 + 20 +-2.598318897637795 + 30 +0.0 + 10 +-2.673708661417323 + 20 +-2.618318897637795 + 30 +0.0 + 10 +-2.677429133858268 + 20 +-2.640149606299213 + 30 +0.0 + 10 +-2.67903937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.67903937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.67903937007874 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.709153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.709153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.709153543307087 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.708818897637795 + 20 +-2.645149606299213 + 30 +0.0 + 10 +-2.705153543307087 + 20 +-2.622484251968504 + 30 +0.0 + 10 +-2.698094488188977 + 20 +-2.595874015748032 + 30 +0.0 + 10 +-2.698094488188977 + 20 +-2.595874015748032 + 30 +0.0 + 10 +-2.69103937007874 + 20 +-2.569318897637795 + 30 +0.0 + 10 +-2.680929133858268 + 20 +-2.543649606299212 + 30 +0.0 + 10 +-2.667763779527559 + 20 +-2.518984251968504 + 30 +0.0 + 10 +-2.667763779527559 + 20 +-2.518984251968504 + 30 +0.0 + 10 +-2.65453937007874 + 20 +-2.494318897637795 + 30 +0.0 + 10 +-2.64053937007874 + 20 +-2.473484251968504 + 30 +0.0 + 10 +-2.625653543307087 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.625653543307087 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.625653543307087 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.74253937007874 + 20 +-2.456594488188976 + 30 +0.0 + 0 +SPLINE + 5 +59 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 92 + 73 + 88 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0434782608695652 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.0869565217391304 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1304347826086956 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.1739130434782609 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2173913043478261 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.2608695652173913 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3043478260869565 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.3478260869565217 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.391304347826087 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4347826086956522 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.4782608695652174 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5217391304347826 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.5652173913043478 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6086956521739131 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6521739130434783 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.6956521739130435 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.7391304347826086 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.782608695652174 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8260869565217391 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.8695652173913043 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +0.9130434782608695 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.559094488188976 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-2.559094488188976 + 20 +-2.601429133858268 + 30 +0.0 + 10 +-2.528318897637795 + 20 +-2.598818897637795 + 30 +0.0 + 10 +-2.528318897637795 + 20 +-2.598818897637795 + 30 +0.0 + 10 +-2.528318897637795 + 20 +-2.598818897637795 + 30 +0.0 + 10 +-2.52603937007874 + 20 +-2.613818897637795 + 30 +0.0 + 10 +-2.520763779527559 + 20 +-2.62503937007874 + 30 +0.0 + 10 +-2.512484251968504 + 20 +-2.632594488188976 + 30 +0.0 + 10 +-2.512484251968504 + 20 +-2.632594488188976 + 30 +0.0 + 10 +-2.504149606299213 + 20 +-2.640149606299213 + 30 +0.0 + 10 +-2.494149606299213 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-2.482429133858268 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-2.482429133858268 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-2.468318897637795 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-2.456374015748032 + 20 +-2.638594488188976 + 30 +0.0 + 10 +-2.446649606299212 + 20 +-2.627984251968504 + 30 +0.0 + 10 +-2.446649606299212 + 20 +-2.627984251968504 + 30 +0.0 + 10 +-2.436874015748031 + 20 +-2.617318897637795 + 30 +0.0 + 10 +-2.431984251968504 + 20 +-2.603204724409449 + 30 +0.0 + 10 +-2.431984251968504 + 20 +-2.585649606299213 + 30 +0.0 + 10 +-2.431984251968504 + 20 +-2.585649606299213 + 30 +0.0 + 10 +-2.431984251968504 + 20 +-2.568929133858268 + 30 +0.0 + 10 +-2.436649606299213 + 20 +-2.555763779527559 + 30 +0.0 + 10 +-2.44603937007874 + 20 +-2.546094488188976 + 30 +0.0 + 10 +-2.44603937007874 + 20 +-2.546094488188976 + 30 +0.0 + 10 +-2.455429133858268 + 20 +-2.536429133858268 + 30 +0.0 + 10 +-2.467704724409449 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-2.482929133858268 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-2.482929133858268 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-2.492374015748032 + 20 +-2.531594488188976 + 30 +0.0 + 10 +-2.500874015748031 + 20 +-2.533763779527559 + 30 +0.0 + 10 +-2.508484251968504 + 20 +-2.53803937007874 + 30 +0.0 + 10 +-2.508484251968504 + 20 +-2.53803937007874 + 30 +0.0 + 10 +-2.516094488188976 + 20 +-2.542318897637795 + 30 +0.0 + 10 +-2.52203937007874 + 20 +-2.547874015748032 + 30 +0.0 + 10 +-2.526374015748031 + 20 +-2.554704724409449 + 30 +0.0 + 10 +-2.526374015748031 + 20 +-2.554704724409449 + 30 +0.0 + 10 +-2.526374015748031 + 20 +-2.554704724409449 + 30 +0.0 + 10 +-2.553874015748031 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-2.553874015748031 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-2.553874015748031 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-2.553874015748031 + 20 +-2.551149606299213 + 30 +0.0 + 10 +-2.530763779527559 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.530763779527559 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.530763779527559 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.530763779527559 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.428594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.412094488188977 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.507318897637795 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.507318897637795 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.507318897637795 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.507318897637795 + 20 +-2.456594488188976 + 30 +0.0 + 10 +-2.520208661417323 + 20 +-2.520704724409449 + 30 +0.0 + 10 +-2.520208661417323 + 20 +-2.520704724409449 + 30 +0.0 + 10 +-2.520208661417323 + 20 +-2.520704724409449 + 30 +0.0 + 10 +-2.505874015748032 + 20 +-2.510704724409449 + 30 +0.0 + 10 +-2.490818897637795 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-2.475094488188976 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-2.475094488188976 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-2.454263779527559 + 20 +-2.505704724409449 + 30 +0.0 + 10 +-2.436704724409449 + 20 +-2.512929133858268 + 30 +0.0 + 10 +-2.422374015748031 + 20 +-2.527374015748031 + 30 +0.0 + 10 +-2.422374015748031 + 20 +-2.527374015748031 + 30 +0.0 + 10 +-2.40803937007874 + 20 +-2.541818897637795 + 30 +0.0 + 10 +-2.400874015748031 + 20 +-2.560374015748032 + 30 +0.0 + 10 +-2.400874015748031 + 20 +-2.58303937007874 + 30 +0.0 + 10 +-2.400874015748031 + 20 +-2.58303937007874 + 30 +0.0 + 10 +-2.400874015748031 + 20 +-2.604649606299212 + 30 +0.0 + 10 +-2.407204724409449 + 20 +-2.623318897637795 + 30 +0.0 + 10 +-2.419763779527559 + 20 +-2.63903937007874 + 30 +0.0 + 10 +-2.419763779527559 + 20 +-2.63903937007874 + 30 +0.0 + 10 +-2.435094488188976 + 20 +-2.658318897637795 + 30 +0.0 + 10 +-2.455984251968504 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-2.482429133858268 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-2.482429133858268 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-2.504149606299213 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-2.521874015748032 + 20 +-2.661929133858268 + 30 +0.0 + 10 +-2.535594488188976 + 20 +-2.649763779527559 + 30 +0.0 + 10 +-2.535594488188976 + 20 +-2.649763779527559 + 30 +0.0 + 10 +-2.549318897637795 + 20 +-2.637594488188976 + 30 +0.0 + 10 +-2.557149606299213 + 20 +-2.621484251968504 + 30 +0.0 + 10 +-2.559094488188976 + 20 +-2.601429133858268 + 30 +0.0 + 0 +SPLINE + 5 +5A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 84 + 73 + 80 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0476190476190476 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.0952380952380952 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.1904761904761905 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2380952380952381 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.3809523809523809 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.4761904761904762 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5238095238095238 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6190476190476191 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.7619047619047619 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8095238095238095 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +0.9047619047619048 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.301594488188976 + 20 +-2.637708661417323 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.637708661417323 + 30 +0.0 + 10 +-2.297374015748031 + 20 +-2.663594488188977 + 30 +0.0 + 10 +-2.297374015748031 + 20 +-2.663594488188977 + 30 +0.0 + 10 +-2.297374015748031 + 20 +-2.663594488188977 + 30 +0.0 + 10 +-2.305594488188976 + 20 +-2.665318897637795 + 30 +0.0 + 10 +-2.312984251968504 + 20 +-2.666208661417323 + 30 +0.0 + 10 +-2.319484251968504 + 20 +-2.666208661417323 + 30 +0.0 + 10 +-2.319484251968504 + 20 +-2.666208661417323 + 30 +0.0 + 10 +-2.330149606299213 + 20 +-2.666208661417323 + 30 +0.0 + 10 +-2.338374015748031 + 20 +-2.66453937007874 + 30 +0.0 + 10 +-2.344259842519685 + 20 +-2.661149606299213 + 30 +0.0 + 10 +-2.344259842519685 + 20 +-2.661149606299213 + 30 +0.0 + 10 +-2.350094488188976 + 20 +-2.657818897637795 + 30 +0.0 + 10 +-2.354204724409449 + 20 +-2.653374015748032 + 30 +0.0 + 10 +-2.356594488188976 + 20 +-2.647874015748032 + 30 +0.0 + 10 +-2.356594488188976 + 20 +-2.647874015748032 + 30 +0.0 + 10 +-2.358984251968504 + 20 +-2.642429133858267 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.630874015748032 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.613318897637795 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.613318897637795 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.613318897637795 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.381704724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.448259842519685 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.448259842519685 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.448259842519685 + 30 +0.0 + 10 +-2.360204724409449 + 20 +-2.448259842519685 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.430704724409449 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.430704724409449 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.430704724409449 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.430704724409449 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.614929133858268 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.614929133858268 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.614929133858268 + 30 +0.0 + 10 +-2.33103937007874 + 20 +-2.623318897637795 + 30 +0.0 + 10 +-2.33053937007874 + 20 +-2.628649606299212 + 30 +0.0 + 10 +-2.32953937007874 + 20 +-2.63103937007874 + 30 +0.0 + 10 +-2.32953937007874 + 20 +-2.63103937007874 + 30 +0.0 + 10 +-2.328484251968504 + 20 +-2.633429133858268 + 30 +0.0 + 10 +-2.326814960629921 + 20 +-2.635318897637795 + 30 +0.0 + 10 +-2.324484251968504 + 20 +-2.636763779527559 + 30 +0.0 + 10 +-2.324484251968504 + 20 +-2.636763779527559 + 30 +0.0 + 10 +-2.322149606299213 + 20 +-2.638149606299212 + 30 +0.0 + 10 +-2.318814960629921 + 20 +-2.638874015748032 + 30 +0.0 + 10 +-2.314484251968504 + 20 +-2.638874015748032 + 30 +0.0 + 10 +-2.314484251968504 + 20 +-2.638874015748032 + 30 +0.0 + 10 +-2.311204724409449 + 20 +-2.638874015748032 + 30 +0.0 + 10 +-2.306929133858268 + 20 +-2.638484251968504 + 30 +0.0 + 10 +-2.301594488188976 + 20 +-2.637708661417323 + 30 +0.0 + 0 +SPLINE + 5 +5B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 72 + 73 + 68 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.0555555555555556 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.2777777777777778 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.3888888888888889 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6111111111111112 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7222222222222222 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8333333333333334 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +0.8888888888888888 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.272929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.510929133858268 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.510929133858268 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.510929133858268 + 30 +0.0 + 10 +-2.229984251968504 + 20 +-2.495094488188976 + 30 +0.0 + 10 +-2.212704724409449 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-2.191874015748032 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-2.191874015748032 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-2.179094488188976 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-2.167984251968504 + 20 +-2.489704724409449 + 30 +0.0 + 10 +-2.15853937007874 + 20 +-2.494759842519685 + 30 +0.0 + 10 +-2.15853937007874 + 20 +-2.494759842519685 + 30 +0.0 + 10 +-2.149094488188976 + 20 +-2.499763779527559 + 30 +0.0 + 10 +-2.142318897637795 + 20 +-2.506763779527559 + 30 +0.0 + 10 +-2.138263779527559 + 20 +-2.515649606299212 + 30 +0.0 + 10 +-2.138263779527559 + 20 +-2.515649606299212 + 30 +0.0 + 10 +-2.134204724409449 + 20 +-2.52453937007874 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.537484251968504 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.554374015748031 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.554374015748031 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.554374015748031 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.132149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.554374015748031 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.554374015748031 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.554374015748031 + 30 +0.0 + 10 +-2.161484251968504 + 20 +-2.539763779527559 + 30 +0.0 + 10 +-2.164649606299212 + 20 +-2.529094488188977 + 30 +0.0 + 10 +-2.170984251968504 + 20 +-2.522429133858268 + 30 +0.0 + 10 +-2.170984251968504 + 20 +-2.522429133858268 + 30 +0.0 + 10 +-2.177318897637795 + 20 +-2.515763779527559 + 30 +0.0 + 10 +-2.186318897637795 + 20 +-2.512374015748032 + 30 +0.0 + 10 +-2.197929133858268 + 20 +-2.512374015748032 + 30 +0.0 + 10 +-2.197929133858268 + 20 +-2.512374015748032 + 30 +0.0 + 10 +-2.206594488188976 + 20 +-2.512374015748032 + 30 +0.0 + 10 +-2.214763779527559 + 20 +-2.514649606299213 + 30 +0.0 + 10 +-2.222429133858268 + 20 +-2.519149606299213 + 30 +0.0 + 10 +-2.222429133858268 + 20 +-2.519149606299213 + 30 +0.0 + 10 +-2.230094488188977 + 20 +-2.523649606299212 + 30 +0.0 + 10 +-2.23553937007874 + 20 +-2.529763779527559 + 30 +0.0 + 10 +-2.238763779527559 + 20 +-2.537484251968504 + 30 +0.0 + 10 +-2.238763779527559 + 20 +-2.537484251968504 + 30 +0.0 + 10 +-2.24203937007874 + 20 +-2.545149606299212 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.555818897637795 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.569374015748032 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.569374015748032 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.569374015748032 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.243649606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.272929133858268 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +5C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.087429133858268 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.45903937007874 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.45903937007874 + 30 +0.0 + 0 +SPLINE + 5 +5D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-2.087429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.058094488188976 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-2.087429133858268 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +5E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.900704724409449 + 20 +-2.600594488188976 + 30 +0.0 + 10 +-1.900704724409449 + 20 +-2.600594488188976 + 30 +0.0 + 10 +-1.871929133858268 + 20 +-2.604374015748031 + 30 +0.0 + 10 +-1.871929133858268 + 20 +-2.604374015748031 + 30 +0.0 + 10 +-1.871929133858268 + 20 +-2.604374015748031 + 30 +0.0 + 10 +-1.87503937007874 + 20 +-2.624208661417323 + 30 +0.0 + 10 +-1.883094488188976 + 20 +-2.639763779527559 + 30 +0.0 + 10 +-1.896094488188976 + 20 +-2.650984251968504 + 30 +0.0 + 10 +-1.896094488188976 + 20 +-2.650984251968504 + 30 +0.0 + 10 +-1.90903937007874 + 20 +-2.662208661417323 + 30 +0.0 + 10 +-1.924984251968504 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-1.943874015748031 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-1.943874015748031 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-1.967484251968504 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-1.98653937007874 + 20 +-2.660094488188976 + 30 +0.0 + 10 +-2.000874015748031 + 20 +-2.644649606299212 + 30 +0.0 + 10 +-2.000874015748031 + 20 +-2.644649606299212 + 30 +0.0 + 10 +-2.015263779527559 + 20 +-2.629208661417323 + 30 +0.0 + 10 +-2.022484251968504 + 20 +-2.60703937007874 + 30 +0.0 + 10 +-2.022484251968504 + 20 +-2.578149606299212 + 30 +0.0 + 10 +-2.022484251968504 + 20 +-2.578149606299212 + 30 +0.0 + 10 +-2.022484251968504 + 20 +-2.559484251968504 + 30 +0.0 + 10 +-2.019374015748031 + 20 +-2.543149606299213 + 30 +0.0 + 10 +-2.013204724409449 + 20 +-2.529149606299212 + 30 +0.0 + 10 +-2.013204724409449 + 20 +-2.529149606299212 + 30 +0.0 + 10 +-2.006984251968504 + 20 +-2.515149606299213 + 30 +0.0 + 10 +-1.997594488188976 + 20 +-2.504649606299213 + 30 +0.0 + 10 +-1.984929133858268 + 20 +-2.497649606299213 + 30 +0.0 + 10 +-1.984929133858268 + 20 +-2.497649606299213 + 30 +0.0 + 10 +-1.972318897637795 + 20 +-2.490649606299213 + 30 +0.0 + 10 +-1.95853937007874 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-1.943704724409449 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-1.943704724409449 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-1.924929133858268 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-1.90953937007874 + 20 +-2.491929133858268 + 30 +0.0 + 10 +-1.897649606299213 + 20 +-2.501429133858268 + 30 +0.0 + 10 +-1.897649606299213 + 20 +-2.501429133858268 + 30 +0.0 + 10 +-1.885704724409449 + 20 +-2.510929133858268 + 30 +0.0 + 10 +-1.87803937007874 + 20 +-2.524374015748032 + 30 +0.0 + 10 +-1.874649606299213 + 20 +-2.541874015748031 + 30 +0.0 + 10 +-1.874649606299213 + 20 +-2.541874015748031 + 30 +0.0 + 10 +-1.874649606299213 + 20 +-2.541874015748031 + 30 +0.0 + 10 +-1.903149606299213 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.903149606299213 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.903149606299213 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.905874015748031 + 20 +-2.534649606299213 + 30 +0.0 + 10 +-1.910649606299213 + 20 +-2.525929133858268 + 30 +0.0 + 10 +-1.91753937007874 + 20 +-2.52003937007874 + 30 +0.0 + 10 +-1.91753937007874 + 20 +-2.52003937007874 + 30 +0.0 + 10 +-1.924429133858268 + 20 +-2.514204724409449 + 30 +0.0 + 10 +-1.932759842519685 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-1.94253937007874 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-1.94253937007874 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-1.957318897637795 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-1.969318897637795 + 20 +-2.51653937007874 + 30 +0.0 + 10 +-1.97853937007874 + 20 +-2.527149606299213 + 30 +0.0 + 10 +-1.97853937007874 + 20 +-2.527149606299213 + 30 +0.0 + 10 +-1.987763779527559 + 20 +-2.537704724409449 + 30 +0.0 + 10 +-1.992374015748031 + 20 +-2.554429133858268 + 30 +0.0 + 10 +-1.992374015748031 + 20 +-2.577318897637795 + 30 +0.0 + 10 +-1.992374015748031 + 20 +-2.577318897637795 + 30 +0.0 + 10 +-1.992374015748031 + 20 +-2.60053937007874 + 30 +0.0 + 10 +-1.987929133858268 + 20 +-2.617429133858268 + 30 +0.0 + 10 +-1.978984251968504 + 20 +-2.627984251968504 + 30 +0.0 + 10 +-1.978984251968504 + 20 +-2.627984251968504 + 30 +0.0 + 10 +-1.970094488188976 + 20 +-2.638484251968504 + 30 +0.0 + 10 +-1.958484251968504 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-1.944149606299213 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-1.944149606299213 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-1.932649606299213 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-1.923094488188976 + 20 +-2.640208661417323 + 30 +0.0 + 10 +-1.915374015748031 + 20 +-2.633149606299213 + 30 +0.0 + 10 +-1.915374015748031 + 20 +-2.633149606299213 + 30 +0.0 + 10 +-1.907649606299213 + 20 +-2.626094488188977 + 30 +0.0 + 10 +-1.902759842519685 + 20 +-2.615263779527559 + 30 +0.0 + 10 +-1.900704724409449 + 20 +-2.600594488188976 + 30 +0.0 + 0 +SPLINE + 5 +5F +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.846704724409449 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-1.748035433070866 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.748035433070866 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.748035433070866 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.748035433070866 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.710149606299213 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.710149606299213 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.710149606299213 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.710149606299213 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-1.776204724409449 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-1.776204724409449 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-1.776204724409449 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-1.776204724409449 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-1.703425196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.703425196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.703425196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.703425196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.739590551181102 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.739590551181102 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.739590551181102 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.739590551181102 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.796704724409449 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-1.796704724409449 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-1.796704724409449 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-1.796704724409449 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.817370078740157 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.846704724409449 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +60 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.672535433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.639145669291339 + 20 +-2.676208661417323 + 30 +0.0 + 10 +-1.641311023622047 + 20 +-2.686094488188977 + 30 +0.0 + 10 +-1.645645669291339 + 20 +-2.693649606299213 + 30 +0.0 + 10 +-1.645645669291339 + 20 +-2.693649606299213 + 30 +0.0 + 10 +-1.650035433070866 + 20 +-2.701149606299213 + 30 +0.0 + 10 +-1.656925196850394 + 20 +-2.706984251968504 + 30 +0.0 + 10 +-1.666311023622047 + 20 +-2.711149606299212 + 30 +0.0 + 10 +-1.666311023622047 + 20 +-2.711149606299212 + 30 +0.0 + 10 +-1.666311023622047 + 20 +-2.711149606299212 + 30 +0.0 + 10 +-1.67448031496063 + 20 +-2.698594488188976 + 30 +0.0 + 10 +-1.67448031496063 + 20 +-2.698594488188976 + 30 +0.0 + 10 +-1.67448031496063 + 20 +-2.698594488188976 + 30 +0.0 + 10 +-1.668311023622047 + 20 +-2.695874015748032 + 30 +0.0 + 10 +-1.663755905511811 + 20 +-2.691874015748032 + 30 +0.0 + 10 +-1.660811023622047 + 20 +-2.686649606299213 + 30 +0.0 + 10 +-1.660811023622047 + 20 +-2.686649606299213 + 30 +0.0 + 10 +-1.657866141732284 + 20 +-2.681374015748032 + 30 +0.0 + 10 +-1.656255905511811 + 20 +-2.673818897637795 + 30 +0.0 + 10 +-1.655925196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.655925196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.655925196850394 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.672535433070866 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +61 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.503090551181102 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.503090551181102 + 20 +-2.51803937007874 + 30 +0.0 + 10 +-1.500204724409449 + 20 +-2.495318897637795 + 30 +0.0 + 10 +-1.494370078740157 + 20 +-2.478149606299213 + 30 +0.0 + 10 +-1.494370078740157 + 20 +-2.478149606299213 + 30 +0.0 + 10 +-1.488590551181102 + 20 +-2.460929133858268 + 30 +0.0 + 10 +-1.479925196850394 + 20 +-2.447649606299213 + 30 +0.0 + 10 +-1.46848031496063 + 20 +-2.438318897637795 + 30 +0.0 + 10 +-1.46848031496063 + 20 +-2.438318897637795 + 30 +0.0 + 10 +-1.457035433070866 + 20 +-2.428984251968504 + 30 +0.0 + 10 +-1.442645669291339 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.425314960629921 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.425314960629921 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.41248031496063 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.401259842519685 + 20 +-2.426929133858268 + 30 +0.0 + 10 +-1.391590551181102 + 20 +-2.432094488188977 + 30 +0.0 + 10 +-1.391590551181102 + 20 +-2.432094488188977 + 30 +0.0 + 10 +-1.381925196850394 + 20 +-2.437204724409449 + 30 +0.0 + 10 +-1.37398031496063 + 20 +-2.444649606299213 + 30 +0.0 + 10 +-1.367645669291339 + 20 +-2.454374015748031 + 30 +0.0 + 10 +-1.367645669291339 + 20 +-2.454374015748031 + 30 +0.0 + 10 +-1.361370078740157 + 20 +-2.464094488188977 + 30 +0.0 + 10 +-1.356425196850394 + 20 +-2.475929133858268 + 30 +0.0 + 10 +-1.352870078740158 + 20 +-2.489874015748032 + 30 +0.0 + 10 +-1.352870078740158 + 20 +-2.489874015748032 + 30 +0.0 + 10 +-1.349255905511811 + 20 +-2.503818897637795 + 30 +0.0 + 10 +-1.34748031496063 + 20 +-2.522594488188977 + 30 +0.0 + 10 +-1.34748031496063 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.34748031496063 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.34748031496063 + 20 +-2.574263779527559 + 30 +0.0 + 10 +-1.350370078740158 + 20 +-2.596818897637795 + 30 +0.0 + 10 +-1.356090551181102 + 20 +-2.61403937007874 + 30 +0.0 + 10 +-1.356090551181102 + 20 +-2.61403937007874 + 30 +0.0 + 10 +-1.361870078740157 + 20 +-2.631263779527559 + 30 +0.0 + 10 +-1.37048031496063 + 20 +-2.64453937007874 + 30 +0.0 + 10 +-1.381925196850394 + 20 +-2.653929133858268 + 30 +0.0 + 10 +-1.381925196850394 + 20 +-2.653929133858268 + 30 +0.0 + 10 +-1.393370078740158 + 20 +-2.663318897637795 + 30 +0.0 + 10 +-1.407814960629921 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-1.425314960629921 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-1.425314960629921 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-1.448314960629921 + 20 +-2.667984251968504 + 30 +0.0 + 10 +-1.466370078740157 + 20 +-2.659763779527559 + 30 +0.0 + 10 +-1.47948031496063 + 20 +-2.643263779527559 + 30 +0.0 + 10 +-1.47948031496063 + 20 +-2.643263779527559 + 30 +0.0 + 10 +-1.495204724409449 + 20 +-2.623429133858268 + 30 +0.0 + 10 +-1.503090551181102 + 20 +-2.59103937007874 + 30 +0.0 + 10 +-1.503090551181102 + 20 +-2.546263779527559 + 30 +0.0 + 0 +SPLINE + 5 +62 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 36 + 73 + 32 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.1111111111111111 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.2222222222222222 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.4444444444444444 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.5555555555555556 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +0.7777777777777778 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.47298031496063 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.47298031496063 + 20 +-2.585429133858268 + 30 +0.0 + 10 +-1.468370078740157 + 20 +-2.611484251968504 + 30 +0.0 + 10 +-1.459200787401575 + 20 +-2.624484251968504 + 30 +0.0 + 10 +-1.459200787401575 + 20 +-2.624484251968504 + 30 +0.0 + 10 +-1.450035433070866 + 20 +-2.637429133858268 + 30 +0.0 + 10 +-1.438759842519685 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-1.425314960629921 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-1.425314960629921 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-1.411814960629921 + 20 +-2.643929133858268 + 30 +0.0 + 10 +-1.400535433070866 + 20 +-2.637374015748032 + 30 +0.0 + 10 +-1.391370078740158 + 20 +-2.624374015748031 + 30 +0.0 + 10 +-1.391370078740158 + 20 +-2.624374015748031 + 30 +0.0 + 10 +-1.382200787401575 + 20 +-2.611374015748031 + 30 +0.0 + 10 +-1.377590551181102 + 20 +-2.585318897637795 + 30 +0.0 + 10 +-1.377590551181102 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.377590551181102 + 20 +-2.546263779527559 + 30 +0.0 + 10 +-1.377590551181102 + 20 +-2.506984251968504 + 30 +0.0 + 10 +-1.382200787401575 + 20 +-2.480874015748031 + 30 +0.0 + 10 +-1.391370078740158 + 20 +-2.467984251968504 + 30 +0.0 + 10 +-1.391370078740158 + 20 +-2.467984251968504 + 30 +0.0 + 10 +-1.400535433070866 + 20 +-2.45503937007874 + 30 +0.0 + 10 +-1.411925196850394 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-1.425590551181102 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-1.425590551181102 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-1.439090551181102 + 20 +-2.448594488188976 + 30 +0.0 + 10 +-1.449814960629921 + 20 +-2.454318897637795 + 30 +0.0 + 10 +-1.457870078740158 + 20 +-2.465704724409449 + 30 +0.0 + 10 +-1.457870078740158 + 20 +-2.465704724409449 + 30 +0.0 + 10 +-1.467925196850394 + 20 +-2.480204724409449 + 30 +0.0 + 10 +-1.47298031496063 + 20 +-2.507094488188976 + 30 +0.0 + 10 +-1.47298031496063 + 20 +-2.546263779527559 + 30 +0.0 + 0 +SPLINE + 5 +63 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.301255905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.63053937007874 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.267870078740158 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.301255905511811 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +64 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-1.114759842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.477259842519685 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.477259842519685 + 30 +0.0 + 10 +-1.144035433070866 + 20 +-2.477259842519685 + 30 +0.0 + 10 +-1.151090551181102 + 20 +-2.483984251968504 + 30 +0.0 + 10 +-1.160314960629921 + 20 +-2.490704724409449 + 30 +0.0 + 10 +-1.171759842519685 + 20 +-2.497429133858268 + 30 +0.0 + 10 +-1.171759842519685 + 20 +-2.497429133858268 + 30 +0.0 + 10 +-1.183259842519685 + 20 +-2.504149606299213 + 30 +0.0 + 10 +-1.193535433070866 + 20 +-2.509204724409449 + 30 +0.0 + 10 +-1.202645669291339 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-1.202645669291339 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-1.202645669291339 + 20 +-2.51253937007874 + 30 +0.0 + 10 +-1.202645669291339 + 20 +-2.484259842519685 + 30 +0.0 + 10 +-1.202645669291339 + 20 +-2.484259842519685 + 30 +0.0 + 10 +-1.202645669291339 + 20 +-2.484259842519685 + 30 +0.0 + 10 +-1.186259842519685 + 20 +-2.47653937007874 + 30 +0.0 + 10 +-1.171925196850394 + 20 +-2.467204724409449 + 30 +0.0 + 10 +-1.159645669291339 + 20 +-2.456259842519685 + 30 +0.0 + 10 +-1.159645669291339 + 20 +-2.456259842519685 + 30 +0.0 + 10 +-1.147425196850394 + 20 +-2.445259842519685 + 30 +0.0 + 10 +-1.138700787401575 + 20 +-2.434649606299212 + 30 +0.0 + 10 +-1.133590551181102 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.133590551181102 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.133590551181102 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.424318897637795 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-1.114759842519685 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +65 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 52 + 73 + 48 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.0769230769230769 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.1538461538461539 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.2307692307692308 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3076923076923077 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.3846153846153846 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.4615384615384616 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.5384615384615384 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6153846153846154 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.6923076923076923 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.7692307692307693 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +0.8461538461538461 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.9388149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.425318897637795 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.561374015748032 + 30 +0.0 + 10 +-0.8401456692913386 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8401456692913386 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8401456692913386 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8401456692913386 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8022598425196851 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8022598425196851 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8022598425196851 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8022598425196851 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.8683149606299213 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-0.8683149606299213 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-0.8683149606299213 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-0.8683149606299213 + 20 +-2.555204724409449 + 30 +0.0 + 10 +-0.7955354330708662 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.7955354330708662 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.7955354330708662 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.7955354330708662 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.8317007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.8317007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.8317007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.8317007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.8888149606299213 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-0.8888149606299213 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-0.8888149606299213 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-0.8888149606299213 + 20 +-2.57553937007874 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.595429133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.90948031496063 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.9388149606299213 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +66 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 64 + 73 + 60 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.0625 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.125 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.1875 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.3125 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.4375 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.5625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.625 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.6875 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.8125 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +0.875 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.6539763779527559 + 20 +-2.608263779527559 + 30 +0.0 + 10 +-0.6539763779527559 + 20 +-2.608263779527559 + 30 +0.0 + 10 +-0.6237007874015748 + 20 +-2.611984251968504 + 30 +0.0 + 10 +-0.6237007874015748 + 20 +-2.611984251968504 + 30 +0.0 + 10 +-0.6237007874015748 + 20 +-2.611984251968504 + 30 +0.0 + 10 +-0.6284763779527559 + 20 +-2.629708661417323 + 30 +0.0 + 10 +-0.6373110236220473 + 20 +-2.643429133858268 + 30 +0.0 + 10 +-0.6502007874015748 + 20 +-2.653208661417323 + 30 +0.0 + 10 +-0.6502007874015748 + 20 +-2.653208661417323 + 30 +0.0 + 10 +-0.6631456692913386 + 20 +-2.662929133858268 + 30 +0.0 + 10 +-0.6796456692913386 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-0.6997007874015748 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-0.6997007874015748 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-0.7249763779527559 + 20 +-2.667818897637795 + 30 +0.0 + 10 +-0.7450354330708662 + 20 +-2.66003937007874 + 30 +0.0 + 10 +-0.7598110236220472 + 20 +-2.644484251968504 + 30 +0.0 + 10 +-0.7598110236220472 + 20 +-2.644484251968504 + 30 +0.0 + 10 +-0.7746456692913386 + 20 +-2.628929133858268 + 30 +0.0 + 10 +-0.7820354330708661 + 20 +-2.607094488188976 + 30 +0.0 + 10 +-0.7820354330708661 + 20 +-2.578984251968504 + 30 +0.0 + 10 +-0.7820354330708661 + 20 +-2.578984251968504 + 30 +0.0 + 10 +-0.7820354330708661 + 20 +-2.549874015748031 + 30 +0.0 + 10 +-0.7745354330708661 + 20 +-2.527318897637795 + 30 +0.0 + 10 +-0.7595905511811024 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-0.7595905511811024 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-0.7445905511811024 + 20 +-2.495204724409449 + 30 +0.0 + 10 +-0.7252007874015748 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.7013110236220472 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.7013110236220472 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.6782007874015749 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.6593110236220473 + 20 +-2.49503937007874 + 30 +0.0 + 10 +-0.6447007874015748 + 20 +-2.510763779527559 + 30 +0.0 + 10 +-0.6447007874015748 + 20 +-2.510763779527559 + 30 +0.0 + 10 +-0.6300314960629921 + 20 +-2.526484251968504 + 30 +0.0 + 10 +-0.6227007874015748 + 20 +-2.548649606299213 + 30 +0.0 + 10 +-0.6227007874015748 + 20 +-2.577149606299213 + 30 +0.0 + 10 +-0.6227007874015748 + 20 +-2.577149606299213 + 30 +0.0 + 10 +-0.6227007874015748 + 20 +-2.578929133858268 + 30 +0.0 + 10 +-0.622755905511811 + 20 +-2.58153937007874 + 30 +0.0 + 10 +-0.6228661417322835 + 20 +-2.584984251968504 + 30 +0.0 + 10 +-0.6228661417322835 + 20 +-2.584984251968504 + 30 +0.0 + 10 +-0.6228661417322835 + 20 +-2.584984251968504 + 30 +0.0 + 10 +-0.751755905511811 + 20 +-2.584984251968504 + 30 +0.0 + 10 +-0.751755905511811 + 20 +-2.584984251968504 + 30 +0.0 + 10 +-0.751755905511811 + 20 +-2.584984251968504 + 30 +0.0 + 10 +-0.7507007874015748 + 20 +-2.603984251968504 + 30 +0.0 + 10 +-0.7453110236220473 + 20 +-2.61853937007874 + 30 +0.0 + 10 +-0.7356456692913386 + 20 +-2.628594488188976 + 30 +0.0 + 10 +-0.7356456692913386 + 20 +-2.628594488188976 + 30 +0.0 + 10 +-0.7259763779527559 + 20 +-2.638708661417323 + 30 +0.0 + 10 +-0.7139763779527559 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-0.6995314960629921 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-0.6995314960629921 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-0.6888110236220473 + 20 +-2.643763779527559 + 30 +0.0 + 10 +-0.6796456692913386 + 20 +-2.640929133858268 + 30 +0.0 + 10 +-0.6720314960629922 + 20 +-2.635263779527559 + 30 +0.0 + 10 +-0.6720314960629922 + 20 +-2.635263779527559 + 30 +0.0 + 10 +-0.6644212598425197 + 20 +-2.629649606299213 + 30 +0.0 + 10 +-0.6584212598425196 + 20 +-2.620649606299212 + 30 +0.0 + 10 +-0.6539763779527559 + 20 +-2.608263779527559 + 30 +0.0 + 0 +SPLINE + 5 +67 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.7501456692913386 + 20 +-2.560874015748031 + 30 +0.0 + 10 +-0.7501456692913386 + 20 +-2.560874015748031 + 30 +0.0 + 10 +-0.6536456692913386 + 20 +-2.560874015748031 + 30 +0.0 + 10 +-0.6536456692913386 + 20 +-2.560874015748031 + 30 +0.0 + 10 +-0.6536456692913386 + 20 +-2.560874015748031 + 30 +0.0 + 10 +-0.6549212598425197 + 20 +-2.546374015748031 + 30 +0.0 + 10 +-0.6586456692913386 + 20 +-2.535429133858268 + 30 +0.0 + 10 +-0.6647007874015748 + 20 +-2.528204724409449 + 30 +0.0 + 10 +-0.6647007874015748 + 20 +-2.528204724409449 + 30 +0.0 + 10 +-0.6740314960629922 + 20 +-2.516929133858268 + 30 +0.0 + 10 +-0.6861456692913386 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-0.7009763779527559 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-0.7009763779527559 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-0.7144212598425197 + 20 +-2.511263779527559 + 30 +0.0 + 10 +-0.725755905511811 + 20 +-2.515763779527559 + 30 +0.0 + 10 +-0.7349212598425197 + 20 +-2.524763779527559 + 30 +0.0 + 10 +-0.7349212598425197 + 20 +-2.524763779527559 + 30 +0.0 + 10 +-0.7440905511811023 + 20 +-2.533763779527559 + 30 +0.0 + 10 +-0.7491456692913386 + 20 +-2.545818897637795 + 30 +0.0 + 10 +-0.7501456692913386 + 20 +-2.560874015748031 + 30 +0.0 + 0 +SPLINE + 5 +68 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 56 + 73 + 52 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.0714285714285714 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.1428571428571428 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2142857142857143 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.2857142857142857 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.3571428571428572 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.4285714285714285 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.5714285714285714 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.6428571428571429 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7142857142857143 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.7857142857142857 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +0.8571428571428571 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.5872007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-0.5608661417322834 + 20 +-2.517263779527559 + 30 +0.0 + 10 +-0.5541456692913386 + 20 +-2.50503937007874 + 30 +0.0 + 10 +-0.5479212598425197 + 20 +-2.496929133858268 + 30 +0.0 + 10 +-0.5422007874015748 + 20 +-2.49303937007874 + 30 +0.0 + 10 +-0.5422007874015748 + 20 +-2.49303937007874 + 30 +0.0 + 10 +-0.5365314960629921 + 20 +-2.489149606299212 + 30 +0.0 + 10 +-0.530255905511811 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.5234212598425196 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.5234212598425196 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.5135314960629921 + 20 +-2.487149606299213 + 30 +0.0 + 10 +-0.5035314960629921 + 20 +-2.490318897637795 + 30 +0.0 + 10 +-0.4933110236220473 + 20 +-2.496594488188976 + 30 +0.0 + 10 +-0.4933110236220473 + 20 +-2.496594488188976 + 30 +0.0 + 10 +-0.4933110236220473 + 20 +-2.496594488188976 + 30 +0.0 + 10 +-0.5034212598425197 + 20 +-2.523818897637795 + 30 +0.0 + 10 +-0.5034212598425197 + 20 +-2.523818897637795 + 30 +0.0 + 10 +-0.5034212598425197 + 20 +-2.523818897637795 + 30 +0.0 + 10 +-0.5105314960629921 + 20 +-2.51953937007874 + 30 +0.0 + 10 +-0.5177007874015748 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-0.5248661417322835 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-0.5248661417322835 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-0.5313110236220473 + 20 +-2.517429133858267 + 30 +0.0 + 10 +-0.5370314960629922 + 20 +-2.519374015748031 + 30 +0.0 + 10 +-0.5421417322834645 + 20 +-2.523204724409449 + 30 +0.0 + 10 +-0.5421417322834645 + 20 +-2.523204724409449 + 30 +0.0 + 10 +-0.547255905511811 + 20 +-2.527094488188976 + 30 +0.0 + 10 +-0.5508661417322834 + 20 +-2.532429133858268 + 30 +0.0 + 10 +-0.5530314960629922 + 20 +-2.539263779527559 + 30 +0.0 + 10 +-0.5530314960629922 + 20 +-2.539263779527559 + 30 +0.0 + 10 +-0.5563110236220472 + 20 +-2.549649606299213 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.56103937007874 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.573429133858268 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.573429133858268 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.573429133858268 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5579212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.5872007874015748 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +69 +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 30 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 80 + 73 + 76 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.05 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.15 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.25 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.35 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.45 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.55 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.65 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.75 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.85 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +0.9 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +-0.4689212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.494755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.472704724409449 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.472704724409449 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.472704724409449 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.461094488188976 + 30 +0.0 + 10 +-0.4678661417322835 + 20 +-2.452429133858268 + 30 +0.0 + 10 +-0.4658110236220472 + 20 +-2.446818897637795 + 30 +0.0 + 10 +-0.4658110236220472 + 20 +-2.446818897637795 + 30 +0.0 + 10 +-0.4629763779527559 + 20 +-2.439204724409449 + 30 +0.0 + 10 +-0.4580314960629921 + 20 +-2.43303937007874 + 30 +0.0 + 10 +-0.4509212598425197 + 20 +-2.428318897637795 + 30 +0.0 + 10 +-0.4509212598425197 + 20 +-2.428318897637795 + 30 +0.0 + 10 +-0.4438110236220472 + 20 +-2.423594488188976 + 30 +0.0 + 10 +-0.4338661417322834 + 20 +-2.421259842519685 + 30 +0.0 + 10 +-0.4210314960629921 + 20 +-2.421259842519685 + 30 +0.0 + 10 +-0.4210314960629921 + 20 +-2.421259842519685 + 30 +0.0 + 10 +-0.4128110236220472 + 20 +-2.421259842519685 + 30 +0.0 + 10 +-0.4037007874015748 + 20 +-2.422204724409449 + 30 +0.0 + 10 +-0.3937007874015748 + 20 +-2.424204724409449 + 30 +0.0 + 10 +-0.3937007874015748 + 20 +-2.424204724409449 + 30 +0.0 + 10 +-0.3937007874015748 + 20 +-2.424204724409449 + 30 +0.0 + 10 +-0.3980866141732283 + 20 +-2.449759842519685 + 30 +0.0 + 10 +-0.3980866141732283 + 20 +-2.449759842519685 + 30 +0.0 + 10 +-0.3980866141732283 + 20 +-2.449759842519685 + 30 +0.0 + 10 +-0.4041417322834646 + 20 +-2.448649606299213 + 30 +0.0 + 10 +-0.4099212598425197 + 20 +-2.448094488188977 + 30 +0.0 + 10 +-0.4153661417322835 + 20 +-2.448094488188977 + 30 +0.0 + 10 +-0.4153661417322835 + 20 +-2.448094488188977 + 30 +0.0 + 10 +-0.424255905511811 + 20 +-2.448094488188977 + 30 +0.0 + 10 +-0.4305314960629921 + 20 +-2.449984251968504 + 30 +0.0 + 10 +-0.4342007874015748 + 20 +-2.453818897637795 + 30 +0.0 + 10 +-0.4342007874015748 + 20 +-2.453818897637795 + 30 +0.0 + 10 +-0.4379212598425197 + 20 +-2.457594488188976 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.464704724409449 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.475149606299213 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.475149606299213 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.475149606299213 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.491094488188976 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.4060866141732283 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.513874015748032 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.439755905511811 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 10 +-0.4689212598425197 + 20 +-2.663929133858268 + 30 +0.0 + 0 +SPLINE + 5 +6A +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 40 + 73 + 36 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.1 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.3 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.7 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +0.8 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +1.650913385826772 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.557555118110236 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.557555118110236 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.557555118110236 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.557555118110236 + 30 +0.0 + 10 +1.633389763779528 + 20 +-3.597885826771654 + 30 +0.0 + 10 +1.633389763779528 + 20 +-3.597885826771654 + 30 +0.0 + 10 +1.633389763779528 + 20 +-3.597885826771654 + 30 +0.0 + 10 +1.633389763779528 + 20 +-3.597885826771654 + 30 +0.0 + 10 +1.633929133858268 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.633929133858268 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.633929133858268 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.633929133858268 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.364763779527559 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.364763779527559 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.364763779527559 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.364763779527559 + 20 +-3.642814960629921 + 30 +0.0 + 10 +1.364629921259843 + 20 +-3.596468503937008 + 30 +0.0 + 10 +1.364629921259843 + 20 +-3.596468503937008 + 30 +0.0 + 10 +1.364629921259843 + 20 +-3.596468503937008 + 30 +0.0 + 10 +1.364629921259843 + 20 +-3.596468503937008 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.559811023622047 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.559811023622047 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.559811023622047 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.559811023622047 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.345220472440945 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.498066929133858 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.498066929133858 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.498066929133858 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.498066929133858 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.472295275590551 + 30 +0.0 + 10 +1.650913385826772 + 20 +-3.472295275590551 + 30 +0.0 + 0 +SPLINE + 5 +6B +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 24 + 73 + 20 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.1666666666666667 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.3333333333333333 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.5 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +0.6666666666666666 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.511492125984252 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.504271653543307 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 10 +0.3064448818897638 + 20 +-3.621728346456693 + 30 +0.0 + 0 +SPLINE + 5 +6C +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbSpline +210 +0.0 +220 +0.0 +230 +1.0 + 70 + 11 + 71 + 3 + 72 + 20 + 73 + 16 + 74 + 0 + 42 +0.0000000001 + 43 +0.0000000001 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.0 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.2 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.4 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +0.6 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 40 +1.0 + 10 +0.8831417322834646 + 20 +-3.483956692913386 + 30 +0.0 + 10 +0.8831417322834646 + 20 +-3.525377952755905 + 30 +0.0 + 10 +0.8495629921259843 + 20 +-3.558956692913386 + 30 +0.0 + 10 +0.8081417322834645 + 20 +-3.558956692913386 + 30 +0.0 + 10 +0.8081417322834645 + 20 +-3.558956692913386 + 30 +0.0 + 10 +0.7667204724409449 + 20 +-3.558956692913386 + 30 +0.0 + 10 +0.7331417322834646 + 20 +-3.525377952755905 + 30 +0.0 + 10 +0.7331417322834646 + 20 +-3.483956692913386 + 30 +0.0 + 10 +0.7331417322834646 + 20 +-3.483956692913386 + 30 +0.0 + 10 +0.7331417322834646 + 20 +-3.442535433070866 + 30 +0.0 + 10 +0.7667204724409449 + 20 +-3.408956692913386 + 30 +0.0 + 10 +0.8081417322834645 + 20 +-3.408956692913386 + 30 +0.0 + 10 +0.8081417322834645 + 20 +-3.408956692913386 + 30 +0.0 + 10 +0.8495629921259843 + 20 +-3.408956692913386 + 30 +0.0 + 10 +0.8831417322834646 + 20 +-3.442535433070866 + 30 +0.0 + 10 +0.8831417322834646 + 20 +-3.483956692913386 + 30 +0.0 + 0 +LWPOLYLINE + 5 +6D +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbPolyline + 90 + 5 + 70 + 1 + 43 +0.0 + 10 +-3.30388188976378 + 20 +-4.23842125984252 + 10 +-3.261811023622047 + 20 +-4.23842125984252 + 10 +-3.261811023622047 + 20 +-4.194641732283465 + 10 +-3.30388188976378 + 20 +-4.194641732283465 + 10 +-3.30388188976378 + 20 +-4.23842125984252 + 0 +LWPOLYLINE + 5 +6E +330 +1F +100 +AcDbEntity + 8 +Layer 1 + 62 + 250 +370 + 9 +100 +AcDbPolyline + 90 + 5 + 70 + 1 + 43 +0.0 + 10 +-3.30388188976378 + 20 +-6.289602362204724 + 10 +-3.261811023622047 + 20 +-6.289602362204724 + 10 +-3.261811023622047 + 20 +-6.245822834645669 + 10 +-3.30388188976378 + 20 +-6.245822834645669 + 10 +-3.30388188976378 + 20 +-6.289602362204724 + 0 +ENDSEC + 0 +SECTION + 2 +OBJECTS + 0 +DICTIONARY + 5 +C +330 +0 +100 +AcDbDictionary +281 + 1 + 3 +ACAD_GROUP +350 +D + 3 +ACAD_LAYOUT +350 +1A + 3 +ACAD_MATERIAL +350 +3B + 3 +ACAD_MLEADERSTYLE +350 +90 + 3 +ACAD_MLINESTYLE +350 +17 + 3 +ACAD_PLOTSETTINGS +350 +19 + 3 +ACAD_PLOTSTYLENAME +350 +E + 3 +ACAD_TABLESTYLE +350 +8F + 3 +ACAD_VISUALSTYLE +350 +2A + 0 +DICTIONARY + 5 +D +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +DICTIONARY + 5 +1A +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +Layout1 +350 +1E + 3 +Layout2 +350 +26 + 3 +Model +350 +22 + 0 +DICTIONARY + 5 +3B +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +ByBlock +350 +3D + 3 +ByLayer +350 +3C + 3 +Global +350 +3E + 0 +DICTIONARY + 5 +90 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +DICTIONARY + 5 +17 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +Standard +350 +18 + 0 +DICTIONARY + 5 +19 +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +ACDBDICTIONARYWDFLT + 5 +E +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +Normal +350 +F +100 +AcDbDictionaryWithDefault +340 +F + 0 +DICTIONARY + 5 +8F +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 0 +DICTIONARY + 5 +2A +102 +{ACAD_REACTORS +330 +C +102 +} +330 +C +100 +AcDbDictionary +281 + 1 + 3 +2dWireframe +350 +2F + 3 +3D Hidden +350 +31 + 3 +3dWireframe +350 +30 + 3 +Basic +350 +32 + 3 +Brighten +350 +36 + 3 +ColorChange +350 +3A + 3 +Conceptual +350 +34 + 3 +Dim +350 +35 + 3 +Facepattern +350 +39 + 3 +Flat +350 +2B + 3 +FlatWithEdges +350 +2C + 3 +Gouraud +350 +2D + 3 +GouraudWithEdges +350 +2E + 3 +Linepattern +350 +38 + 3 +Realistic +350 +33 + 3 +Thicken +350 +37 + 0 +LAYOUT + 5 +1E +102 +{ACAD_REACTORS +330 +1A +102 +} +330 +1A +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 + 688 + 72 + 0 + 73 + 0 + 74 + 5 + 7 + + 75 + 16 + 76 + 0 + 77 + 2 + 78 + 300 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Layout1 + 70 + 1 + 71 + 1 + 10 +0.0 + 20 +0.0 + 11 +12.0 + 21 +9.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +1.000000000000000E+20 + 24 +1.000000000000000E+20 + 34 +1.000000000000000E+20 + 15 +-1.000000000000000E+20 + 25 +-1.000000000000000E+20 + 35 +-1.000000000000000E+20 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 + 0 +330 +1B + 0 +LAYOUT + 5 +26 +102 +{ACAD_REACTORS +330 +1A +102 +} +330 +1A +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 + 688 + 72 + 0 + 73 + 0 + 74 + 5 + 7 + + 75 + 16 + 76 + 0 + 77 + 2 + 78 + 300 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Layout2 + 70 + 1 + 71 + 2 + 10 +0.0 + 20 +0.0 + 11 +0.0 + 21 +0.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +0.0 + 24 +0.0 + 34 +0.0 + 15 +0.0 + 25 +0.0 + 35 +0.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 + 0 +330 +23 + 0 +LAYOUT + 5 +22 +102 +{ACAD_REACTORS +330 +1A +102 +} +330 +1A +100 +AcDbPlotSettings + 1 + + 2 +none_device + 4 + + 6 + + 40 +0.0 + 41 +0.0 + 42 +0.0 + 43 +0.0 + 44 +0.0 + 45 +0.0 + 46 +0.0 + 47 +0.0 + 48 +0.0 + 49 +0.0 +140 +0.0 +141 +0.0 +142 +1.0 +143 +1.0 + 70 + 1712 + 72 + 0 + 73 + 0 + 74 + 0 + 7 + + 75 + 0 + 76 + 0 + 77 + 2 + 78 + 300 +147 +1.0 +148 +0.0 +149 +0.0 +100 +AcDbLayout + 1 +Model + 70 + 1 + 71 + 0 + 10 +0.0 + 20 +0.0 + 11 +12.0 + 21 +9.0 + 12 +0.0 + 22 +0.0 + 32 +0.0 + 14 +-5.24165748031496 + 24 +-6.359767716535433 + 34 +0.0 + 15 +2.166854330708662 + 25 +-2.421259842519685 + 35 +0.0 +146 +0.0 + 13 +0.0 + 23 +0.0 + 33 +0.0 + 16 +1.0 + 26 +0.0 + 36 +0.0 + 17 +0.0 + 27 +1.0 + 37 +0.0 + 76 + 0 +330 +1F +331 +29 + 0 +MATERIAL + 5 +3D +102 +{ACAD_REACTORS +330 +3B +102 +} +330 +3B +100 +AcDbMaterial + 1 +ByBlock + 72 + 1 + 94 + 127 + 0 +MATERIAL + 5 +3C +102 +{ACAD_REACTORS +330 +3B +102 +} +330 +3B +100 +AcDbMaterial + 1 +ByLayer + 72 + 1 + 94 + 127 + 0 +MATERIAL + 5 +3E +102 +{ACAD_REACTORS +330 +3B +102 +} +330 +3B +100 +AcDbMaterial + 1 +Global + 72 + 1 + 94 + 127 + 0 +MLINESTYLE + 5 +18 +102 +{ACAD_REACTORS +330 +17 +102 +} +330 +17 +100 +AcDbMlineStyle + 2 +Standard + 70 + 0 + 3 + + 62 + 256 + 51 +90.0 + 52 +90.0 + 71 + 2 + 49 +0.5 + 62 + 256 + 6 +BYLAYER + 49 +-0.5 + 62 + 256 + 6 +BYLAYER + 0 +ACDBPLACEHOLDER + 5 +F +102 +{ACAD_REACTORS +330 +E +102 +} +330 +E + 0 +VISUALSTYLE + 5 +2F +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +77 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +2dWireframe + 70 + 4 + 71 + 0 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +31 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +7B +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +3D Hidden + 70 + 6 + 71 + 1 + 72 + 2 + 73 + 2 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 2 + 91 + 2 + 64 + 7 + 65 + 257 + 75 + 2 +175 + 1 + 42 +40.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 3 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +30 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +79 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +3dWireframe + 70 + 5 + 71 + 0 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +32 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +7D +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Basic + 70 + 7 + 71 + 1 + 72 + 0 + 73 + 1 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 0 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +36 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +85 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Brighten + 70 + 12 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +50.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +3A +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +8D +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +ColorChange + 70 + 16 + 71 + 2 + 72 + 2 + 73 + 3 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 8 +421 + 8421504 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 8 +424 + 8421504 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +34 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +81 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Conceptual + 70 + 9 + 71 + 3 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 2 + 91 + 2 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +40.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 3 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +35 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +83 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Dim + 70 + 11 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +-50.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +39 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +8B +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Facepattern + 70 + 15 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2B +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +6F +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Flat + 70 + 0 + 71 + 2 + 72 + 1 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 0 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2C +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +71 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +FlatWithEdges + 70 + 1 + 71 + 2 + 72 + 1 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2D +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +73 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Gouraud + 70 + 2 + 71 + 2 + 72 + 2 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 0 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +2E +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +75 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +GouraudWithEdges + 70 + 3 + 71 + 2 + 72 + 2 + 73 + 1 + 90 + 2 + 40 +-0.6 + 41 +30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 0 + 66 + 257 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +38 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +89 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Linepattern + 70 + 14 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 7 +175 + 7 + 42 +1.0 + 92 + 8 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +VISUALSTYLE + 5 +33 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +7F +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Realistic + 70 + 8 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 0 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 8 + 66 + 8 +424 + 7895160 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 13 + 44 +0.0 +173 + 0 +291 + 0 + 45 +0.0 + 0 +VISUALSTYLE + 5 +37 +102 +{ACAD_REACTORS +330 +2A +102 +} +102 +{ACAD_XDICTIONARY +360 +87 +102 +} +330 +2A +100 +AcDbVisualStyle + 2 +Thicken + 70 + 13 + 71 + 2 + 72 + 2 + 73 + 0 + 90 + 0 + 40 +-0.6 + 41 +-30.0 + 62 + 5 + 63 + 7 +421 + 16777215 + 74 + 1 + 91 + 4 + 64 + 7 + 65 + 257 + 75 + 1 +175 + 1 + 42 +1.0 + 92 + 12 + 66 + 7 + 43 +1.0 + 76 + 1 + 77 + 6 + 78 + 2 + 67 + 7 + 79 + 5 +170 + 0 +171 + 0 +290 + 0 +174 + 0 + 93 + 1 + 44 +0.0 +173 + 0 +291 + 1 + 45 +0.0 + 0 +DICTIONARY + 5 +77 +330 +2F +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +78 + 0 +DICTIONARY + 5 +7B +330 +31 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +7C + 0 +DICTIONARY + 5 +79 +330 +30 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +7A + 0 +DICTIONARY + 5 +7D +330 +32 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +7E + 0 +DICTIONARY + 5 +85 +330 +36 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +86 + 0 +DICTIONARY + 5 +8D +330 +3A +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +8E + 0 +DICTIONARY + 5 +81 +330 +34 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +82 + 0 +DICTIONARY + 5 +83 +330 +35 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +84 + 0 +DICTIONARY + 5 +8B +330 +39 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +8C + 0 +DICTIONARY + 5 +6F +330 +2B +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +70 + 0 +DICTIONARY + 5 +71 +330 +2C +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +72 + 0 +DICTIONARY + 5 +73 +330 +2D +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +74 + 0 +DICTIONARY + 5 +75 +330 +2E +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +76 + 0 +DICTIONARY + 5 +89 +330 +38 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +8A + 0 +DICTIONARY + 5 +7F +330 +33 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +80 + 0 +DICTIONARY + 5 +87 +330 +37 +100 +AcDbDictionary +280 + 1 +281 + 1 + 3 +ACAD_XREC_ROUNDTRIP +360 +88 + 0 +XRECORD + 5 +78 +102 +{ACAD_REACTORS +330 +77 +102 +} +330 +77 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +7C +102 +{ACAD_REACTORS +330 +7B +102 +} +330 +7B +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +7A +102 +{ACAD_REACTORS +330 +79 +102 +} +330 +79 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +7E +102 +{ACAD_REACTORS +330 +7D +102 +} +330 +7D +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +86 +102 +{ACAD_REACTORS +330 +85 +102 +} +330 +85 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +8E +102 +{ACAD_REACTORS +330 +8D +102 +} +330 +8D +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +82 +102 +{ACAD_REACTORS +330 +81 +102 +} +330 +81 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +84 +102 +{ACAD_REACTORS +330 +83 +102 +} +330 +83 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +8C +102 +{ACAD_REACTORS +330 +8B +102 +} +330 +8B +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +70 +102 +{ACAD_REACTORS +330 +6F +102 +} +330 +6F +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +72 +102 +{ACAD_REACTORS +330 +71 +102 +} +330 +71 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +74 +102 +{ACAD_REACTORS +330 +73 +102 +} +330 +73 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +76 +102 +{ACAD_REACTORS +330 +75 +102 +} +330 +75 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +8A +102 +{ACAD_REACTORS +330 +89 +102 +} +330 +89 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +80 +102 +{ACAD_REACTORS +330 +7F +102 +} +330 +7F +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +XRECORD + 5 +88 +102 +{ACAD_REACTORS +330 +87 +102 +} +330 +87 +100 +AcDbXrecord +280 + 1 +102 +RTVSPropertyOp0 + 70 + 1 +102 +RTVSPropertyOp1 + 70 + 1 +102 +RTVSPropertyOp2 + 70 + 1 +102 +RTVSPropertyOp3 + 70 + 1 +102 +RTVSPropertyOp4 + 70 + 1 +102 +RTVSPropertyOp5 + 70 + 1 +102 +RTVSPropertyOp6 + 70 + 1 +102 +RTVSPropertyOp7 + 70 + 1 +102 +RTVSPropertyOp8 + 70 + 1 +102 +RTVSPropertyOp9 + 70 + 1 +102 +RTVSPropertyOp10 + 70 + 1 +102 +RTVSPropertyOp11 + 70 + 1 +102 +RTVSPropertyOp12 + 70 + 1 +102 +RTVSPropertyOp13 + 70 + 1 +102 +RTVSPropertyOp14 + 70 + 1 +102 +RTVSPropertyOp15 + 70 + 1 +102 +RTVSPropertyOp16 + 70 + 1 +102 +RTVSPropertyOp17 + 70 + 1 +102 +RTVSPropertyOp18 + 70 + 1 +102 +RTVSPropertyOp19 + 70 + 1 +102 +RTVSPropertyOp20 + 70 + 1 +102 +RTVSPropertyOp21 + 70 + 1 +102 +RTVSPropertyOp22 + 70 + 1 +102 +RTVSPropertyOp23 + 70 + 1 +102 +RTVSPropertyOp24 + 70 + 1 +102 +RTVSPropertyOp25 + 70 + 1 +102 +RTVSPropertyOp26 + 70 + 1 +102 +RTVSPropertyOp27 + 70 + 1 + 0 +ENDSEC + 0 +EOF diff --git a/lib/RFM69/Examples/Struct_receive/Struct_receive.ino b/lib/RFM69/Examples/Struct_receive/Struct_receive.ino new file mode 100644 index 00000000..e2d09b16 --- /dev/null +++ b/lib/RFM69/Examples/Struct_receive/Struct_receive.ino @@ -0,0 +1,142 @@ +#include +#include +#include + +#define NODEID 1 +#define NETWORKID 100 +#define FREQUENCY RF69_433MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define KEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define LED 9 +#define SERIAL_BAUD 115200 +#define ACK_TIME 30 // # of ms to wait for an ack +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! + +RFM69 radio; +SPIFlash flash(8, 0xEF30); //EF40 for 16mbit windbond chip +bool promiscuousMode = false; //set to 'true' to sniff all packets on the same network + +typedef struct { + int nodeId; //store this nodeId + unsigned long uptime; //uptime in ms + float temp; //temperature maybe? +} Payload; +Payload theData; + +void setup() { + Serial.begin(SERIAL_BAUD); + delay(10); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(KEY); + radio.promiscuous(promiscuousMode); + char buff[50]; + sprintf(buff, "\nListening at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); + if (flash.initialize()) + Serial.println("SPI Flash Init OK!"); + else + Serial.println("SPI Flash Init FAIL! (is chip present?)"); +} + +byte ackCount=0; +void loop() { + //process any serial input + if (Serial.available() > 0) + { + char input = Serial.read(); + if (input == 'r') //d=dump all register values + radio.readAllRegs(); + if (input == 'E') //E=enable encryption + radio.encrypt(KEY); + if (input == 'e') //e=disable encryption + radio.encrypt(null); + if (input == 'p') + { + promiscuousMode = !promiscuousMode; + radio.promiscuous(promiscuousMode); + Serial.print("Promiscuous mode ");Serial.println(promiscuousMode ? "on" : "off"); + } + + if (input == 'd') //d=dump flash area + { + Serial.println("Flash content:"); + int counter = 0; + + while(counter<=256){ + Serial.print(flash.readByte(counter++), HEX); + Serial.print('.'); + } + while(flash.busy()); + Serial.println(); + } + if (input == 'D') + { + Serial.print("Deleting Flash chip content... "); + flash.chipErase(); + while(flash.busy()); + Serial.println("DONE"); + } + if (input == 'i') + { + Serial.print("DeviceID: "); + word jedecid = flash.readDeviceId(); + Serial.println(jedecid, HEX); + } + } + + if (radio.receiveDone()) + { + Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] "); + Serial.print(" [RX_RSSI:");Serial.print(radio.readRSSI());Serial.print("]"); + if (promiscuousMode) + { + Serial.print("to [");Serial.print(radio.TARGETID, DEC);Serial.print("] "); + } + + if (radio.DATALEN != sizeof(Payload)) + Serial.print("Invalid payload received, not matching Payload struct!"); + else + { + theData = *(Payload*)radio.DATA; //assume radio.DATA actually contains our struct and not something else + Serial.print(" nodeId="); + Serial.print(theData.nodeId); + Serial.print(" uptime="); + Serial.print(theData.uptime); + Serial.print(" temp="); + Serial.print(theData.temp); + } + + if (radio.ACKRequested()) + { + byte theNodeID = radio.SENDERID; + radio.sendACK(); + Serial.print(" - ACK sent."); + + // When a node requests an ACK, respond to the ACK + // and also send a packet requesting an ACK (every 3rd one only) + // This way both TX/RX NODE functions are tested on 1 end at the GATEWAY + if (ackCount++%3==0) + { + Serial.print(" Pinging node "); + Serial.print(theNodeID); + Serial.print(" - ACK..."); + delay(3); //need this when sending right after reception .. ? + if (radio.sendWithRetry(theNodeID, "ACK TEST", 8, 0)) // 0 = only 1 attempt, no retries + Serial.print("ok!"); + else Serial.print("nothing"); + } + } + Serial.println(); + Blink(LED,3); + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} diff --git a/lib/RFM69/Examples/Struct_send/Struct_send.ino b/lib/RFM69/Examples/Struct_send/Struct_send.ino new file mode 100644 index 00000000..d293267a --- /dev/null +++ b/lib/RFM69/Examples/Struct_send/Struct_send.ino @@ -0,0 +1,138 @@ +#include +#include +#include + +#define NODEID 99 +#define NETWORKID 100 +#define GATEWAYID 1 +#define FREQUENCY RF69_433MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define KEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define LED 9 +#define SERIAL_BAUD 115200 +#define ACK_TIME 30 // # of ms to wait for an ack +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! + +int TRANSMITPERIOD = 300; //transmit a packet to gateway so often (in ms) +byte sendSize=0; +boolean requestACK = false; +SPIFlash flash(8, 0xEF30); //EF40 for 16mbit windbond chip +RFM69 radio; + +typedef struct { + int nodeId; //store this nodeId + unsigned long uptime; //uptime in ms + float temp; //temperature maybe? +} Payload; +Payload theData; + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(KEY); + char buff[50]; + sprintf(buff, "\nTransmitting at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); + + if (flash.initialize()) + Serial.println("SPI Flash Init OK!"); + else + Serial.println("SPI Flash Init FAIL! (is chip present?)"); +} + +long lastPeriod = -1; +void loop() { + //process any serial input + if (Serial.available() > 0) + { + char input = Serial.read(); + if (input >= 48 && input <= 57) //[0,9] + { + TRANSMITPERIOD = 100 * (input-48); + if (TRANSMITPERIOD == 0) TRANSMITPERIOD = 1000; + Serial.print("\nChanging delay to "); + Serial.print(TRANSMITPERIOD); + Serial.println("ms\n"); + } + + if (input == 'r') //d=dump register values + radio.readAllRegs(); + //if (input == 'E') //E=enable encryption + // radio.encrypt(KEY); + //if (input == 'e') //e=disable encryption + // radio.encrypt(null); + + if (input == 'd') //d=dump flash area + { + Serial.println("Flash content:"); + int counter = 0; + + while(counter<=256){ + Serial.print(flash.readByte(counter++), HEX); + Serial.print('.'); + } + while(flash.busy()); + Serial.println(); + } + if (input == 'e') + { + Serial.print("Erasing Flash chip ... "); + flash.chipErase(); + while(flash.busy()); + Serial.println("DONE"); + } + if (input == 'i') + { + Serial.print("DeviceID: "); + word jedecid = flash.readDeviceId(); + Serial.println(jedecid, HEX); + } + } + + //check for any received packets + if (radio.receiveDone()) + { + Serial.print('[');Serial.print(radio.SENDERID, DEC);Serial.print("] "); + for (byte i = 0; i < radio.DATALEN; i++) + Serial.print((char)radio.DATA[i]); + Serial.print(" [RX_RSSI:");Serial.print(radio.readRSSI());Serial.print("]"); + + if (radio.ACKRequested()) + { + radio.sendACK(); + Serial.print(" - ACK sent"); + delay(10); + } + Blink(LED,5); + Serial.println(); + } + + int currPeriod = millis()/TRANSMITPERIOD; + if (currPeriod != lastPeriod) + { + //fill in the struct with new values + theData.nodeId = NODEID; + theData.uptime = millis(); + theData.temp = 91.23; //it's hot! + + Serial.print("Sending struct ("); + Serial.print(sizeof(theData)); + Serial.print(" bytes) ... "); + if (radio.sendWithRetry(GATEWAYID, (const void*)(&theData), sizeof(theData))) + Serial.print(" ok!"); + else Serial.print(" nothing..."); + Serial.println(); + Blink(LED,3); + lastPeriod=currPeriod; + } +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} diff --git a/lib/RFM69/Examples/SwitchMote/SwitchMote.ino b/lib/RFM69/Examples/SwitchMote/SwitchMote.ino new file mode 100644 index 00000000..17d79fa1 --- /dev/null +++ b/lib/RFM69/Examples/SwitchMote/SwitchMote.ino @@ -0,0 +1,692 @@ +// ************************************************************************************************************* +// SwitchMote sample sketch +// ************************************************************************************************************* +// Handles the single 5A relay SwitchMote, as well as the dual 10A relay SwitchMote2x10A +// https://lowpowerlab.com/switchmote +// SwitchMote is a highly integrated wireless AC switch controller based on Moteino, the wirelessly programmable Arduino +// ************************************************************************************************************* +// This sketch will provide the essential features of SwitchMote: +// - wireless programming +// - accept ON/OFF commands from a Moteino gateway (format is BTNx:y commands where x={0,1,2}, y={0,1}) +// - control the relay(s) to turn the AC load ON/OFF +// - control up to 6 LEDs and 3 buttons on front panel +// - SYNC feature allows out of box synchronization with other SwitchMotes +// ie - when a button is pressed on this SwitchMote it can trigger the press of a button on another SwitchMote +// so you can use a SwitchMote button to control a light/set of lights from remote locations +// this sketch allows up to 5 SYNCs but could be extended +// This sketch may be extended to include integration with other LowPowerLab automation products, for instance to +// control the GarageMote from a button on the SwitchMote, etc. +// ************************************************************************************************************* +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: http://playground.arduino.cc/Code/EEPROMex +#include //get it here: http://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/LowPowerLab/rfm69 +#include //get it here: http://github.com/lowpowerlab/spiflash +#include //comes with Arduino +// ********************************************************************************** +//Auto Transmission Control - dials down transmit power to save battery (-100 is the noise floor, -90 is still pretty good) +//For indoor nodes that are pretty static and at pretty stable temperatures (like a MotionMote) -90dBm is quite safe +//For more variable nodes that can expect to move or experience larger temp drifts a lower margin like -70 to -80 would probably be better +//Always test your ATC mote in the edge cases in your own environment to ensure ATC will perform as you expect +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +// ********************************************************************************** +#define GATEWAYID 1 //assumed 1 in general +#define LED_RM 15 //digital pin for MIDDLE RED LED +#define LED_GM 18 //digital pin for MIDDLE GREEN LED +#define LED_RT 16 //digital pin for TOP RED LED +#define LED_GT 19 //digital pin for TOP GREEN LED +#define LED_RB 14 //digital pin for BOTTOM RED LED +#define LED_GB 17 //digital pin for BOTTOM GREEN LE + +#define RELAY1 7 //digital pin connected to MAIN relay +#define RELAY2 3 //digital pin connected to secondary relay (SwitchMote 2x10A only) +#define RELAY1_INDEX 1 //index in btn[] array which is associated with the MAIN relay +#define RELAY2_INDEX 0 //index in btn[] array which is associated with the secondary relay (SwitchMote 2x10A only) + +#define BTNCOUNT 3 //1 or 3 (2 also possible) +#define BTNM 5 //digital pin of middle button +#define BTNT 6 //digital pin of top button +#define BTNB 4 //digital pin of bottom button + +#define BUTTON_BOUNCE_MS 200 //timespan before another button change can occur +#define SYNC_ENTER 3000 //time required to hold a button before SwitchMote enters [SYNC mode] +#define SYNC_TIME 20000 //max time spent in SYNC mode before returning to normal operation (you got this much time to SYNC 2 SMs, increase if need more time to walk) +#define SYNC_MAX_COUNT 10 //max number of SYNC entries (increase for more interactions) +#define SYNC_EEPROM_ADDR 64 //SYNC_TO and SYNC_INFO data starts at this EEPROM address +#define ERASE_HOLD 6000 //time required to hold a button before SYNC data is erased +#define MOTION_TIME_ON 60000 //time to hold a button/output HIGH after a motion triggered command + +//in SYNC_INFO we're storing 4 pieces of information in each byte: +#define SYNC_DIGIT_THISBTN 0 //first digit is the button pressed on this unit which will trigger an action on another unit +#define SYNC_DIGIT_THISMODE 1 //second digit indicates the mode of this unit is in when triggering +#define SYNC_DIGIT_SYNCBTN 2 //third digit indicates the button that should be requested to be "pressed" on the target +#define SYNC_DIGIT_SYNCMODE 3 //fourth digit indicates the mode that should be requested on the target +#define SYNC_MIN_TIME_LIMIT 2000 //minimum time limit since last SYNC before a new sync can be propagated (used to stop circular SYNC loops) + +#define SERIAL_EN //comment this out when deploying to an installed SM to save a few KB of sketch size +#define SERIAL_BAUD 115200 +#ifdef SERIAL_EN + #define DEBUG(input) {Serial.print(input); delay(1);} + #define DEBUGln(input) {Serial.println(input); delay(1);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif + +#define LED_PERIOD_ERROR 50 +#define LED_PERIOD_OK 200 +#define ON 1 +#define OFF 0 +#define PRESSED 0 +#define RELEASED 1 + +struct configuration { + byte frequency; + byte isHW; + byte nodeID; + byte networkID; + char encryptionKey[16]; + byte separator1; + char description[10]; + byte separator2; + //byte buttons? + //byte DEBUG? +} CONFIG; + +// ************************************************************************************************************* +//compiler wants these function prototype here because of the optional parameter(s) +void action(byte whichButtonIndex, byte whatMode, boolean notifyGateway=true); +boolean checkSYNC(byte nodeIDToSkip=0); +// ************************************************************************************************************* +//SYNC data is stored in 2 arrays: +byte SYNC_TO[SYNC_MAX_COUNT]; // stores the address of the remote SM(s) that this SM has to notify/send request to +int SYNC_INFO[SYNC_MAX_COUNT]; // stores the buttons and modes of this and the remote SM as last 4 digits: + // - this SM button # (0,1,2) = least significant digit (SYNC_DIGIT_BTN=0) + // - this button mode (0,1) = second digit ((SYNC_DIGIT_THISMODE=1) + // - remote SM button # (0,1,2) = 3rd digit from right (SYNC_DIGIT_SYNCBTN=2) + // - remote SM mode (0,1) = most significant digit (SYNC_DIGIT_SYNCMODE=3) + // the 4 pieces of information require an int (a byte only has up to 3 digits) +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +SPIFlash flash(8, 0xEF30); //FLASH MEM CS pin is wired to Moteino D8 +unsigned long syncStart=0; +unsigned long now=0; +byte btnIndex=0; // as the sketch loops this index will loop through the available physical buttons +byte mode[] = {ON,ON,ON}; //could use single bytes for efficiency but keeping it separate for clarity +byte btn[] = {BTNT, BTNM, BTNB}; +byte btnLastState[]={RELEASED,RELEASED,RELEASED}; +unsigned long btnLastPress[]={0,0,0}; +byte btnLEDRED[] = {LED_RT, LED_RM, LED_RB}; +byte btnLEDGRN[] = {LED_GT, LED_GM, LED_GB}; +uint32_t lastSYNC=0; //remember last status change - used to detect & stop loop conditions in circular SYNC scenarios +char * buff="justAnEmptyString"; + +void setup(void) +{ + #ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); + #endif + EEPROM.readBlock(0, CONFIG); + if (CONFIG.frequency!=RF69_433MHZ && CONFIG.frequency!=RF69_868MHZ && CONFIG.frequency!=RF69_915MHZ) // virgin CONFIG, expected [4,8,9] + { + DEBUGln(F("\r\nNo valid config found in EEPROM, setting defaults..")); + CONFIG.separator1=CONFIG.separator2=0; + CONFIG.frequency=RF69_915MHZ; + CONFIG.description[0]=0; + CONFIG.encryptionKey[0]=0; + CONFIG.isHW=CONFIG.nodeID=CONFIG.networkID=0; + } + + //if SYNC_INFO[0] == 255 it means it's virgin EEPROM memory, needs initialization (one time ever) + if (EEPROM.read(SYNC_EEPROM_ADDR+SYNC_MAX_COUNT)==255) eraseSYNC(); + EEPROM.readBlock(SYNC_EEPROM_ADDR, SYNC_TO, SYNC_MAX_COUNT); + EEPROM.readBlock(SYNC_EEPROM_ADDR+SYNC_MAX_COUNT, (byte *)SYNC_INFO, SYNC_MAX_COUNT*2); //int=2bytes so need to cast to byte array + + radio.initialize(CONFIG.frequency,CONFIG.nodeID,CONFIG.networkID); + radio.sleep(); + + if (CONFIG.isHW) radio.setHighPower(); //must include this only for RFM69HW/HCW! + if (CONFIG.encryptionKey[0]!=0) radio.encrypt(CONFIG.encryptionKey); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); + DEBUGln(F("\r\nRFM69_ATC Enabled (Auto Transmission Control)")); +#endif + + pinMode(LED_RM, OUTPUT);pinMode(LED_GM, OUTPUT); + pinMode(LED_RT, OUTPUT);pinMode(LED_GT, OUTPUT); + pinMode(LED_RB, OUTPUT);pinMode(LED_GB, OUTPUT); + // by writing HIGH while in INPUT mode, the internal pullup is activated + // the button will read 1 when RELEASED (because of the pullup) + // the button will read 0 when PRESSED (because it's shorted to GND) + pinMode(BTNM, INPUT);digitalWrite(BTNM, HIGH); //activate pullup + pinMode(BTNT, INPUT);digitalWrite(BTNT, HIGH); //activate pullup + pinMode(BTNB, INPUT);digitalWrite(BTNB, HIGH); //activate pullup + pinMode(RELAY1, OUTPUT); + pinMode(RELAY2, OUTPUT); + blinkLED(LED_RM,LED_PERIOD_ERROR,LED_PERIOD_ERROR,3); + delay(500); + DEBUGln("Listening for wireless ON/OFF commands..."); + + DEBUG(F("|-----------------------------------------------------------")); + //initialize LEDs according to default modes + action(btnIndex, OFF, false);btnIndex++; + action(btnIndex, OFF, false);btnIndex++; + action(btnIndex, OFF, false); + + displayMainMenu(); +} + +byte btnState=RELEASED; +boolean isSyncMode=0; +boolean ignorePress=false; +unsigned long int offTimer=0; +byte offIndex=0; +void loop() +{ + if(Serial.available()) + handleMenuInput(Serial.read()); + + //on each loop pass check the next button + if (isSyncMode==false) + { + btnIndex++; + if (btnIndex>BTNCOUNT-1) btnIndex=0; + } + btnState = digitalRead(btn[btnIndex]); + now = millis(); + + if (btnState != btnLastState[btnIndex] && now-btnLastPress[btnIndex] >= BUTTON_BOUNCE_MS) //button event happened + { + btnLastState[btnIndex] = btnState; + if (btnState == PRESSED) btnLastPress[btnIndex] = now; + + //if normal button press, do the RELAY/LED action and notify sync-ed SwitchMotes + if (btnState == RELEASED && !isSyncMode) + { + ignorePress=false; + action(btnIndex, mode[btnIndex]==ON ? OFF : ON); + checkSYNC(0); + } + } + + //enter SYNC mode when a button pressed for more than SYNC_ENTER ms + if (isSyncMode==false && btnState == PRESSED && now-btnLastPress[btnIndex] >= SYNC_ENTER && !ignorePress) + { + // first broadcast SYNC token to sync with another SwitchMote that is in SYNC mode + // "SYNC?" means "is there anyone wanting to Synchronize with me?" + // response "SYNCx:0" (meaning "OK, SYNC with me and turn my button x OFF") + // response "SYNCx:1" (meaning "OK, SYNC with me and turn my button x ON") + // no response means no other SwMote in range is in SYNC mode, so enter SYNC and + // listen for another SwMote to broadcast its SYNC token + if (radio.sendWithRetry(RF69_BROADCAST_ADDR,"SYNC?",5)) + { + DEBUG(F("GOT SYNC? REPLY FROM [")); + DEBUG(radio.SENDERID); + DEBUG(F(":"));DEBUG(radio.DATALEN);DEBUG(F("]:[")); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUGln(F("]")); + + //ACK received, check payload + if (radio.DATALEN==7 && radio.DATA[0]=='S' && radio.DATA[1]=='Y' && radio.DATA[2]=='N' && radio.DATA[3]=='C' && radio.DATA[5]==':' + && radio.DATA[4]>='0' && radio.DATA[4]<='2' && (radio.DATA[6]=='0' || radio.DATA[6]=='1')) + { + if (addSYNC(radio.SENDERID, radio.DATA[4]-'0', radio.DATA[6]-'0')) + blinkLED(btnLEDGRN[btnIndex],LED_PERIOD_OK,LED_PERIOD_OK,3); + else + blinkLED(btnLEDRED[btnIndex],LED_PERIOD_ERROR,LED_PERIOD_ERROR,3); + + action(btnIndex, mode[btnIndex]); + return; //exit SYNC + } + else + { + DEBUG(F("SYNC ACK mismatch: [")); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUGln(']'); + } + } + else { DEBUGln(F("NO SYNC REPLY ..")); } + + isSyncMode = true; + DEBUGln(F("SYNC MODE ON")); + displaySYNC(); + syncStart = now; + } + + //if button held for more than ERASE_TRIGGER, erase SYNC table + if (isSyncMode==true && btnState == PRESSED && now-btnLastPress[btnIndex] >= ERASE_HOLD && !ignorePress) + { + DEBUG(F("ERASING SYNC TABLE ... ")); + eraseSYNC(); + isSyncMode = false; + ignorePress = true; + DEBUGln(F("... DONE")); + blinkLED(btnLEDRED[btnIndex],LED_PERIOD_ERROR,LED_PERIOD_ERROR,3); + action(btnIndex, mode[btnIndex], false); + } + + //SYNC exit condition + if (isSyncMode) + { + syncBlink(btnLEDRED[btnIndex], btnLEDGRN[btnIndex]); + if (now-syncStart >= SYNC_TIME) + { + isSyncMode = false; + DEBUGln(F("SYNC MODE OFF")); + action(btnIndex, mode[btnIndex], false); + } + } + + //check if any packet received + if (radio.receiveDone()) + { + byte senderID = radio.SENDERID; + DEBUGln(); + DEBUG("[");DEBUG(senderID);DEBUG("] "); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUG(F(" [RX_RSSI:"));DEBUG(radio.RSSI);DEBUG(F("]")); + + // wireless programming token check + // DO NOT REMOVE, or SwitchMote will not be wirelessly programmable any more! + CheckForWirelessHEX(radio, flash, true, LED_RM); + + //respond to SYNC request + if (isSyncMode && radio.DATALEN == 5 + && radio.DATA[0]=='S' && radio.DATA[1]=='Y' && radio.DATA[2]=='N' && radio.DATA[3] == 'C' && radio.DATA[4]=='?') + { + sprintf(buff,"SYNC%d:%d",btnIndex, mode[btnIndex]); //respond to SYNC request with this SM's button and mode information + radio.sendACK(buff, strlen(buff)); + DEBUG(F(" - SYNC ACK sent : ")); + DEBUGln(buff); + isSyncMode = false; + action(btnIndex, mode[btnIndex], false); + return; //continue loop + } + + //listen for BTNx:y commands where x={0,1,2}, y={0,1} + if (radio.DATALEN == 6 + && radio.DATA[0]=='B' && radio.DATA[1]=='T' && radio.DATA[2]=='N' && radio.DATA[4] == ':' + && (radio.DATA[3]>='0' && radio.DATA[3]<='2') && (radio.DATA[5]=='0' || radio.DATA[5]=='1')) + { + if (radio.ACKRequested()) radio.sendACK(); //send ACK sooner when a ON/OFF + ACK is requested + btnIndex = radio.DATA[3]-'0'; + action(btnIndex, (radio.DATA[5]=='1'?ON:OFF), true); //senderID!=GATEWAYID + checkSYNC(senderID); + } + + //listen for MOT:x commands where x={0,1,2} - motion activated command to turn ON a button/relay (timed ON) + if (radio.DATALEN == 5 + && radio.DATA[0]=='M' && radio.DATA[1]=='O' && radio.DATA[2]=='T' && radio.DATA[3] == ':' + && (radio.DATA[4]>='0' && radio.DATA[4]<='2')) + { + if (radio.ACKRequested()) radio.sendACK(); //send ACK sooner when a ON/OFF + ACK is requested + btnIndex = radio.DATA[4]-'0'; + //if(mode[btnIndex] != ON) //if a light is already ON, ignore MOTION triggered commands and do nothing, uncomment this line to + offTimer = millis(); + offIndex = btnIndex; + if(mode[btnIndex] != ON) //only take action when mode is not already ON + { + action(btnIndex, ON, true); //senderID!=GATEWAYID + checkSYNC(senderID); + } + } + + if (radio.ACKRequested()) //dont ACK broadcasted messages except in special circumstances (like SYNCing) + { + radio.sendACK(); + DEBUG(F(" - ACK sent")); + //delay(5); + } + } + + //check if a motion command timer expired and the corresponding light can turn off + if ((offTimer > 0) && (millis() - offTimer > MOTION_TIME_ON)) + { + offTimer = 0; + if(mode[offIndex] != OFF) + { + DEBUGln(F("OffTimer expired, turning off")); + action(offIndex, OFF, true); + checkSYNC(0); + } + } +} + +//sets the mode (ON/OFF) for the current button (btnIndex) and turns SSR ON if the btnIndex points to BTNSSR +void action(byte whichButtonIndex, byte whatMode, boolean notifyGateway) +{ + DEBUG(F("\r\nbtn[")); + DEBUG(whichButtonIndex); + DEBUG(F("]:D")); + DEBUG(btn[whichButtonIndex]); + DEBUG(F(" - ")); + DEBUG(btn[whichButtonIndex]==BTNT?F("TOP: "):btn[whichButtonIndex]==BTNM?F("MAIN: "):btn[whichButtonIndex]==BTNB?F("BOTTOM: "):F("UNKNOWN")); + DEBUG(whatMode==ON?F("ON "):F("OFF")); + + mode[whichButtonIndex] = whatMode; + + //change LEDs and relay states + digitalWrite(btnLEDRED[whichButtonIndex], whatMode == ON ? LOW : HIGH); + digitalWrite(btnLEDGRN[whichButtonIndex], whatMode == ON ? HIGH : LOW); + if (whichButtonIndex==RELAY1_INDEX) + digitalWrite(RELAY1, whatMode == ON ? HIGH : LOW); + if (whichButtonIndex==RELAY2_INDEX) + digitalWrite(RELAY2, whatMode == ON ? HIGH : LOW); //SwitchMote2x10A has 2 10A relays + + //notify gateway + if (notifyGateway) + { + sprintf(buff, "BTN%d:%d", whichButtonIndex,whatMode); + if (radio.sendWithRetry(GATEWAYID, buff, strlen(buff), 5)) //up to 5 attempts + {DEBUGln(F("..OK"));} + else {DEBUGln(F("..NOK"));} + } +} + +long blinkLastCycle=0; +boolean blinkState=0; +void syncBlink(byte LED1, byte LED2) +{ + if (now-blinkLastCycle>=60) + { + blinkLastCycle=now; + blinkState=!blinkState; + digitalWrite(LED1,blinkState); + digitalWrite(LED2,!blinkState); + } +} + +//adds a new entry in the SYNC data +boolean addSYNC(byte targetAddr, byte targetButton, byte targetMode) +{ + byte emptySlot=255; + if (targetAddr==0) return false; + + //traverse all SYNC data and look for an empty slot, or matching slot that should be overwritten + for (byte i=0; i < SYNC_MAX_COUNT; i++) + { + if (SYNC_TO[i]==0 && emptySlot==255) //save first empty slot + emptySlot=i; //remember first empty slot anyway + else if (SYNC_TO[i]==targetAddr && //save first slot that matches the same button with the same mode in this unit + //but different target unit mode (cant have 2 opposing conditions so just override it) + getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCBTN)==targetButton && + getDigit(SYNC_INFO[i],SYNC_DIGIT_THISMODE)==mode[btnIndex]) //getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCNODE)!=targetMode) + { + emptySlot=i; //remember matching non-empty slot + break; //stop as soon as we found a match + } + } + + if (emptySlot==255) //means SYNC data is full, do nothing and return + { + DEBUGln(F("SYNC data full, aborting...")); + return false; + } + else + { + SYNC_TO[emptySlot] = targetAddr; + SYNC_INFO[emptySlot] = targetMode*1000 + targetButton*100 + mode[btnIndex]*10 + btnIndex; + DEBUG(F("Saving SYNC_TO[")); + DEBUG(emptySlot); + DEBUG(F("]=")); + DEBUG(SYNC_TO[emptySlot]); + DEBUG(F(" SYNC_INFO = ")); + DEBUG(SYNC_INFO[emptySlot]); + saveSYNC(); + DEBUGln(F(" .. Saved!")); + return true; + } +} + +//checks the SYNC table for any necessary requests to other SwitchMotes +boolean checkSYNC(byte nodeIDToSkip) +{ + for (byte i=0; i < SYNC_MAX_COUNT; i++) + { + if (SYNC_TO[i]!=0 && SYNC_TO[i]!=nodeIDToSkip && getDigit(SYNC_INFO[i],SYNC_DIGIT_THISBTN)==btnIndex && getDigit(SYNC_INFO[i],SYNC_DIGIT_THISMODE)==mode[btnIndex]) + { + DEBUGln(); + DEBUG(F(" SYNC[")); + DEBUG(SYNC_TO[i]); + DEBUG(F(":")); + DEBUG(getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCMODE)); + DEBUG(F("]:")); + sprintf(buff, "BTN%d:%d", getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCBTN), getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCMODE)); + if (radio.sendWithRetry(SYNC_TO[i], buff,6)) + {DEBUG(F("OK"));} + else {DEBUG(F("NOK"));} + } + } +} + +void eraseSYNC() +{ + for(byte i = 0; i(SYNC_EEPROM_ADDR, SYNC_TO, SYNC_MAX_COUNT); + EEPROM.writeBlock(SYNC_EEPROM_ADDR+SYNC_MAX_COUNT, (byte*)SYNC_INFO, SYNC_MAX_COUNT*2); +} + +void displaySYNC() +{ + for (byte i=0; i < SYNC_MAX_COUNT; i++) + { + DEBUG(SYNC_INFO[i]); + if (i!=SYNC_MAX_COUNT-1) DEBUG(','); + } +} + +//returns the Nth digit in an integer +byte getDigit(int n, byte pos){return (n/(pos==0?1:pos==1?10:pos==2?100:1000))%10;} + +void blinkLED(byte LEDpin, byte periodON, byte periodOFF, byte repeats) +{ + while(repeats-->0) + { + digitalWrite(LEDpin, HIGH); + delay(periodON); + digitalWrite(LEDpin, LOW); + delay(periodOFF); + } +} + +/*CONFIGURATION HELPERS*/ +void displayMainMenu() +{ + Serial.println(); + Serial.println(F("|-----------------------------------------------------------")); + Serial.println(F("| SwitchMote RFM69 configuration menu ")); + Serial.println(F("| Use Putty or a similar client to setup params")); + Serial.println(F("| ArduinoIDE serial monitor doesn't work well")); + Serial.println(F("| Don't forget to save 's' and reboot 'r' to apply changes")); + Serial.println(F("|-----------------------------------------------------------")); + Serial.print (F("| f - set frequency band (set to: "));Serial.print(CONFIG.frequency==RF69_433MHZ?F("433"):CONFIG.frequency==RF69_868MHZ?F("868"):F("915"));Serial.println(F("mhz)")); + Serial.print (F("| i - set node ID (set to: "));Serial.print(CONFIG.nodeID);Serial.println(F(")")); + Serial.print (F("| n - set network ID (set to: "));Serial.print(CONFIG.networkID);Serial.println(")"); + Serial.print (F("| w - set RFM69 type (set to: "));Serial.print(CONFIG.isHW?F("HW/HCW"):F("W/CW"));Serial.println(F(")")); + Serial.print (F("| e - set encryption key (set to: '"));Serial.print(CONFIG.encryptionKey);Serial.println(F("')")); + Serial.print (F("| d - set description (set to: '"));Serial.print(CONFIG.description);Serial.println(F("')")); + Serial.println(F("| s - save CONFIG to EEPROM")); + Serial.println(F("| E - erase whole EEPROM - [0..1023]")); + Serial.print (F("| S - erase SYNC data ["));Serial.print(SYNC_EEPROM_ADDR);Serial.print(F(".."));Serial.print(SYNC_EEPROM_ADDR+3*SYNC_MAX_COUNT-1);Serial.print(F("]:[")); + displaySYNC(); + Serial.println(']'); + Serial.println(F("| r - reboot")); + Serial.println(F("| ESC - re-display config menu")); + Serial.println(F("|-----------------------------------------------------------")); + Serial.println(F("| Usage ex.: press 'f' to change frequency")); + Serial.println(F("|-----------------------------------------------------------")); +} + +char menu = 0; +byte charsRead = 0; +void handleMenuInput(char c) +{ + switch(menu) + { + case 0: + switch(c) + { + case 'f': Serial.print(F("\r\nEnter frequency ('4'= 433mhz, '8'=868mhz, '9'=915mhz): ")); menu=c; break; + case 'i': Serial.print(F("\r\nEnter node ID (1-255 + ): ")); CONFIG.nodeID=0;menu=c; break; + case 'n': Serial.print(F("\r\nEnter network ID (0-255 + ): ")); CONFIG.networkID=0; menu=c; break; + case 'e': Serial.print(F("\r\nEnter encryption key (type 16 characters): ")); menu=c; break; + case 'w': Serial.print(F("\r\nIs this RFM69W/CW/HW (0=W/CW, 1=HW/HCW): ")); menu=c; break; + case 'd': Serial.print(F("\r\nEnter description (10 chars max + ): ")); menu=c; break; + case 's': Serial.print(F("\r\nCONFIG saved to EEPROM!")); EEPROM.writeBlock(0, CONFIG); break; + case 'E': Serial.print(F("\r\nErasing EEPROM ... ")); menu=c; break; + case 'S': Serial.print(F("\r\nErasing SYNC EEPROM ... ")); menu=c; break; + case 'r': Serial.print(F("\r\nRebooting")); resetUsingWatchdog(1); break; + case 27: displayMainMenu();menu=0;break; + } + break; + + case 'f': + switch(c) + { + case '4': Serial.println(F("Set to 433Mhz")); CONFIG.frequency = RF69_433MHZ; menu=0; break; + case '8': Serial.println(F("Set to 868Mhz")); CONFIG.frequency = RF69_868MHZ; menu=0; break; + case '9': Serial.println(F("Set to 915Mhz")); CONFIG.frequency = RF69_915MHZ; menu=0; break; + case 27: displayMainMenu();menu=0;break; + } + break; + + case 'i': + if (c >= '0' && c <= '9') + { + if (CONFIG.nodeID * 10 + c - 48 <= 255) + { + CONFIG.nodeID = CONFIG.nodeID * 10 + c - 48; + Serial.print(c); + } + else + { + Serial.print(" - Set to ");Serial.println(CONFIG.nodeID); + menu=0; + } + } + else if (c == 13 || c == 27) + { + Serial.print(F(" - Set to "));Serial.println(CONFIG.nodeID); + displayMainMenu(); + menu=0; + } + break; + + case 'n': + if (c >= '0' && c <= '9') + { + if (CONFIG.networkID * 10 + c - 48 <= 255) + { + CONFIG.networkID = CONFIG.networkID * 10 + c - 48; + Serial.print(c); + } + else + { + Serial.print(" - Set to ");Serial.println(CONFIG.networkID); + menu=0; + } + } + if (c == 13 || c == 27) + { + Serial.print(" - Set to ");Serial.println(CONFIG.networkID); + displayMainMenu(); + menu=0; + } + break; + + case 'e': + if (c >= ' ' && c <= '~') //human readable chars (32 - 126) + if (++charsRead<=16) + { + CONFIG.encryptionKey[charsRead-1] = c; + CONFIG.encryptionKey[charsRead] = 0; + Serial.print(c); + } + if (charsRead >= 16 || c == 27 || c == 13) + { + //Serial.print(" - Set to [");Serial.print(CONFIG.encryptionKey);Serial.println(']'); + Serial.println(F(" - DONE")); + displayMainMenu();menu=0;charsRead=0; + } + break; + + case 'd': + if (c >= ' ' && c <= '~') //human readable chars (32 - 126) + { + if (++charsRead<=10) + { + CONFIG.description[charsRead-1] = c; + CONFIG.description[charsRead] = 0; + Serial.print(c); + } + } + if (charsRead>=10 || c == 13 || c == 27) + { + //Serial.print(" - Set to [");Serial.print(CONFIG.description);Serial.println(']'); + Serial.println(F(" - DONE")); + displayMainMenu();menu=0;charsRead=0; + } + break; + + case 'w': + switch(c) + { + case '0': Serial.println(F("Set to RFM69W\\CW")); CONFIG.isHW = 0; menu=0; break; + case '1': Serial.println(F("Set to RFM69HW\\HCW")); CONFIG.isHW = 1; menu=0; break; + case 27: displayMainMenu();menu=0;break; + } + break; + case 'E': + for (int i=0;i<1024;i++) EEPROM.write(i,255); //eeprom_write_byte((unsigned char *) i, 255); + Serial.println(F("DONE")); + //resetUsingWatchdog(1); + menu=0; + break; + case 'S': + eraseSYNC(); + Serial.println(F("DONE")); + menu=0; + break; + } +} \ No newline at end of file diff --git a/lib/RFM69/Examples/SwitchMote/SwitchMote_withPIR.ino b/lib/RFM69/Examples/SwitchMote/SwitchMote_withPIR.ino new file mode 100644 index 00000000..b9d55064 --- /dev/null +++ b/lib/RFM69/Examples/SwitchMote/SwitchMote_withPIR.ino @@ -0,0 +1,775 @@ +// ************************************************************************************************************* +// SwitchMote Moteino sample sketch with PIR motion sensor support +// ************************************************************************************************************* +// Handles the single 5A relay SwitchMote, as well as the dual 10A relay SwitchMote2x10A +// SwitchMote is a highly integrated wireless AC switch controller based on Moteino +// https://lowpowerlab.com/switchmote +// ************************************************************************************************************* +// This sketch will provide the essential features of SwitchMote: +// - wireless programming +// - accept ON/OFF commands from a Moteino gateway (format is BTNx:y commands where x={0,1,2}, y={0,1}) +// - control the relay(s) to turn the AC load ON/OFF +// - control up to 6 LEDs and 3 buttons on front panel +// - SYNC feature allows out of box synchronization with other SwitchMotes +// ie - when a button is pressed on this SwitchMote it can trigger the press of a button on another SwitchMote +// so you can use a SwitchMote button to control a light/set of lights from remote locations +// this sketch allows up to 5 SYNCs but could be extended +// - Panasonic PIR motion sensor support in place of middle button +// This sketch may be extended to include integration with other LowPowerLab automation products, for instance to +// control the GarageMote from a button on the SwitchMote, etc. +// ************************************************************************************************************* +// Copyright Felix Rusu 2017, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: http://playground.arduino.cc/Code/EEPROMex +#include //get it here: http://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/LowPowerLab/rfm69 +#include //get it here: http://github.com/lowpowerlab/spiflash +#include //comes with Arduino +// ********************************************************************************** +//Auto Transmission Control - dials down transmit power to save battery (-100 is the noise floor, -90 is still pretty good) +//For indoor nodes that are pretty static and at pretty stable temperatures (like a MotionMote) -90dBm is quite safe +//For more variable nodes that can expect to move or experience larger temp drifts a lower margin like -70 to -80 would probably be better +//Always test your ATC mote in the edge cases in your own environment to ensure ATC will perform as you expect +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +// ********************************************************************************** +#define GATEWAYID 1 //always send messages to NodeID=1 +// ********************************************************************************** +#define PIRPRESENT //un-comment if you have a panasonic PIR instead of the MIDDLE button + +#ifdef PIRPRESENT + #define PIR_POWER 18 //PIR powered by D18 + #define PIR_OUTPUT 5 //PIR output signal to D5 - SHARED WITH middle button! + #define PIR_DEBOUNCE 6000 //PIR signals valid at least this many ms apart + #define PIR_LED_ON 3000 +#endif +// ********************************************************************************** +#define BTNCOUNT 2 //1 or 3 (2 also possible) +#define BTNT 6 //digital pin of top button +#define BTNB 4 //digital pin of bottom button + +#define LED_RT 16 //digital pin for TOP RED LED +#define LED_GT 19 //digital pin for TOP GREEN LED +#define LED_RM 15 //digital pin for MIDDLE RED LED +//#define LED_GM 18 //digital pin for MIDDLE GREEN LED +#define LED_RM 15 //digital pin for MIDDLE RED LED +#define LED_RB 14 //digital pin for BOTTOM RED LED +#define LED_GB 17 //digital pin for BOTTOM GREEN LE + +#define RELAY1 7 //digital pin connected to MAIN relay +#define RELAY2 3 //digital pin connected to secondary relay (SwitchMote 2x10A only) +#define RELAY1_INDEX 0 //index in btn[] array which is associated with the MAIN relay +#define RELAY2_INDEX 1 //index in btn[] array which is associated with the secondary relay (SwitchMote 2x10A only) + +#define BUTTON_BOUNCE_MS 200 //timespan before another button change can occur +#define SYNC_ENTER 3000 //time required to hold a button before SwitchMote enters [SYNC mode] +#define SYNC_TIME 20000 //max time spent in SYNC mode before returning to normal operation (you got this much time to SYNC 2 SMs, increase if need more time to walk) +#define SYNC_MAX_COUNT 10 //max number of SYNC entries (increase for more interactions) +#define SYNC_EEPROM_ADDR 64 //SYNC_TO and SYNC_INFO data starts at this EEPROM address +#define ERASE_HOLD 6000 //time required to hold a button before SYNC data is erased +#define MOTION_TIME_ON 60000 //time to hold a button/output HIGH after a motion triggered command +// ********************************************************************************** +//in SYNC_INFO we're storing 4 pieces of information in each byte: +#define SYNC_DIGIT_THISBTN 0 //first digit is the button pressed on this unit which will trigger an action on another unit +#define SYNC_DIGIT_THISMODE 1 //second digit indicates the mode of this unit is in when triggering +#define SYNC_DIGIT_SYNCBTN 2 //third digit indicates the button that should be requested to be "pressed" on the target +#define SYNC_DIGIT_SYNCMODE 3 //fourth digit indicates the mode that should be requested on the target +#define SYNC_MIN_TIME_LIMIT 2000 //minimum time limit since last SYNC before a new sync can be propagated (used to stop circular SYNC loops) +// ********************************************************************************** +#define SERIAL_EN //comment this out when deploying to an installed SM to save a few KB of sketch size +#define SERIAL_BAUD 115200 +#ifdef SERIAL_EN + #define DEBUG(input) {Serial.print(input); delay(1);} + #define DEBUGln(input) {Serial.println(input); delay(1);} +#else + #define DEBUG(input); + #define DEBUGln(input); +#endif +// ********************************************************************************** +#define LED_PERIOD_ERROR 50 +#define LED_PERIOD_OK 200 +#define ON 1 +#define OFF 0 +#define PRESSED 0 +#define RELEASED 1 +#define FLASHMEM_CS 8 //FLASH_MEM SPI CS on D8 +// ********************************************************************************** +//Structure used to store Moteino configuration in EEPROM +struct configuration { + byte frequency; + byte isHW; + byte nodeID; + byte networkID; + char encryptionKey[16]; + byte separator1; + char description[10]; + byte separator2; + //byte buttons? + //byte DEBUG? +} CONFIG; + +// ************************************************************************************************************* +//compiler wants these function prototype here because of the optional parameter(s) +void action(byte whichButtonIndex, byte whatMode, boolean notifyGateway=true); +boolean checkSYNC(byte nodeIDToSkip=0); +// ************************************************************************************************************* +//SYNC data is stored in 2 arrays: +byte SYNC_TO[SYNC_MAX_COUNT]; // stores the address of the remote SM(s) that this SM has to notify/send request to +int SYNC_INFO[SYNC_MAX_COUNT]; // stores the buttons and modes of this and the remote SM as last 4 digits: + // - this SM button # (0,1,2) = least significant digit (SYNC_DIGIT_BTN=0) + // - this button mode (0,1) = second digit ((SYNC_DIGIT_THISMODE=1) + // - remote SM button # (0,1,2) = 3rd digit from right (SYNC_DIGIT_SYNCBTN=2) + // - remote SM mode (0,1) = most significant digit (SYNC_DIGIT_SYNCMODE=3) + // the 4 pieces of information require an int (a byte only has up to 3 digits) +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +SPIFlash flash(FLASHMEM_CS, 0xEF30); //FLASH MEM CS pin is wired to Moteino D8 +unsigned long syncStart=0; +unsigned long now=0; +byte btnIndex=0; // as the sketch loops this index will loop through the available physical buttons +byte mode[] = {ON,ON,ON}; //could use single bytes for efficiency but keeping it separate for clarity +byte btn[] = {BTNT, BTNB}; +byte btnLastState[]={RELEASED,RELEASED,RELEASED}; +unsigned long btnLastPress[]={0,0,0}; +byte btnLEDRED[] = {LED_RT, LED_RB}; +byte btnLEDGRN[] = {LED_GT, LED_GB}; +uint32_t lastSYNC=0; //remember last status change - used to detect & stop loop conditions in circular SYNC scenarios +char * buff="justAnEmptyString"; + +#ifdef PIRPRESENT + boolean PIR_MOTION_RELAY=false; +#endif + +void setup(void) +{ + #ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); + #endif + EEPROM.readBlock(0, CONFIG); + if (CONFIG.frequency!=RF69_433MHZ && CONFIG.frequency!=RF69_868MHZ && CONFIG.frequency!=RF69_915MHZ) // virgin CONFIG, expected [4,8,9] + { + DEBUGln(F("\r\nNo valid config found in EEPROM, setting defaults..")); + CONFIG.separator1=CONFIG.separator2=0; + CONFIG.frequency=RF69_915MHZ; + CONFIG.description[0]=0; + CONFIG.encryptionKey[0]=0; + CONFIG.isHW=CONFIG.nodeID=CONFIG.networkID=0; + } + + //if SYNC_INFO[0] == 255 it means it's virgin EEPROM memory, needs initialization (one time ever) + if (EEPROM.read(SYNC_EEPROM_ADDR+SYNC_MAX_COUNT)==255) eraseSYNC(); + EEPROM.readBlock(SYNC_EEPROM_ADDR, SYNC_TO, SYNC_MAX_COUNT); + EEPROM.readBlock(SYNC_EEPROM_ADDR+SYNC_MAX_COUNT, (byte *)SYNC_INFO, SYNC_MAX_COUNT*2); //int=2bytes so need to cast to byte array + + radio.initialize(CONFIG.frequency,CONFIG.nodeID,CONFIG.networkID); + radio.sleep(); + + if (CONFIG.isHW) radio.setHighPower(); //must include this only for RFM69HW/HCW! + if (CONFIG.encryptionKey[0]!=0) radio.encrypt(CONFIG.encryptionKey); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); + DEBUGln(F("\r\nRFM69_ATC Enabled (Auto Transmission Control)")); +#endif + + pinMode(LED_RM, OUTPUT);//pinMode(LED_GM, OUTPUT); + pinMode(LED_RT, OUTPUT);pinMode(LED_GT, OUTPUT); + pinMode(LED_RB, OUTPUT);pinMode(LED_GB, OUTPUT); + // by writing HIGH while in INPUT mode, the internal pullup is activated + // the button will read 1 when RELEASED (because of the pullup) + // the button will read 0 when PRESSED (because it's shorted to GND) + //pinMode(BTNM, INPUT);digitalWrite(BTNM, HIGH); //activate pullup + pinMode(BTNT, INPUT);digitalWrite(BTNT, HIGH); //activate pullup + pinMode(BTNB, INPUT);digitalWrite(BTNB, HIGH); //activate pullup + pinMode(RELAY1, OUTPUT); + pinMode(RELAY2, OUTPUT); + blinkLED(LED_RM,LED_PERIOD_ERROR,LED_PERIOD_ERROR,3); + delay(500); + DEBUGln("Listening for wireless ON/OFF commands..."); + + DEBUG(F("|-----------------------------------------------------------")); + //initialize LEDs according to default modes + action(btnIndex, OFF, false);btnIndex++; + action(btnIndex, OFF, false); + + displayMainMenu(); + +#ifdef PIRPRESENT + pinMode(PIR_POWER, OUTPUT); + PIR_ONOFF(HIGH); //give power to the PIR + digitalWrite(PIR_OUTPUT, LOW); //cancel the pullup activation from BTNM above + digitalWrite(LED_RM, LOW); +#endif +} + +byte btnState=RELEASED; +boolean isSyncMode=0; +boolean ignorePress=false; +unsigned long int offTimer=0; +byte offIndex=0; + +#ifdef PIRPRESENT + byte motionDetected=false; + unsigned long lastMotionTime=0; +#endif + +void PIR_ONOFF(byte state) { + digitalWrite(PIR_POWER, state); +} + +void loop() +{ + if(Serial.available()) + handleMenuInput(Serial.read()); + +#ifdef PIRPRESENT + //check motion sensor + if (digitalRead(PIR_OUTPUT) && motionDetected==false && millis()-lastMotionTime > PIR_DEBOUNCE) + { + motionDetected=true; + digitalWrite(LED_RM, HIGH); + lastMotionTime = millis(); + + if (radio.sendWithRetry(GATEWAYID, "MOTION", 6)) + { + DEBUG("MOTION ACK:OK! RSSI:"); + DEBUGln(radio.RSSI); + } + else DEBUGln("MOTION ACK:NOK..."); + + if (PIR_MOTION_RELAY) + { + offTimer = millis(); + if(mode[offIndex] != ON) //only take action when mode is not already ON + { + action(offIndex, ON, true); //senderID!=GATEWAYID + checkSYNC(0); + } + } + } + else if (motionDetected && millis()-lastMotionTime > PIR_LED_ON) //RED-LED-MIDDLE light up for 3 sec + { + motionDetected = false; + digitalWrite(LED_RM, LOW); + } +#endif + + //on each loop pass check the next button + if (isSyncMode==false) + { + btnIndex++; + if (btnIndex>BTNCOUNT-1) btnIndex=0; + } + btnState = digitalRead(btn[btnIndex]); + now = millis(); + + if (btnState != btnLastState[btnIndex] && now-btnLastPress[btnIndex] >= BUTTON_BOUNCE_MS) //button event happened + { + btnLastState[btnIndex] = btnState; + if (btnState == PRESSED) btnLastPress[btnIndex] = now; + + //if normal button press, do the RELAY/LED action and notify sync-ed SwitchMotes + if (btnState == RELEASED && !isSyncMode) + { + DEBUG("BTN PRESS: ");DEBUGln(btnIndex); + + //when PIR is installed, both button pressed toggles PIR ON/OFF +#ifdef PIRPRESENT + if (BTNCOUNT == 2) + { + byte otherBtnIndex = (btnIndex == 0 ? 1:0); + if (digitalRead(btn[otherBtnIndex]) == RELEASED && now-btnLastPress[otherBtnIndex] >= BUTTON_BOUNCE_MS && now-btnLastPress[otherBtnIndex] <= 2*BUTTON_BOUNCE_MS) + { + //other button was also pressed at same time, toggle PIR-motion->RELAY-ON function + PIR_MOTION_RELAY = !PIR_MOTION_RELAY; + DEBUG("PIR_MOTION_RELAY: ");DEBUGln(PIR_MOTION_RELAY); + return; //don't do anything else + } + } +#endif + + ignorePress=false; + action(btnIndex, mode[btnIndex]==ON ? OFF : ON); + checkSYNC(0); + } + } + + //enter SYNC mode when a button pressed for more than SYNC_ENTER ms + if (isSyncMode==false && btnState == PRESSED && now-btnLastPress[btnIndex] >= SYNC_ENTER && !ignorePress) + { + // first broadcast SYNC token to sync with another SwitchMote that is in SYNC mode + // "SYNC?" means "is there anyone wanting to Synchronize with me?" + // response "SYNCx:0" (meaning "OK, SYNC with me and turn my button x OFF") + // response "SYNCx:1" (meaning "OK, SYNC with me and turn my button x ON") + // no response means no other SwMote in range is in SYNC mode, so enter SYNC and + // listen for another SwMote to broadcast its SYNC token + if (radio.sendWithRetry(RF69_BROADCAST_ADDR,"SYNC?",5)) + { + DEBUG(F("GOT SYNC? REPLY FROM [")); + DEBUG(radio.SENDERID); + DEBUG(F(":"));DEBUG(radio.DATALEN);DEBUG(F("]:[")); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUGln(F("]")); + + //ACK received, check payload + if (radio.DATALEN==7 && radio.DATA[0]=='S' && radio.DATA[1]=='Y' && radio.DATA[2]=='N' && radio.DATA[3]=='C' && radio.DATA[5]==':' + && radio.DATA[4]>='0' && radio.DATA[4]<='2' && (radio.DATA[6]=='0' || radio.DATA[6]=='1')) + { + if (addSYNC(radio.SENDERID, radio.DATA[4]-'0', radio.DATA[6]-'0')) + blinkLED(btnLEDGRN[btnIndex],LED_PERIOD_OK,LED_PERIOD_OK,3); + else + blinkLED(btnLEDRED[btnIndex],LED_PERIOD_ERROR,LED_PERIOD_ERROR,3); + + action(btnIndex, mode[btnIndex]); + return; //exit SYNC + } + else + { + DEBUG(F("SYNC ACK mismatch: [")); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUGln(']'); + } + } + else { DEBUGln(F("NO SYNC REPLY ..")); } + + isSyncMode = true; + DEBUGln(F("SYNC MODE ON")); + displaySYNC(); + syncStart = now; + } + + //if button held for more than ERASE_TRIGGER, erase SYNC table + if (isSyncMode==true && btnState == PRESSED && now-btnLastPress[btnIndex] >= ERASE_HOLD && !ignorePress) + { + DEBUG(F("ERASING SYNC TABLE ... ")); + eraseSYNC(); + isSyncMode = false; + ignorePress = true; + DEBUGln(F("... DONE")); + blinkLED(btnLEDRED[btnIndex],LED_PERIOD_ERROR,LED_PERIOD_ERROR,3); + action(btnIndex, mode[btnIndex], false); + } + + //SYNC exit condition + if (isSyncMode) + { + syncBlink(btnLEDRED[btnIndex], btnLEDGRN[btnIndex]); + if (now-syncStart >= SYNC_TIME) + { + isSyncMode = false; + DEBUGln(F("SYNC MODE OFF")); + action(btnIndex, mode[btnIndex], false); + } + } + + //check if any packet received + if (radio.receiveDone()) + { + byte senderID = radio.SENDERID; + DEBUGln(); + DEBUG("[");DEBUG(senderID);DEBUG("] "); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + DEBUG(F(" [RX_RSSI:"));DEBUG(radio.RSSI);DEBUG(F("]")); + + // wireless programming token check + // DO NOT REMOVE, or SwitchMote will not be wirelessly programmable any more! + CheckForWirelessHEX(radio, flash, true, LED_RM); + + //respond to SYNC request + if (isSyncMode && radio.DATALEN == 5 + && radio.DATA[0]=='S' && radio.DATA[1]=='Y' && radio.DATA[2]=='N' && radio.DATA[3] == 'C' && radio.DATA[4]=='?') + { + sprintf(buff,"SYNC%d:%d",btnIndex, mode[btnIndex]); //respond to SYNC request with this SM's button and mode information + radio.sendACK(buff, strlen(buff)); + DEBUG(F(" - SYNC ACK sent : ")); + DEBUGln(buff); + isSyncMode = false; + action(btnIndex, mode[btnIndex], false); + return; //continue loop + } + + //listen for BTNx:y commands where x={0,1,2}, y={0,1} + if (radio.DATALEN == 6 + && radio.DATA[0]=='B' && radio.DATA[1]=='T' && radio.DATA[2]=='N' && radio.DATA[4] == ':' + && (radio.DATA[3]>='0' && radio.DATA[3]<='2') && (radio.DATA[5]=='0' || radio.DATA[5]=='1')) + { + if (radio.ACKRequested()) radio.sendACK(); //send ACK sooner when a ON/OFF + ACK is requested + btnIndex = radio.DATA[3]-'0'; + action(btnIndex, (radio.DATA[5]=='1'?ON:OFF), true); //senderID!=GATEWAYID + checkSYNC(senderID); + } + + //listen for MOT:x commands where x={0,1,2} - motion activated command to turn ON a button/relay (timed ON) + if (radio.DATALEN == 5 + && radio.DATA[0]=='M' && radio.DATA[1]=='O' && radio.DATA[2]=='T' && radio.DATA[3] == ':' + && (radio.DATA[4]>='0' && radio.DATA[4]<='2')) + { + if (radio.ACKRequested()) radio.sendACK(); //send ACK sooner when a ON/OFF + ACK is requested + btnIndex = radio.DATA[4]-'0'; + //if(mode[btnIndex] != ON) //if a light is already ON, ignore MOTION triggered commands and do nothing, uncomment this line to + offTimer = millis(); + offIndex = btnIndex; + if(mode[btnIndex] != ON) //only take action when mode is not already ON + { + action(btnIndex, ON, true); //senderID!=GATEWAYID + checkSYNC(senderID); + } + } + + if (radio.ACKRequested()) //dont ACK broadcasted messages except in special circumstances (like SYNCing) + { + radio.sendACK(); + DEBUG(F(" - ACK sent")); + //delay(5); + } + } + + //check if a motion command timer expired and the corresponding light can turn off + if ((offTimer > 0) && (millis() - offTimer > MOTION_TIME_ON)) + { + offTimer = 0; + if(mode[offIndex] != OFF) + { + DEBUGln(F("OffTimer expired, turning off")); + action(offIndex, OFF, true); + checkSYNC(0); + } + } +} + +//sets the mode (ON/OFF) for the current button (btnIndex) and turns SSR ON if the btnIndex points to BTNSSR +void action(byte whichButtonIndex, byte whatMode, boolean notifyGateway) +{ + DEBUG(F("\r\nbtn[")); + DEBUG(whichButtonIndex); + DEBUG(F("]:D")); + DEBUG(btn[whichButtonIndex]); + DEBUG(F(" - ")); + //DEBUG(btn[whichButtonIndex]==BTNT?F("TOP: "):btn[whichButtonIndex]==BTNM?F("MAIN: "):btn[whichButtonIndex]==BTNB?F("BOTTOM: "):F("UNKNOWN")); + DEBUG(btn[whichButtonIndex]==BTNT?F("TOP: "):btn[whichButtonIndex]==BTNB?F("BOTTOM: "):F("UNKNOWN")); + DEBUG(whatMode==ON?F("ON "):F("OFF")); + + mode[whichButtonIndex] = whatMode; + + //change LEDs and relay states + digitalWrite(btnLEDRED[whichButtonIndex], whatMode == ON ? LOW : HIGH); + digitalWrite(btnLEDGRN[whichButtonIndex], whatMode == ON ? HIGH : LOW); + if (whichButtonIndex==RELAY1_INDEX) + digitalWrite(RELAY1, whatMode == ON ? HIGH : LOW); + if (whichButtonIndex==RELAY2_INDEX) + digitalWrite(RELAY2, whatMode == ON ? HIGH : LOW); //SwitchMote2x10A has 2 10A relays + + //notify gateway + if (notifyGateway) + { + sprintf(buff, "BTN%d:%d", whichButtonIndex,whatMode); + if (radio.sendWithRetry(GATEWAYID, buff, strlen(buff), 5)) //up to 5 attempts + {DEBUGln(F("..OK"));} + else {DEBUGln(F("..NOK"));} + } +} + +long blinkLastCycle=0; +boolean blinkState=0; +void syncBlink(byte LED1, byte LED2) +{ + if (now-blinkLastCycle>=60) + { + blinkLastCycle=now; + blinkState=!blinkState; + digitalWrite(LED1,blinkState); + digitalWrite(LED2,!blinkState); + } +} + +//adds a new entry in the SYNC data +boolean addSYNC(byte targetAddr, byte targetButton, byte targetMode) +{ + byte emptySlot=255; + if (targetAddr==0) return false; + + //traverse all SYNC data and look for an empty slot, or matching slot that should be overwritten + for (byte i=0; i < SYNC_MAX_COUNT; i++) + { + if (SYNC_TO[i]==0 && emptySlot==255) //save first empty slot + emptySlot=i; //remember first empty slot anyway + else if (SYNC_TO[i]==targetAddr && //save first slot that matches the same button with the same mode in this unit + //but different target unit mode (cant have 2 opposing conditions so just override it) + getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCBTN)==targetButton && + getDigit(SYNC_INFO[i],SYNC_DIGIT_THISMODE)==mode[btnIndex]) //getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCNODE)!=targetMode) + { + emptySlot=i; //remember matching non-empty slot + break; //stop as soon as we found a match + } + } + + if (emptySlot==255) //means SYNC data is full, do nothing and return + { + DEBUGln(F("SYNC data full, aborting...")); + return false; + } + else + { + SYNC_TO[emptySlot] = targetAddr; + SYNC_INFO[emptySlot] = targetMode*1000 + targetButton*100 + mode[btnIndex]*10 + btnIndex; + DEBUG(F("Saving SYNC_TO[")); + DEBUG(emptySlot); + DEBUG(F("]=")); + DEBUG(SYNC_TO[emptySlot]); + DEBUG(F(" SYNC_INFO = ")); + DEBUG(SYNC_INFO[emptySlot]); + saveSYNC(); + DEBUGln(F(" .. Saved!")); + return true; + } +} + +//checks the SYNC table for any necessary requests to other SwitchMotes +boolean checkSYNC(byte nodeIDToSkip) +{ + for (byte i=0; i < SYNC_MAX_COUNT; i++) + { + if (SYNC_TO[i]!=0 && SYNC_TO[i]!=nodeIDToSkip && getDigit(SYNC_INFO[i],SYNC_DIGIT_THISBTN)==btnIndex && getDigit(SYNC_INFO[i],SYNC_DIGIT_THISMODE)==mode[btnIndex]) + { + DEBUGln(); + DEBUG(F(" SYNC[")); + DEBUG(SYNC_TO[i]); + DEBUG(F(":")); + DEBUG(getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCMODE)); + DEBUG(F("]:")); + sprintf(buff, "BTN%d:%d", getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCBTN), getDigit(SYNC_INFO[i],SYNC_DIGIT_SYNCMODE)); + if (radio.sendWithRetry(SYNC_TO[i], buff,6)) + {DEBUG(F("OK"));} + else {DEBUG(F("NOK"));} + } + } +} + +void eraseSYNC() +{ + for(byte i = 0; i(SYNC_EEPROM_ADDR, SYNC_TO, SYNC_MAX_COUNT); + EEPROM.writeBlock(SYNC_EEPROM_ADDR+SYNC_MAX_COUNT, (byte*)SYNC_INFO, SYNC_MAX_COUNT*2); +} + +void displaySYNC() +{ + for (byte i=0; i < SYNC_MAX_COUNT; i++) + { + DEBUG(SYNC_INFO[i]); + if (i!=SYNC_MAX_COUNT-1) DEBUG(','); + } +} + +//returns the Nth digit in an integer +byte getDigit(int n, byte pos){return (n/(pos==0?1:pos==1?10:pos==2?100:1000))%10;} + +void blinkLED(byte LEDpin, byte periodON, byte periodOFF, byte repeats) +{ + while(repeats-->0) + { + digitalWrite(LEDpin, HIGH); + delay(periodON); + digitalWrite(LEDpin, LOW); + delay(periodOFF); + } +} + +/*CONFIGURATION HELPERS*/ +void displayMainMenu() +{ + Serial.println(); + Serial.println(F("|-----------------------------------------------------------")); + Serial.println(F("| SwitchMote RFM69 configuration menu ")); + Serial.println(F("| Use Putty or a similar client to setup params")); + Serial.println(F("| ArduinoIDE serial monitor doesn't work well")); + Serial.println(F("| Don't forget to save 's' and reboot 'r' to apply changes")); + Serial.println(F("|-----------------------------------------------------------")); + Serial.print (F("| f - set frequency band (set to: "));Serial.print(CONFIG.frequency==RF69_433MHZ?F("433"):CONFIG.frequency==RF69_868MHZ?F("868"):F("915"));Serial.println(F("mhz)")); + Serial.print (F("| i - set node ID (set to: "));Serial.print(CONFIG.nodeID);Serial.println(F(")")); + Serial.print (F("| n - set network ID (set to: "));Serial.print(CONFIG.networkID);Serial.println(")"); + Serial.print (F("| w - set RFM69 type (set to: "));Serial.print(CONFIG.isHW?F("HW/HCW"):F("W/CW"));Serial.println(F(")")); + Serial.print (F("| e - set encryption key (set to: '"));Serial.print(CONFIG.encryptionKey);Serial.println(F("')")); + Serial.print (F("| d - set description (set to: '"));Serial.print(CONFIG.description);Serial.println(F("')")); + Serial.println(F("| s - save CONFIG to EEPROM")); + Serial.println(F("| E - erase whole EEPROM - [0..1023]")); + Serial.print (F("| S - erase SYNC data ["));Serial.print(SYNC_EEPROM_ADDR);Serial.print(F(".."));Serial.print(SYNC_EEPROM_ADDR+3*SYNC_MAX_COUNT-1);Serial.print(F("]:[")); + displaySYNC(); + Serial.println(']'); + Serial.println(F("| r - reboot")); + Serial.println(F("| ESC - re-display config menu")); + Serial.println(F("|-----------------------------------------------------------")); + Serial.println(F("| Usage ex.: press 'f' to change frequency")); + Serial.println(F("|-----------------------------------------------------------")); +} + +char menu = 0; +byte charsRead = 0; +void handleMenuInput(char c) +{ + switch(menu) + { + case 0: + switch(c) + { + case 'f': Serial.print(F("\r\nEnter frequency ('4'= 433mhz, '8'=868mhz, '9'=915mhz): ")); menu=c; break; + case 'i': Serial.print(F("\r\nEnter node ID (1-255 + ): ")); CONFIG.nodeID=0;menu=c; break; + case 'n': Serial.print(F("\r\nEnter network ID (0-255 + ): ")); CONFIG.networkID=0; menu=c; break; + case 'e': Serial.print(F("\r\nEnter encryption key (type 16 characters): ")); menu=c; break; + case 'w': Serial.print(F("\r\nIs this RFM69W/CW/HW (0=W/CW, 1=HW/HCW): ")); menu=c; break; + case 'd': Serial.print(F("\r\nEnter description (10 chars max + ): ")); menu=c; break; + case 's': Serial.print(F("\r\nCONFIG saved to EEPROM!")); EEPROM.writeBlock(0, CONFIG); break; + case 'E': Serial.print(F("\r\nErasing EEPROM ... ")); menu=c; break; + case 'S': Serial.print(F("\r\nErasing SYNC EEPROM ... ")); menu=c; break; + case 'r': Serial.print(F("\r\nRebooting")); resetUsingWatchdog(1); break; + case 27: displayMainMenu();menu=0;break; + } + break; + + case 'f': + switch(c) + { + case '4': Serial.println(F("Set to 433Mhz")); CONFIG.frequency = RF69_433MHZ; menu=0; break; + case '8': Serial.println(F("Set to 868Mhz")); CONFIG.frequency = RF69_868MHZ; menu=0; break; + case '9': Serial.println(F("Set to 915Mhz")); CONFIG.frequency = RF69_915MHZ; menu=0; break; + case 27: displayMainMenu();menu=0;break; + } + break; + + case 'i': + if (c >= '0' && c <= '9') + { + if (CONFIG.nodeID * 10 + c - 48 <= 255) + { + CONFIG.nodeID = CONFIG.nodeID * 10 + c - 48; + Serial.print(c); + } + else + { + Serial.print(" - Set to ");Serial.println(CONFIG.nodeID); + menu=0; + } + } + else if (c == 13 || c == 27) + { + Serial.print(F(" - Set to "));Serial.println(CONFIG.nodeID); + displayMainMenu(); + menu=0; + } + break; + + case 'n': + if (c >= '0' && c <= '9') + { + if (CONFIG.networkID * 10 + c - 48 <= 255) + { + CONFIG.networkID = CONFIG.networkID * 10 + c - 48; + Serial.print(c); + } + else + { + Serial.print(" - Set to ");Serial.println(CONFIG.networkID); + menu=0; + } + } + if (c == 13 || c == 27) + { + Serial.print(" - Set to ");Serial.println(CONFIG.networkID); + displayMainMenu(); + menu=0; + } + break; + + case 'e': + if (c >= ' ' && c <= '~') //human readable chars (32 - 126) + if (++charsRead<=16) + { + CONFIG.encryptionKey[charsRead-1] = c; + CONFIG.encryptionKey[charsRead] = 0; + Serial.print(c); + } + if (charsRead >= 16 || c == 27 || c == 13) + { + //Serial.print(" - Set to [");Serial.print(CONFIG.encryptionKey);Serial.println(']'); + Serial.println(F(" - DONE")); + displayMainMenu();menu=0;charsRead=0; + } + break; + + case 'd': + if (c >= ' ' && c <= '~') //human readable chars (32 - 126) + { + if (++charsRead<=10) + { + CONFIG.description[charsRead-1] = c; + CONFIG.description[charsRead] = 0; + Serial.print(c); + } + } + if (charsRead>=10 || c == 13 || c == 27) + { + //Serial.print(" - Set to [");Serial.print(CONFIG.description);Serial.println(']'); + Serial.println(F(" - DONE")); + displayMainMenu();menu=0;charsRead=0; + } + break; + + case 'w': + switch(c) + { + case '0': Serial.println(F("Set to RFM69W\\CW")); CONFIG.isHW = 0; menu=0; break; + case '1': Serial.println(F("Set to RFM69HW\\HCW")); CONFIG.isHW = 1; menu=0; break; + case 27: displayMainMenu();menu=0;break; + } + break; + case 'E': + for (int i=0;i<1024;i++) EEPROM.write(i,255); //eeprom_write_byte((unsigned char *) i, 255); + Serial.println(F("DONE")); + //resetUsingWatchdog(1); + menu=0; + break; + case 'S': + eraseSYNC(); + Serial.println(F("DONE")); + menu=0; + break; + } +} \ No newline at end of file diff --git a/lib/RFM69/Examples/TxRxBlinky/TxRxBlinky.ino b/lib/RFM69/Examples/TxRxBlinky/TxRxBlinky.ino new file mode 100644 index 00000000..aeabee1c --- /dev/null +++ b/lib/RFM69/Examples/TxRxBlinky/TxRxBlinky.ino @@ -0,0 +1,202 @@ +// *************************************************************************************** +// Sample RFM69 sketch for Moteino to illustrate: +// - sending +// - receiving +// - automatic transmission control +// - button reading/interrupts +// *************************************************************************************** +// When you press the button on the SENDER Moteino, it will send a short message to the +// RECEIVER Moteino and wait for an ACK (acknowledgement that message was received) from +// the RECEIVER Moteino. If the ACK was received, the SENDER will blink the onboard LED +// a few times. The RECEIVER listens to a specific token, and it alternates the onboard LED +// state from HIGH to LOW or vice versa whenever this token is received. +// *************************************************************************************** +// Hardware setup: +// *************************************************************************************** +// On the sender, hook up a momentary tactile button to D3 like this: +// __-__ +// __| |___ +// GND ----> BTN ----> D3 (D11 on MoteinoMEGA) +// Load this sketch on the RECEIVER with NODEID=RECEIVER (adjust in config section below) +// Load this sketch on the SENDER with NODEID=SENDER (adjust in config section below) +// RFM69 library and code by Felix Rusu - felix@lowpowerlab.com +// Get libraries at: https://github.com/LowPowerLab/ +// Make sure you adjust the settings in the configuration section below !!! +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://www.github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //included with Arduino IDE (www.arduino.cc) +#include //get library from: https://github.com/lowpowerlab/lowpower + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NETWORKID 100 //the same on all nodes that talk to each other +#define RECEIVER 1 //unique ID of the gateway/receiver +#define SENDER 2 +#define NODEID RECEIVER //change to "SENDER" if this is the sender node (the one with the button) +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +#define ENCRYPTKEY "sampleEncryptKey" //exactly the same 16 characters/bytes on all nodes! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//********************************************************************************************* +#define SERIAL_BAUD 115200 +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define BUTTON_INT 1 //user button on interrupt 1 (D3) + #define BUTTON_PIN 11 //user button on interrupt 1 (D3) +#else + #define LED 9 // Moteinos have LEDs on D9 + #define BUTTON_INT 1 //user button on interrupt 1 (D3) + #define BUTTON_PIN 3 //user button on interrupt 1 (D3) +#endif + +#define LED_GREEN 4 //GREEN LED on the SENDER +#define LED_RED 5 //RED LED on the SENDER +#define RX_TOGGLE_PIN 7 //GPIO to toggle on the RECEIVER + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +void setup() { + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + char buff[50]; + sprintf(buff, "\nListening at %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + Serial.println(buff); + Serial.flush(); + pinMode(BUTTON_PIN, INPUT_PULLUP); + pinMode(LED, OUTPUT); + attachInterrupt(BUTTON_INT, handleButton, FALLING); + + pinMode(LED_GREEN, OUTPUT); + pinMode(LED_RED, OUTPUT); + pinMode(RX_TOGGLE_PIN, OUTPUT); + digitalWrite(LED_GREEN, LOW); + digitalWrite(LED_RED, HIGH); +} + +//******** THIS IS INTERRUPT BASED DEBOUNCING FOR BUTTON ATTACHED TO D3 (INTERRUPT 1) +#define FLAG_INTERRUPT 0x01 +volatile int mainEventFlags = 0; +boolean buttonPressed = false; +void handleButton() +{ + mainEventFlags |= FLAG_INTERRUPT; +} + +byte LEDSTATE=LOW; //LOW=0 +void loop() { + //******** THIS IS INTERRUPT BASED DEBOUNCING FOR BUTTON ATTACHED TO D3 (INTERRUPT 1) + if (mainEventFlags & FLAG_INTERRUPT) + { + LowPower.powerDown(SLEEP_120MS, ADC_OFF, BOD_ON); + mainEventFlags &= ~FLAG_INTERRUPT; + if (!digitalRead(BUTTON_PIN)) { + buttonPressed=true; + } + } + + if (buttonPressed) + { + Serial.println("Button pressed!"); + buttonPressed = false; + + if(LEDSTATE==LOW) + { + LEDSTATE=HIGH; + digitalWrite(LED_GREEN, HIGH); + digitalWrite(LED_RED, LOW); + } + else + { + LEDSTATE=LOW; + digitalWrite(LED_GREEN, LOW); + digitalWrite(LED_RED, HIGH); + } + + if (radio.sendWithRetry(RECEIVER, "Hi", 2)) //target node Id, message as string or byte array, message length + Blink(LED, 40, 3); //blink LED 3 times, 40ms between blinks + } + + //check if something was received (could be an interrupt from the radio) + if (radio.receiveDone()) + { + //print message received to serial + Serial.print('[');Serial.print(radio.SENDERID);Serial.print("] "); + Serial.print((char*)radio.DATA); + Serial.print(" [RX_RSSI:");Serial.print(radio.RSSI);Serial.print("]"); + Serial.println(); + + //check if received message is 2 bytes long, and check if the message is specifically "Hi" + if (radio.DATALEN==2 && radio.DATA[0]=='H' && radio.DATA[1]=='i') + { + if(LEDSTATE==LOW) + LEDSTATE=HIGH; + else LEDSTATE=LOW; + digitalWrite(LED, LEDSTATE); + digitalWrite(RX_TOGGLE_PIN, LEDSTATE); + } + + //check if sender wanted an ACK + if (radio.ACKRequested()) + { + radio.sendACK(); + Serial.print(" - ACK sent"); + } + } + + radio.receiveDone(); //put radio in RX mode + Serial.flush(); //make sure all serial data is clocked out before sleeping the MCU + LowPower.powerDown(SLEEP_8S, ADC_OFF, BOD_ON); //sleep Moteino in low power mode (to save battery) +} + +void Blink(byte PIN, byte DELAY_MS, byte loops) +{ + for (byte i=0; i //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/rfm69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included in Arduino IDE (www.arduino.cc) +#include //included in Arduino IDE (www.arduino.cc) +#include //get it here: https://github.com/sparkfun/SparkFun_BME280_Breakout_Board/tree/master/Libraries/Arduino/src +#include //get it here: https://github.com/lowpowerlab/lowpower + //writeup here: http://www.rocketscream.com/blog/2011/07/04/lightweight-low-power-arduino-library/ + +//********************************************************************************************* +//************ IMPORTANT SETTINGS - YOU MUST CHANGE/CONFIGURE TO FIT YOUR HARDWARE ************ +//********************************************************************************************* +#define GATEWAYID 1 +#define NODEID 40 +#define NETWORKID 100 +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ //Match this with the version of your Moteino! (others: RF69_433MHZ, RF69_868MHZ) +#define ENCRYPTKEY "sampleEncryptKey" //has to be same 16 characters/bytes on all nodes, not more not less! +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//********************************************************************************************* +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//********************************************************************************************* +#define SEND_LOOPS 15 //send data this many sleep loops (15 loops of 8sec cycles = 120sec ~ 2 minutes) +#define SLEEP_FASTEST SLEEP_15MS +#define SLEEP_FAST SLEEP_250MS +#define SLEEP_SEC SLEEP_1S +#define SLEEP_LONG SLEEP_2S +#define SLEEP_LONGER SLEEP_4S +#define SLEEP_LONGEST SLEEP_8S +period_t sleepTime = SLEEP_LONGEST; //period_t is an enum type defined in the LowPower library (LowPower.h) +//********************************************************************************************* +#define BATT_MONITOR_EN A3 //enables battery voltage divider to get a reading from a battery, disable it to save power +#define BATT_MONITOR A7 //through 1Meg+470Kohm and 0.1uF cap from battery VCC - this ratio divides the voltage to bring it below 3.3V where it is scaled to a readable range +#define BATT_CYCLES 2 //read and report battery voltage every this many sleep cycles (ex 30cycles * 8sec sleep = 240sec/4min). For 450 cyclesyou would get ~1 hour intervals +#define BATT_FORMULA(reading) reading * 0.00322 * 1.475 // >>> fine tune this parameter to match your voltage when fully charged +#define BATT_LOW 3.6 //(volts) +#define BATT_READ_LOOPS SEND_LOOPS*10 // read and report battery voltage every this many sleep cycles (ex 30cycles * 8sec sleep = 240sec/4min). For 450 cycles you would get ~1 hour intervals between readings +//***************************************************************************************************************************** + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos have LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +//#define BLINK_EN //uncomment to blink LED on every send +//#define SERIAL_EN //comment out if you don't want any serial output + +#ifdef SERIAL_EN + #define SERIAL_BAUD 115200 + #define DEBUG(input) {Serial.print(input);} + #define DEBUGln(input) {Serial.println(input);} + #define SERIALFLUSH() {Serial.flush();} +#else + #define DEBUG(input); + #define DEBUGln(input); + #define SERIALFLUSH(); +#endif +//***************************************************************************************************************************** + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +SPIFlash flash(FLASH_SS, 0xEF30); //WINDBOND 4MBIT flash chip on CS pin D8 (default for Moteino) + +BME280 bme280; +char Pstr[10]; +char Fstr[10]; +char Hstr[10]; +char buffer[50]; + +void setup(void) +{ +#ifdef SERIAL_EN + Serial.begin(SERIAL_BAUD); +#endif + pinMode(LED, OUTPUT); + + radio.initialize(FREQUENCY,NODEID,NETWORKID); +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + radio.encrypt(ENCRYPTKEY); + +//Auto Transmission Control - dials down transmit power to save battery (-100 is the noise floor, -90 is still pretty good) +//For indoor nodes that are pretty static and at pretty stable temperatures (like a MotionMote) -90dBm is quite safe +//For more variable nodes that can expect to move or experience larger temp drifts a lower margin like -70 to -80 would probably be better +//Always test your ATC mote in the edge cases in your own environment to ensure ATC will perform as you expect +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + + sprintf(buffer, "WeatherMote - transmitting at: %d Mhz...", FREQUENCY==RF69_433MHZ ? 433 : FREQUENCY==RF69_868MHZ ? 868 : 915); + DEBUGln(buffer); + + //initialize weather shield BME280 sensor + bme280.settings.commInterface = I2C_MODE; + bme280.settings.I2CAddress = 0x77; + bme280.settings.runMode = 3; //Normal mode + bme280.settings.tStandby = 0; + bme280.settings.filter = 0; + bme280.settings.tempOverSample = 1; + bme280.settings.pressOverSample = 1; + bme280.settings.humidOverSample = 1; + + radio.sendWithRetry(GATEWAYID, "START", 6); + Blink(LED, 100);Blink(LED, 100);Blink(LED, 100); + + if (flash.initialize()) flash.sleep(); + + for (uint8_t i=0; i<=A5; i++) + { + if (i == RF69_SPI_CS) continue; + if (i == FLASH_SS) continue; + pinMode(i, OUTPUT); + digitalWrite(i, LOW); + } + + SERIALFLUSH(); + readBattery(); +} + +unsigned long doorPulseCount = 0; +char input=0; +double F,P,H; +byte sendLoops=0; +byte battReadLoops=0; +float batteryVolts = 5; +char* BATstr="BAT:5.00v"; //longest battery voltage reading message = 9chars +byte sendLen; + +void loop() +{ + if (battReadLoops--<=0) //only read battery every BATT_READ_LOOPS cycles + { + readBattery(); + battReadLoops = BATT_READ_LOOPS-1; + } + + if (sendLoops--<=0) //send readings every SEND_LOOPS + { + sendLoops = SEND_LOOPS-1; + + //read BME sensor + bme280.begin(); + P = bme280.readFloatPressure() * 0.0002953; //read Pa and convert to inHg + F = bme280.readTempF(); + H = bme280.readFloatHumidity(); + bme280.writeRegister(BME280_CTRL_MEAS_REG, 0x00); //sleep the BME280 + + dtostrf(F, 3,2, Fstr); + dtostrf(H, 3,2, Hstr); + dtostrf(P, 3,2, Pstr); + + sprintf(buffer, "BAT:%sv F:%s H:%s P:%s", BATstr, Fstr, Hstr, Pstr); + + sendLen = strlen(buffer); + radio.sendWithRetry(GATEWAYID, buffer, sendLen, 1); //retry one time + DEBUG(buffer); DEBUG(" (packet length:"); DEBUG(sendLen); DEBUGln(")"); + + #ifdef BLINK_EN + Blink(LED, 5); + #endif + } + + //When this sketch is on a node where you can afford the power to keep the radio awake all the time + // you can make it receive messages and also make it wirelessly programmable + // otherwise this section can be removed + if (radio.receiveDone()) + { + boolean reportStatusRequest=false; + DEBUG('[');DEBUG(radio.SENDERID);DEBUG("] "); + for (byte i = 0; i < radio.DATALEN; i++) + DEBUG((char)radio.DATA[i]); + + flash.wakeup(); + // wireless programming token check - this only works when radio is kept awake to listen for WP tokens + CheckForWirelessHEX(radio, flash, true); + + //first send any ACK to request + DEBUG(" [RX_RSSI:");DEBUG(radio.RSSI);DEBUG("]"); + if (radio.ACKRequested()) + { + radio.sendACK(); + DEBUG(" - ACK sent."); + } + DEBUGln(); + } + + SERIALFLUSH(); + flash.sleep(); + radio.sleep(); //you can comment out this line if you want this node to listen for wireless programming requests + LowPower.powerDown(sleepTime, ADC_OFF, BOD_OFF); + DEBUGln("WAKEUP"); +} + +void readBattery() +{ + unsigned int readings=0; + + //enable battery monitor on WeatherShield (via mosfet controlled by A3) + pinMode(BATT_MONITOR_EN, OUTPUT); + digitalWrite(BATT_MONITOR_EN, LOW); + + for (byte i=0; i<5; i++) //take several samples, and average + readings+=analogRead(BATT_MONITOR); + + //disable battery monitor + pinMode(BATT_MONITOR_EN, INPUT); //highZ mode will allow p-mosfet to be pulled high and disconnect the voltage divider on the weather shield + + batteryVolts = BATT_FORMULA(readings / 5.0); + dtostrf(batteryVolts,3,2, BATstr); //update the BATStr which gets sent every BATT_CYCLES or along with the MOTION message + if (batteryVolts <= BATT_LOW) BATstr = "LOW"; +} + +void Blink(byte PIN, byte DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS/2); + digitalWrite(PIN,LOW); + delay(DELAY_MS/2); +} diff --git a/lib/RFM69/Examples/WirelessProgramming_OTA/OTA.py b/lib/RFM69/Examples/WirelessProgramming_OTA/OTA.py new file mode 100644 index 00000000..feee9ee4 --- /dev/null +++ b/lib/RFM69/Examples/WirelessProgramming_OTA/OTA.py @@ -0,0 +1,317 @@ +#********************************************************************************** +# This script will handle the transmission of a compiled sketch in the +# form of an INTEL HEX flash image to an attached gateway/master Moteino node, +# for further wireless transmission to a target Moteino node that will receive it de-HEXified and +# store it in external memory. Once received by the target (which is also loaded with a custom bootloader +# capable of reading back that image) it will reset and reprogram itself with the new sketch +# +# EXAMPLE command line: python WirelessProgramming.py -f PathToFile.hex -s COM100 -t 123 +# where -t is the target ID of the Moteino you are programming +# and -s is the serial port of the programmer Moteino (on linux/osx it is something like ttyAMA0) +# To get the .hex file path go to Arduino>file>preferences and check the verbosity for compilation +# then you will get the path in the debug status area once the sketch compiles +#********************************************************************************** +# Copyright Felix Rusu, LowPowerLab.com +# Library and code by Felix Rusu - lowpowerlab.com/contact +#********************************************************************************** +# License +#********************************************************************************** +# This program is free software; you can redistribute it +# and/or modify it under the terms of the GNU General +# Public License as published by the Free Software +# Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will +# be useful, but WITHOUT ANY WARRANTY; without even the +# implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. See the GNU General Public +# License for more details. +# +# You should have received a copy of the GNU General +# Public License along with this program. +# If not, see . +# +# Licence can be viewed at +# http://www.gnu.org/licenses/gpl-3.0.txt +# +# Please maintain this license information along with authorship +# and copyright notices in any redistribution of this code +# ********************************************************************************** +import time, sys, serial +import collections +import re + +### GENERAL SETTINGS ### +SERIALPORT = "COM100" # the default com/serial port the receiver is connected to +BAUDRATE = 115200 # default baud rate we talk to Moteino +TARGET=0 # Node ID of the Target that is being OTA reflashed +HEX = "flash.hex" # the HEX file containing the new program for the Target +LINESPERPACKET = 3 # HEX lines to send per RF packet (1,2 or 3) +retries = 2 +DEBUG = False + +# Read command line arguments +if (sys.argv and len(sys.argv) > 1): + if len(sys.argv)==2 and (sys.argv[1] == "-h" or sys.argv[1] == "-help" or sys.argv[1] == "?"): + #print " -d or -debug Turn debugging ON (verbose output)" + print " -f or -file HEX file to upload (Default: ", HEX, ")" + print " -t or -target {ID} Specify WirelessProgramming node target" + print " -l or -lines {1,2,3} HEX lines per RF packet (Default: 3)" + print " -s or -serial {port} Specify serial port of WirelessProgramming gateway (Default: ", SERIALPORT, ")" + print " -b or -baud {baud} Specify serial port baud rate (Default: ", BAUDRATE, ")" + print " -h or -help or ? Print this message" + exit(0) + + for i in range(len(sys.argv)): + #{ + #if sys.argv[i] == "-d" or sys.argv[i] == "-debug": + # DEBUG = True + if (sys.argv[i] == "-s" or sys.argv[i] == "-serial") and len(sys.argv) >= i+2: + SERIALPORT = sys.argv[i+1] + if (sys.argv[i] == "-b" or sys.argv[i] == "-baud") and len(sys.argv) >= i+2: + BAUD = sys.argv[i+1] + if (sys.argv[i] == "-f" or sys.argv[i] == "-file") and len(sys.argv) >= i+2: + HEX = sys.argv[i+1].strip() + if (sys.argv[i] == "-t" or sys.argv[i] == "-target") and len(sys.argv) >= i+2: + if sys.argv[i+1].isdigit() and int(sys.argv[i+1])>0 and int(sys.argv[i+1])<=255: + TARGET = int(sys.argv[i+1]) + else: + print "TARGET invalid (", sys.argv[i+1], "), must be 1-255." + exit(1) + if (sys.argv[i] == "-l" or sys.argv[i] == "-lines") and len(sys.argv) >= i+2: + if sys.argv[i+1].isdigit() and int(sys.argv[i+1])>0 and int(sys.argv[i+1])<=3: + LINESPERPACKET = int(sys.argv[i+1]) + else: + print "LINESPERPACKET invalid (", sys.argv[i+1], "), must be 1-3." + exit(1) + #} + +def millis(): + return int(round(time.time() * 1000)) + +def serWriteln(ser, msg): + #ser.write(msg + '\n') + ser.write(bytes((msg+'\n').encode('utf-8'))) + +HANDSHAKE_OK = 0 +HANDSHAKE_FAIL = 1 +HANDSHAKE_FAIL_TIMEOUT = 2 +HANDSHAKE_ERROR = 3 + +def waitForHandshake(isEOF=False): + now = millis() + while True: + if millis()-now < 4000: + #{ + if isEOF: + serWriteln(ser, "FLX?EOF") + else: + serWriteln(ser, "FLX?") + print "FLX?\n" + ser.flush() + rx = ser.readline().rstrip().upper() + + if len(rx) > 0: + #{ + print "Moteino: [" + rx + "]" + if rx == "FLX?OK": + print "HANDSHAKE OK!" + return HANDSHAKE_OK + elif rx == "FLX?NOK": + print "HANDSHAKE FAIL [TIMEOUT]: " + rx + return HANDSHAKE_FAIL + elif (len(rx)>7 and rx.startswith("FLX?NOK") or rx.startswith("FLX?ERR")): + print "HANDSHAKE FAIL [HEX IMG refused by target node], reason: " + rx + return HANDSHAKE_FAIL_ERROR + #} + #} + else: return HANDSHAKE_FAIL_TIMEOUT + +def waitForTargetSet(targetNode): + now = millis() + to = "TO:" + str(TARGET) + print to + serWriteln(ser, to) + ser.flush() + while True: + #{ + if millis()-now < 3000: + #{ + rx = ser.readline().rstrip() + if len(rx) > 0: + #{ + print "Moteino: [" + rx + "]" + if rx == to + ":OK": + return True + else: return False + #} + #} + #} + return False + +# return 0:timeout, 1:OK!, 2:match but out of synch +def waitForSEQ(seq): + now = millis() + while True: + if millis()-now < 3000: + rx = ser.readline().strip() + + if (rx.upper().startswith("RFTX >") or rx.upper().startswith("RFACK >")): + #{ + print "Moteino DEBUG: " + rx + rx = "" + continue + #} + + if len(rx) > 0: + #{ + print "Moteino: " + rx + result = re.match("FLX:([0-9]*):OK", rx) + if result != None: + if int(result.group(1)) == seq: + return 1 + else: return 2 + #} + else: return 0 + +# MAIN() +#if __name__ == "__main__": +try: + start = millis(); + # open up the serial port to get data transmitted to Programmer Moteino + ser = serial.Serial(SERIALPORT, BAUDRATE, timeout=1) #timeout=0 means nonblocking + ser.setDTR(False) + ser.setRTS(False) + time.sleep(2) #wait for Programmer Moteino reset after port open and potential bootloader time (~1.6s) + ser.flushInput(); +except IOError as e: + print "COM Port [", SERIALPORT, "] not found, exiting..." + exitNow(1) + +try: + if not 0 1 and currentLine[1:3] == '10' and len(currentLine)==43: + #{ + #check if next line != EOF, so we can bundle 2 lines + nextLine = content[seq+1].strip() + if nextLine != ":00000001FF" and nextLine[1:3] == "10" and len(nextLine) == 43: + #{ + #need to sum: the 2 lines checksums + address bytes of nextLine (to arrive at a correct final checksum of combined 2 lines + checksum = int(currentLine[41:43], 16) + int(nextLine[41:43], 16) + int(nextLine[3:5], 16) + int(nextLine[5:7], 16) + + #check if a third line != EOF, so we can bundle 3 lines + nextLine2 = content[seq+2].strip() + if LINESPERPACKET==3 and nextLine2 != ":00000001FF" and nextLine2[1:3] == "10" and len(nextLine2) == 43: + #{ + #need to sum: the previous checksum + address bytes of nextLine2 (to arrive at a correct final checksum of combined 3 lines + checksum += int(nextLine2[41:43], 16) + int(nextLine2[3:5], 16) + int(nextLine2[5:7], 16) + hexDataToSend = ":3" + hexDataToSend[2:(len(hexDataToSend)-2)] + nextLine[9:41] + nextLine2[9:41] + ('%0*X' % (2,checksum%256)) + bundledLines=3 + #} + else: + #{ + hexDataToSend = ":2" + hexDataToSend[2:(len(hexDataToSend)-2)] + nextLine[9:41] + ('%0*X' % (2,checksum%256)) + bundledLines=2; + #} + #} + #} + tx = "FLX:" + str(packetCounter) + hexDataToSend + print "TX > " + tx + serWriteln(ser, tx) + result = waitForSEQ(packetCounter) + #} + elif waitForHandshake(True) == HANDSHAKE_OK: + #{ + print "SUCCESS! (time elapsed: " + ("%.2f" % ((millis()-start)/1000.0)) + "s)" + exit(0); + #} + else: + #{ + print "FAIL, IMG REFUSED BY TARGET (size exceeded? verify target MCU matches compiled target)" + exit(99) + #} + + if result == 1: + #{ + seq+=bundledLines + packetCounter+=1 + #} + elif result == 2: # out of synch, retry + #{ + if retries > 0: + retries-=1 + print "OUT OF SYNC: retrying...\n" + continue + else: + print "FAIL: out of sync (are you running the latest OTA libs/sources?)" + exit(1) + #} + else: + #{ + if retries > 0: + retries-=1 + print "Timeout, retry...\n" + continue + else: + #{ + print "FAIL: timeout (are you running the latest OTA libs/sources?)" + exit(1) + #} + #} + #} + + while 1: + #{ + rx = ser.readline() + if (len(rx) > 0): print rx.strip() + #} + + elif (handshakeResponse == HANDSHAKE_FAIL_TIMEOUT): + print "FAIL: No response from Moteino programmer, is it connected to " + port + exit(1) + elif (handshakeResponse == HANDSHAKE_FAIL_TIMEOUT): + print "FAIL: No response from Moteino programmer, is it connected to " + port + exit(1) + else: + print "FAIL: No response from Moteino Target, is Target listening on same Freq/NetworkID & OTA enabled?" + exit(1) + +except IOError: + print "File [", HEX, "] not found, exiting..." + exit(1) + +finally: + #print 'FINALLY' + '\n' + ser.close() \ No newline at end of file diff --git a/lib/RFM69/Examples/WirelessProgramming_OTA/Programmer/Programmer.ino b/lib/RFM69/Examples/WirelessProgramming_OTA/Programmer/Programmer.ino new file mode 100644 index 00000000..566b3de7 --- /dev/null +++ b/lib/RFM69/Examples/WirelessProgramming_OTA/Programmer/Programmer.ino @@ -0,0 +1,164 @@ +// ********************************************************************************** +// This sketch is an example of how wireless programming can be achieved with a Moteino +// that was loaded with a custom 1k bootloader (DualOptiboot) that is capable of loading +// a new sketch from an external SPI flash chip +// This is the GATEWAY node, it does not need a custom Optiboot nor any external FLASH memory chip +// (ONLY the target node will need those) +// The sketch includes logic to receive the new sketch from the serial port (from a host computer) and +// transmit it wirelessly to the target node +// The handshake protocol that receives the sketch from the serial port +// is handled by the SPIFLash/WirelessHEX69 library, which also relies on the RFM69 library +// These libraries and custom 1k Optiboot bootloader for the target node are at: http://github.com/lowpowerlab +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://www.github.com/lowpowerlab/spiflash +#include //included with Arduino IDE (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 254 //this node's ID, should be unique among nodes on this NETWORKID +#define NETWORKID 100 //what network this node is on +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +#define FREQUENCY_EXACT 916000000 +#define ENCRYPTKEY "sampleEncryptKey" //(16 bytes of your choice - keep the same on all encrypted nodes) +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//********************************************************************************************* +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +//********************************************************************************************* +//#define BR_300KBPS //run radio at max rate of 300kbps! +//********************************************************************************************* +#define DEBUG_MODE false //set 'true' to see verbose output from programming sequence + +#define SERIAL_BAUD 115200 +#define ACK_TIME 50 // # of ms to wait for an ack +#define TIMEOUT 3000 + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // MoteinoMEGA has LED on D15 +#else + #define LED 9 // Moteino has LED on D9 +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +char c = 0; +char input[64]; //serial input buffer +byte targetID=0; + +void setup(){ + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); + radio.encrypt(ENCRYPTKEY); //OPTIONAL + +#ifdef FREQUENCY_EXACT + radio.setFrequency(FREQUENCY_EXACT); //set frequency to some custom frequency +#endif + +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + Serial.println("Start wireless gateway..."); + +#ifdef BR_300KBPS + radio.writeReg(0x03, 0x00); //REG_BITRATEMSB: 300kbps (0x006B, see DS p20) + radio.writeReg(0x04, 0x6B); //REG_BITRATELSB: 300kbps (0x006B, see DS p20) + radio.writeReg(0x19, 0x40); //REG_RXBW: 500kHz + radio.writeReg(0x1A, 0x80); //REG_AFCBW: 500kHz + radio.writeReg(0x05, 0x13); //REG_FDEVMSB: 300khz (0x1333) + radio.writeReg(0x06, 0x33); //REG_FDEVLSB: 300khz (0x1333) + radio.writeReg(0x29, 240); //set REG_RSSITHRESH to -120dBm +#endif +} + +void loop(){ + byte inputLen = readSerialLine(input, 10, 64, 100); //readSerialLine(char* input, char endOfLineChar=10, byte maxLength=64, uint16_t timeout=1000); + + if (inputLen==4 && input[0]=='F' && input[1]=='L' && input[2]=='X' && input[3]=='?') { + if (targetID==0) + Serial.println("TO?"); + else + CheckForSerialHEX((byte*)input, inputLen, radio, targetID, TIMEOUT, ACK_TIME, DEBUG_MODE); + } + else if (inputLen>3 && inputLen<=6 && input[0]=='T' && input[1]=='O' && input[2]==':') + { + byte newTarget=0; + for (byte i = 3; i=48 && input[i]<=57) + newTarget = newTarget*10+input[i]-48; + else + { + newTarget=0; + break; + } + if (newTarget>0) + { + targetID = newTarget; + Serial.print("TO:"); + Serial.print(newTarget); + Serial.println(":OK"); + } + else + { + Serial.print(input); + Serial.print(":INV"); + } + } + else if (inputLen>0) { //just echo back + Serial.print("SERIAL IN > ");Serial.println(input); + } + + if (radio.receiveDone()) + { + for (byte i = 0; i < radio.DATALEN; i++) + Serial.print((char)radio.DATA[i]); + + if (radio.ACK_REQUESTED) + { + radio.sendACK(); + Serial.print(" - ACK sent"); + } + + Serial.println(); + } + Blink(LED,5); //heartbeat +} + +void Blink(byte PIN, int DELAY_MS) +{ + pinMode(PIN, OUTPUT); + digitalWrite(PIN,HIGH); + delay(DELAY_MS); + digitalWrite(PIN,LOW); +} \ No newline at end of file diff --git a/lib/RFM69/Examples/WirelessProgramming_OTA/README.md b/lib/RFM69/Examples/WirelessProgramming_OTA/README.md new file mode 100644 index 00000000..8fcc02ca --- /dev/null +++ b/lib/RFM69/Examples/WirelessProgramming_OTA/README.md @@ -0,0 +1,9 @@ +# Wireless Programming for Moteinos + +## How to use +Since v1.5 you can now run this app in several ways: +- natively via the WirelessProgramming.exe GUI app +- the windows GUI can also invoke the OTA.py script via embedded IronPython engine (parameters from GUI pass to the OTA.py script) +- cross platform straight from Python (2.7 runtime) by supplying parameters (run `python OTA.py -h` for details) +
+Make sure to download the entire repo ZIP, not individual files. \ No newline at end of file diff --git a/lib/RFM69/Examples/WirelessProgramming_OTA/Target/Target.ino b/lib/RFM69/Examples/WirelessProgramming_OTA/Target/Target.ino new file mode 100644 index 00000000..a12fecd6 --- /dev/null +++ b/lib/RFM69/Examples/WirelessProgramming_OTA/Target/Target.ino @@ -0,0 +1,198 @@ +// ********************************************************************************** +// This sketch is an example of how wireless programming can be achieved with a Moteino +// that was loaded with a custom 1k bootloader (DualOptiboot) that is capable of loading +// a new sketch from an external SPI flash chip +// The sketch includes logic to receive the new sketch 'over-the-air' and store it in +// the FLASH chip, then restart the Moteino so the bootloader can continue the job of +// actually reflashing the internal flash memory from the external FLASH memory chip flash image +// The handshake protocol that receives the sketch wirelessly by means of the RFM69 radio +// is handled by the SPIFLash/RFM69_OTA library, which also relies on the RFM69 library +// These libraries and custom 1k Optiboot bootloader are at: http://github.com/lowpowerlab +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/RFM69 +#include //get it here: https://github.com/lowpowerlab/spiflash +#include //included with Arduino IDE install (www.arduino.cc) + +//**************************************************************************************************************** +//**** IMPORTANT RADIO SETTINGS - YOU MUST CHANGE/CONFIGURE TO MATCH YOUR HARDWARE TRANSCEIVER CONFIGURATION! **** +//**************************************************************************************************************** +#define NODEID 123 // node ID used for this unit +#define NETWORKID 100 +//Match frequency to the hardware version of the radio on your Moteino (uncomment one): +//#define FREQUENCY RF69_433MHZ +//#define FREQUENCY RF69_868MHZ +#define FREQUENCY RF69_915MHZ +#define FREQUENCY_EXACT 916000000 +#define IS_RFM69HW_HCW //uncomment only for RFM69HW/HCW! Leave out if you have RFM69W/CW! +//***************************************************************************************************************************** +#define ENABLE_ATC //comment out this line to disable AUTO TRANSMISSION CONTROL +#define ATC_RSSI -75 +//***************************************************************************************************************************** +//#define BR_300KBPS //run radio at max rate of 300kbps! +//***************************************************************************************************************************** +#define SERIAL_BAUD 115200 +#define ACK_TIME 30 // # of ms to wait for an ack +#define ENCRYPTKEY "sampleEncryptKey" //(16 bytes of your choice - keep the same on all encrypted nodes) +#define BLINKPERIOD 500 + +#ifdef __AVR_ATmega1284P__ + #define LED 15 // Moteino MEGAs have LEDs on D15 + #define FLASH_SS 23 // and FLASH SS on D23 +#else + #define LED 9 // Moteinos hsave LEDs on D9 + #define FLASH_SS 8 // and FLASH SS on D8 +#endif + +#ifdef ENABLE_ATC + RFM69_ATC radio; +#else + RFM69 radio; +#endif + +char input = 0; +long lastPeriod = -1; + +//***************************************************************************************************************************** +// flash(SPI_CS, MANUFACTURER_ID) +// SPI_CS - CS pin attached to SPI flash chip (8 in case of Moteino) +// MANUFACTURER_ID - OPTIONAL, 0x1F44 for adesto(ex atmel) 4mbit flash +// 0xEF30 for windbond 4mbit flash +// 0xEF40 for windbond 16/64mbit flash +//***************************************************************************************************************************** +SPIFlash flash(FLASH_SS, 0xEF30); //EF30 for windbond 4mbit flash + +void setup() { + pinMode(LED, OUTPUT); + Serial.begin(SERIAL_BAUD); + radio.initialize(FREQUENCY,NODEID,NETWORKID); + radio.encrypt(ENCRYPTKEY); //OPTIONAL + +#ifdef FREQUENCY_EXACT + radio.setFrequency(FREQUENCY_EXACT); //set frequency to some custom frequency +#endif + +#ifdef ENABLE_ATC + radio.enableAutoPower(ATC_RSSI); +#endif + +#ifdef IS_RFM69HW_HCW + radio.setHighPower(); //must include this only for RFM69HW/HCW! +#endif + Serial.print("Start node..."); + Serial.print("Node ID = "); + Serial.println(NODEID); + + if (flash.initialize()) + Serial.println("SPI Flash Init OK!"); + else + Serial.println("SPI Flash Init FAIL!"); + +#ifdef BR_300KBPS + radio.writeReg(0x03, 0x00); //REG_BITRATEMSB: 300kbps (0x006B, see DS p20) + radio.writeReg(0x04, 0x6B); //REG_BITRATELSB: 300kbps (0x006B, see DS p20) + radio.writeReg(0x19, 0x40); //REG_RXBW: 500kHz + radio.writeReg(0x1A, 0x80); //REG_AFCBW: 500kHz + radio.writeReg(0x05, 0x13); //REG_FDEVMSB: 300khz (0x1333) + radio.writeReg(0x06, 0x33); //REG_FDEVLSB: 300khz (0x1333) + radio.writeReg(0x29, 240); //set REG_RSSITHRESH to -120dBm +#endif +} + +void loop(){ + // This part is optional, useful for some debugging. + // Handle serial input (to allow basic DEBUGGING of FLASH chip) + // ie: display first 256 bytes in FLASH, erase chip, write bytes at first 10 positions, etc + if (Serial.available() > 0) { + input = Serial.read(); + if (input == 'd') //d=dump first page + { + Serial.println("Flash content:"); + int counter = 0; + + while(counter<=256){ + Serial.print(flash.readByte(counter++), HEX); + Serial.print('.'); + } + + Serial.println(); + } + else if (input == 'e') + { + Serial.print("Erasing Flash chip ... "); + flash.chipErase(); + while(flash.busy()); + Serial.println("DONE"); + } + else if (input == 'i') + { + Serial.print("DeviceID: "); + Serial.println(flash.readDeviceId(), HEX); + } + else if (input == 'r') + { + Serial.print("Rebooting"); + resetUsingWatchdog(true); + } + else if (input == 'R') + { + Serial.print("RFM69 registers:"); + radio.readAllRegs(); + } + else if (input >= 48 && input <= 57) //0-9 + { + Serial.print("\nWriteByte("); Serial.print(input); Serial.print(")"); + flash.writeByte(input-48, millis()%2 ? 0xaa : 0xbb); + } + } + + // Check for existing RF data, potentially for a new sketch wireless upload + // For this to work this check has to be done often enough to be + // picked up when a GATEWAY is trying hard to reach this node for a new sketch wireless upload + if (radio.receiveDone()) + { + Serial.print("Got ["); + Serial.print(radio.SENDERID); + Serial.print(':'); + Serial.print(radio.DATALEN); + Serial.print("] > "); + for (byte i = 0; i < radio.DATALEN; i++) + Serial.print((char)radio.DATA[i], HEX); + Serial.println(); + CheckForWirelessHEX(radio, flash, false); + Serial.println(); + } + //else Serial.print('.'); + + //***************************************************************************************************************************** + // Real sketch code here, let's blink the onboard LED + if ((int)(millis()/BLINKPERIOD) > lastPeriod) + { + lastPeriod++; + digitalWrite(LED, lastPeriod%2); + } + //***************************************************************************************************************************** +} \ No newline at end of file diff --git a/lib/RFM69/Examples/WirelessProgramming_OTA/pythonLibs.zip b/lib/RFM69/Examples/WirelessProgramming_OTA/pythonLibs.zip new file mode 100644 index 0000000000000000000000000000000000000000..4af14529c2fa6186dba8106c23939b19362c2a0e GIT binary patch literal 2149069 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
    muTtGz(cqwa`6<{M%iR|MosF;-5EE_Ck)9y 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

    % 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

      pX#84N9I!OU#&`>?&!Jp_!(>5mQvu8e* z;Lj8gG-f;n*cz;L9`j*%vvuNK`?YjM^$R5-QAW@-HS*#qLW~Guk(vOHS{U=-n03rh zOC=h@`yi7bHYCX6@lEEy+cM93#iq&&lFRW-fw7Y6(-O<_LH#E% z4kotJfX>1^Qky_YY<#TQ&MpB>&cF>fYu2G8q>qaOO$$=*-JgHVr}R!z(3jc?*BqYP zCqEdRe;x)6J10M=Gj=`Yt=%+o1s5M@`EF}XOd;GoMMsZ>q}w4_JDb)dzE;dPjBUh{ zM>&gcq{|91Cp%@5`KBKbrn*ZOG+dbTUAHb3wx2y>OjK8N@LoHLivR+1kV&WKcif_7p;|KV+vfJ~qm3Ly!SBsu-zXc%2;-Q;4u7}gEd zn4Jln;i<|CRsLNVg@P2gK=b|A__FAiHAy498C^w3f-4L#dOmlC7-6BzYVm@Qxb4J3 zuZXYySCB)gie02x#%fPS^Vp7TZhK+&J^ohvgi~#4HATcMOO?qUQ&`=62obT34P+xG z)NEM|`ECLxh1O7(S@4vYB_M>LjR5v*9%w zaP|K>F1>z{OFD3e_q;aXgV!{5wm!ct z8RQw3t;G-89ywvJTK|NCZ3j3WGd;eu>9f(2utH3fzgQGg71bWk>Q8(5 z3Nag6=hFyi$MCbN*%ZYu=eRI)QwRR_ zV2EO*?hOJ^c|%=9W^!s%o7y*_qU4PAre)DU+)*kV{g74z0MLxVpcwsAw6H#O0fMi) zYsBuwGuzlj!!MMWj1;pM*u^*!2?K=U(RseI1b*vH0c<5e*cimfhDsA0B2I^KW&?;?TuZ75R1D5nY{V1e?2KcI^nwh z5))jyxoc4uN1gRH`)S6*X(y=*Vb!}fz--a0X+?OO$UL+1o?~`pqifX9tQ(1i=?6v= z1oHiogP1rBAU|`mYJRu>u$g)j=h&^_#-G<~^oY$feOjDd%xt!T2$tH%tL?yUA@%9( zgk+w=cj5}NJO3z@1c0SoMO|n45dH76b?9Xh$q zLZsh|jQvR`7`!-{jO*99*%LKB&dh$&!FWQdA>R{3>wd+`i=Tu_#+De_grCq5xd8H_4MFZV_OBb1?JdFf;-iG5!-+f4`Qdr99t(+&?3;4%JO#CV8nf zqBQ5|kP6$9=KR_UY}x@yBb51|FG?%r!o09JwKF@95QD=N!2L?X5`(t5nILp3Kso)u zBhg#@cl^axlrA<_S>cHGw=SZOnX(QROEQ=V(k^p`zHCh19!tGkZB(`&?8UlAMUl3f zc+K!6w;ZdzY%Mm86ytrH-`u48f@95?h&5~lR_&p~R0BqZGSHmK+e%6@-}cJLMnl#t zS0AOhp{oN6Ba}x=D%~xB)^vkVN`#hSmj&4{oGC%R3Xx-8cLVR=^4LVEoOC%Z+!9^E zIo|rI#EW%ykV_N%%@hHB0?|K=t)tcd6-oEJVd85Hso3WzY6bbKJ^n)Nqk+%N?>>9P zA!avd!UXMzqsAUig;`>IwBz8mOid*@h;Y}f^#bwZ)wU|rbBaT9?FoaI))$2Bor3v$ zi^G{^89OA#g{;-7c*_+8Nx##~V++$Hz?U6SBP9b^$>W;E@y8YRrC}=)Xe805_?~S9 z)rGoz949p8IzO^KDuq#jGm^wPq{;MXX6oM;*){{Gs0)}TaB%X6sl&vCA_9{3gGi(( zS9H-Y$zfD^wH*J~cOKGHsy+Nk?*6SoqXcrTO!DUG311=Ol1lO+VfxYeb~;ET`*c)@ zI<=`{Z2wUxm9UZ09Oq4Z-R1rcLT8F+2Z&d6{~mj*3lj(Gdgxc>Z-SF4lB{HEazjUp z{b(`1jQ!&U7aDOsJpmZ?43XX*)zkgJDgrW%db75bUxM}u&MA-?_YC9E{K5QjgVZCc zTd+KkM3;e0A~*+HD8}w^FZig|jkZZU<2Icn7O>$sgGtRrXYPHp84K>KUps1>!imGB zcH#Yo>oN<4oa8??6&aNn*zrbI$TRax1^8C!fmfr4=q)QjgH-uvmT)l?XVN^s{HAFs z8^dKO=?oz2D?-L+J6+}Tx8Ur6Ut!Yv&JIYPSwpfN>{@`=IYN#>M z_`qCqI~$#3DD;u_d)WN-#M2X#*es-oZkfDiu0ycEVi;=r6d*Z>-e&NxSCH&GehJc8m|^#qWghb| zmFtoUtH7sm)AvNbj><05aK=*X{ls)6p-alShRlY+&IMyYej~@;bWd5u`aN-)Hxg3;`?!f)e*S}$-fC;j40Mmx#)y>y+qlHs-b=!)<^?i`-tfN} zf}?wGIn8DvIPcPTJ^_0oB?V4S51<3S!<)5K^+S-Y#}7D3^IH-KF;&0Ch;Hxd-|C+x z#{-GYM&cq$MQUm6oL8r6xi8e-tjgO=Oj1V(C zR8>9@?6>yqXybB1dtVB-hB9BP(kOGYt4HW5zsdgp$~7HKfu^vh1+M}2Irv*}kQsxO zHCodyo8=mBvu;-k&|`n*AJa&DXM+vGNmdq>NSf^uG%w1vUjH!Y-zwu89X}2W|>Xi<9JZF=L@G;8#V+Z1%nH(UMT3!Z{zjG)(-NTd&-ZNTz$0p&H^yAOn0Bg?6hB?weDY)JLW|LYSH5f(~ zr@r{@VPGt@hkrfX#<&T?z4cFg68f#+;a8|q=wGHD@q!Gc4O%R?sbHRrtl^a4^DV9203y#egix<7fIKyakBZfDlzO>4;p`ZF}ne4*47}ViUAu!8W%`mU(A3 zaw}ot!+BiqlIJsCLK&t(OzC1-((<1qpb-!^jdvlhZ5tmvp0Vl;Nn!KN#~RUC%&*84 zY+I?H)eaIcca3&gB$0KMc1zT%7|j$LJkrJ;Y$r)qbJ#G-_%*nWcnxSh(YouThFGv4 z{+1+|)BcXEwU?KzH;I+2)Lmu1y8Qhx9C+b5{MeKdYX8gJf5TDM#)e4~j;|Iv5%{QC zuI#uJ-${_z-XW$o*5w^%dH{yxL>$DEGf5fXAoNnS<$05`#87Q@tMU>k6wRHpd6{=k zV>@28j%Y2k=(WRj7*Qb=&27h%C;t2irub}RMCe2|PvgLB!ivJ@C~sc?qEBm>4WHgK zgocYuyB?1DshlRaMF!zF*JQY$E3Np^t7GJ^sc35GqPU)PtEc8}F-9M!-|XJ%D9T&q zu}7U%MXv_z#79uah-y2g_Hugn%HU58sMatPJjsU~lg3#2jw5=C9}Dn($5xzgfT`Ia6-E;GlK!QfBX?XLz+2Op5R z#F>NP`|m&bE4XjAz0yDYjqbvy`lf+5Ue^C?$fEByc^LTTw|e4!c8o#IQxK;{W%Z45 z^{uX0dQ}jc=tOy=qU!W4xQ@qc@9T8uW8Y)tc-7K9l*!Veg}SHd*V^X$Zc$cFHp%lL zY05KDi59V;v^bbl$<5@qdgFuV6MIHcMG~`N{gW@j>oOA&^|H74WV9m}MChG*MEIMu zv}U?g28JTgmOzhjBEp|lZCX_u?kH1N^$|a}cs!m6?m)gKWHJ0#NGKjo3_M&72KK#X z&^HA$Bms_l%sXbC@S2XP)>j{n7n0CEC!-+AV_DKv7m2t=oOSQtTJI-o+lS^?Y&2CZ zxcf+CI*ga76hNn8!wt!cxb_>MEVD!PlO^|_xY@2=4h}GJkcdDBips;yhEJ5~UgX=; zNu8Zy6p#p)hBe}?m%#21k9F_i7)jT*Rt}xdg4$Z2g-|08yjlIWuFGQa!*8yAYV;xq z1ZHWn8Tdw09mz(2Q8epJ)fkiqlN*4BA8co@eo+W0S{1W?6Qanc+0igBMUU(w%Bl0z!63>R|0#t7)-VOHgT5WCj`-Ii%2HR#T`I&J0Qjt4O zJM%9m-t7azT|b=srrx2@i&&CD1l-QmgiZOD$b?G{M+4&|g@u$vb2?I07NGkf)vu~5$Qp%z21%Ukaanh(hQ_Gwq@=`@2+*rhu(;j#OZO< zLXUC|n-ZjDS`ky`NibW11pch9@KhwxyiSK`{i;2;LehI=yWtSqUOB`Ip=v?ayU6v1 zN@bgO#Uh2wY8HgKtnzQX|4ruq!;b5>J)1wk0000}{5P4mGdB5GxopI@nzfl z?W3eu1v&~?_0TedEviv!qshv1xCk49ch2XYx=>BnxX(NDyKRq0bV+Z<$pc>FB1#Ag zJM})56j6AJQi*Ah#GIGV7?)hr9dosIq#Bkp^SbJ!B2qRho{_4&A@Rd&3jT$Q!{hNq z7D4!V7wtNq%43!%pBX4qWobt>(UbW4X46tn9I8R8qM;Y3UxjZ@}& z+JJImU37!?njoaR#pSDT*+p#jg|~fD*=^y6`GJ9gD5aO)ZAbu*H%~d1Ni;c7{le@{ zhr2iB6-tV<-gvTj~$A|bxrfGxZ^AA_hfL>f(f$4M99(0ES;@Li(CQrm7 zonu4!2D8n%N2;7iUcZTdSB-t(pt7%f~YQe>jbbKQADT_QocVFXXicVWv(4^?Na zuY7em#sDDx>1129SI%bYfO~Hqi5HCE#PbF0NKLCY5dcR6#n{zT9$ypkHMYv^|>Xgm0*vO_%MbnpX%-gqp zCqs?FA{33)V`+Om(P9xv(F3b}2gkYM^;aU-AIDa9V2Oh)RgInjxvf-5GxZtRn`xYm zsywoppH$O`LIUfu1kG10GFj(iV-32M9FYg$C;=xhJ`)LOlT`2ISwvZe!pX8o7-?}i zJSkbp_z*P+^MZqBS=E=pe3ZoEyd*#WL)A`VD1MxJv#@eMcq{%hb8@rfA)WWUArk+c zNuW*+6Ak{d8g+gIhF6{}PC_;75%wE3coo(&|41kJ+(zFKz+M7B=G+#2a~mPX!HI2f zz#F3IfGSV|@G&`r9BO&(-2LkB9Vh^)8VIoUtsG&TESCJ(0daW`_SpbwUzF?*Ui0^^Ru7Ws$czbG9D`#by)Q29#($8mOW&8S*vdP9rxoE+$ z5qNp0M*?h#!Qgo+et?}O1cP+IpW~1b@z`OE3Rvm_u%H46OvzzqAH-@w(EwATz*m7& zL}z!Dv=R6jn1Wf$VKCQ-IsW<_M>rG^Tb=x5XCffJ2VB!Kd^0L4^b?`mh}V9=TYs`P z3=uEPAQgd;q~c$A+D)9t&o|-~3ix{Ylz3R%g6APw&UFGM{e-6l-|KO;<9Xe_&v$8| z?n6>;^0zDB>QRaR1x)QRd{hokX!NlXe_H#ub@Gh^OWjNh=dfm zyklH~ra+%yc9!)|GuPSHn;I5{IqpZu(z_IsLik}U=FFA%+JRSwTouZQARN^IWnlP} z8@FE}YYd~Y=VB^TF}ueKlTimlfzG4vAP0u1^)f==-3hE!Fo;oMiKoNCZR`OJxmbGA z%34^6)h+5Ce?!(1>*L?`0c`}fIdH82% z)YptbP3Q17Ngr*Jh`>1l@4s=p?|Xd*AzPFEk%~w=E*%TBxzgH_&ekOH)0&T|h^w(} z&)FQaFcNls3RKQr6$XPnG?Ot;$pUb5blhKcN9fQxo=FzhTK(-HltBd7lV zu+R-&7dC5)2W)hqpItls5)Ce?1g^mrE5?eAvLUg=7D#4`*cL0!D%rRtzusJbSQWSz zP=n87UbLcyB{MwTF%Eou0M9M8jh{hT{BAlz-1e{ycn|C-V7M1}#^mO=E=soi{0gQK z)6O>^{xG6z)xka+l}?gFb-rCVgU{LkBZ)(9mD_w}0q=2m3L+bX7MP(bti-T{&dEH8 zB6USvDgdGR1(FyGZdySK73QsAVWs3Wi&CN-A~QCfP^?SRmvKJtSyPbxhXIG4>slf8P3oStkX?X=x zrhXgK7>zI3>%3Ks%Jo#7;SyJ!rLF_G=-z#OqixZJagCvu+qTOWwBKB-XllMq%?R!Y z0#0n0IA0J-F||i8?=&X`Q=^a5Z|?W8AEzjlEJNF*OB5QMNaiiI_=r`E5@H-EJbJ4& zm!Y`N|6y0sVMc^TIvwD4C;oEvCn27)T35ZaU|=Vb{Zmrwa5^Nd}H{b!hRrnB+ z_b_+t7kSr7z1xx9v6&qkDOWx1jV^hIb<37j=*FlGLA8XZ;L_(g?oK=R-3tt!u4jw7 zrKJE%M=cP8yWnA9V)7sM%_u{{@@;GE!DUL_HxQTS6_h4mm>>_}6HTlKI~b;hj_I-a z2&H8Zy?c~X&E<%9j}rr7lmF>cV7tR+r-fp{1a)_b`uJ1wH7SB~Dx0G6;`L0h2!Ip4 zeECv*!3NL&$Og}GgTvtvZcq*yqu&)?>xk$mn*saRWj~xLm8Bn$q$z9oE~iltvW<+W zJLlS#9ECB)TrKJh2etinPLPU44h~Pqu|F}tb@(rSViHIP#FK4a;XYI@-%D*^Yp$Un z99rZirE{ehSMu&zMv%&~gKy<057+7;&&VP$haNBHgNBPqGSht?eoja1v0ty#kKLLG zWQPQHM)2d>hqqfOJiz*e#n;DS&qzo5iE?rJxNThi#kwL{D zvFxWds-n9Jym^Evl(1lT62}7{hLka&x@qPRP{r$6ylQbTN8~Oo;HJuPO@;ZpGQqu_ zzbOiuzCK6={<-f;NCi5)8O0x#ZrfbW<##mhy6!;jH4Jy*?v+9chD&em+t6hXS>SYm z1MXaPP&2724QK~+45vvi_$uY3j7%5QcCNK9&}n3Ck!i)iI1ic~b&-zy}z^4OhSX1C+>D>SW zst1=0Lh^2RzRdfg>Kj|b4z#MVPXQYB*pm)VNrVE6)DQyAwnLzEOtL6pf=&lNi`PZ@ULfhYM1tSI;vN zMojp(Oe(q=fY2}D$OJU+3U6h*_NY1 zI=#5}Zta{b+8Cq&rVhSlr@=!zxZPB}(a$QQFV~C$QNM&|t+JJEmg)5B6}BmG-q847 zHZ?cv%eBy5X6{}k#GVZ&`r`H$-_mJw)!}P8?wEn9{s&M?0|XQR0ssgAu5p_~|Hj)5 z=@0+_4JZHr2mk;8V{c?-E^v8crCLjK9M^TeJu?_!@E|EtBqd9U+puU15)c(pDW^)L z={T|^D~Uj6D48^iRZ~6FcZeo?x<`HQ5S$d4R7Favw1^k3$|@T#vR1OnA4nEiWtIPt zMHZ>7obNmL_G3WMfh!=<=*Q`EU*Gx8<97SMw$_Uq&psV1|I@+mAL7^i0}ioL4{;1s z+)`NPciruFJ>k4^ah8|tgJdbpwVriwS!)0QfJsq_Zrf=p53UjH0>`$HT) zw@I4VM4K?vI@WP$^H5LcX=HVHcVQ3nY{!I2W_1ybZSqXJ^I4&B++SZ$eubZdehZrH zc^p2-r_(5l@n@E#x{!NgcQG8hXZ8y2eNt=uq*iDzE) z6g%cTv7Lj2YusmZw#T;ei8ZrmtSx8pN7fd}Xm0g~MUfXG@Y!PKuG~9B$0YH?$n?>( zD4n~DJdNd|FAeZuuHx|H_aC{bzwrl;(q!~#oX2{9wivA787I`dPSKznw1X}D>&V|r ztxiw@lI{KxCGX;(m4HwQ{Cb?FuL5F^P-zoiU$qEApo)m=icD8zR*6U6Tr2U|Q-gc` zb!z@^HW3*ej?>7PaFQ3{%PR+jg!uXFFfm>()=_H0qr@JDv#2mh_BaG4ny3nmCHVUG zP=|A)iyb36vS_Mh)^~4)i4Egin{3C5KBq3pW^)^k=97sos1_ZX6@Z>~7ox<;a51Ql z52P91p#BiujMAfMVbD2aH2W3m=d&~!CpKN|`r!!rN(2h}Zs7n-VJ@Gpsp7jTX?dgn zKFznSzW*XnnJQr?aDz4STo&M7pG#|kfCiKqTg=BcFMMlm0(F>UBzcC>?xgt`leiN` z#pC%@XEro5Jx(SxVvZ(G#v)lP(EUoq(P1(^3<)JnSDJ<+jgjdwfE&9B)stwRT0;Ve zKn6$YA{-YQOA%K(8k%LwpXx=pJsfiChQsa9Xv?>8XY7`rH@Uiyt90OLoR1sg2YIF& zL$w>2iiQR;l(G%GDi@;Qpx-I2iz+Osz|9P~K#8cQ9>-6VG&-FO&X?Bqf0~?cJjoI} z9A2X^Z>Zj8a5d-!hE3cOOx>2|3FlOg*$@|WwS)&OP%Yl{v_ufJ)NxyV*;X$)V4!}< zK(?(WZ6To#NJ13vQ1;6}1$IT2HiF#|C5C<_mx*-U5e z*K+Uf3XGizCUh#}yeRb8-h5eoSVRfUFRJmYpO3XzK-j;x$ZYgn7?xIk2W?N%{77!> z?qdj{5sA=(jr1rQKdr66Lw{Cq^l>->$fGnR6L3n*VSeP^)xzJq;Zy?^abvhQP8r5@ z26oqbGTGC-Xgn?S7xScmiB<2PGFENpMTX9ZC4~4R)97c=G}?aeMB8P{r_NxhH4>w* zbmXHanDc$dDMANOR5C$xK4>cYfDUD#uP+2rsezg0=wTM8U>!(Zx5-r3i)8lvxxnY% z!dN~1@Off)Pmr4HWhh>d9r>)73qHs6EI0PTkI+s9Sj-FD10R{NKhMyzsr!>P5WpkI+f|?w$g!#YjW8^ zpW(pZ0@-H^hb5#6(KVoK=~jQr9=c2M^vig(WEGi`!MT#rIAg+fd6GMHnS_TDp+EcJs8bMDT_jo4& z^u2GN0qsBbNEDCdJe|-3ZbUYGGB?&iqF4f!1mRWKT!9(U_V}rTG*%jL0O?r=ACX*+ z&OVvom1em77{PwF#{d!+#xnYjOTKOpGJ;wi)q!L_feoOqN0IT3jr4?$vtM?h$~~DS z0E-^6cvN%#_AP|Ua89o<{{>iPzxsgavpFPq&A@ zfTNdaoY)y`6Eh@Ij0+**B$xaTS&bc5pcaO7w~z#i4ak*vp26iZg{)cBw5bhvu~+mLy>}Zb1U;f+Jqrz0drt zqdL%vEkg|~AeDDqr-{WD22j)J5 zeo5;Hd6?%9?MQ+ck6*$^umx+^g&pjc{0;<4yfXM59)6bq>sCy;-!%mI)vm8$9X?{K)! z8Ls%`#KMdis3r`ql@fT?l-w(xTHI;`c4iTS z%d@O`iIdtDCwbqAR@~%P4pgistDg5Z%Vi%9r+GYQQa+$JcWcT3 zaPVy&IP*dbvKX!_N}YKH*(Q0-P;Ga$+uA&Ley4Y3^S63eU#@F?tWMOm)_lQ*wJa&Q zuv)bu_d8O{>XrqrRbOZ2%{7*@q^9@p#6z0Hq!v~ElO{XThtacyiRPqEntdtM4dawN zx>4^M&66~SX=mZ-B~J;pcT)66rVUDHyl-i|OGxV@k4vn$sXe#wD=_Uiza6Xd&rsPYrWOcMC zfvN+(IAU^Oq2W&55;)5gaywtjoY4lT^Pee1lUC~&z+d7-gC=9q_8u!=z^<1^EKf^O zts0-}(EdR`D0#wnF(|uu#*X~}&;GSyhL+GMgXyaN{x{IL*zkY~?q}ap9qS6}lG4S_ zxd%!L@J_D1EO$rbO5abpSmN?y+2>%`{d0lk3N4!Ncjf2;XDNii%Ok$NLIy|T=w+R^ z7habqFn)OY=l`J=zhp#F{EP1kB7m&t`;YU*T~V-6#}|kVti%T34s?jsyDkI!;;jJj z7Nd&uw4qI0GYGlBXYS36`wZX4Kwp!A{vhx&`x9JP>|>U-aum|@`Np_a0e$yxJ6kX#p}bI#DjBzS|l!} zE**@y5Z`HLB8EJ2`}S>jvcJC{nvay*ISRKAbvoPL3%AGlY*8dg&*cJvWn#@XD^c5N zg5b^QZKgA!Wn zuU6rb5Tu~c6~<j+lie1W(#k%n~Uob6*J};&EAw;`2IV zp;}UomooberQDihJ>2h6N8Yzd0Mra98hzW5%Csw1R;Bz#aj&%GMr}SDgD5j@dhx=_ zK8TMP%Jz)kM%kBY2q~e_cAQXwaY><2jw{GZrK75{!)TKX8G91%HB{GXSQvyOzv(L8 zM~TsUOUh2!b~s&4swb8`PF$%anvkY!Ii+&T&*@U3yi!rs<=+jH$t$)t_QK!e!zHb( z5!MXqw`biR)Dc#_FGQNS?Mfp-+|p7lF{QAQOBipLM(TPkw)rGaGM9fa&TI32~_ zm`>dZ0XSq5S*H^N!aAq(*tyb^RSC6jr)_yEFmP6EkJPXsY`)vOEGgKEYLvr%=7H1lG2gMI zuuprcct`40ZKh(`J8E&E{D#PH8S|@_j)aCESD&l2$>7JzaeuWt@}Fmq17DHHCN4G` zKRtr$bbF3ipi$~|Ok`o5UwHWg5cj==g@HDuUyK>?C(}Rl_BCibcds)(!J6S%xO9r_9IFpjecdzja+%Z{5}CMx{qAk zH(A1%?F!l-mEm4FQcLalVR(PcIH^b`EQpUSkZb*^SR^<7fV zPafrqQmYqwJ!{HKHC!jze`Ne+GB4I6sx_RCfcj=vrkAT)J$ZTY9H?iRy1?%hG+F8L zS}!K*3UO?wVF<6O`6qdKAnzLwX5*a@$s?kH1$`C zsH#qCo$0FLp{iw*&+D|vsTLGI{qz$BpJiFB)l|44?R@^}C;Hu7Z))|NemF17q8zL3 z%2XP<`Dgn0{AkQQk`Mj*;#{8p=}RhM z{zIQ9aRHpNKs*$l3 z7EUkoqSVe0rQT%8y#2+m|8AYlS4mmw<^FPp>-@Ooy?lRb#OnzNO`YU5%NzVpJ>Jz? zy($;F#8q&mhAikk&Ct0H_EVe94g_CfP7<`YorHZEBG&PaPU?pby-YmUTI$xwo zuGYzXmF85Nx{B3L9)9|XnNH}&;OBRG`SZKk4E|dV+ENexJQjjNjBCBXuDg@YB$hy8 zse|fmN4V}|zwTpGS7Uvr?w`JlHf^NEZSm)K_wVC>LG7?*BUoIOt9T8kOH>~d5tQ)#~<1u zCUC4?WuRlr;tGsFo~(7HhKnK})T#lE2+A(kTT*xU7ZPqYfvG(u(xR ztWnhQvjjRZ&yuR5e(7bJ2h0o%VmckpvuX^? z!O@K20sjljR3~fr55(r|Ws%#TwqO~}PpzIw^LeS)IMj z(%BNmPMw{2{TuGZ2xc83flyFd2V5`Or# zy@<(5PR!u&uR5AOTp4X(f zX^<#;@N-hD`|mz`_stPle@4Agbzn*tpO`8DzG#=TJVc> zxzr_0kRqGe5?FzS%5ePEe5FxK0ASpd#dW$c3zBWJO3KRyXLy2bR<10$_7I9`sIO^B z>&23aj-43rHb0KzC`Kx|m#+0I*GBd;g3 zWPVk_6t8SY!k*X?fYx<2Pc{I(^e+ukuWsy8ym^1!RJw+_Qh@G@Ewmv5JO_L>1F3%p z-qQkqP7~z=(228zTiqjz5Enff4FG>*SvqG%?nmBoKn1`a11kVgN>r65l9d)LDK;lC zCc>2d*tr$}Go4=o(_jHquuK>JXz?Sy?xmVh?Pbfj~-#eXb|!M^~rd=LgdKTnr~t*1&d^&R5Vl z;34SnmDZbVv7&p?TFN+$S;EdFkUYxU* zZ^ctA!|lZLss7c(lj&M+=cYZLZnj9$li6~5sZlr3Ml*(wKuWJyG6qg#bWK~ zM}Gh#Ypd2QKx7(`=JES_256IMVpX1VVdlAk&9D&W2vcXe-fD0)=U`4zgl$Wch^?GX z!QZO|r$_Zrlng~eBTw}nOEz~dh@!$9^I)S{TP z25Jc{3FBq}DUh8uy2Jov(ldB=_qfqBX+3x<3hqoD9l5GMhD<;uCE3}tB&&2UyA3$$ zs(c(?sVfvm;0DWeU%wBsPC!i89k0!!gVE=@a)h`vGL5o?aGL})>_*!L*bFLhQ!}JP z$hBxn5)DuArS0C)a`pRe!!)G3t3_HDuE%OO4-!?J@?`rOmN!od&o+6 zJAbTRUF(u!FAQD;Ip9`|%%iSO5s?tDCBj5hT_UYMKz%IWuM6}T9NtnL+(Kg=dmU86 zI=M0$TDYC&2(#w%qRDG#LKaD#V0_7$moLIm4q3^Ko#9B0fb&Rf?5b$PcekS?wc(^g zr_#(uDrmawxe{ovp1{Ni1a!I53?z~%G8O>nYysRZ>10Yc0~b}%GFuU z5ZFgK5M4=O!I~c(T?OH{4!U~k#zrl~>Y^))n0wKcY3VM|Rg7VWfGbn>9|m0Q_nr@d zP{x7&-9aehZ2cAxO4<%Y2@R3){M2wJpkyk{P8N$4eX=B*5-s?BS%`6Q`s-J72;vT+ zjr(JiIN=>9{v9oEOJu7thRy5TS!!&b32vc-z0)tW>o(%;?K;B4l#Sq?Gwsh^&|{`S?6uc;%@D{m2q-q4)ifa3*f1kZd9P0$*2CBPX7 zh-|Xt&@Rf?XzU-O`6O$2gJFv|wfKluoJ? zVd6;FF{KEnZf zFD)GRm=^`&Gz(P9!5FxKagwE1cIyVy6lsL0pgg!h3vvdls@#oeEkpzKUO#RE`9bGy zNG|9C{UFHzKbxdXK%we#f0hA$_GcRO=NM4kkCA6Ugv{3VEmI9bGIz6SkDtiK{UmJt zeKzV3YTN>b8#n9m6WOr0@~~&?-Y3%8$2SkU&Y&zOlYn%%t4P*g7JD0$@Ygo2A$MDK zP_-c4#D_qyIX&s?ESpDTx{M8#u$0+-b^06{A)(H_Mq;DRU^3jklo6p{y>~p&lR1cB z4*xBz7cN_{#@h^8il3%Jl_34-bt0(CTxKws{H;jyA@yj~Z<_s{KFb=A(@G$gb%#0g zoNZXeW(CC&VFeiyaf|&fKLJ6sJHUeUs#Vcsunb^2NO2_WtPmn9$kXy^n7}odKZ-&j zo&tNQ6UmDoGYt~?3fDO1fQH%?IE;1=)I+u6rf^*XY4HoiFTv%3o!PF6Oh=6em75pW zx{M6jn+SA|eJr7`jLw9IxaGy9gU zz%yxU=mIX`gfFwc37Ka_C0@|+aR=crR=Z1tBWUnr zARJ5%d2fUx{rD%sxif_G)gR2ddrvXs;kj<+>9Kl7nY-o5H}L=3AU@d#$`A#?-XU}9 zGFq#VY)_}A1|csg$d)Xa21wVsKp%|4O;RQ3A~HJKMS6<%+&;ww_V>sWvphd6G@UGr za!CKK&rTkUNfs*liw1~&Y9kQ7o-jdlvTRn>$`rcO8N}B^>F5O8{Q}e@81f>WCkD;r z4erpOSX$Yw*h<25n6AXM)Px5;;yKIpHDPR0)@xpHAkEZbw-ek9=Bw2>%WFD~CzUZJ zd@Nx)^vp{RM(ez2E?0e|RC1l987{}JPKEgh#!QaHyL3%a(**u#)(#&eU|xjGb@*YX z1{HC;lhu?PFfX#N);T0V9mbPUPHr!^|KaBfxK4xynh+URiFLpd>AV)BXmpdq!$oZfoFhQ_Bq&iQt z%q^*kq~g#R+Y>ZQX#|1u;Uf%hd093ln;w6-Okw6pLO>TzE+>di0|dU2_?WHBIK5Kl zEC(#5^2!)?yB-57xwCv|0)QnlJenFjuUZs+mhBkDYO8sdgPb;)1b`(A(XqhB@{(-* zntXP4H(E8}f$zXl!~l0-W!N1H>Ww1xdhHJnf`-YGwZ&*)Et2?4lL8)!tK=c{*fP~= zbGw3dsb0hC3I=ejj5maYQOX5gR7ssy%Tzn+tOZ8g>wgbKa4Dwa>yBSyc!^3j{?z4m z%g>&I_?ZEFuDXxGNnhdy!7!jSQs10W`#mHh>*m=5`++mr7>--+Ai7~z6@b>^P;>u#BZeBm?mT|+a*NAbD0=Bj6&5AN8TQ)mO2 zo|N_5eVsHPR%B!Dg#EVz8KzhJgFF9VgZjv zQ5Yn_91~_5Q(%)bX+V-lsha?Z1cSSNM4LX>8-46WIy@ZQ!Ar_4)f@;K%TV0<1cDj> zYq{Cl%yyoP?#DmGy0fql?RxsG%5E&<+EoWPVVE!rtOO z>&jF}9o6YNqWF5Gbk7)Utq8OW#)`Va2xw$@!dU#rRrDMg=(KB`;?&2GIO!y741ExT z|K-c}v9!?C6G!(Cd6%4IAx4X$r$;~MMM_8?;4fSblm4@D zr3a%>F;U}RoJH1y0T`jo#pj2f^}}Pv8|s_r+GU1)XX8Is3A1+pDs<-2dsWK@WU%Y6 zI}=cJ^jl}(Ji02naEYHfyP?FPgN&7VAYYv;Aks=J@A*14gX zu5#}chRKP1!%>U?1d1r zPj5&lb3gsz5gzY@)3>8r%<1js(=g|~WICk7Oue0JzepE&&k&iFTwpxiYk}J!00WDr zlz3!#^jhSXcgss_knuNMr9EmFyNuIxfau>|>?4Crmlk1s{qX+%Sd79Vkk8MQgFGU5 z#f9>fgXMv1^)2vxB1XcA^_y^_3+#gkvWN252+>W(2GQ!E`xnSQ;t0nv({|HG5;$x! z#h{7@`6cE{q3%-KP>JzhseK?=rjh0iUjhe%_b?am7}EvVaV4o~51jjSw#g2y<}%Ig zE*l2mQA3;*%M+50Uf-jG?M9vXB^=|3mzltWvs5lVFf-+4QA_d(FhS5;sW(MMz7Eyn zsB(=5^=X4PKxD7o>}AZ&OxFzY+$|9&GhEU}d?MtGwWt3n%G1x-{hO;@mD=2HWAnfa z6=c6TV&JYE%+Qh(2ZoOww%>l*`WbOhl1yLT3!0~1(XyzVjF|D}`-1@!uXC>FYeNuz z-cBS+=qWz?BVW#07n|qcw9u6cL0ZWzlV1Lr?DKJxeK^(EyRoeM*yiiVRvS2b$!60s zMN+mMuem4@6ssAqwcVWMLlYRr=w5IJzk!ZdboOPwV#S828@FuCrCUqze2a4D-X81o zjnDenwK?G{M8UB)H7KHjH;9(ay!Jy=os=Xyy~pa6+4{q|O=k^8eKD0~X7*b%%`8Dh zFw?*xu4#7)&(xsFukvD>4-Uwxx{&(*rpc7Rn8#?Hhl0TOdJ&%)fh=96)oyvO~x$$ah4 zE3%gwN-mwBDHrN>ds(8KE!barPeyV#{l=FP_sBMP(c28`;?ywYd=NRV*hex7eGjHv z4NbjY%M3<3L#>TI#Dcl0CIF{@ZN+8o(06pE?bwnwgeD~J`GiryE$z*iIcAKNbxL5MKLoDQMM!|}I zg+Y7LjIs&IpHU|i_VGd;*Qws3D{KvQXTuAy$<6{0dn8u!SRZ}=yb7U5TUFQ_1tINe zHmH(cJ>s|kU9`dcZ^=l$l}yLN00){@Z@_X!oma;q1!ohR zW+jQej;0?Ymac=`7AJtO{O0(UgbG-8YHsXtaxzJ`h{V}7IqV=ZIm}%siM+5H zmwWw|_Vmz*cjjW~lxm2axsA%|S3@~D(7jwx4o&*f-OX$KYtguVNu}+Tk(eejiF`H$hTe8~0kzf*4~jNb;{j$3TZNnFM*_-8BkCD}P~;M@C8X`6`<+4Sh?ei(*} zZ1e1^`6~|o08g)PiteC?ZkYbTujM>O#%G+zyPScK>yA1-G~+)!3-zP=vcgX9K=7~L z&%5xD{{j5W-^@Q$Kdg$fo;Un5D5OfREaD-4K?jDK&j#geFt%n{_FDr`Y%UJR0*);~ zmcGLCrb+8L5a@3=LfLm(8(0!%=_KMGER-N)7Z^D(v2&5OXVP)6@07yiAvHRxLmTbM zoD#m<`v%1Eb5@DK3O7WK2hAqBg*XPtBJ@}ni1YX@6&~i4^&M9vm^Vwcv_89Yrb5163e{bnv7DBbr^Arzy zOn9@?U@ml*uZvXNK#(c;z0vjtR)pp)A)f1pC$qFRHw=2m(?}rJj1LtGTYHqrIYCFq zmaWs+4u;%XtnD$Oz1~Jf;9QDK8Pmp>=N($R_voQTY{{p}hzbuq&y3{K8Mh@JD_ezk z*Lzpiw`8D-J(+B->S+-3w}+EW$7uVH=5CH}gK}dO?I|j1vzX7D0La=U2_33hkZib{ zRGn9;(DEN)SjJIm{LqepNXa4oIZFtj~%PoKci3%5Yl7 zmatDW7!@=MZM1P8_}O`L<|JaU99uMs&R8&8Vqljx8bTL_ohgYs+Us`sVO4J7S$CU| zIx(iY-s`!%pSIqHiw`Lp< zv9sl`?D{%uScAj&!@3T*@`I#itgeQmBPWu{=>&2+1NFG($DEfzGolYo-kEPX z`sw_^4C~>BuHF`*rE~f_>B{58=O>S%)XPkBz6CQUVy7yjT*=0xHe``>^on~S;L?4+ zou_0F-pX5nU>KJ`zKYtw&cp|5H4M^wV|Bv(zP9yBjht}5U(6$JHM66bDFW~6JJP~7 zkZXUDZGgDD=(Zgw_3-zPq}cH?P}?u~Fm9PTv>)I;we$f#v7gkFF< z-W5-iN*7r0iHXqK5li~*-Hq7X68u|@*hHP}h`aADy}QB3UUR~?GMAmrkB`F`$6qWR zCmry#t}x%;?rP_;_o#H)Y6P~61|x5V^}#0Y#&oeJrE@x?3gM-<&05Ci?aqZZc4PMM za^AwL%$@tR51BVF`959RTJJw^mZF_EHW+s|SCLDC?`)P1S3CY2i7hkOO5Qay+!Tr5 z4>Qb*oS7N;x9n1+l-NxdOIV+*6JGuN^Q&!AURIs!?$0d(6Ee16=kjVYZ=a>zHK(7Y zj>!Xwz4peCGp{(tvtHB{zJ5<$0kJCaaxLRXbjdIcn>uW-o{MPO8;sP@+;DDLA}EpO zP2N*u2IeebNr5=C%HFUa>-b4{6YXL<)Y=M-g9s;2eyN5%h_*A|cx?A0`q{ zb)QJM?<#!{k$9>8trEY%{(Z1W7&~Iv|KTDLP<#)O=wS9$Qm&KD3BIVp zLm?OEz+*;4zXH^MN5hKFVo z2*3DTa9)pT6+0A?J2BdWSnyjI=}1%!vZZSp8Z9pl)wp#eT43Lk<-{h^wXVh-Z{jPD znHU}+v#dhYp@z7_$U9Ba(#Y{oF`^;Kf_z00?P9IOIyM-9a<-^gX2R6OMN{sJyuHfp z`+Q~E=~${mh~OqwVJINwfN#n3LxGnfAUZ*1}Vp zW5Y(DzYmZ2>5*COboR2ZEI&Q6IFe%beTC(*Dc!mCzOP=VprH`nT;E3^EQj^wiYx~> zotn7E^IV;rEYb=$T}~Ps=1j9iW$x_rxJ!m(omN#F

      zuPE*KEcLIYkw2$_1sx8#d z40BNOSiRO+CT~{5v$1r$B&=p$l;X93w=#o~?bJ z6Od>ADojlA%8=Tv$Wr-QSG-@36{Z;In@%x5e=wcm{R-3Rz$(0B^&KXwSM>t#IXBB4 z{20lVv~L83#rfmwXD1ImTUPC=iBvuFb`jbKV>OVxOWbLqyvu=;KL0J=EC3}@QFa

      {;0u24NC;$K?jQ{`&0001E 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

      P>lK%%8!5%3@19)Y8{fM%? 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

        3r75o3Eu)P#rQ-!U9?p;APf4K|W|sA$RMN+y4T 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

        ymAMWJE+_tY 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


        q(-6Y!GVE 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

        !ngv)lu{o?tSj2zC?s<7h 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� z^tg{Eu`#eviO-}{F!t3nS=b9ll+OJc_pXfPU+(e z(r8Ia`$pZgDys-^`qSMqbilerJUdR;;*zaEzWYO@@K4bJPPeiK^o^!`jSQzeQkWdh zbU}~1nj9V39UB<}_0YWG=NUZ7Y9}C7{leA$<)!NjoAMhtiL=ibXBTWt=j75*fQ%Y* z!%DuV3Pl$mrsg>6rrG^z|Hw#umDrP?s0inpigI}bd3wXG>W#KgRiM8@as0#<`1M+Q z(=|?uIJhUy12(-f-Ri=AzSDV|XvIvLq%biclsO#8iH*E3PiRaqFggF-Wzd;@ zn<)!b6|i0GAACK+-S-J{ZRfY84*MNfH`8GJ*NohHM{lDy@p`b776zwQH}8HV-8ddD zCC3RYee=zeO+#p?@Ikuu@BE4x$A0Qn_SEOoSBl;f^sfjOCtMPHKgV!eV8~M@XQgYP z;YIg(YwTG(B;U0D)A4gF_H~WE_%@AB*La60{L#P{{LsBzr)~v7*CRD;r;N)hKSlv_ z`?~d$_vSmNOxGWCaL(c2;*7K;9DpWLeL8Axn+3sceM)Abah<*iT`9{<^fEGW-8*xs z&4a_ur>jj5(Py#e-Js>*r)8nm>tYD}GiW8glN%$ zMs%LEyu1^Ni;K)>OG;Ks1*9EOah|m%0DoNsV0&z{Pk{~5|MrFM_bqcX4@XCciLdZ4 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%0AYBV;5a+xlo>e{4HDv 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⁡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 z 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 m^fjNJIN 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

        !n7PeOMLo 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 R_6DI1LZ2Y)6>Jo<{|9j}9HamM literal 0 HcmV?d00001 diff --git a/lib/RFM69/License.txt b/lib/RFM69/License.txt new file mode 100644 index 00000000..94a9ed02 --- /dev/null +++ b/lib/RFM69/License.txt @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/lib/RFM69/README.md b/lib/RFM69/README.md new file mode 100644 index 00000000..430cfa13 --- /dev/null +++ b/lib/RFM69/README.md @@ -0,0 +1,59 @@ +# RFM69 Library [![Build Status](https://travis-ci.org/LowPowerLab/RFM69.svg)](https://travis-ci.org/LowPowerLab/RFM69) + +By Felix Rusu, [LowPowerLab.com](http://LowPowerLab.com) +
        +RFM69 library for RFM69W, RFM69HW, RFM69CW, RFM69HCW (semtech SX1231, SX1231H) +
        +The latest examples, new features and bug fixes are found in the [original repository](https://github.com/LowPowerLab/RFM69) of this library. + +## License +GPL 3.0, please see the [License.txt](https://github.com/LowPowerLab/RFM69/blob/master/License.txt) file for details. Be sure to include the same license with any fork or redistribution of this library. + +## Features +- easy to use API with a few simple functions for basic usage +- 255 possible nodes on 256 possible networks +- 61 bytes max message length (limited to 61 to support AES hardware encryption) +- customizable transmit power (32 levels) for low-power transmission control +- sleep function for power saving +- automatic ACKs with the sendWithRetry() function +- hardware 128bit AES encryption +- hardware preamble, synch recognition and CRC check +- digital RSSI can be read at any time with readRSSI() +- interrupt driven +- tested on [Moteino R3, R4, R4-USB (ATMega328p), MEGA (ATMega1284p)](https://lowpowerlab.com/shop/Moteino-R4) +- works with RFM69W, RFM69HW, RFM69CW, RFM69HCW, Semtech SX1231/SX1231H transceivers +- promiscuous mode allows any node to listen to any packet on same network + +### Library Installation (Arduino IDE) +Copy the content of this library in the "Arduino/libraries/RFM69" folder. +
        +To find your Arduino folder go to File>Preferences in the Arduino IDE. +
        +See [this tutorial](http://learn.adafruit.com/arduino-tips-tricks-and-techniques/arduino-libraries) on Arduino libraries. + +### Hardware & programming +The easiest way to get started is with the well documented and supported [Moteino](http://moteino.com) microcontroller platform which is [easily programmable](https://lowpowerlab.com/programming) from the Arduino IDE. This includes the [Moteino, MoteinoUSB & MoteinoMEGA](https://lowpowerlab.com/shop/Moteino). RFM69 transceivers were extensively tested on Moteinos for the purpose of building internet of things (IoT) devices that can be controlled wirelessly. This platform has matured over time and there is now a [dedicated page](https://lowpowerlab.com/gateway) where you can review how these devices can interact with each other via a RaspberryPi gateway interface. Here's a video overview:
        +https://www.youtube.com/watch?v=YUUZ6k0pBHg +
        +https://www.youtube.com/watch?v=I9MNZQgqKHA +
        +https://www.youtube.com/watch?v=F15dEqZ4pMM + +### Basic sample usage +- The [Gateway](https://github.com/LowPowerLab/RFM69/blob/master/Examples/Gateway/Gateway.ino) example listens for incoming data from remote nodes and responds to any ACK requests +- The [Node](https://github.com/LowPowerLab/RFM69/blob/master/Examples/Node/Node.ino) example is a loop that sends increasingly longer packets to the gateway and waits for an ACK each time +- More examples are added from time to time, check all the [examples](https://github.com/LowPowerLab/RFM69/tree/master/Examples), visit the [LowPowerLab blog](http://lowpowerlab.com) for latest news and projects, and check out the [LowPowerLab forums](https://lowpowerlab.com/forum) for projects and discussion + +## Blog writeup +See the [library release blog post](http://lowpowerlab.com/blog/2013/06/20/rfm69-library/) + +## Why RFM69 +- I have spent a lot of time developing this library for RFM69W/HW transceivers. I made it open source because I believe a lot of people can benefit from this new powerful transceiver. I hope others will also contribute and build on my work +- I have long researched alternative transceivers for RFM12B which is still an excellent transceiver but it is much lower output power and has limited built in features which need to be implemented in firmware (PREAMBLE, SYNC, CRC, packet engine, encryption etc). +- I wanted a transceiver that could still be very small, easy to use, and have the longer range that I needed +- RFM69 comes in 2 variants that have the same pinout layout: RFM69W (13dBm, 45mA TX) and RFM69HW (20dBm, 130mA TX). Other variants include the RFM69CW (up to 13dBm power) which is pin compatible with RFM12B, and RFM69HCW (20dBm output power). + +## RFM69W range and antennas +- I have tested open-air range on these transceivers in various combinations. +- I am happy to say that a range of upwards of 350m can be achieved with the default settings provided in the library. Some users reported upwards of 500m by lowering the bitrate, and a forum user reported 1.5miles at 1.2Kbps: see [this forum post](http://lowpowerlab.com/forum/index.php/topic,112.msg288.html) and [this blog page](http://lowpowerlab.com/moteino/#antennas) +- The caveat with these higher RF power units is that they need more DC power when they transmit. For battery powered motes, you will need to keep them powered down and only transmit periodically. Use the sleep() function to put the radios in low power mode and use the [LowPower](https://github.com/lowpowerlab/lowpower) or [Narcoleptic](https://code.google.com/p/narcoleptic/) libraries to power down your Moteino/Arduino diff --git a/lib/RFM69/RFM69.cpp b/lib/RFM69/RFM69.cpp new file mode 100644 index 00000000..50970696 --- /dev/null +++ b/lib/RFM69/RFM69.cpp @@ -0,0 +1,819 @@ +// ********************************************************************************** +// Driver definition for HopeRF RFM69W/RFM69HW/RFM69CW/RFM69HCW, Semtech SX1231/1231H +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include +#include +#include + +volatile uint8_t RFM69::DATA[RF69_MAX_DATA_LEN]; +volatile uint8_t RFM69::_mode; // current transceiver state +volatile uint8_t RFM69::DATALEN; +volatile uint8_t RFM69::SENDERID; +volatile uint8_t RFM69::TARGETID; // should match _address +volatile uint8_t RFM69::PAYLOADLEN; +volatile uint8_t RFM69::ACK_REQUESTED; +volatile uint8_t RFM69::ACK_RECEIVED; // should be polled immediately after sending a packet with ACK request +volatile int16_t RFM69::RSSI; // most accurate RSSI during reception (closest to the reception) +volatile bool RFM69::_inISR; +RFM69* RFM69::selfPointer; + +bool RFM69::initialize(uint8_t freqBand, uint8_t nodeID, uint8_t networkID) +{ + const uint8_t CONFIG[][2] = + { + /* 0x01 */ { REG_OPMODE, RF_OPMODE_SEQUENCER_ON | RF_OPMODE_LISTEN_OFF | RF_OPMODE_STANDBY }, + /* 0x02 */ { REG_DATAMODUL, RF_DATAMODUL_DATAMODE_PACKET | RF_DATAMODUL_MODULATIONTYPE_FSK | RF_DATAMODUL_MODULATIONSHAPING_00 }, // no shaping + /* 0x03 */ { REG_BITRATEMSB, RF_BITRATEMSB_55555}, // default: 4.8 KBPS + /* 0x04 */ { REG_BITRATELSB, RF_BITRATELSB_55555}, + /* 0x05 */ { REG_FDEVMSB, RF_FDEVMSB_50000}, // default: 5KHz, (FDEV + BitRate / 2 <= 500KHz) + /* 0x06 */ { REG_FDEVLSB, RF_FDEVLSB_50000}, + + /* 0x07 */ { REG_FRFMSB, (uint8_t) (freqBand==RF69_315MHZ ? RF_FRFMSB_315 : (freqBand==RF69_433MHZ ? RF_FRFMSB_433 : (freqBand==RF69_868MHZ ? RF_FRFMSB_868 : RF_FRFMSB_915))) }, + /* 0x08 */ { REG_FRFMID, (uint8_t) (freqBand==RF69_315MHZ ? RF_FRFMID_315 : (freqBand==RF69_433MHZ ? RF_FRFMID_433 : (freqBand==RF69_868MHZ ? RF_FRFMID_868 : RF_FRFMID_915))) }, + /* 0x09 */ { REG_FRFLSB, (uint8_t) (freqBand==RF69_315MHZ ? RF_FRFLSB_315 : (freqBand==RF69_433MHZ ? RF_FRFLSB_433 : (freqBand==RF69_868MHZ ? RF_FRFLSB_868 : RF_FRFLSB_915))) }, + + // looks like PA1 and PA2 are not implemented on RFM69W, hence the max output power is 13dBm + // +17dBm and +20dBm are possible on RFM69HW + // +13dBm formula: Pout = -18 + OutputPower (with PA0 or PA1**) + // +17dBm formula: Pout = -14 + OutputPower (with PA1 and PA2)** + // +20dBm formula: Pout = -11 + OutputPower (with PA1 and PA2)** and high power PA settings (section 3.3.7 in datasheet) + ///* 0x11 */ { REG_PALEVEL, RF_PALEVEL_PA0_ON | RF_PALEVEL_PA1_OFF | RF_PALEVEL_PA2_OFF | RF_PALEVEL_OUTPUTPOWER_11111}, + ///* 0x13 */ { REG_OCP, RF_OCP_ON | RF_OCP_TRIM_95 }, // over current protection (default is 95mA) + + // RXBW defaults are { REG_RXBW, RF_RXBW_DCCFREQ_010 | RF_RXBW_MANT_24 | RF_RXBW_EXP_5} (RxBw: 10.4KHz) + /* 0x19 */ { REG_RXBW, RF_RXBW_DCCFREQ_010 | RF_RXBW_MANT_16 | RF_RXBW_EXP_2 }, // (BitRate < 2 * RxBw) + //for BR-19200: /* 0x19 */ { REG_RXBW, RF_RXBW_DCCFREQ_010 | RF_RXBW_MANT_24 | RF_RXBW_EXP_3 }, + /* 0x25 */ { REG_DIOMAPPING1, RF_DIOMAPPING1_DIO0_01 }, // DIO0 is the only IRQ we're using + /* 0x26 */ { REG_DIOMAPPING2, RF_DIOMAPPING2_CLKOUT_OFF }, // DIO5 ClkOut disable for power saving + /* 0x28 */ { REG_IRQFLAGS2, RF_IRQFLAGS2_FIFOOVERRUN }, // writing to this bit ensures that the FIFO & status flags are reset + /* 0x29 */ { REG_RSSITHRESH, 220 }, // must be set to dBm = (-Sensitivity / 2), default is 0xE4 = 228 so -114dBm + ///* 0x2D */ { REG_PREAMBLELSB, RF_PREAMBLESIZE_LSB_VALUE } // default 3 preamble bytes 0xAAAAAA + /* 0x2E */ { REG_SYNCCONFIG, RF_SYNC_ON | RF_SYNC_FIFOFILL_AUTO | RF_SYNC_SIZE_2 | RF_SYNC_TOL_0 }, + /* 0x2F */ { REG_SYNCVALUE1, 0x2D }, // attempt to make this compatible with sync1 byte of RFM12B lib + /* 0x30 */ { REG_SYNCVALUE2, networkID }, // NETWORK ID + /* 0x37 */ { REG_PACKETCONFIG1, RF_PACKET1_FORMAT_VARIABLE | RF_PACKET1_DCFREE_OFF | RF_PACKET1_CRC_ON | RF_PACKET1_CRCAUTOCLEAR_ON | RF_PACKET1_ADRSFILTERING_OFF }, + /* 0x38 */ { REG_PAYLOADLENGTH, 66 }, // in variable length mode: the max frame size, not used in TX + ///* 0x39 */ { REG_NODEADRS, nodeID }, // turned off because we're not using address filtering + /* 0x3C */ { REG_FIFOTHRESH, RF_FIFOTHRESH_TXSTART_FIFONOTEMPTY | RF_FIFOTHRESH_VALUE }, // TX on FIFO not empty + /* 0x3D */ { REG_PACKETCONFIG2, RF_PACKET2_RXRESTARTDELAY_2BITS | RF_PACKET2_AUTORXRESTART_ON | RF_PACKET2_AES_OFF }, // RXRESTARTDELAY must match transmitter PA ramp-down time (bitrate dependent) + //for BR-19200: /* 0x3D */ { REG_PACKETCONFIG2, RF_PACKET2_RXRESTARTDELAY_NONE | RF_PACKET2_AUTORXRESTART_ON | RF_PACKET2_AES_OFF }, // RXRESTARTDELAY must match transmitter PA ramp-down time (bitrate dependent) + /* 0x6F */ { REG_TESTDAGC, RF_DAGC_IMPROVED_LOWBETA0 }, // run DAGC continuously in RX mode for Fading Margin Improvement, recommended default for AfcLowBetaOn=0 + {255, 0} + }; + + digitalWrite(_slaveSelectPin, HIGH); + pinMode(_slaveSelectPin, OUTPUT); + SPI.begin(); + unsigned long start = millis(); + uint8_t timeout = 50; + do writeReg(REG_SYNCVALUE1, 0xAA); while (readReg(REG_SYNCVALUE1) != 0xaa && millis()-start < timeout); + start = millis(); + do writeReg(REG_SYNCVALUE1, 0x55); while (readReg(REG_SYNCVALUE1) != 0x55 && millis()-start < timeout); + + for (uint8_t i = 0; CONFIG[i][0] != 255; i++) + writeReg(CONFIG[i][0], CONFIG[i][1]); + + // Encryption is persistent between resets and can trip you up during debugging. + // Disable it during initialization so we always start from a known state. + encrypt(0); + + setHighPower(_isRFM69HW); // called regardless if it's a RFM69W or RFM69HW + setMode(RF69_MODE_STANDBY); + start = millis(); + while (((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00) && millis()-start < timeout); // wait for ModeReady + if (millis()-start >= timeout) + return false; + _inISR = false; + attachInterrupt(_interruptNum, RFM69::isr0, RISING); + + selfPointer = this; + _address = nodeID; + return true; +} + +// return the frequency (in Hz) +uint32_t RFM69::getFrequency() +{ + return RF69_FSTEP * (((uint32_t) readReg(REG_FRFMSB) << 16) + ((uint16_t) readReg(REG_FRFMID) << 8) + readReg(REG_FRFLSB)); +} + +// set the frequency (in Hz) +void RFM69::setFrequency(uint32_t freqHz) +{ + uint8_t oldMode = _mode; + if (oldMode == RF69_MODE_TX) { + setMode(RF69_MODE_RX); + } + freqHz /= RF69_FSTEP; // divide down by FSTEP to get FRF + writeReg(REG_FRFMSB, freqHz >> 16); + writeReg(REG_FRFMID, freqHz >> 8); + writeReg(REG_FRFLSB, freqHz); + if (oldMode == RF69_MODE_RX) { + setMode(RF69_MODE_SYNTH); + } + setMode(oldMode); +} + +void RFM69::setMode(uint8_t newMode) +{ + if (newMode == _mode) + return; + + switch (newMode) { + case RF69_MODE_TX: + writeReg(REG_OPMODE, (readReg(REG_OPMODE) & 0xE3) | RF_OPMODE_TRANSMITTER); + if (_isRFM69HW) setHighPowerRegs(true); + break; + case RF69_MODE_RX: + writeReg(REG_OPMODE, (readReg(REG_OPMODE) & 0xE3) | RF_OPMODE_RECEIVER); + if (_isRFM69HW) setHighPowerRegs(false); + break; + case RF69_MODE_SYNTH: + writeReg(REG_OPMODE, (readReg(REG_OPMODE) & 0xE3) | RF_OPMODE_SYNTHESIZER); + break; + case RF69_MODE_STANDBY: + writeReg(REG_OPMODE, (readReg(REG_OPMODE) & 0xE3) | RF_OPMODE_STANDBY); + break; + case RF69_MODE_SLEEP: + writeReg(REG_OPMODE, (readReg(REG_OPMODE) & 0xE3) | RF_OPMODE_SLEEP); + break; + default: + return; + } + + // we are using packet mode, so this check is not really needed + // but waiting for mode ready is necessary when going from sleep because the FIFO may not be immediately available from previous mode + while (_mode == RF69_MODE_SLEEP && (readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00); // wait for ModeReady + + _mode = newMode; +} + +//put transceiver in sleep mode to save battery - to wake or resume receiving just call receiveDone() +void RFM69::sleep() { + setMode(RF69_MODE_SLEEP); +} + +//set this node's address +void RFM69::setAddress(uint8_t addr) +{ + _address = addr; + writeReg(REG_NODEADRS, _address); +} + +//set this node's network id +void RFM69::setNetwork(uint8_t networkID) +{ + writeReg(REG_SYNCVALUE2, networkID); +} + +// set *transmit/TX* output power: 0=min, 31=max +// this results in a "weaker" transmitted signal, and directly results in a lower RSSI at the receiver +// the power configurations are explained in the SX1231H datasheet (Table 10 on p21; RegPaLevel p66): http://www.semtech.com/images/datasheet/sx1231h.pdf +// valid powerLevel parameter values are 0-31 and result in a directly proportional effect on the output/transmission power +// this function implements 2 modes as follows: +// - for RFM69W the range is from 0-31 [-18dBm to 13dBm] (PA0 only on RFIO pin) +// - for RFM69HW the range is from 0-31 [5dBm to 20dBm] (PA1 & PA2 on PA_BOOST pin & high Power PA settings - see section 3.3.7 in datasheet, p22) +void RFM69::setPowerLevel(uint8_t powerLevel) +{ + _powerLevel = (powerLevel > 31 ? 31 : powerLevel); + if (_isRFM69HW) _powerLevel /= 2; + writeReg(REG_PALEVEL, (readReg(REG_PALEVEL) & 0xE0) | _powerLevel); +} + +bool RFM69::canSend() +{ + if (_mode == RF69_MODE_RX && PAYLOADLEN == 0 && readRSSI() < CSMA_LIMIT) // if signal stronger than -100dBm is detected assume channel activity + { + setMode(RF69_MODE_STANDBY); + return true; + } + return false; +} + +void RFM69::send(uint8_t toAddress, const void* buffer, uint8_t bufferSize, bool requestACK) +{ + writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFB) | RF_PACKET2_RXRESTART); // avoid RX deadlocks + uint32_t now = millis(); + while (!canSend() && millis() - now < RF69_CSMA_LIMIT_MS) receiveDone(); + sendFrame(toAddress, buffer, bufferSize, requestACK, false); +} + +// to increase the chance of getting a packet across, call this function instead of send +// and it handles all the ACK requesting/retrying for you :) +// The only twist is that you have to manually listen to ACK requests on the other side and send back the ACKs +// The reason for the semi-automaton is that the lib is interrupt driven and +// requires user action to read the received data and decide what to do with it +// replies usually take only 5..8ms at 50kbps@915MHz +bool RFM69::sendWithRetry(uint8_t toAddress, const void* buffer, uint8_t bufferSize, uint8_t retries, uint8_t retryWaitTime) { + uint32_t sentTime; + for (uint8_t i = 0; i <= retries; i++) + { + send(toAddress, buffer, bufferSize, true); + sentTime = millis(); + while (millis() - sentTime < retryWaitTime) + { + if (ACKReceived(toAddress)) + { + //Serial.print(" ~ms:"); Serial.print(millis() - sentTime); + return true; + } + } + //Serial.print(" RETRY#"); Serial.println(i + 1); + } + return false; +} + +// should be polled immediately after sending a packet with ACK request +bool RFM69::ACKReceived(uint8_t fromNodeID) { + if (receiveDone()) + return (SENDERID == fromNodeID || fromNodeID == RF69_BROADCAST_ADDR) && ACK_RECEIVED; + return false; +} + +// check whether an ACK was requested in the last received packet (non-broadcasted packet) +bool RFM69::ACKRequested() { + return ACK_REQUESTED && (TARGETID != RF69_BROADCAST_ADDR); +} + +// should be called immediately after reception in case sender wants ACK +void RFM69::sendACK(const void* buffer, uint8_t bufferSize) { + ACK_REQUESTED = 0; // TWS added to make sure we don't end up in a timing race and infinite loop sending Acks + uint8_t sender = SENDERID; + int16_t _RSSI = RSSI; // save payload received RSSI value + writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFB) | RF_PACKET2_RXRESTART); // avoid RX deadlocks + uint32_t now = millis(); + while (!canSend() && millis() - now < RF69_CSMA_LIMIT_MS) receiveDone(); + SENDERID = sender; // TWS: Restore SenderID after it gets wiped out by receiveDone() + sendFrame(sender, buffer, bufferSize, false, true); + RSSI = _RSSI; // restore payload RSSI +} + +// internal function +void RFM69::sendFrame(uint8_t toAddress, const void* buffer, uint8_t bufferSize, bool requestACK, bool sendACK) +{ + setMode(RF69_MODE_STANDBY); // turn off receiver to prevent reception while filling fifo + while ((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00); // wait for ModeReady + writeReg(REG_DIOMAPPING1, RF_DIOMAPPING1_DIO0_00); // DIO0 is "Packet Sent" + if (bufferSize > RF69_MAX_DATA_LEN) bufferSize = RF69_MAX_DATA_LEN; + + // control byte + uint8_t CTLbyte = 0x00; + if (sendACK) + CTLbyte = RFM69_CTL_SENDACK; + else if (requestACK) + CTLbyte = RFM69_CTL_REQACK; + + // write to FIFO + select(); + SPI.transfer(REG_FIFO | 0x80); + SPI.transfer(bufferSize + 3); + SPI.transfer(toAddress); + SPI.transfer(_address); + SPI.transfer(CTLbyte); + + for (uint8_t i = 0; i < bufferSize; i++) + SPI.transfer(((uint8_t*) buffer)[i]); + unselect(); + + // no need to wait for transmit mode to be ready since its handled by the radio + setMode(RF69_MODE_TX); + uint32_t txStart = millis(); + while (digitalRead(_interruptPin) == 0 && millis() - txStart < RF69_TX_LIMIT_MS); // wait for DIO0 to turn HIGH signalling transmission finish + //while (readReg(REG_IRQFLAGS2) & RF_IRQFLAGS2_PACKETSENT == 0x00); // wait for ModeReady + setMode(RF69_MODE_STANDBY); +} + +// internal function - interrupt gets called when a packet is received +void RFM69::interruptHandler() { + //pinMode(4, OUTPUT); + //digitalWrite(4, 1); + if (_mode == RF69_MODE_RX && (readReg(REG_IRQFLAGS2) & RF_IRQFLAGS2_PAYLOADREADY)) + { + //RSSI = readRSSI(); + setMode(RF69_MODE_STANDBY); + select(); + SPI.transfer(REG_FIFO & 0x7F); + PAYLOADLEN = SPI.transfer(0); + PAYLOADLEN = PAYLOADLEN > 66 ? 66 : PAYLOADLEN; // precaution + TARGETID = SPI.transfer(0); + if(!(_promiscuousMode || TARGETID == _address || TARGETID == RF69_BROADCAST_ADDR) // match this node's address, or broadcast address or anything in promiscuous mode + || PAYLOADLEN < 3) // address situation could receive packets that are malformed and don't fit this libraries extra fields + { + PAYLOADLEN = 0; + unselect(); + receiveBegin(); + //digitalWrite(4, 0); + return; + } + + DATALEN = PAYLOADLEN - 3; + SENDERID = SPI.transfer(0); + uint8_t CTLbyte = SPI.transfer(0); + + ACK_RECEIVED = CTLbyte & RFM69_CTL_SENDACK; // extract ACK-received flag + ACK_REQUESTED = CTLbyte & RFM69_CTL_REQACK; // extract ACK-requested flag + + interruptHook(CTLbyte); // TWS: hook to derived class interrupt function + + for (uint8_t i = 0; i < DATALEN; i++) + { + DATA[i] = SPI.transfer(0); + } + if (DATALEN < RF69_MAX_DATA_LEN) DATA[DATALEN] = 0; // add null at end of string + unselect(); + setMode(RF69_MODE_RX); + } + RSSI = readRSSI(); + //digitalWrite(4, 0); +} + +// internal function +void RFM69::isr0() { _inISR = true; selfPointer->interruptHandler(); _inISR = false; } + +// internal function +void RFM69::receiveBegin() { + DATALEN = 0; + SENDERID = 0; + TARGETID = 0; + PAYLOADLEN = 0; + ACK_REQUESTED = 0; + ACK_RECEIVED = 0; + RSSI = 0; + if (readReg(REG_IRQFLAGS2) & RF_IRQFLAGS2_PAYLOADREADY) + writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFB) | RF_PACKET2_RXRESTART); // avoid RX deadlocks + writeReg(REG_DIOMAPPING1, RF_DIOMAPPING1_DIO0_01); // set DIO0 to "PAYLOADREADY" in receive mode + setMode(RF69_MODE_RX); +} + +// checks if a packet was received and/or puts transceiver in receive (ie RX or listen) mode +bool RFM69::receiveDone() { +//ATOMIC_BLOCK(ATOMIC_FORCEON) +//{ + noInterrupts(); // re-enabled in unselect() via setMode() or via receiveBegin() + if (_mode == RF69_MODE_RX && PAYLOADLEN > 0) + { + setMode(RF69_MODE_STANDBY); // enables interrupts + return true; + } + else if (_mode == RF69_MODE_RX) // already in RX no payload yet + { + interrupts(); // explicitly re-enable interrupts + return false; + } + receiveBegin(); + return false; +//} +} + +// To enable encryption: radio.encrypt("ABCDEFGHIJKLMNOP"); +// To disable encryption: radio.encrypt(null) or radio.encrypt(0) +// KEY HAS TO BE 16 bytes !!! +void RFM69::encrypt(const char* key) { + setMode(RF69_MODE_STANDBY); + if (key != 0) + { + select(); + SPI.transfer(REG_AESKEY1 | 0x80); + for (uint8_t i = 0; i < 16; i++) + SPI.transfer(key[i]); + unselect(); + } + writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFE) | (key ? 1 : 0)); +} + +// get the received signal strength indicator (RSSI) +int16_t RFM69::readRSSI(bool forceTrigger) { + int16_t rssi = 0; + if (forceTrigger) + { + // RSSI trigger not needed if DAGC is in continuous mode + writeReg(REG_RSSICONFIG, RF_RSSI_START); + while ((readReg(REG_RSSICONFIG) & RF_RSSI_DONE) == 0x00); // wait for RSSI_Ready + } + rssi = -readReg(REG_RSSIVALUE); + rssi >>= 1; + return rssi; +} + +uint8_t RFM69::readReg(uint8_t addr) +{ + select(); + SPI.transfer(addr & 0x7F); + uint8_t regval = SPI.transfer(0); + unselect(); + return regval; +} + +void RFM69::writeReg(uint8_t addr, uint8_t value) +{ + select(); + SPI.transfer(addr | 0x80); + SPI.transfer(value); + unselect(); +} + +// select the RFM69 transceiver (save SPI settings, set CS low) +void RFM69::select() { + noInterrupts(); +#if defined (SPCR) && defined (SPSR) + // save current SPI settings + _SPCR = SPCR; + _SPSR = SPSR; +#endif + // set RFM69 SPI settings + SPI.setDataMode(SPI_MODE0); + SPI.setBitOrder(MSBFIRST); + SPI.setClockDivider(SPI_CLOCK_DIV4); // decided to slow down from DIV2 after SPI stalling in some instances, especially visible on mega1284p when RFM69 and FLASH chip both present + digitalWrite(_slaveSelectPin, LOW); +} + +// unselect the RFM69 transceiver (set CS high, restore SPI settings) +void RFM69::unselect() { + digitalWrite(_slaveSelectPin, HIGH); + // restore SPI settings to what they were before talking to RFM69 +#if defined (SPCR) && defined (SPSR) + SPCR = _SPCR; + SPSR = _SPSR; +#endif + maybeInterrupts(); +} + +// true = disable filtering to capture all frames on network +// false = enable node/broadcast filtering to capture only frames sent to this/broadcast address +void RFM69::promiscuous(bool onOff) { + _promiscuousMode = onOff; + //writeReg(REG_PACKETCONFIG1, (readReg(REG_PACKETCONFIG1) & 0xF9) | (onOff ? RF_PACKET1_ADRSFILTERING_OFF : RF_PACKET1_ADRSFILTERING_NODEBROADCAST)); +} + +// for RFM69HW only: you must call setHighPower(true) after initialize() or else transmission won't work +void RFM69::setHighPower(bool onOff) { + _isRFM69HW = onOff; + writeReg(REG_OCP, _isRFM69HW ? RF_OCP_OFF : RF_OCP_ON); + if (_isRFM69HW) // turning ON + writeReg(REG_PALEVEL, (readReg(REG_PALEVEL) & 0x1F) | RF_PALEVEL_PA1_ON | RF_PALEVEL_PA2_ON); // enable P1 & P2 amplifier stages + else + writeReg(REG_PALEVEL, RF_PALEVEL_PA0_ON | RF_PALEVEL_PA1_OFF | RF_PALEVEL_PA2_OFF | _powerLevel); // enable P0 only +} + +// internal function +void RFM69::setHighPowerRegs(bool onOff) { + writeReg(REG_TESTPA1, onOff ? 0x5D : 0x55); + writeReg(REG_TESTPA2, onOff ? 0x7C : 0x70); +} + +// set the slave select (CS) pin +void RFM69::setCS(uint8_t newSPISlaveSelect) { + _slaveSelectPin = newSPISlaveSelect; + digitalWrite(_slaveSelectPin, HIGH); + pinMode(_slaveSelectPin, OUTPUT); +} + +//for debugging +#define REGISTER_DETAIL 0 +#if REGISTER_DETAIL +// SERIAL PRINT +// replace Serial.print("string") with SerialPrint("string") +#define SerialPrint(x) SerialPrint_P(PSTR(x)) +void SerialWrite ( uint8_t c ) { + Serial.write ( c ); +} + +void SerialPrint_P(PGM_P str, void (*f)(uint8_t) = SerialWrite ) { + for (uint8_t c; (c = pgm_read_byte(str)); str++) (*f)(c); +} +#endif + +void RFM69::readAllRegs() +{ + uint8_t regVal; + +#if REGISTER_DETAIL + int capVal; + + //... State Variables for intelligent decoding + uint8_t modeFSK = 0; + int bitRate = 0; + int freqDev = 0; + long freqCenter = 0; +#endif + + Serial.println("Address - HEX - BIN"); + for (uint8_t regAddr = 1; regAddr <= 0x4F; regAddr++) + { + select(); + SPI.transfer(regAddr & 0x7F); // send address + r/w bit + regVal = SPI.transfer(0); + unselect(); + + Serial.print(regAddr, HEX); + Serial.print(" - "); + Serial.print(regVal,HEX); + Serial.print(" - "); + Serial.println(regVal,BIN); + +#if REGISTER_DETAIL + switch ( regAddr ) + { + case 0x1 : { + SerialPrint ( "Controls the automatic Sequencer ( see section 4.2 )\nSequencerOff : " ); + if ( 0x80 & regVal ) { + SerialPrint ( "1 -> Mode is forced by the user\n" ); + } else { + SerialPrint ( "0 -> Operating mode as selected with Mode bits in RegOpMode is automatically reached with the Sequencer\n" ); + } + + SerialPrint( "\nEnables Listen mode, should be enabled whilst in Standby mode:\nListenOn : " ); + if ( 0x40 & regVal ) { + SerialPrint ( "1 -> On\n" ); + } else { + SerialPrint ( "0 -> Off ( see section 4.3)\n" ); + } + + SerialPrint( "\nAborts Listen mode when set together with ListenOn=0 See section 4.3.4 for details (Always reads 0.)\n" ); + if ( 0x20 & regVal ) { + SerialPrint ( "ERROR - ListenAbort should NEVER return 1 this is a write only register\n" ); + } + + SerialPrint("\nTransceiver's operating modes:\nMode : "); + capVal = (regVal >> 2) & 0x7; + if ( capVal == 0b000 ) { + SerialPrint ( "000 -> Sleep mode (SLEEP)\n" ); + } else if ( capVal = 0b001 ) { + SerialPrint ( "001 -> Standby mode (STDBY)\n" ); + } else if ( capVal = 0b010 ) { + SerialPrint ( "010 -> Frequency Synthesizer mode (FS)\n" ); + } else if ( capVal = 0b011 ) { + SerialPrint ( "011 -> Transmitter mode (TX)\n" ); + } else if ( capVal = 0b100 ) { + SerialPrint ( "100 -> Receiver Mode (RX)\n" ); + } else { + Serial.print( capVal, BIN ); + SerialPrint ( " -> RESERVED\n" ); + } + SerialPrint ( "\n" ); + break; + } + + case 0x2 : { + + SerialPrint("Data Processing mode:\nDataMode : "); + capVal = (regVal >> 5) & 0x3; + if ( capVal == 0b00 ) { + SerialPrint ( "00 -> Packet mode\n" ); + } else if ( capVal == 0b01 ) { + SerialPrint ( "01 -> reserved\n" ); + } else if ( capVal == 0b10 ) { + SerialPrint ( "10 -> Continuous mode with bit synchronizer\n" ); + } else if ( capVal == 0b11 ) { + SerialPrint ( "11 -> Continuous mode without bit synchronizer\n" ); + } + + SerialPrint("\nModulation scheme:\nModulation Type : "); + capVal = (regVal >> 3) & 0x3; + if ( capVal == 0b00 ) { + SerialPrint ( "00 -> FSK\n" ); + modeFSK = 1; + } else if ( capVal == 0b01 ) { + SerialPrint ( "01 -> OOK\n" ); + } else if ( capVal == 0b10 ) { + SerialPrint ( "10 -> reserved\n" ); + } else if ( capVal == 0b11 ) { + SerialPrint ( "11 -> reserved\n" ); + } + + SerialPrint("\nData shaping: "); + if ( modeFSK ) { + SerialPrint( "in FSK:\n" ); + } else { + SerialPrint( "in OOK:\n" ); + } + SerialPrint ("ModulationShaping : "); + capVal = regVal & 0x3; + if ( modeFSK ) { + if ( capVal == 0b00 ) { + SerialPrint ( "00 -> no shaping\n" ); + } else if ( capVal == 0b01 ) { + SerialPrint ( "01 -> Gaussian filter, BT = 1.0\n" ); + } else if ( capVal == 0b10 ) { + SerialPrint ( "10 -> Gaussian filter, BT = 0.5\n" ); + } else if ( capVal == 0b11 ) { + SerialPrint ( "11 -> Gaussian filter, BT = 0.3\n" ); + } + } else { + if ( capVal == 0b00 ) { + SerialPrint ( "00 -> no shaping\n" ); + } else if ( capVal == 0b01 ) { + SerialPrint ( "01 -> filtering with f(cutoff) = BR\n" ); + } else if ( capVal == 0b10 ) { + SerialPrint ( "10 -> filtering with f(cutoff) = 2*BR\n" ); + } else if ( capVal == 0b11 ) { + SerialPrint ( "ERROR - 11 is reserved\n" ); + } + } + + SerialPrint ( "\n" ); + break; + } + + case 0x3 : { + bitRate = (regVal << 8); + break; + } + + case 0x4 : { + bitRate |= regVal; + SerialPrint ( "Bit Rate (Chip Rate when Manchester encoding is enabled)\nBitRate : "); + unsigned long val = 32UL * 1000UL * 1000UL / bitRate; + Serial.println( val ); + SerialPrint( "\n" ); + break; + } + + case 0x5 : { + freqDev = ( (regVal & 0x3f) << 8 ); + break; + } + + case 0x6 : { + freqDev |= regVal; + SerialPrint( "Frequency deviation\nFdev : " ); + unsigned long val = 61UL * freqDev; + Serial.println( val ); + SerialPrint ( "\n" ); + break; + } + + case 0x7 : { + unsigned long tempVal = regVal; + freqCenter = ( tempVal << 16 ); + break; + } + + case 0x8 : { + unsigned long tempVal = regVal; + freqCenter = freqCenter | ( tempVal << 8 ); + break; + } + + case 0x9 : { + freqCenter = freqCenter | regVal; + SerialPrint ( "RF Carrier frequency\nFRF : " ); + unsigned long val = 61UL * freqCenter; + Serial.println( val ); + SerialPrint( "\n" ); + break; + } + + case 0xa : { + SerialPrint ( "RC calibration control & status\nRcCalDone : " ); + if ( 0x40 & regVal ) { + SerialPrint ( "1 -> RC calibration is over\n" ); + } else { + SerialPrint ( "0 -> RC calibration is in progress\n" ); + } + + SerialPrint ( "\n" ); + break; + } + + case 0xb : { + SerialPrint ( "Improved AFC routine for signals with modulation index lower than 2. Refer to section 3.4.16 for details\nAfcLowBetaOn : " ); + if ( 0x20 & regVal ) { + SerialPrint ( "1 -> Improved AFC routine\n" ); + } else { + SerialPrint ( "0 -> Standard AFC routine\n" ); + } + SerialPrint ( "\n" ); + break; + } + + case 0xc : { + SerialPrint ( "Reserved\n\n" ); + break; + } + + case 0xd : { + byte val; + SerialPrint ( "Resolution of Listen mode Idle time (calibrated RC osc):\nListenResolIdle : " ); + val = regVal >> 6; + if ( val == 0b00 ) { + SerialPrint ( "00 -> reserved\n" ); + } else if ( val == 0b01 ) { + SerialPrint ( "01 -> 64 us\n" ); + } else if ( val == 0b10 ) { + SerialPrint ( "10 -> 4.1 ms\n" ); + } else if ( val == 0b11 ) { + SerialPrint ( "11 -> 262 ms\n" ); + } + + SerialPrint ( "\nResolution of Listen mode Rx time (calibrated RC osc):\nListenResolRx : " ); + val = (regVal >> 4) & 0x3; + if ( val == 0b00 ) { + SerialPrint ( "00 -> reserved\n" ); + } else if ( val == 0b01 ) { + SerialPrint ( "01 -> 64 us\n" ); + } else if ( val == 0b10 ) { + SerialPrint ( "10 -> 4.1 ms\n" ); + } else if ( val == 0b11 ) { + SerialPrint ( "11 -> 262 ms\n" ); + } + + SerialPrint ( "\nCriteria for packet acceptance in Listen mode:\nListenCriteria : " ); + if ( 0x8 & regVal ) { + SerialPrint ( "1 -> signal strength is above RssiThreshold and SyncAddress matched\n" ); + } else { + SerialPrint ( "0 -> signal strength is above RssiThreshold\n" ); + } + + SerialPrint ( "\nAction taken after acceptance of a packet in Listen mode:\nListenEnd : " ); + val = (regVal >> 1 ) & 0x3; + if ( val == 0b00 ) { + SerialPrint ( "00 -> chip stays in Rx mode. Listen mode stops and must be disabled (see section 4.3)\n" ); + } else if ( val == 0b01 ) { + SerialPrint ( "01 -> chip stays in Rx mode until PayloadReady or Timeout interrupt occurs. It then goes to the mode defined by Mode. Listen mode stops and must be disabled (see section 4.3)\n" ); + } else if ( val == 0b10 ) { + SerialPrint ( "10 -> chip stays in Rx mode until PayloadReady or Timeout occurs. Listen mode then resumes in Idle state. FIFO content is lost at next Rx wakeup.\n" ); + } else if ( val == 0b11 ) { + SerialPrint ( "11 -> Reserved\n" ); + } + + + SerialPrint ( "\n" ); + break; + } + + default : { + } + } +#endif + } + unselect(); +} + +void RFM69::readAllRegsCompact() { + // Print the header row and first register entry + Serial.println();Serial.print(" "); + for ( uint8_t reg = 0x00; reg<0x10; reg++ ) { + Serial.print(reg, HEX); + Serial.print(" "); + } + Serial.println(); + Serial.print("00: -- "); + + // Loop over the registers from 0x01 to 0x7F and print their values + for ( uint8_t reg = 0x01; reg<0x80; reg++ ) { + if ( reg % 16 == 0 ) { // Print the header column entries + Serial.println(); + Serial.print( reg, HEX ); + Serial.print(": "); + } + + // Print the actual register values + uint8_t ret = readReg( reg ); + if ( ret < 0x10 ) Serial.print("0"); // Handle values less than 10 + Serial.print( ret, HEX); + Serial.print(" "); + } +} + +uint8_t RFM69::readTemperature(uint8_t calFactor) // returns centigrade +{ + setMode(RF69_MODE_STANDBY); + writeReg(REG_TEMP1, RF_TEMP1_MEAS_START); + while ((readReg(REG_TEMP1) & RF_TEMP1_MEAS_RUNNING)); + return ~readReg(REG_TEMP2) + COURSE_TEMP_COEF + calFactor; // 'complement' corrects the slope, rising temp = rising val +} // COURSE_TEMP_COEF puts reading in the ballpark, user can add additional correction + +void RFM69::rcCalibration() +{ + writeReg(REG_OSC1, RF_OSC1_RCCAL_START); + while ((readReg(REG_OSC1) & RF_OSC1_RCCAL_DONE) == 0x00); +} + +inline void RFM69::maybeInterrupts() +{ + // Only reenable interrupts if we're not being called from the ISR + if (!_inISR) interrupts(); +} diff --git a/lib/RFM69/RFM69.h b/lib/RFM69/RFM69.h new file mode 100644 index 00000000..d60d1dfa --- /dev/null +++ b/lib/RFM69/RFM69.h @@ -0,0 +1,154 @@ +// ********************************************************************************** +// Driver definition for HopeRF RFM69W/RFM69HW/RFM69CW/RFM69HCW, Semtech SX1231/1231H +// ********************************************************************************** +// Copyright Felix Rusu 2016, http://www.LowPowerLab.com/contact +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#ifndef RFM69_h +#define RFM69_h +#include // assumes Arduino IDE v1.0 or greater + +#define RF69_MAX_DATA_LEN 61 // to take advantage of the built in AES/CRC we want to limit the frame size to the internal FIFO size (66 bytes - 3 bytes overhead - 2 bytes crc) +#define RF69_SPI_CS SS // SS is the SPI slave select pin, for instance D10 on ATmega328 + +// INT0 on AVRs should be connected to RFM69's DIO0 (ex on ATmega328 it's D2, on ATmega644/1284 it's D2) +#if defined(__AVR_ATmega168__) || defined(__AVR_ATmega328P__) || defined(__AVR_ATmega88) || defined(__AVR_ATmega8__) || defined(__AVR_ATmega88__) + #define RF69_IRQ_PIN 2 + #define RF69_IRQ_NUM 0 +#elif defined(__AVR_ATmega644P__) || defined(__AVR_ATmega1284P__) + #define RF69_IRQ_PIN 2 + #define RF69_IRQ_NUM 2 +#elif defined(__AVR_ATmega32U4__) + #define RF69_IRQ_PIN 3 + #define RF69_IRQ_NUM 0 +#elif defined(__arm__)//Use pin 10 or any pin you want + #define RF69_IRQ_PIN 10 + #define RF69_IRQ_NUM 10 +#else + #define RF69_IRQ_PIN 2 + #define RF69_IRQ_NUM 0 +#endif + + +#define CSMA_LIMIT -90 // upper RX signal sensitivity threshold in dBm for carrier sense access +#define RF69_MODE_SLEEP 0 // XTAL OFF +#define RF69_MODE_STANDBY 1 // XTAL ON +#define RF69_MODE_SYNTH 2 // PLL ON +#define RF69_MODE_RX 3 // RX MODE +#define RF69_MODE_TX 4 // TX MODE + +// available frequency bands +#define RF69_315MHZ 31 // non trivial values to avoid misconfiguration +#define RF69_433MHZ 43 +#define RF69_868MHZ 86 +#define RF69_915MHZ 91 + +#define null 0 +#define COURSE_TEMP_COEF -90 // puts the temperature reading in the ballpark, user can fine tune the returned value +#define RF69_BROADCAST_ADDR 255 +#define RF69_CSMA_LIMIT_MS 1000 +#define RF69_TX_LIMIT_MS 1000 +#define RF69_FSTEP 61.03515625 // == FXOSC / 2^19 = 32MHz / 2^19 (p13 in datasheet) + +// TWS: define CTLbyte bits +#define RFM69_CTL_SENDACK 0x80 +#define RFM69_CTL_REQACK 0x40 + +class RFM69 { + public: + static volatile uint8_t DATA[RF69_MAX_DATA_LEN]; // recv/xmit buf, including header & crc bytes + static volatile uint8_t DATALEN; + static volatile uint8_t SENDERID; + static volatile uint8_t TARGETID; // should match _address + static volatile uint8_t PAYLOADLEN; + static volatile uint8_t ACK_REQUESTED; + static volatile uint8_t ACK_RECEIVED; // should be polled immediately after sending a packet with ACK request + static volatile int16_t RSSI; // most accurate RSSI during reception (closest to the reception) + static volatile uint8_t _mode; // should be protected? + + RFM69(uint8_t slaveSelectPin=RF69_SPI_CS, uint8_t interruptPin=RF69_IRQ_PIN, bool isRFM69HW=false, uint8_t interruptNum=RF69_IRQ_NUM) { + _slaveSelectPin = slaveSelectPin; + _interruptPin = interruptPin; + _interruptNum = interruptNum; + _mode = RF69_MODE_STANDBY; + _promiscuousMode = false; + _powerLevel = 31; + _isRFM69HW = isRFM69HW; + } + + bool initialize(uint8_t freqBand, uint8_t ID, uint8_t networkID=1); + void setAddress(uint8_t addr); + void setNetwork(uint8_t networkID); + bool canSend(); + virtual void send(uint8_t toAddress, const void* buffer, uint8_t bufferSize, bool requestACK=false); + virtual bool sendWithRetry(uint8_t toAddress, const void* buffer, uint8_t bufferSize, uint8_t retries=2, uint8_t retryWaitTime=40); // 40ms roundtrip req for 61byte packets + virtual bool receiveDone(); + bool ACKReceived(uint8_t fromNodeID); + bool ACKRequested(); + virtual void sendACK(const void* buffer = "", uint8_t bufferSize=0); + uint32_t getFrequency(); + void setFrequency(uint32_t freqHz); + void encrypt(const char* key); + void setCS(uint8_t newSPISlaveSelect); + int16_t readRSSI(bool forceTrigger=false); + void promiscuous(bool onOff=true); + virtual void setHighPower(bool onOFF=true); // has to be called after initialize() for RFM69HW + virtual void setPowerLevel(uint8_t level); // reduce/increase transmit power level + void sleep(); + uint8_t readTemperature(uint8_t calFactor=0); // get CMOS temperature (8bit) + void rcCalibration(); // calibrate the internal RC oscillator for use in wide temperature variations - see datasheet section [4.3.5. RC Timer Accuracy] + + // allow hacking registers by making these public + uint8_t readReg(uint8_t addr); + void writeReg(uint8_t addr, uint8_t val); + void readAllRegs(); + void readAllRegsCompact(); + + protected: + static void isr0(); + void virtual interruptHandler(); + virtual void interruptHook(uint8_t CTLbyte) {}; + static volatile bool _inISR; + virtual void sendFrame(uint8_t toAddress, const void* buffer, uint8_t size, bool requestACK=false, bool sendACK=false); + + static RFM69* selfPointer; + uint8_t _slaveSelectPin; + uint8_t _interruptPin; + uint8_t _interruptNum; + uint8_t _address; + bool _promiscuousMode; + uint8_t _powerLevel; + bool _isRFM69HW; +#if defined (SPCR) && defined (SPSR) + uint8_t _SPCR; + uint8_t _SPSR; +#endif + + virtual void receiveBegin(); + virtual void setMode(uint8_t mode); + virtual void setHighPowerRegs(bool onOff); + virtual void select(); + virtual void unselect(); + inline void maybeInterrupts(); +}; + +#endif diff --git a/lib/RFM69/RFM69_ATC.cpp b/lib/RFM69/RFM69_ATC.cpp new file mode 100644 index 00000000..35b0c1bd --- /dev/null +++ b/lib/RFM69/RFM69_ATC.cpp @@ -0,0 +1,271 @@ +// ********************************************************************************** +// Automatic Transmit Power Control class derived from RFM69 library. +// Discussion and details in this forum post: https://lowpowerlab.com/forum/index.php/topic,688.0.html +// ********************************************************************************** +// Copyright Thomas Studwell (2014,2015) +// Adjustments by Felix Rusu, LowPowerLab.com +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#include +#include // include the RFM69 library files as well +#include +#include + +volatile uint8_t RFM69_ATC::ACK_RSSI_REQUESTED; // new type of flag on ACK_REQUEST + +//============================================================================= +// initialize() - some extra initialization before calling base class +//============================================================================= +bool RFM69_ATC::initialize(uint8_t freqBand, uint8_t nodeID, uint8_t networkID) { + _targetRSSI = 0; // TomWS1: default to disabled + _ackRSSI = 0; // TomWS1: no existing response at init time + ACK_RSSI_REQUESTED = 0; // TomWS1: init to none + //_powerBoost = false; // TomWS1: require someone to explicitly turn boost on! + _transmitLevel = 31; // TomWS1: match default value in PA Level register + return RFM69::initialize(freqBand, nodeID, networkID); // use base class to initialize most everything +} + +//============================================================================= +// setMode() - got to set updated transmit power level before switching to TX mode +//============================================================================= +void RFM69_ATC::setMode(uint8_t newMode) { + if (newMode == _mode) return; + //_powerBoost = (_transmitLevel >= 50); // this needs to be set before changing mode just in case setHighPowerRegs is called + RFM69::setMode(newMode); // call base class first + + if (newMode == RF69_MODE_TX) // special stuff if switching to TX mode + { + if (_targetRSSI) setPowerLevel(_transmitLevel); // TomWS1: apply most recent transmit level if auto power + //if (_isRFM69HW) setHighPowerRegs(true); + } +} + +//============================================================================= +// sendAck() - updated to call new sendFrame with additional parameters +//============================================================================= +// should be called immediately after reception in case sender wants ACK +void RFM69_ATC::sendACK(const void* buffer, uint8_t bufferSize) { + ACK_REQUESTED = 0; // TomWS1 added to make sure we don't end up in a timing race and infinite loop sending Acks + uint8_t sender = SENDERID; + int16_t _RSSI = RSSI; // save payload received RSSI value + bool sendRSSI = ACK_RSSI_REQUESTED; + writeReg(REG_PACKETCONFIG2, (readReg(REG_PACKETCONFIG2) & 0xFB) | RF_PACKET2_RXRESTART); // avoid RX deadlocks + uint32_t now = millis(); + while (!canSend() && millis() - now < RF69_CSMA_LIMIT_MS) receiveDone(); + SENDERID = sender; // TomWS1: Restore SenderID after it gets wiped out by receiveDone() + sendFrame(sender, buffer, bufferSize, false, true, sendRSSI, _RSSI); // TomWS1: Special override on sendFrame with extra params + RSSI = _RSSI; // restore payload RSSI +} + +//============================================================================= +// sendFrame() - the basic version is used to match the RFM69 prototype so we can extend it +//============================================================================= +// this sendFrame is generally called by the internal RFM69 functions. Simply transfer to our modified version. +void RFM69_ATC::sendFrame(uint8_t toAddress, const void* buffer, uint8_t bufferSize, bool requestACK, bool sendACK) { + sendFrame(toAddress, buffer, bufferSize, requestACK, sendACK, false, 0); // default sendFrame +} + +//============================================================================= +// sendFrame() - the new one with additional parameters. This packages recv'd RSSI with the packet, if required. +//============================================================================= +void RFM69_ATC::sendFrame(uint8_t toAddress, const void* buffer, uint8_t bufferSize, bool requestACK, bool sendACK, bool sendRSSI, int16_t lastRSSI) { + setMode(RF69_MODE_STANDBY); // turn off receiver to prevent reception while filling fifo + while ((readReg(REG_IRQFLAGS1) & RF_IRQFLAGS1_MODEREADY) == 0x00); // wait for ModeReady + writeReg(REG_DIOMAPPING1, RF_DIOMAPPING1_DIO0_00); // DIO0 is "Packet Sent" + + bufferSize += (sendACK && sendRSSI)?1:0; // if sending ACK_RSSI then increase data size by 1 + if (bufferSize > RF69_MAX_DATA_LEN) bufferSize = RF69_MAX_DATA_LEN; + + // write to FIFO + select(); + SPI.transfer(REG_FIFO | 0x80); + SPI.transfer(bufferSize + 3); + SPI.transfer(toAddress); + SPI.transfer(_address); + + // control byte + if (sendACK) { // TomWS1: adding logic to return ACK_RSSI if requested + SPI.transfer(RFM69_CTL_SENDACK | (sendRSSI?RFM69_CTL_RESERVE1:0)); // TomWS1 TODO: Replace with EXT1 + if (sendRSSI) { + SPI.transfer(abs(lastRSSI)); //RSSI dBm is negative expected between [-100 .. -20], convert to positive and pass along as single extra header byte + bufferSize -=1; // account for the extra ACK-RSSI 'data' byte + } + } + else if (requestACK) { // TODO: add logic to request ackRSSI with ACK - this is when both ends of a transmission would dial power down. May not work well for gateways in multi node networks + SPI.transfer(_targetRSSI ? RFM69_CTL_REQACK | RFM69_CTL_RESERVE1 : RFM69_CTL_REQACK); + } + else SPI.transfer(0x00); + + for (uint8_t i = 0; i < bufferSize; i++) + SPI.transfer(((uint8_t*) buffer)[i]); + unselect(); + + // no need to wait for transmit mode to be ready since its handled by the radio + setMode(RF69_MODE_TX); + uint32_t txStart = millis(); + while (digitalRead(_interruptPin) == 0 && millis() - txStart < RF69_TX_LIMIT_MS); // wait for DIO0 to turn HIGH signalling transmission finish + //while (readReg(REG_IRQFLAGS2) & RF_IRQFLAGS2_PACKETSENT == 0x00); // wait for ModeReady + setMode(RF69_MODE_STANDBY); +} + +//============================================================================= +// interruptHook() - gets called by the base class interrupt handler right after the header is fetched. +//============================================================================= +void RFM69_ATC::interruptHook(uint8_t CTLbyte) { + ACK_RSSI_REQUESTED = CTLbyte & RFM69_CTL_RESERVE1; // TomWS1: extract the ACK RSSI request bit (could potentially merge with ACK_REQUESTED) + // TomWS1: now see if this was an ACK with an ACK_RSSI response + if (ACK_RECEIVED && ACK_RSSI_REQUESTED) { + // the next two bytes contain the ACK_RSSI (assuming the datalength is valid) + if (DATALEN >= 1) { + _ackRSSI = -1 * SPI.transfer(0); //rssi was sent as single byte positive value, get the real value by * -1 + DATALEN -= 1; // and compensate data length accordingly + // TomWS1: Now dither transmitLevel value (register update occurs later when transmitting); + if (_targetRSSI != 0) { + // if (_isRFM69HW) { + // if (_ackRSSI < _targetRSSI && _transmitLevel < 51) _transmitLevel++; + // else if (_ackRSSI > _targetRSSI && _transmitLevel > 32) _transmitLevel--; + // } else { + if (_ackRSSI < _targetRSSI && _transmitLevel < 31) { _transmitLevel++; /*Serial.println("\n ======= _transmitLevel ++ ======");*/ } + else if (_ackRSSI > _targetRSSI && _transmitLevel > 0) { _transmitLevel--; /*Serial.println("\n ======= _transmitLevel -- ======");*/ } + //} + } + } + } +} + +//============================================================================= +// sendWithRetry() - overrides the base to allow increasing power when repeated ACK requests fail +//============================================================================= +bool RFM69_ATC::sendWithRetry(uint8_t toAddress, const void* buffer, uint8_t bufferSize, uint8_t retries, uint8_t retryWaitTime) { + uint32_t sentTime; + for (uint8_t i = 0; i <= retries; i++) + { + send(toAddress, buffer, bufferSize, true); + sentTime = millis(); + while (millis() - sentTime < retryWaitTime) + { + if (ACKReceived(toAddress)) + { + return true; + } + } + } + if (_transmitLevel < 31) _transmitLevel++; + return false; +} + +//============================================================================= +// receiveBegin() - need to clear out our flag before calling base class. +//============================================================================= +void RFM69_ATC::receiveBegin() { + ACK_RSSI_REQUESTED = 0; + RFM69::receiveBegin(); +} + +//============================================================================= +// setPowerLevel() - outright replacement for base class. Provides finer granularity for RFM69HW. +//============================================================================= +// set output power: 0=min, 31=max (for RFM69W or RFM69CW), 0-31 or 32->51 for RFM69HW (see below) +// this results in a "weaker" transmitted signal, and directly results in a lower RSSI at the receiver +// allows power level selections above 31 (as in original base RFM69 lib) & selects appropriate PA based on the value +// more discussion and details in this forum post: https://lowpowerlab.com/forum/index.php/topic,688.0.html +// void RFM69_ATC::setPowerLevel(uint8_t powerLevel) { + // _transmitLevel = powerLevel; // save this for later in case we do auto power control. + // _powerBoost = (powerLevel >= 50); + // if (!_isRFM69HW || powerLevel < 32) { // use original code without change + // _powerLevel = powerLevel; + // writeReg(REG_PALEVEL, (readReg(REG_PALEVEL) & 0xE0) | (_powerLevel > 31 ? 31 : _powerLevel)); + // } else { + // // the allowable range of power level value, if >31 is: 32 -> 51, where... + // // 32->47 use PA2 only and sets powerLevel register 0-15, + // // 48->49 uses both PAs, and sets powerLevel register 14-15, + // // 50->51 uses both PAs, sets powerBoost, and sets powerLevel register 14-15. + // if (powerLevel < 48) { + // _powerLevel = powerLevel & 0x0f; // just use 4 lower bits when in high power mode + // _PA_Reg = 0x20; + // } else { + // _PA_Reg = 0x60; + // if (powerLevel < 50) { + // _powerLevel = powerLevel - 34; // leaves 14-15 + // } else { + // if (powerLevel > 51) + // powerLevel = 51; // saturate + // _powerLevel = powerLevel - 36; // leaves 14-15 + // } + // } + // writeReg(REG_OCP, (_PA_Reg==0x60) ? RF_OCP_OFF : RF_OCP_ON); + // writeReg(REG_PALEVEL, _powerLevel | _PA_Reg); + // } +// } + +//============================================================================= +// setHighPower() - only set High power bits on RFM69HW IFF the power level is set to MAX. Otherwise it is kept off. +//============================================================================= +// void RFM69_ATC::setHighPower(bool onOff, byte PA_ctl) { + // _isRFM69HW = onOff; + // writeReg(REG_OCP, (_isRFM69HW && PA_ctl==0x60) ? RF_OCP_OFF : RF_OCP_ON); + // if (_isRFM69HW) { //turning ON based on module type + // _powerLevel = readReg(REG_PALEVEL) & 0x1F; // make sure internal value matches reg + // _powerBoost = (PA_ctl == 0x60); + // _PA_Reg = PA_ctl; + // writeReg(REG_PALEVEL, _powerLevel | PA_ctl ); //TomWS1: enable selected P1 & P2 amplifier stages + // } + // else { + // _PA_Reg = RF_PALEVEL_PA0_ON; // TomWS1: save to reflect register value + // writeReg(REG_PALEVEL, RF_PALEVEL_PA0_ON | RF_PALEVEL_PA1_OFF | RF_PALEVEL_PA2_OFF | _powerLevel); //enable P0 only + // } +// } + +//============================================================================= +// ditto from above. +//============================================================================= +// void RFM69_ATC::setHighPowerRegs(bool onOff) { + // if ((0x60 != (readReg(REG_PALEVEL) & 0xe0)) || !_powerBoost) // TomWS1: only set to high power if we are using both PAs... and boost range is requested. + // onOff = false; + // writeReg(REG_TESTPA1, onOff ? 0x5D : 0x55); + // writeReg(REG_TESTPA2, onOff ? 0x7C : 0x70); +// } + +//============================================================================= +// enableAutoPower() - call with target RSSI, use 0 to disable (default), any other value with turn on autotransmit control. +//============================================================================= +// TomWS1: New methods to address autoPower control +void RFM69_ATC::enableAutoPower(int16_t targetRSSI){ // TomWS1: New method to enable/disable auto Power control + _targetRSSI = targetRSSI; // no logic here, just set the value (if non-zero, then enabled), caller's responsibility to use a reasonable value +} + +//============================================================================= +// getAckRSSI() - returns the RSSI value ack'd by the far end. +//============================================================================= +int16_t RFM69_ATC::getAckRSSI(void){ // TomWS1: New method to retrieve the ack'd RSSI (if any) + return (_targetRSSI==0?0:_ackRSSI); +} + +//============================================================================= +// setLNA() - used for power level testing. +//============================================================================= +byte RFM69_ATC::setLNA(byte newReg) { // TomWS1: New method used to disable LNA AGC for testing purposes + byte oldReg; + oldReg = readReg(REG_LNA); + writeReg(REG_LNA, ((newReg & 7) | (oldReg & ~7))); // just control the LNA Gain bits for now + return oldReg; // return the original value in case we need to restore it +} \ No newline at end of file diff --git a/lib/RFM69/RFM69_ATC.h b/lib/RFM69/RFM69_ATC.h new file mode 100644 index 00000000..f24bf901 --- /dev/null +++ b/lib/RFM69/RFM69_ATC.h @@ -0,0 +1,67 @@ +// ********************************************************************************** +// Automatic Transmit Power Control class derived from RFM69 library. +// Discussion and details in this forum post: https://lowpowerlab.com/forum/index.php/topic,688.0.html +// ********************************************************************************** +// Copyright Thomas Studwell (2014,2015) +// Adjustments by Felix Rusu, LowPowerLab.com +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 3 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// Licence can be viewed at +// http://www.gnu.org/licenses/gpl-3.0.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +#ifndef RFM69_ATC_h +#define RFM69_ATC_h +#include + +#define RFM69_CTL_RESERVE1 0x20 + +class RFM69_ATC: public RFM69 { + public: + static volatile uint8_t ACK_RSSI_REQUESTED; // new flag in CTL byte to request RSSI with ACK (could potentially be merged with ACK_REQUESTED) + + RFM69_ATC(uint8_t slaveSelectPin=RF69_SPI_CS, uint8_t interruptPin=RF69_IRQ_PIN, bool isRFM69HW=false, uint8_t interruptNum=RF69_IRQ_NUM) : + RFM69(slaveSelectPin, interruptPin, isRFM69HW, interruptNum) { + } + + bool initialize(uint8_t freqBand, uint8_t ID, uint8_t networkID=1); + void sendACK(const void* buffer = "", uint8_t bufferSize=0); + //void setHighPower(bool onOFF=true, uint8_t PA_ctl=0x60); //have to call it after initialize for RFM69HW + //void setPowerLevel(uint8_t level); // reduce/increase transmit power level + bool sendWithRetry(uint8_t toAddress, const void* buffer, uint8_t bufferSize, uint8_t retries=2, uint8_t retryWaitTime=40); // 40ms roundtrip req for 61byte packets + void enableAutoPower(int16_t targetRSSI=-90); // TWS: New method to enable/disable auto Power control + void setMode(uint8_t mode); // TWS: moved from protected to try to build block()/unblock() wrapper + + int16_t getAckRSSI(void); // TWS: New method to retrieve the ack'd RSSI (if any) + uint8_t setLNA(uint8_t newReg); // TWS: function to control LNA reg for power testing purposes + int16_t _targetRSSI; // if non-zero then this is the desired end point RSSI for our transmission + uint8_t _transmitLevel; // saved powerLevel in case we do auto power adjustment, this value gets dithered + + protected: + void interruptHook(uint8_t CTLbyte); + void sendFrame(uint8_t toAddress, const void* buffer, uint8_t size, bool requestACK=false, bool sendACK=false); // Need this one to match the RFM69 prototype. + void sendFrame(uint8_t toAddress, const void* buffer, uint8_t size, bool requestACK, bool sendACK, bool sendRSSI, int16_t lastRSSI); + void receiveBegin(); + //void setHighPowerRegs(bool onOff); + + int16_t _ackRSSI; // this contains the RSSI our destination Ack'd back to us (if we enabledAutoPower) + //bool _powerBoost; // this controls whether we need to turn on the highpower regs based on the setPowerLevel input + uint8_t _PA_Reg; // saved and derived PA control bits so we don't have to spend time reading back from SPI port +}; + +#endif \ No newline at end of file diff --git a/lib/RFM69/RFM69registers.h b/lib/RFM69/RFM69registers.h new file mode 100644 index 00000000..b02fbbbb --- /dev/null +++ b/lib/RFM69/RFM69registers.h @@ -0,0 +1,1109 @@ +// ********************************************************************************** +// Registers used in driver definition for HopeRF RFM69W/RFM69HW, Semtech SX1231/1231H +// ********************************************************************************** +// Copyright Felix Rusu (2015), felix@lowpowerlab.com +// http://lowpowerlab.com/ +// ********************************************************************************** +// License +// ********************************************************************************** +// This program is free software; you can redistribute it +// and/or modify it under the terms of the GNU General +// Public License as published by the Free Software +// Foundation; either version 2 of the License, or +// (at your option) any later version. +// +// This program is distributed in the hope that it will +// be useful, but WITHOUT ANY WARRANTY; without even the +// implied warranty of MERCHANTABILITY or FITNESS FOR A +// PARTICULAR PURPOSE. See the GNU General Public +// License for more details. +// +// You should have received a copy of the GNU General +// Public License along with this program; if not, write +// to the Free Software Foundation, Inc., +// 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +// +// Licence can be viewed at +// http://www.fsf.org/licenses/gpl.txt +// +// Please maintain this license information along with authorship +// and copyright notices in any redistribution of this code +// ********************************************************************************** +// RFM69/SX1231 Internal registers addresses +//************************************************** +#define REG_FIFO 0x00 +#define REG_OPMODE 0x01 +#define REG_DATAMODUL 0x02 +#define REG_BITRATEMSB 0x03 +#define REG_BITRATELSB 0x04 +#define REG_FDEVMSB 0x05 +#define REG_FDEVLSB 0x06 +#define REG_FRFMSB 0x07 +#define REG_FRFMID 0x08 +#define REG_FRFLSB 0x09 +#define REG_OSC1 0x0A +#define REG_AFCCTRL 0x0B +#define REG_LOWBAT 0x0C +#define REG_LISTEN1 0x0D +#define REG_LISTEN2 0x0E +#define REG_LISTEN3 0x0F +#define REG_VERSION 0x10 +#define REG_PALEVEL 0x11 +#define REG_PARAMP 0x12 +#define REG_OCP 0x13 +#define REG_AGCREF 0x14 // not present on RFM69/SX1231 +#define REG_AGCTHRESH1 0x15 // not present on RFM69/SX1231 +#define REG_AGCTHRESH2 0x16 // not present on RFM69/SX1231 +#define REG_AGCTHRESH3 0x17 // not present on RFM69/SX1231 +#define REG_LNA 0x18 +#define REG_RXBW 0x19 +#define REG_AFCBW 0x1A +#define REG_OOKPEAK 0x1B +#define REG_OOKAVG 0x1C +#define REG_OOKFIX 0x1D +#define REG_AFCFEI 0x1E +#define REG_AFCMSB 0x1F +#define REG_AFCLSB 0x20 +#define REG_FEIMSB 0x21 +#define REG_FEILSB 0x22 +#define REG_RSSICONFIG 0x23 +#define REG_RSSIVALUE 0x24 +#define REG_DIOMAPPING1 0x25 +#define REG_DIOMAPPING2 0x26 +#define REG_IRQFLAGS1 0x27 +#define REG_IRQFLAGS2 0x28 +#define REG_RSSITHRESH 0x29 +#define REG_RXTIMEOUT1 0x2A +#define REG_RXTIMEOUT2 0x2B +#define REG_PREAMBLEMSB 0x2C +#define REG_PREAMBLELSB 0x2D +#define REG_SYNCCONFIG 0x2E +#define REG_SYNCVALUE1 0x2F +#define REG_SYNCVALUE2 0x30 +#define REG_SYNCVALUE3 0x31 +#define REG_SYNCVALUE4 0x32 +#define REG_SYNCVALUE5 0x33 +#define REG_SYNCVALUE6 0x34 +#define REG_SYNCVALUE7 0x35 +#define REG_SYNCVALUE8 0x36 +#define REG_PACKETCONFIG1 0x37 +#define REG_PAYLOADLENGTH 0x38 +#define REG_NODEADRS 0x39 +#define REG_BROADCASTADRS 0x3A +#define REG_AUTOMODES 0x3B +#define REG_FIFOTHRESH 0x3C +#define REG_PACKETCONFIG2 0x3D +#define REG_AESKEY1 0x3E +#define REG_AESKEY2 0x3F +#define REG_AESKEY3 0x40 +#define REG_AESKEY4 0x41 +#define REG_AESKEY5 0x42 +#define REG_AESKEY6 0x43 +#define REG_AESKEY7 0x44 +#define REG_AESKEY8 0x45 +#define REG_AESKEY9 0x46 +#define REG_AESKEY10 0x47 +#define REG_AESKEY11 0x48 +#define REG_AESKEY12 0x49 +#define REG_AESKEY13 0x4A +#define REG_AESKEY14 0x4B +#define REG_AESKEY15 0x4C +#define REG_AESKEY16 0x4D +#define REG_TEMP1 0x4E +#define REG_TEMP2 0x4F +#define REG_TESTLNA 0x58 +#define REG_TESTPA1 0x5A // only present on RFM69HW/SX1231H +#define REG_TESTPA2 0x5C // only present on RFM69HW/SX1231H +#define REG_TESTDAGC 0x6F + +//****************************************************** +// RF69/SX1231 bit control definition +//****************************************************** + +// RegOpMode +#define RF_OPMODE_SEQUENCER_OFF 0x80 +#define RF_OPMODE_SEQUENCER_ON 0x00 // Default + +#define RF_OPMODE_LISTEN_ON 0x40 +#define RF_OPMODE_LISTEN_OFF 0x00 // Default + +#define RF_OPMODE_LISTENABORT 0x20 + +#define RF_OPMODE_SLEEP 0x00 +#define RF_OPMODE_STANDBY 0x04 // Default +#define RF_OPMODE_SYNTHESIZER 0x08 +#define RF_OPMODE_TRANSMITTER 0x0C +#define RF_OPMODE_RECEIVER 0x10 + + +// RegDataModul +#define RF_DATAMODUL_DATAMODE_PACKET 0x00 // Default +#define RF_DATAMODUL_DATAMODE_CONTINUOUS 0x40 +#define RF_DATAMODUL_DATAMODE_CONTINUOUSNOBSYNC 0x60 + +#define RF_DATAMODUL_MODULATIONTYPE_FSK 0x00 // Default +#define RF_DATAMODUL_MODULATIONTYPE_OOK 0x08 + +#define RF_DATAMODUL_MODULATIONSHAPING_00 0x00 // Default +#define RF_DATAMODUL_MODULATIONSHAPING_01 0x01 +#define RF_DATAMODUL_MODULATIONSHAPING_10 0x02 +#define RF_DATAMODUL_MODULATIONSHAPING_11 0x03 + + +// RegBitRate (bits/sec) example bit rates +#define RF_BITRATEMSB_1200 0x68 +#define RF_BITRATELSB_1200 0x2B +#define RF_BITRATEMSB_2400 0x34 +#define RF_BITRATELSB_2400 0x15 +#define RF_BITRATEMSB_4800 0x1A // Default +#define RF_BITRATELSB_4800 0x0B // Default +#define RF_BITRATEMSB_9600 0x0D +#define RF_BITRATELSB_9600 0x05 +#define RF_BITRATEMSB_19200 0x06 +#define RF_BITRATELSB_19200 0x83 +#define RF_BITRATEMSB_38400 0x03 +#define RF_BITRATELSB_38400 0x41 + +#define RF_BITRATEMSB_38323 0x03 +#define RF_BITRATELSB_38323 0x43 + +#define RF_BITRATEMSB_34482 0x03 +#define RF_BITRATELSB_34482 0xA0 + +#define RF_BITRATEMSB_76800 0x01 +#define RF_BITRATELSB_76800 0xA1 +#define RF_BITRATEMSB_153600 0x00 +#define RF_BITRATELSB_153600 0xD0 +#define RF_BITRATEMSB_57600 0x02 +#define RF_BITRATELSB_57600 0x2C +#define RF_BITRATEMSB_115200 0x01 +#define RF_BITRATELSB_115200 0x16 +#define RF_BITRATEMSB_12500 0x0A +#define RF_BITRATELSB_12500 0x00 +#define RF_BITRATEMSB_25000 0x05 +#define RF_BITRATELSB_25000 0x00 +#define RF_BITRATEMSB_50000 0x02 +#define RF_BITRATELSB_50000 0x80 +#define RF_BITRATEMSB_100000 0x01 +#define RF_BITRATELSB_100000 0x40 +#define RF_BITRATEMSB_150000 0x00 +#define RF_BITRATELSB_150000 0xD5 +#define RF_BITRATEMSB_200000 0x00 +#define RF_BITRATELSB_200000 0xA0 +#define RF_BITRATEMSB_250000 0x00 +#define RF_BITRATELSB_250000 0x80 +#define RF_BITRATEMSB_300000 0x00 +#define RF_BITRATELSB_300000 0x6B +#define RF_BITRATEMSB_32768 0x03 +#define RF_BITRATELSB_32768 0xD1 +// custom bit rates +#define RF_BITRATEMSB_55555 0x02 +#define RF_BITRATELSB_55555 0x40 +#define RF_BITRATEMSB_200KBPS 0x00 +#define RF_BITRATELSB_200KBPS 0xa0 + + +// RegFdev - frequency deviation (Hz) +#define RF_FDEVMSB_2000 0x00 +#define RF_FDEVLSB_2000 0x21 +#define RF_FDEVMSB_5000 0x00 // Default +#define RF_FDEVLSB_5000 0x52 // Default +#define RF_FDEVMSB_7500 0x00 +#define RF_FDEVLSB_7500 0x7B +#define RF_FDEVMSB_10000 0x00 +#define RF_FDEVLSB_10000 0xA4 +#define RF_FDEVMSB_15000 0x00 +#define RF_FDEVLSB_15000 0xF6 +#define RF_FDEVMSB_20000 0x01 +#define RF_FDEVLSB_20000 0x48 +#define RF_FDEVMSB_25000 0x01 +#define RF_FDEVLSB_25000 0x9A +#define RF_FDEVMSB_30000 0x01 +#define RF_FDEVLSB_30000 0xEC +#define RF_FDEVMSB_35000 0x02 +#define RF_FDEVLSB_35000 0x3D +#define RF_FDEVMSB_40000 0x02 +#define RF_FDEVLSB_40000 0x8F +#define RF_FDEVMSB_45000 0x02 +#define RF_FDEVLSB_45000 0xE1 +#define RF_FDEVMSB_50000 0x03 +#define RF_FDEVLSB_50000 0x33 +#define RF_FDEVMSB_55000 0x03 +#define RF_FDEVLSB_55000 0x85 +#define RF_FDEVMSB_60000 0x03 +#define RF_FDEVLSB_60000 0xD7 +#define RF_FDEVMSB_65000 0x04 +#define RF_FDEVLSB_65000 0x29 +#define RF_FDEVMSB_70000 0x04 +#define RF_FDEVLSB_70000 0x7B +#define RF_FDEVMSB_75000 0x04 +#define RF_FDEVLSB_75000 0xCD +#define RF_FDEVMSB_80000 0x05 +#define RF_FDEVLSB_80000 0x1F +#define RF_FDEVMSB_85000 0x05 +#define RF_FDEVLSB_85000 0x71 +#define RF_FDEVMSB_90000 0x05 +#define RF_FDEVLSB_90000 0xC3 +#define RF_FDEVMSB_95000 0x06 +#define RF_FDEVLSB_95000 0x14 +#define RF_FDEVMSB_100000 0x06 +#define RF_FDEVLSB_100000 0x66 +#define RF_FDEVMSB_110000 0x07 +#define RF_FDEVLSB_110000 0x0A +#define RF_FDEVMSB_120000 0x07 +#define RF_FDEVLSB_120000 0xAE +#define RF_FDEVMSB_130000 0x08 +#define RF_FDEVLSB_130000 0x52 +#define RF_FDEVMSB_140000 0x08 +#define RF_FDEVLSB_140000 0xF6 +#define RF_FDEVMSB_150000 0x09 +#define RF_FDEVLSB_150000 0x9A +#define RF_FDEVMSB_160000 0x0A +#define RF_FDEVLSB_160000 0x3D +#define RF_FDEVMSB_170000 0x0A +#define RF_FDEVLSB_170000 0xE1 +#define RF_FDEVMSB_180000 0x0B +#define RF_FDEVLSB_180000 0x85 +#define RF_FDEVMSB_190000 0x0C +#define RF_FDEVLSB_190000 0x29 +#define RF_FDEVMSB_200000 0x0C +#define RF_FDEVLSB_200000 0xCD +#define RF_FDEVMSB_210000 0x0D +#define RF_FDEVLSB_210000 0x71 +#define RF_FDEVMSB_220000 0x0E +#define RF_FDEVLSB_220000 0x14 +#define RF_FDEVMSB_230000 0x0E +#define RF_FDEVLSB_230000 0xB8 +#define RF_FDEVMSB_240000 0x0F +#define RF_FDEVLSB_240000 0x5C +#define RF_FDEVMSB_250000 0x10 +#define RF_FDEVLSB_250000 0x00 +#define RF_FDEVMSB_260000 0x10 +#define RF_FDEVLSB_260000 0xA4 +#define RF_FDEVMSB_270000 0x11 +#define RF_FDEVLSB_270000 0x48 +#define RF_FDEVMSB_280000 0x11 +#define RF_FDEVLSB_280000 0xEC +#define RF_FDEVMSB_290000 0x12 +#define RF_FDEVLSB_290000 0x8F +#define RF_FDEVMSB_300000 0x13 +#define RF_FDEVLSB_300000 0x33 + + +// RegFrf (MHz) - carrier frequency +// 315Mhz band +#define RF_FRFMSB_314 0x4E +#define RF_FRFMID_314 0x80 +#define RF_FRFLSB_314 0x00 +#define RF_FRFMSB_315 0x4E +#define RF_FRFMID_315 0xC0 +#define RF_FRFLSB_315 0x00 +#define RF_FRFMSB_316 0x4F +#define RF_FRFMID_316 0x00 +#define RF_FRFLSB_316 0x00 +// 433mhz band +#define RF_FRFMSB_433 0x6C +#define RF_FRFMID_433 0x40 +#define RF_FRFLSB_433 0x00 +#define RF_FRFMSB_434 0x6C +#define RF_FRFMID_434 0x80 +#define RF_FRFLSB_434 0x00 +#define RF_FRFMSB_435 0x6C +#define RF_FRFMID_435 0xC0 +#define RF_FRFLSB_435 0x00 +// 868Mhz band +#define RF_FRFMSB_863 0xD7 +#define RF_FRFMID_863 0xC0 +#define RF_FRFLSB_863 0x00 +#define RF_FRFMSB_864 0xD8 +#define RF_FRFMID_864 0x00 +#define RF_FRFLSB_864 0x00 +#define RF_FRFMSB_865 0xD8 +#define RF_FRFMID_865 0x40 +#define RF_FRFLSB_865 0x00 +#define RF_FRFMSB_866 0xD8 +#define RF_FRFMID_866 0x80 +#define RF_FRFLSB_866 0x00 +#define RF_FRFMSB_867 0xD8 +#define RF_FRFMID_867 0xC0 +#define RF_FRFLSB_867 0x00 +#define RF_FRFMSB_868 0xD9 +#define RF_FRFMID_868 0x00 +#define RF_FRFLSB_868 0x00 +#define RF_FRFMSB_869 0xD9 +#define RF_FRFMID_869 0x40 +#define RF_FRFLSB_869 0x00 +#define RF_FRFMSB_870 0xD9 +#define RF_FRFMID_870 0x80 +#define RF_FRFLSB_870 0x00 +// 915Mhz band +#define RF_FRFMSB_902 0xE1 +#define RF_FRFMID_902 0x80 +#define RF_FRFLSB_902 0x00 +#define RF_FRFMSB_903 0xE1 +#define RF_FRFMID_903 0xC0 +#define RF_FRFLSB_903 0x00 +#define RF_FRFMSB_904 0xE2 +#define RF_FRFMID_904 0x00 +#define RF_FRFLSB_904 0x00 +#define RF_FRFMSB_905 0xE2 +#define RF_FRFMID_905 0x40 +#define RF_FRFLSB_905 0x00 +#define RF_FRFMSB_906 0xE2 +#define RF_FRFMID_906 0x80 +#define RF_FRFLSB_906 0x00 +#define RF_FRFMSB_907 0xE2 +#define RF_FRFMID_907 0xC0 +#define RF_FRFLSB_907 0x00 +#define RF_FRFMSB_908 0xE3 +#define RF_FRFMID_908 0x00 +#define RF_FRFLSB_908 0x00 +#define RF_FRFMSB_909 0xE3 +#define RF_FRFMID_909 0x40 +#define RF_FRFLSB_909 0x00 +#define RF_FRFMSB_910 0xE3 +#define RF_FRFMID_910 0x80 +#define RF_FRFLSB_910 0x00 +#define RF_FRFMSB_911 0xE3 +#define RF_FRFMID_911 0xC0 +#define RF_FRFLSB_911 0x00 +#define RF_FRFMSB_912 0xE4 +#define RF_FRFMID_912 0x00 +#define RF_FRFLSB_912 0x00 +#define RF_FRFMSB_913 0xE4 +#define RF_FRFMID_913 0x40 +#define RF_FRFLSB_913 0x00 +#define RF_FRFMSB_914 0xE4 +#define RF_FRFMID_914 0x80 +#define RF_FRFLSB_914 0x00 +#define RF_FRFMSB_915 0xE4 // Default +#define RF_FRFMID_915 0xC0 // Default +#define RF_FRFLSB_915 0x00 // Default +#define RF_FRFMSB_916 0xE5 +#define RF_FRFMID_916 0x00 +#define RF_FRFLSB_916 0x00 +#define RF_FRFMSB_917 0xE5 +#define RF_FRFMID_917 0x40 +#define RF_FRFLSB_917 0x00 +#define RF_FRFMSB_918 0xE5 +#define RF_FRFMID_918 0x80 +#define RF_FRFLSB_918 0x00 +#define RF_FRFMSB_919 0xE5 +#define RF_FRFMID_919 0xC0 +#define RF_FRFLSB_919 0x00 +#define RF_FRFMSB_920 0xE6 +#define RF_FRFMID_920 0x00 +#define RF_FRFLSB_920 0x00 +#define RF_FRFMSB_921 0xE6 +#define RF_FRFMID_921 0x40 +#define RF_FRFLSB_921 0x00 +#define RF_FRFMSB_922 0xE6 +#define RF_FRFMID_922 0x80 +#define RF_FRFLSB_922 0x00 +#define RF_FRFMSB_923 0xE6 +#define RF_FRFMID_923 0xC0 +#define RF_FRFLSB_923 0x00 +#define RF_FRFMSB_924 0xE7 +#define RF_FRFMID_924 0x00 +#define RF_FRFLSB_924 0x00 +#define RF_FRFMSB_925 0xE7 +#define RF_FRFMID_925 0x40 +#define RF_FRFLSB_925 0x00 +#define RF_FRFMSB_926 0xE7 +#define RF_FRFMID_926 0x80 +#define RF_FRFLSB_926 0x00 +#define RF_FRFMSB_927 0xE7 +#define RF_FRFMID_927 0xC0 +#define RF_FRFLSB_927 0x00 +#define RF_FRFMSB_928 0xE8 +#define RF_FRFMID_928 0x00 +#define RF_FRFLSB_928 0x00 + + +// RegOsc1 +#define RF_OSC1_RCCAL_START 0x80 +#define RF_OSC1_RCCAL_DONE 0x40 + + +// RegAfcCtrl +#define RF_AFCCTRL_LOWBETA_OFF 0x00 // Default +#define RF_AFCCTRL_LOWBETA_ON 0x20 + + +// RegLowBat +#define RF_LOWBAT_MONITOR 0x10 +#define RF_LOWBAT_ON 0x08 +#define RF_LOWBAT_OFF 0x00 // Default + +#define RF_LOWBAT_TRIM_1695 0x00 +#define RF_LOWBAT_TRIM_1764 0x01 +#define RF_LOWBAT_TRIM_1835 0x02 // Default +#define RF_LOWBAT_TRIM_1905 0x03 +#define RF_LOWBAT_TRIM_1976 0x04 +#define RF_LOWBAT_TRIM_2045 0x05 +#define RF_LOWBAT_TRIM_2116 0x06 +#define RF_LOWBAT_TRIM_2185 0x07 + + +// RegListen1 +#define RF_LISTEN1_RESOL_64 0x50 +#define RF_LISTEN1_RESOL_4100 0xA0 // Default +#define RF_LISTEN1_RESOL_262000 0xF0 + +#define RF_LISTEN1_RESOL_IDLE_64 0x40 +#define RF_LISTEN1_RESOL_IDLE_4100 0x80 // Default +#define RF_LISTEN1_RESOL_IDLE_262000 0xC0 + +#define RF_LISTEN1_RESOL_RX_64 0x10 +#define RF_LISTEN1_RESOL_RX_4100 0x20 // Default +#define RF_LISTEN1_RESOL_RX_262000 0x30 + +#define RF_LISTEN1_CRITERIA_RSSI 0x00 // Default +#define RF_LISTEN1_CRITERIA_RSSIANDSYNC 0x08 + +#define RF_LISTEN1_END_00 0x00 +#define RF_LISTEN1_END_01 0x02 // Default +#define RF_LISTEN1_END_10 0x04 + + +// RegListen2 +#define RF_LISTEN2_COEFIDLE_VALUE 0xF5 // Default + + +// RegListen3 +#define RF_LISTEN3_COEFRX_VALUE 0x20 // Default + + +// RegVersion +#define RF_VERSION_VER 0x24 // Default + + +// RegPaLevel +#define RF_PALEVEL_PA0_ON 0x80 // Default +#define RF_PALEVEL_PA0_OFF 0x00 +#define RF_PALEVEL_PA1_ON 0x40 +#define RF_PALEVEL_PA1_OFF 0x00 // Default +#define RF_PALEVEL_PA2_ON 0x20 +#define RF_PALEVEL_PA2_OFF 0x00 // Default + +#define RF_PALEVEL_OUTPUTPOWER_00000 0x00 +#define RF_PALEVEL_OUTPUTPOWER_00001 0x01 +#define RF_PALEVEL_OUTPUTPOWER_00010 0x02 +#define RF_PALEVEL_OUTPUTPOWER_00011 0x03 +#define RF_PALEVEL_OUTPUTPOWER_00100 0x04 +#define RF_PALEVEL_OUTPUTPOWER_00101 0x05 +#define RF_PALEVEL_OUTPUTPOWER_00110 0x06 +#define RF_PALEVEL_OUTPUTPOWER_00111 0x07 +#define RF_PALEVEL_OUTPUTPOWER_01000 0x08 +#define RF_PALEVEL_OUTPUTPOWER_01001 0x09 +#define RF_PALEVEL_OUTPUTPOWER_01010 0x0A +#define RF_PALEVEL_OUTPUTPOWER_01011 0x0B +#define RF_PALEVEL_OUTPUTPOWER_01100 0x0C +#define RF_PALEVEL_OUTPUTPOWER_01101 0x0D +#define RF_PALEVEL_OUTPUTPOWER_01110 0x0E +#define RF_PALEVEL_OUTPUTPOWER_01111 0x0F +#define RF_PALEVEL_OUTPUTPOWER_10000 0x10 +#define RF_PALEVEL_OUTPUTPOWER_10001 0x11 +#define RF_PALEVEL_OUTPUTPOWER_10010 0x12 +#define RF_PALEVEL_OUTPUTPOWER_10011 0x13 +#define RF_PALEVEL_OUTPUTPOWER_10100 0x14 +#define RF_PALEVEL_OUTPUTPOWER_10101 0x15 +#define RF_PALEVEL_OUTPUTPOWER_10110 0x16 +#define RF_PALEVEL_OUTPUTPOWER_10111 0x17 +#define RF_PALEVEL_OUTPUTPOWER_11000 0x18 +#define RF_PALEVEL_OUTPUTPOWER_11001 0x19 +#define RF_PALEVEL_OUTPUTPOWER_11010 0x1A +#define RF_PALEVEL_OUTPUTPOWER_11011 0x1B +#define RF_PALEVEL_OUTPUTPOWER_11100 0x1C +#define RF_PALEVEL_OUTPUTPOWER_11101 0x1D +#define RF_PALEVEL_OUTPUTPOWER_11110 0x1E +#define RF_PALEVEL_OUTPUTPOWER_11111 0x1F // Default + + +// RegPaRamp +#define RF_PARAMP_3400 0x00 +#define RF_PARAMP_2000 0x01 +#define RF_PARAMP_1000 0x02 +#define RF_PARAMP_500 0x03 +#define RF_PARAMP_250 0x04 +#define RF_PARAMP_125 0x05 +#define RF_PARAMP_100 0x06 +#define RF_PARAMP_62 0x07 +#define RF_PARAMP_50 0x08 +#define RF_PARAMP_40 0x09 // Default +#define RF_PARAMP_31 0x0A +#define RF_PARAMP_25 0x0B +#define RF_PARAMP_20 0x0C +#define RF_PARAMP_15 0x0D +#define RF_PARAMP_12 0x0E +#define RF_PARAMP_10 0x0F + + +// RegOcp +#define RF_OCP_OFF 0x0F +#define RF_OCP_ON 0x1A // Default + +#define RF_OCP_TRIM_45 0x00 +#define RF_OCP_TRIM_50 0x01 +#define RF_OCP_TRIM_55 0x02 +#define RF_OCP_TRIM_60 0x03 +#define RF_OCP_TRIM_65 0x04 +#define RF_OCP_TRIM_70 0x05 +#define RF_OCP_TRIM_75 0x06 +#define RF_OCP_TRIM_80 0x07 +#define RF_OCP_TRIM_85 0x08 +#define RF_OCP_TRIM_90 0x09 +#define RF_OCP_TRIM_95 0x0A // Default +#define RF_OCP_TRIM_100 0x0B +#define RF_OCP_TRIM_105 0x0C +#define RF_OCP_TRIM_110 0x0D +#define RF_OCP_TRIM_115 0x0E +#define RF_OCP_TRIM_120 0x0F + + +// RegAgcRef - not present on RFM69/SX1231 +#define RF_AGCREF_AUTO_ON 0x40 // Default +#define RF_AGCREF_AUTO_OFF 0x00 + +#define RF_AGCREF_LEVEL_MINUS80 0x00 // Default +#define RF_AGCREF_LEVEL_MINUS81 0x01 +#define RF_AGCREF_LEVEL_MINUS82 0x02 +#define RF_AGCREF_LEVEL_MINUS83 0x03 +#define RF_AGCREF_LEVEL_MINUS84 0x04 +#define RF_AGCREF_LEVEL_MINUS85 0x05 +#define RF_AGCREF_LEVEL_MINUS86 0x06 +#define RF_AGCREF_LEVEL_MINUS87 0x07 +#define RF_AGCREF_LEVEL_MINUS88 0x08 +#define RF_AGCREF_LEVEL_MINUS89 0x09 +#define RF_AGCREF_LEVEL_MINUS90 0x0A +#define RF_AGCREF_LEVEL_MINUS91 0x0B +#define RF_AGCREF_LEVEL_MINUS92 0x0C +#define RF_AGCREF_LEVEL_MINUS93 0x0D +#define RF_AGCREF_LEVEL_MINUS94 0x0E +#define RF_AGCREF_LEVEL_MINUS95 0x0F +#define RF_AGCREF_LEVEL_MINUS96 0x10 +#define RF_AGCREF_LEVEL_MINUS97 0x11 +#define RF_AGCREF_LEVEL_MINUS98 0x12 +#define RF_AGCREF_LEVEL_MINUS99 0x13 +#define RF_AGCREF_LEVEL_MINUS100 0x14 +#define RF_AGCREF_LEVEL_MINUS101 0x15 +#define RF_AGCREF_LEVEL_MINUS102 0x16 +#define RF_AGCREF_LEVEL_MINUS103 0x17 +#define RF_AGCREF_LEVEL_MINUS104 0x18 +#define RF_AGCREF_LEVEL_MINUS105 0x19 +#define RF_AGCREF_LEVEL_MINUS106 0x1A +#define RF_AGCREF_LEVEL_MINUS107 0x1B +#define RF_AGCREF_LEVEL_MINUS108 0x1C +#define RF_AGCREF_LEVEL_MINUS109 0x1D +#define RF_AGCREF_LEVEL_MINUS110 0x1E +#define RF_AGCREF_LEVEL_MINUS111 0x1F +#define RF_AGCREF_LEVEL_MINUS112 0x20 +#define RF_AGCREF_LEVEL_MINUS113 0x21 +#define RF_AGCREF_LEVEL_MINUS114 0x22 +#define RF_AGCREF_LEVEL_MINUS115 0x23 +#define RF_AGCREF_LEVEL_MINUS116 0x24 +#define RF_AGCREF_LEVEL_MINUS117 0x25 +#define RF_AGCREF_LEVEL_MINUS118 0x26 +#define RF_AGCREF_LEVEL_MINUS119 0x27 +#define RF_AGCREF_LEVEL_MINUS120 0x28 +#define RF_AGCREF_LEVEL_MINUS121 0x29 +#define RF_AGCREF_LEVEL_MINUS122 0x2A +#define RF_AGCREF_LEVEL_MINUS123 0x2B +#define RF_AGCREF_LEVEL_MINUS124 0x2C +#define RF_AGCREF_LEVEL_MINUS125 0x2D +#define RF_AGCREF_LEVEL_MINUS126 0x2E +#define RF_AGCREF_LEVEL_MINUS127 0x2F +#define RF_AGCREF_LEVEL_MINUS128 0x30 +#define RF_AGCREF_LEVEL_MINUS129 0x31 +#define RF_AGCREF_LEVEL_MINUS130 0x32 +#define RF_AGCREF_LEVEL_MINUS131 0x33 +#define RF_AGCREF_LEVEL_MINUS132 0x34 +#define RF_AGCREF_LEVEL_MINUS133 0x35 +#define RF_AGCREF_LEVEL_MINUS134 0x36 +#define RF_AGCREF_LEVEL_MINUS135 0x37 +#define RF_AGCREF_LEVEL_MINUS136 0x38 +#define RF_AGCREF_LEVEL_MINUS137 0x39 +#define RF_AGCREF_LEVEL_MINUS138 0x3A +#define RF_AGCREF_LEVEL_MINUS139 0x3B +#define RF_AGCREF_LEVEL_MINUS140 0x3C +#define RF_AGCREF_LEVEL_MINUS141 0x3D +#define RF_AGCREF_LEVEL_MINUS142 0x3E +#define RF_AGCREF_LEVEL_MINUS143 0x3F + + +// RegAgcThresh1 - not present on RFM69/SX1231 +#define RF_AGCTHRESH1_SNRMARGIN_000 0x00 +#define RF_AGCTHRESH1_SNRMARGIN_001 0x20 +#define RF_AGCTHRESH1_SNRMARGIN_010 0x40 +#define RF_AGCTHRESH1_SNRMARGIN_011 0x60 +#define RF_AGCTHRESH1_SNRMARGIN_100 0x80 +#define RF_AGCTHRESH1_SNRMARGIN_101 0xA0 // Default +#define RF_AGCTHRESH1_SNRMARGIN_110 0xC0 +#define RF_AGCTHRESH1_SNRMARGIN_111 0xE0 + +#define RF_AGCTHRESH1_STEP1_0 0x00 +#define RF_AGCTHRESH1_STEP1_1 0x01 +#define RF_AGCTHRESH1_STEP1_2 0x02 +#define RF_AGCTHRESH1_STEP1_3 0x03 +#define RF_AGCTHRESH1_STEP1_4 0x04 +#define RF_AGCTHRESH1_STEP1_5 0x05 +#define RF_AGCTHRESH1_STEP1_6 0x06 +#define RF_AGCTHRESH1_STEP1_7 0x07 +#define RF_AGCTHRESH1_STEP1_8 0x08 +#define RF_AGCTHRESH1_STEP1_9 0x09 +#define RF_AGCTHRESH1_STEP1_10 0x0A +#define RF_AGCTHRESH1_STEP1_11 0x0B +#define RF_AGCTHRESH1_STEP1_12 0x0C +#define RF_AGCTHRESH1_STEP1_13 0x0D +#define RF_AGCTHRESH1_STEP1_14 0x0E +#define RF_AGCTHRESH1_STEP1_15 0x0F +#define RF_AGCTHRESH1_STEP1_16 0x10 // Default +#define RF_AGCTHRESH1_STEP1_17 0x11 +#define RF_AGCTHRESH1_STEP1_18 0x12 +#define RF_AGCTHRESH1_STEP1_19 0x13 +#define RF_AGCTHRESH1_STEP1_20 0x14 +#define RF_AGCTHRESH1_STEP1_21 0x15 +#define RF_AGCTHRESH1_STEP1_22 0x16 +#define RF_AGCTHRESH1_STEP1_23 0x17 +#define RF_AGCTHRESH1_STEP1_24 0x18 +#define RF_AGCTHRESH1_STEP1_25 0x19 +#define RF_AGCTHRESH1_STEP1_26 0x1A +#define RF_AGCTHRESH1_STEP1_27 0x1B +#define RF_AGCTHRESH1_STEP1_28 0x1C +#define RF_AGCTHRESH1_STEP1_29 0x1D +#define RF_AGCTHRESH1_STEP1_30 0x1E +#define RF_AGCTHRESH1_STEP1_31 0x1F + + +// RegAgcThresh2 - not present on RFM69/SX1231 +#define RF_AGCTHRESH2_STEP2_0 0x00 +#define RF_AGCTHRESH2_STEP2_1 0x10 +#define RF_AGCTHRESH2_STEP2_2 0x20 +#define RF_AGCTHRESH2_STEP2_3 0x30 // XXX wrong -- Default +#define RF_AGCTHRESH2_STEP2_4 0x40 +#define RF_AGCTHRESH2_STEP2_5 0x50 +#define RF_AGCTHRESH2_STEP2_6 0x60 +#define RF_AGCTHRESH2_STEP2_7 0x70 // default +#define RF_AGCTHRESH2_STEP2_8 0x80 +#define RF_AGCTHRESH2_STEP2_9 0x90 +#define RF_AGCTHRESH2_STEP2_10 0xA0 +#define RF_AGCTHRESH2_STEP2_11 0xB0 +#define RF_AGCTHRESH2_STEP2_12 0xC0 +#define RF_AGCTHRESH2_STEP2_13 0xD0 +#define RF_AGCTHRESH2_STEP2_14 0xE0 +#define RF_AGCTHRESH2_STEP2_15 0xF0 + +#define RF_AGCTHRESH2_STEP3_0 0x00 +#define RF_AGCTHRESH2_STEP3_1 0x01 +#define RF_AGCTHRESH2_STEP3_2 0x02 +#define RF_AGCTHRESH2_STEP3_3 0x03 +#define RF_AGCTHRESH2_STEP3_4 0x04 +#define RF_AGCTHRESH2_STEP3_5 0x05 +#define RF_AGCTHRESH2_STEP3_6 0x06 +#define RF_AGCTHRESH2_STEP3_7 0x07 +#define RF_AGCTHRESH2_STEP3_8 0x08 +#define RF_AGCTHRESH2_STEP3_9 0x09 +#define RF_AGCTHRESH2_STEP3_10 0x0A +#define RF_AGCTHRESH2_STEP3_11 0x0B // Default +#define RF_AGCTHRESH2_STEP3_12 0x0C +#define RF_AGCTHRESH2_STEP3_13 0x0D +#define RF_AGCTHRESH2_STEP3_14 0x0E +#define RF_AGCTHRESH2_STEP3_15 0x0F + + +// RegAgcThresh3 - not present on RFM69/SX1231 +#define RF_AGCTHRESH3_STEP4_0 0x00 +#define RF_AGCTHRESH3_STEP4_1 0x10 +#define RF_AGCTHRESH3_STEP4_2 0x20 +#define RF_AGCTHRESH3_STEP4_3 0x30 +#define RF_AGCTHRESH3_STEP4_4 0x40 +#define RF_AGCTHRESH3_STEP4_5 0x50 +#define RF_AGCTHRESH3_STEP4_6 0x60 +#define RF_AGCTHRESH3_STEP4_7 0x70 +#define RF_AGCTHRESH3_STEP4_8 0x80 +#define RF_AGCTHRESH3_STEP4_9 0x90 // Default +#define RF_AGCTHRESH3_STEP4_10 0xA0 +#define RF_AGCTHRESH3_STEP4_11 0xB0 +#define RF_AGCTHRESH3_STEP4_12 0xC0 +#define RF_AGCTHRESH3_STEP4_13 0xD0 +#define RF_AGCTHRESH3_STEP4_14 0xE0 +#define RF_AGCTHRESH3_STEP4_15 0xF0 + +#define RF_AGCTHRESH3_STEP5_0 0x00 +#define RF_AGCTHRESH3_STEP5_1 0x01 +#define RF_AGCTHRESH3_STEP5_2 0x02 +#define RF_AGCTHRESH3_STEP5_3 0x03 +#define RF_AGCTHRESH3_STEP5_4 0x04 +#define RF_AGCTHRESH3_STEP5_5 0x05 +#define RF_AGCTHRESH3_STEP5_6 0x06 +#define RF_AGCTHRESH3_STEP5_7 0x07 +#define RF_AGCTHRES33_STEP5_8 0x08 +#define RF_AGCTHRESH3_STEP5_9 0x09 +#define RF_AGCTHRESH3_STEP5_10 0x0A +#define RF_AGCTHRESH3_STEP5_11 0x0B // Default +#define RF_AGCTHRESH3_STEP5_12 0x0C +#define RF_AGCTHRESH3_STEP5_13 0x0D +#define RF_AGCTHRESH3_STEP5_14 0x0E +#define RF_AGCTHRESH3_STEP5_15 0x0F + + +// RegLna +#define RF_LNA_ZIN_50 0x00 // Reset value +#define RF_LNA_ZIN_200 0x80 // Recommended default + +#define RF_LNA_LOWPOWER_OFF 0x00 // Default +#define RF_LNA_LOWPOWER_ON 0x40 + +#define RF_LNA_CURRENTGAIN 0x08 + +#define RF_LNA_GAINSELECT_AUTO 0x00 // Default +#define RF_LNA_GAINSELECT_MAX 0x01 +#define RF_LNA_GAINSELECT_MAXMINUS6 0x02 +#define RF_LNA_GAINSELECT_MAXMINUS12 0x03 +#define RF_LNA_GAINSELECT_MAXMINUS24 0x04 +#define RF_LNA_GAINSELECT_MAXMINUS36 0x05 +#define RF_LNA_GAINSELECT_MAXMINUS48 0x06 + + +// RegRxBw +#define RF_RXBW_DCCFREQ_000 0x00 +#define RF_RXBW_DCCFREQ_001 0x20 +#define RF_RXBW_DCCFREQ_010 0x40 // Recommended default +#define RF_RXBW_DCCFREQ_011 0x60 +#define RF_RXBW_DCCFREQ_100 0x80 // Reset value +#define RF_RXBW_DCCFREQ_101 0xA0 +#define RF_RXBW_DCCFREQ_110 0xC0 +#define RF_RXBW_DCCFREQ_111 0xE0 + +#define RF_RXBW_MANT_16 0x00 // Reset value +#define RF_RXBW_MANT_20 0x08 +#define RF_RXBW_MANT_24 0x10 // Recommended default + +#define RF_RXBW_EXP_0 0x00 +#define RF_RXBW_EXP_1 0x01 +#define RF_RXBW_EXP_2 0x02 +#define RF_RXBW_EXP_3 0x03 +#define RF_RXBW_EXP_4 0x04 +#define RF_RXBW_EXP_5 0x05 // Recommended default +#define RF_RXBW_EXP_6 0x06 // Reset value +#define RF_RXBW_EXP_7 0x07 + + +// RegAfcBw +#define RF_AFCBW_DCCFREQAFC_000 0x00 +#define RF_AFCBW_DCCFREQAFC_001 0x20 +#define RF_AFCBW_DCCFREQAFC_010 0x40 +#define RF_AFCBW_DCCFREQAFC_011 0x60 +#define RF_AFCBW_DCCFREQAFC_100 0x80 // Default +#define RF_AFCBW_DCCFREQAFC_101 0xA0 +#define RF_AFCBW_DCCFREQAFC_110 0xC0 +#define RF_AFCBW_DCCFREQAFC_111 0xE0 + +#define RF_AFCBW_MANTAFC_16 0x00 +#define RF_AFCBW_MANTAFC_20 0x08 // Default +#define RF_AFCBW_MANTAFC_24 0x10 + +#define RF_AFCBW_EXPAFC_0 0x00 +#define RF_AFCBW_EXPAFC_1 0x01 +#define RF_AFCBW_EXPAFC_2 0x02 // Reset value +#define RF_AFCBW_EXPAFC_3 0x03 // Recommended default +#define RF_AFCBW_EXPAFC_4 0x04 +#define RF_AFCBW_EXPAFC_5 0x05 +#define RF_AFCBW_EXPAFC_6 0x06 +#define RF_AFCBW_EXPAFC_7 0x07 + + +// RegOokPeak +#define RF_OOKPEAK_THRESHTYPE_FIXED 0x00 +#define RF_OOKPEAK_THRESHTYPE_PEAK 0x40 // Default +#define RF_OOKPEAK_THRESHTYPE_AVERAGE 0x80 + +#define RF_OOKPEAK_PEAKTHRESHSTEP_000 0x00 // Default +#define RF_OOKPEAK_PEAKTHRESHSTEP_001 0x08 +#define RF_OOKPEAK_PEAKTHRESHSTEP_010 0x10 +#define RF_OOKPEAK_PEAKTHRESHSTEP_011 0x18 +#define RF_OOKPEAK_PEAKTHRESHSTEP_100 0x20 +#define RF_OOKPEAK_PEAKTHRESHSTEP_101 0x28 +#define RF_OOKPEAK_PEAKTHRESHSTEP_110 0x30 +#define RF_OOKPEAK_PEAKTHRESHSTEP_111 0x38 + +#define RF_OOKPEAK_PEAKTHRESHDEC_000 0x00 // Default +#define RF_OOKPEAK_PEAKTHRESHDEC_001 0x01 +#define RF_OOKPEAK_PEAKTHRESHDEC_010 0x02 +#define RF_OOKPEAK_PEAKTHRESHDEC_011 0x03 +#define RF_OOKPEAK_PEAKTHRESHDEC_100 0x04 +#define RF_OOKPEAK_PEAKTHRESHDEC_101 0x05 +#define RF_OOKPEAK_PEAKTHRESHDEC_110 0x06 +#define RF_OOKPEAK_PEAKTHRESHDEC_111 0x07 + + +// RegOokAvg +#define RF_OOKAVG_AVERAGETHRESHFILT_00 0x00 +#define RF_OOKAVG_AVERAGETHRESHFILT_01 0x40 +#define RF_OOKAVG_AVERAGETHRESHFILT_10 0x80 // Default +#define RF_OOKAVG_AVERAGETHRESHFILT_11 0xC0 + + +// RegOokFix +#define RF_OOKFIX_FIXEDTHRESH_VALUE 0x06 // Default + + +// RegAfcFei +#define RF_AFCFEI_FEI_DONE 0x40 +#define RF_AFCFEI_FEI_START 0x20 +#define RF_AFCFEI_AFC_DONE 0x10 +#define RF_AFCFEI_AFCAUTOCLEAR_ON 0x08 +#define RF_AFCFEI_AFCAUTOCLEAR_OFF 0x00 // Default + +#define RF_AFCFEI_AFCAUTO_ON 0x04 +#define RF_AFCFEI_AFCAUTO_OFF 0x00 // Default + +#define RF_AFCFEI_AFC_CLEAR 0x02 +#define RF_AFCFEI_AFC_START 0x01 + + +// RegRssiConfig +#define RF_RSSI_FASTRX_ON 0x08 // not present on RFM69/SX1231 +#define RF_RSSI_FASTRX_OFF 0x00 // Default + +#define RF_RSSI_DONE 0x02 +#define RF_RSSI_START 0x01 + + +// RegDioMapping1 +#define RF_DIOMAPPING1_DIO0_00 0x00 // Default +#define RF_DIOMAPPING1_DIO0_01 0x40 +#define RF_DIOMAPPING1_DIO0_10 0x80 +#define RF_DIOMAPPING1_DIO0_11 0xC0 + +#define RF_DIOMAPPING1_DIO1_00 0x00 // Default +#define RF_DIOMAPPING1_DIO1_01 0x10 +#define RF_DIOMAPPING1_DIO1_10 0x20 +#define RF_DIOMAPPING1_DIO1_11 0x30 + +#define RF_DIOMAPPING1_DIO2_00 0x00 // Default +#define RF_DIOMAPPING1_DIO2_01 0x04 +#define RF_DIOMAPPING1_DIO2_10 0x08 +#define RF_DIOMAPPING1_DIO2_11 0x0C + +#define RF_DIOMAPPING1_DIO3_00 0x00 // Default +#define RF_DIOMAPPING1_DIO3_01 0x01 +#define RF_DIOMAPPING1_DIO3_10 0x02 +#define RF_DIOMAPPING1_DIO3_11 0x03 + + +// RegDioMapping2 +#define RF_DIOMAPPING2_DIO4_00 0x00 // Default +#define RF_DIOMAPPING2_DIO4_01 0x40 +#define RF_DIOMAPPING2_DIO4_10 0x80 +#define RF_DIOMAPPING2_DIO4_11 0xC0 + +#define RF_DIOMAPPING2_DIO5_00 0x00 // Default +#define RF_DIOMAPPING2_DIO5_01 0x10 +#define RF_DIOMAPPING2_DIO5_10 0x20 +#define RF_DIOMAPPING2_DIO5_11 0x30 + +#define RF_DIOMAPPING2_CLKOUT_32MHZ 0x00 +#define RF_DIOMAPPING2_CLKOUT_16MHZ 0x01 +#define RF_DIOMAPPING2_CLKOUT_8MHZ 0x02 +#define RF_DIOMAPPING2_CLKOUT_4MHZ 0x03 +#define RF_DIOMAPPING2_CLKOUT_2MHZ 0x04 +#define RF_DIOMAPPING2_CLKOUT_1MHZ 0x05 // Reset value +#define RF_DIOMAPPING2_CLKOUT_RC 0x06 +#define RF_DIOMAPPING2_CLKOUT_OFF 0x07 // Recommended default + + +// RegIrqFlags1 +#define RF_IRQFLAGS1_MODEREADY 0x80 +#define RF_IRQFLAGS1_RXREADY 0x40 +#define RF_IRQFLAGS1_TXREADY 0x20 +#define RF_IRQFLAGS1_PLLLOCK 0x10 +#define RF_IRQFLAGS1_RSSI 0x08 +#define RF_IRQFLAGS1_TIMEOUT 0x04 +#define RF_IRQFLAGS1_AUTOMODE 0x02 +#define RF_IRQFLAGS1_SYNCADDRESSMATCH 0x01 + + +// RegIrqFlags2 +#define RF_IRQFLAGS2_FIFOFULL 0x80 +#define RF_IRQFLAGS2_FIFONOTEMPTY 0x40 +#define RF_IRQFLAGS2_FIFOLEVEL 0x20 +#define RF_IRQFLAGS2_FIFOOVERRUN 0x10 +#define RF_IRQFLAGS2_PACKETSENT 0x08 +#define RF_IRQFLAGS2_PAYLOADREADY 0x04 +#define RF_IRQFLAGS2_CRCOK 0x02 +#define RF_IRQFLAGS2_LOWBAT 0x01 // not present on RFM69/SX1231 + + +// RegRssiThresh +#define RF_RSSITHRESH_VALUE 0xE4 // Default + + +// RegRxTimeout1 +#define RF_RXTIMEOUT1_RXSTART_VALUE 0x00 // Default + + +// RegRxTimeout2 +#define RF_RXTIMEOUT2_RSSITHRESH_VALUE 0x00 // Default + + +// RegPreamble +#define RF_PREAMBLESIZE_MSB_VALUE 0x00 // Default +#define RF_PREAMBLESIZE_LSB_VALUE 0x03 // Default + + +// RegSyncConfig +#define RF_SYNC_ON 0x80 // Default +#define RF_SYNC_OFF 0x00 + +#define RF_SYNC_FIFOFILL_AUTO 0x00 // Default -- when sync interrupt occurs +#define RF_SYNC_FIFOFILL_MANUAL 0x40 + +#define RF_SYNC_SIZE_1 0x00 +#define RF_SYNC_SIZE_2 0x08 +#define RF_SYNC_SIZE_3 0x10 +#define RF_SYNC_SIZE_4 0x18 // Default +#define RF_SYNC_SIZE_5 0x20 +#define RF_SYNC_SIZE_6 0x28 +#define RF_SYNC_SIZE_7 0x30 +#define RF_SYNC_SIZE_8 0x38 + +#define RF_SYNC_TOL_0 0x00 // Default +#define RF_SYNC_TOL_1 0x01 +#define RF_SYNC_TOL_2 0x02 +#define RF_SYNC_TOL_3 0x03 +#define RF_SYNC_TOL_4 0x04 +#define RF_SYNC_TOL_5 0x05 +#define RF_SYNC_TOL_6 0x06 +#define RF_SYNC_TOL_7 0x07 + + +// RegSyncValue1-8 +#define RF_SYNC_BYTE1_VALUE 0x00 // Default +#define RF_SYNC_BYTE2_VALUE 0x00 // Default +#define RF_SYNC_BYTE3_VALUE 0x00 // Default +#define RF_SYNC_BYTE4_VALUE 0x00 // Default +#define RF_SYNC_BYTE5_VALUE 0x00 // Default +#define RF_SYNC_BYTE6_VALUE 0x00 // Default +#define RF_SYNC_BYTE7_VALUE 0x00 // Default +#define RF_SYNC_BYTE8_VALUE 0x00 // Default + + +// RegPacketConfig1 +#define RF_PACKET1_FORMAT_FIXED 0x00 // Default +#define RF_PACKET1_FORMAT_VARIABLE 0x80 + +#define RF_PACKET1_DCFREE_OFF 0x00 // Default +#define RF_PACKET1_DCFREE_MANCHESTER 0x20 +#define RF_PACKET1_DCFREE_WHITENING 0x40 + +#define RF_PACKET1_CRC_ON 0x10 // Default +#define RF_PACKET1_CRC_OFF 0x00 + +#define RF_PACKET1_CRCAUTOCLEAR_ON 0x00 // Default +#define RF_PACKET1_CRCAUTOCLEAR_OFF 0x08 + +#define RF_PACKET1_ADRSFILTERING_OFF 0x00 // Default +#define RF_PACKET1_ADRSFILTERING_NODE 0x02 +#define RF_PACKET1_ADRSFILTERING_NODEBROADCAST 0x04 + + +// RegPayloadLength +#define RF_PAYLOADLENGTH_VALUE 0x40 // Default + + +// RegBroadcastAdrs +#define RF_BROADCASTADDRESS_VALUE 0x00 + + +// RegAutoModes +#define RF_AUTOMODES_ENTER_OFF 0x00 // Default +#define RF_AUTOMODES_ENTER_FIFONOTEMPTY 0x20 +#define RF_AUTOMODES_ENTER_FIFOLEVEL 0x40 +#define RF_AUTOMODES_ENTER_CRCOK 0x60 +#define RF_AUTOMODES_ENTER_PAYLOADREADY 0x80 +#define RF_AUTOMODES_ENTER_SYNCADRSMATCH 0xA0 +#define RF_AUTOMODES_ENTER_PACKETSENT 0xC0 +#define RF_AUTOMODES_ENTER_FIFOEMPTY 0xE0 + +#define RF_AUTOMODES_EXIT_OFF 0x00 // Default +#define RF_AUTOMODES_EXIT_FIFOEMPTY 0x04 +#define RF_AUTOMODES_EXIT_FIFOLEVEL 0x08 +#define RF_AUTOMODES_EXIT_CRCOK 0x0C +#define RF_AUTOMODES_EXIT_PAYLOADREADY 0x10 +#define RF_AUTOMODES_EXIT_SYNCADRSMATCH 0x14 +#define RF_AUTOMODES_EXIT_PACKETSENT 0x18 +#define RF_AUTOMODES_EXIT_RXTIMEOUT 0x1C + +#define RF_AUTOMODES_INTERMEDIATE_SLEEP 0x00 // Default +#define RF_AUTOMODES_INTERMEDIATE_STANDBY 0x01 +#define RF_AUTOMODES_INTERMEDIATE_RECEIVER 0x02 +#define RF_AUTOMODES_INTERMEDIATE_TRANSMITTER 0x03 + + +// RegFifoThresh +#define RF_FIFOTHRESH_TXSTART_FIFOTHRESH 0x00 // Reset value +#define RF_FIFOTHRESH_TXSTART_FIFONOTEMPTY 0x80 // Recommended default + +#define RF_FIFOTHRESH_VALUE 0x0F // Default + + +// RegPacketConfig2 +#define RF_PACKET2_RXRESTARTDELAY_1BIT 0x00 // Default +#define RF_PACKET2_RXRESTARTDELAY_2BITS 0x10 +#define RF_PACKET2_RXRESTARTDELAY_4BITS 0x20 +#define RF_PACKET2_RXRESTARTDELAY_8BITS 0x30 +#define RF_PACKET2_RXRESTARTDELAY_16BITS 0x40 +#define RF_PACKET2_RXRESTARTDELAY_32BITS 0x50 +#define RF_PACKET2_RXRESTARTDELAY_64BITS 0x60 +#define RF_PACKET2_RXRESTARTDELAY_128BITS 0x70 +#define RF_PACKET2_RXRESTARTDELAY_256BITS 0x80 +#define RF_PACKET2_RXRESTARTDELAY_512BITS 0x90 +#define RF_PACKET2_RXRESTARTDELAY_1024BITS 0xA0 +#define RF_PACKET2_RXRESTARTDELAY_2048BITS 0xB0 +#define RF_PACKET2_RXRESTARTDELAY_NONE 0xC0 +#define RF_PACKET2_RXRESTART 0x04 + +#define RF_PACKET2_AUTORXRESTART_ON 0x02 // Default +#define RF_PACKET2_AUTORXRESTART_OFF 0x00 + +#define RF_PACKET2_AES_ON 0x01 +#define RF_PACKET2_AES_OFF 0x00 // Default + + +// RegAesKey1-16 +#define RF_AESKEY1_VALUE 0x00 // Default +#define RF_AESKEY2_VALUE 0x00 // Default +#define RF_AESKEY3_VALUE 0x00 // Default +#define RF_AESKEY4_VALUE 0x00 // Default +#define RF_AESKEY5_VALUE 0x00 // Default +#define RF_AESKEY6_VALUE 0x00 // Default +#define RF_AESKEY7_VALUE 0x00 // Default +#define RF_AESKEY8_VALUE 0x00 // Default +#define RF_AESKEY9_VALUE 0x00 // Default +#define RF_AESKEY10_VALUE 0x00 // Default +#define RF_AESKEY11_VALUE 0x00 // Default +#define RF_AESKEY12_VALUE 0x00 // Default +#define RF_AESKEY13_VALUE 0x00 // Default +#define RF_AESKEY14_VALUE 0x00 // Default +#define RF_AESKEY15_VALUE 0x00 // Default +#define RF_AESKEY16_VALUE 0x00 // Default + + +// RegTemp1 +#define RF_TEMP1_MEAS_START 0x08 +#define RF_TEMP1_MEAS_RUNNING 0x04 +// not present on RFM69/SX1231 +#define RF_TEMP1_ADCLOWPOWER_ON 0x01 // Default +#define RF_TEMP1_ADCLOWPOWER_OFF 0x00 + + +// RegTestLna +#define RF_TESTLNA_NORMAL 0x1B +#define RF_TESTLNA_HIGH_SENSITIVITY 0x2D + + +// RegTestDagc +#define RF_DAGC_NORMAL 0x00 // Reset value +#define RF_DAGC_IMPROVED_LOWBETA1 0x20 +#define RF_DAGC_IMPROVED_LOWBETA0 0x30 // Recommended default diff --git a/lib/RFM69/keywords.txt b/lib/RFM69/keywords.txt new file mode 100644 index 00000000..189e8b69 --- /dev/null +++ b/lib/RFM69/keywords.txt @@ -0,0 +1,79 @@ +####################################### +# Syntax Coloring Map for RFM69 +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +####################################### +# Instances (KEYWORD2) +####################################### +RFM69 KEYWORD2 +RFM69_ATC KEYWORD2 +RFM69_OTA KEYWORD2 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### +initialize KEYWORD2 +setAddress KEYWORD2 +canSend KEYWORD2 +send KEYWORD2 +sendWithRetry KEYWORD2 +receiveDone KEYWORD2 +ACKReceived KEYWORD2 +sendACK KEYWORD2 +setFrequency KEYWORD2 +getFrequency KEYWORD2 +encrypt KEYWORD2 +setCS KEYWORD2 +readRSSI KEYWORD2 +promiscuous KEYWORD2 +setHighPower KEYWORD2 +sleep KEYWORD2 +readReg KEYWORD2 +writeReg KEYWORD2 +setNetwork KEYWORD2 +ACKRequested KEYWORD2 +setPowerLevel KEYWORD2 +readTemperature KEYWORD2 +rcCalibration KEYWORD2 +readAllRegs KEYWORD2 +enableAutoPower KEYWORD2 + +CheckForSerialHEX KEYWORD2 +CheckForWirelessHEX KEYWORD2 +HandleHandshakeACK KEYWORD2 +HandleWirelessHEXData KEYWORD2 +readSerialLine KEYWORD2 +BYTEfromHEX KEYWORD2 +waitForAck KEYWORD2 +PrintHex83 KEYWORD2 +resetUsingWatchdog KEYWORD2 + +listenModeStart KEYWORD2 +listenModeEnd KEYWORD2 +listenModeHighSpeed KEYWORD2 +listenModeSetDurations KEYWORD2 +listenModeGetDurations KEYWORD2 +listenModeSendBurst KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### +RF69_315MHZ LITERAL1 +RF69_433MHZ LITERAL1 +RF69_868MHZ LITERAL1 +RF69_915MHZ LITERAL1 +####################################### +# Variables/Volatiles (LITERAL2) +####################################### +DATA LITERAL2 +DATALEN LITERAL2 +SENDERID LITERAL2 +TARGETID LITERAL2 +PAYLOADLEN LITERAL2 +ACK_REQUESTED LITERAL2 +ACK_RECEIVED LITERAL2 +RSSI LITERAL2 diff --git a/lib/RFM69/library.json b/lib/RFM69/library.json new file mode 100644 index 00000000..f2899ff9 --- /dev/null +++ b/lib/RFM69/library.json @@ -0,0 +1,19 @@ +{ + "name": "RFM69", + "keywords": "rf, radio, wireless, spi", + "description": "RFM69 library for RFM69W, RFM69HW, RFM69CW, RFM69HCW (semtech SX1231, SX1231H)", + "repository": + { + "type": "git", + "url": "https://github.com/LowPowerLab/RFM69.git" + }, + "frameworks": "arduino", + "platforms": "atmelavr", + "dependencies": + [ + { + "name": "SPIFlash", + "authors": "Felix Rusu" + } + ] +} \ No newline at end of file diff --git a/lib/SFE_BMP180/SFE_BMP180.cpp b/lib/SFE_BMP180/SFE_BMP180.cpp new file mode 100644 index 00000000..4383fc55 --- /dev/null +++ b/lib/SFE_BMP180/SFE_BMP180.cpp @@ -0,0 +1,387 @@ +/* + SFE_BMP180.cpp + Bosch BMP180 pressure sensor library for the Arduino microcontroller + Mike Grusin, SparkFun Electronics + + Uses floating-point equations from the Weather Station Data Logger project + http://wmrx00.sourceforge.net/ + http://wmrx00.sourceforge.net/Arduino/BMP085-Calcs.pdf + + Forked from BMP085 library by M.Grusin + + version 1.0 2013/09/20 initial version + + Our example code uses the "beerware" license. You can do anything + you like with this code. No really, anything. If you find it useful, + buy me a (root) beer someday. +*/ + +#include +#include +#include +#include + + +SFE_BMP180::SFE_BMP180() +// Base library type +{ +} + + +char SFE_BMP180::begin() +// Initialize library for subsequent pressure measurements +{ + double c3,c4,b1; + + // Start up the Arduino's "wire" (I2C) library: + + Wire.begin(); + + // The BMP180 includes factory calibration data stored on the device. + // Each device has different numbers, these must be retrieved and + // used in the calculations when taking pressure measurements. + + // Retrieve calibration data from device: + + if (readInt(0xAA,AC1) && + readInt(0xAC,AC2) && + readInt(0xAE,AC3) && + readUInt(0xB0,AC4) && + readUInt(0xB2,AC5) && + readUInt(0xB4,AC6) && + readInt(0xB6,VB1) && + readInt(0xB8,VB2) && + readInt(0xBA,MB) && + readInt(0xBC,MC) && + readInt(0xBE,MD)) + { + + // All reads completed successfully! + + // If you need to check your math using known numbers, + // you can uncomment one of these examples. + // (The correct results are commented in the below functions.) + + // Example from Bosch datasheet + // AC1 = 408; AC2 = -72; AC3 = -14383; AC4 = 32741; AC5 = 32757; AC6 = 23153; + // B1 = 6190; B2 = 4; MB = -32768; MC = -8711; MD = 2868; + + // Example from http://wmrx00.sourceforge.net/Arduino/BMP180-Calcs.pdf + // AC1 = 7911; AC2 = -934; AC3 = -14306; AC4 = 31567; AC5 = 25671; AC6 = 18974; + // VB1 = 5498; VB2 = 46; MB = -32768; MC = -11075; MD = 2432; + + /* + Serial.print("AC1: "); Serial.println(AC1); + Serial.print("AC2: "); Serial.println(AC2); + Serial.print("AC3: "); Serial.println(AC3); + Serial.print("AC4: "); Serial.println(AC4); + Serial.print("AC5: "); Serial.println(AC5); + Serial.print("AC6: "); Serial.println(AC6); + Serial.print("VB1: "); Serial.println(VB1); + Serial.print("VB2: "); Serial.println(VB2); + Serial.print("MB: "); Serial.println(MB); + Serial.print("MC: "); Serial.println(MC); + Serial.print("MD: "); Serial.println(MD); + */ + + // Compute floating-point polynominals: + + c3 = 160.0 * pow(2,-15) * AC3; + c4 = pow(10,-3) * pow(2,-15) * AC4; + b1 = pow(160,2) * pow(2,-30) * VB1; + c5 = (pow(2,-15) / 160) * AC5; + c6 = AC6; + mc = (pow(2,11) / pow(160,2)) * MC; + md = MD / 160.0; + x0 = AC1; + x1 = 160.0 * pow(2,-13) * AC2; + x2 = pow(160,2) * pow(2,-25) * VB2; + y0 = c4 * pow(2,15); + y1 = c4 * c3; + y2 = c4 * b1; + p0 = (3791.0 - 8.0) / 1600.0; + p1 = 1.0 - 7357.0 * pow(2,-20); + p2 = 3038.0 * 100.0 * pow(2,-36); + + /* + Serial.println(); + Serial.print("c3: "); Serial.println(c3); + Serial.print("c4: "); Serial.println(c4); + Serial.print("c5: "); Serial.println(c5); + Serial.print("c6: "); Serial.println(c6); + Serial.print("b1: "); Serial.println(b1); + Serial.print("mc: "); Serial.println(mc); + Serial.print("md: "); Serial.println(md); + Serial.print("x0: "); Serial.println(x0); + Serial.print("x1: "); Serial.println(x1); + Serial.print("x2: "); Serial.println(x2); + Serial.print("y0: "); Serial.println(y0); + Serial.print("y1: "); Serial.println(y1); + Serial.print("y2: "); Serial.println(y2); + Serial.print("p0: "); Serial.println(p0); + Serial.print("p1: "); Serial.println(p1); + Serial.print("p2: "); Serial.println(p2); + */ + + // Success! + return(1); + } + else + { + // Error reading calibration data; bad component or connection? + return(0); + } +} + + +char SFE_BMP180::readInt(char address, int &value) +// Read a signed integer (two bytes) from device +// address: register to start reading (plus subsequent register) +// value: external variable to store data (function modifies value) +{ + unsigned char data[2]; + + data[0] = address; + if (readBytes(data,2)) + { + value = (((int)data[0]<<8)|(int)data[1]); + //if (*value & 0x8000) *value |= 0xFFFF0000; // sign extend if negative + return(1); + } + value = 0; + return(0); +} + + +char SFE_BMP180::readUInt(char address, unsigned int &value) +// Read an unsigned integer (two bytes) from device +// address: register to start reading (plus subsequent register) +// value: external variable to store data (function modifies value) +{ + unsigned char data[2]; + + data[0] = address; + if (readBytes(data,2)) + { + value = (((unsigned int)data[0]<<8)|(unsigned int)data[1]); + return(1); + } + value = 0; + return(0); +} + + +char SFE_BMP180::readBytes(unsigned char *values, char length) +// Read an array of bytes from device +// values: external array to hold data. Put starting register in values[0]. +// length: number of bytes to read +{ + char x; + + Wire.beginTransmission(BMP180_ADDR); + Wire.write(values[0]); + _error = Wire.endTransmission(); + if (_error == 0) + { + Wire.requestFrom(BMP180_ADDR,length); + while(Wire.available() != length) ; // wait until bytes are ready + for(x=0;x= 100 +#include "Arduino.h" +#else +#include "WProgram.h" +#endif + +class SFE_BMP180 +{ + public: + SFE_BMP180(); // base type + + char begin(); + // call pressure.begin() to initialize BMP180 before use + // returns 1 if success, 0 if failure (bad component or I2C bus shorted?) + + char startTemperature(void); + // command BMP180 to start a temperature measurement + // returns (number of ms to wait) for success, 0 for fail + + char getTemperature(double &T); + // return temperature measurement from previous startTemperature command + // places returned value in T variable (deg C) + // returns 1 for success, 0 for fail + + char startPressure(char oversampling); + // command BMP180 to start a pressure measurement + // oversampling: 0 - 3 for oversampling value + // returns (number of ms to wait) for success, 0 for fail + + char getPressure(double &P, double &T); + // return absolute pressure measurement from previous startPressure command + // note: requires previous temperature measurement in variable T + // places returned value in P variable (mbar) + // returns 1 for success, 0 for fail + + double sealevel(double P, double A); + // convert absolute pressure to sea-level pressure (as used in weather data) + // P: absolute pressure (mbar) + // A: current altitude (meters) + // returns sealevel pressure in mbar + + double altitude(double P, double P0); + // convert absolute pressure to altitude (given baseline pressure; sea-level, runway, etc.) + // P: absolute pressure (mbar) + // P0: fixed baseline pressure (mbar) + // returns signed altitude in meters + + char getError(void); + // If any library command fails, you can retrieve an extended + // error code using this command. Errors are from the wire library: + // 0 = Success + // 1 = Data too long to fit in transmit buffer + // 2 = Received NACK on transmit of address + // 3 = Received NACK on transmit of data + // 4 = Other error + + private: + + char readInt(char address, int &value); + // read an signed int (16 bits) from a BMP180 register + // address: BMP180 register address + // value: external signed int for returned value (16 bits) + // returns 1 for success, 0 for fail, with result in value + + char readUInt(char address, unsigned int &value); + // read an unsigned int (16 bits) from a BMP180 register + // address: BMP180 register address + // value: external unsigned int for returned value (16 bits) + // returns 1 for success, 0 for fail, with result in value + + char readBytes(unsigned char *values, char length); + // read a number of bytes from a BMP180 register + // values: array of char with register address in first location [0] + // length: number of bytes to read back + // returns 1 for success, 0 for fail, with read bytes in values[] array + + char writeBytes(unsigned char *values, char length); + // write a number of bytes to a BMP180 register (and consecutive subsequent registers) + // values: array of char with register address in first location [0] + // length: number of bytes to write + // returns 1 for success, 0 for fail + + int AC1,AC2,AC3,VB1,VB2,MB,MC,MD; + unsigned int AC4,AC5,AC6; + double c5,c6,mc,md,x0,x1,x2,y0,y1,y2,p0,p1,p2; + char _error; +}; + +#define BMP180_ADDR 0x77 // 7-bit address + +#define BMP180_REG_CONTROL 0xF4 +#define BMP180_REG_RESULT 0xF6 + +#define BMP180_COMMAND_TEMPERATURE 0x2E +#define BMP180_COMMAND_PRESSURE0 0x34 +#define BMP180_COMMAND_PRESSURE1 0x74 +#define BMP180_COMMAND_PRESSURE2 0xB4 +#define BMP180_COMMAND_PRESSURE3 0xF4 + +#endif diff --git a/lib/SFE_BMP180/examples/BMP180_altitude_example/BMP180_altitude_example.ino b/lib/SFE_BMP180/examples/BMP180_altitude_example/BMP180_altitude_example.ino new file mode 100644 index 00000000..fdb83582 --- /dev/null +++ b/lib/SFE_BMP180/examples/BMP180_altitude_example/BMP180_altitude_example.ino @@ -0,0 +1,168 @@ +/* SFE_BMP180 altitude example sketch + +This sketch shows how to use the Bosch BMP180 pressure sensor +as an altimiter. +https://www.sparkfun.com/products/11824 + +Like most pressure sensors, the BMP180 measures absolute pressure. +Since absolute pressure varies with altitude, you can use the pressure +to determine your altitude. + +Because pressure also varies with weather, you must first take a pressure +reading at a known baseline altitude. Then you can measure variations +from that pressure + +Hardware connections: + +- (GND) to GND ++ (VDD) to 3.3V + +(WARNING: do not connect + to 5V or the sensor will be damaged!) + +You will also need to connect the I2C pins (SCL and SDA) to your +Arduino. The pins are different on different Arduinos: + +Any Arduino pins labeled: SDA SCL +Uno, Redboard, Pro: A4 A5 +Mega2560, Due: 20 21 +Leonardo: 2 3 + +Leave the IO (VDDIO) pin unconnected. This pin is for connecting +the BMP180 to systems with lower logic levels such as 1.8V + +Have fun! -Your friends at SparkFun. + +The SFE_BMP180 library uses floating-point equations developed by the +Weather Station Data Logger project: http://wmrx00.sourceforge.net/ + +Our example code uses the "beerware" license. You can do anything +you like with this code. No really, anything. If you find it useful, +buy me a beer someday. + +V10 Mike Grusin, SparkFun Electronics 10/24/2013 +*/ + +// Your sketch must #include this library, and the Wire library. +// (Wire is a standard library included with Arduino.): + +#include +#include + +// You will need to create an SFE_BMP180 object, here called "pressure": + +SFE_BMP180 pressure; + +double baseline; // baseline pressure + +void setup() +{ + Serial.begin(9600); + Serial.println("REBOOT"); + + // Initialize the sensor (it is important to get calibration values stored on the device). + + if (pressure.begin()) + Serial.println("BMP180 init success"); + else + { + // Oops, something went wrong, this is usually a connection problem, + // see the comments at the top of this sketch for the proper connections. + + Serial.println("BMP180 init fail (disconnected?)\n\n"); + while(1); // Pause forever. + } + + // Get the baseline pressure: + + baseline = getPressure(); + + Serial.print("baseline pressure: "); + Serial.print(baseline); + Serial.println(" mb"); +} + +void loop() +{ + double a,P; + + // Get a new pressure reading: + + P = getPressure(); + + // Show the relative altitude difference between + // the new reading and the baseline reading: + + a = pressure.altitude(P,baseline); + + Serial.print("relative altitude: "); + if (a >= 0.0) Serial.print(" "); // add a space for positive numbers + Serial.print(a,1); + Serial.print(" meters, "); + if (a >= 0.0) Serial.print(" "); // add a space for positive numbers + Serial.print(a*3.28084,0); + Serial.println(" feet"); + + delay(500); +} + + +double getPressure() +{ + char status; + double T,P,p0,a; + + // You must first get a temperature measurement to perform a pressure reading. + + // Start a temperature measurement: + // If request is successful, the number of ms to wait is returned. + // If request is unsuccessful, 0 is returned. + + status = pressure.startTemperature(); + if (status != 0) + { + // Wait for the measurement to complete: + + delay(status); + + // Retrieve the completed temperature measurement: + // Note that the measurement is stored in the variable T. + // Use '&T' to provide the address of T to the function. + // Function returns 1 if successful, 0 if failure. + + status = pressure.getTemperature(T); + if (status != 0) + { + // Start a pressure measurement: + // The parameter is the oversampling setting, from 0 to 3 (highest res, longest wait). + // If request is successful, the number of ms to wait is returned. + // If request is unsuccessful, 0 is returned. + + status = pressure.startPressure(3); + if (status != 0) + { + // Wait for the measurement to complete: + delay(status); + + // Retrieve the completed pressure measurement: + // Note that the measurement is stored in the variable P. + // Use '&P' to provide the address of P. + // Note also that the function requires the previous temperature measurement (T). + // (If temperature is stable, you can do one temperature measurement for a number of pressure measurements.) + // Function returns 1 if successful, 0 if failure. + + status = pressure.getPressure(P,T); + if (status != 0) + { + return(P); + } + else Serial.println("error retrieving pressure measurement\n"); + } + else Serial.println("error starting pressure measurement\n"); + } + else Serial.println("error retrieving temperature measurement\n"); + } + else Serial.println("error starting temperature measurement\n"); +} + + + diff --git a/lib/SFE_BMP180/examples/SFE_BMP180_example/SFE_BMP180_example.ino b/lib/SFE_BMP180/examples/SFE_BMP180_example/SFE_BMP180_example.ino new file mode 100644 index 00000000..a43c9056 --- /dev/null +++ b/lib/SFE_BMP180/examples/SFE_BMP180_example/SFE_BMP180_example.ino @@ -0,0 +1,200 @@ +/* SFE_BMP180 library example sketch + +This sketch shows how to use the SFE_BMP180 library to read the +Bosch BMP180 barometric pressure sensor. +https://www.sparkfun.com/products/11824 + +Like most pressure sensors, the BMP180 measures absolute pressure. +This is the actual ambient pressure seen by the device, which will +vary with both altitude and weather. + +Before taking a pressure reading you must take a temparture reading. +This is done with startTemperature() and getTemperature(). +The result is in degrees C. + +Once you have a temperature reading, you can take a pressure reading. +This is done with startPressure() and getPressure(). +The result is in millibar (mb) aka hectopascals (hPa). + +If you'll be monitoring weather patterns, you will probably want to +remove the effects of altitude. This will produce readings that can +be compared to the published pressure readings from other locations. +To do this, use the sealevel() function. You will need to provide +the known altitude at which the pressure was measured. + +If you want to measure altitude, you will need to know the pressure +at a baseline altitude. This can be average sealevel pressure, or +a previous pressure reading at your altitude, in which case +subsequent altitude readings will be + or - the initial baseline. +This is done with the altitude() function. + +Hardware connections: + +- (GND) to GND ++ (VDD) to 3.3V + +(WARNING: do not connect + to 5V or the sensor will be damaged!) + +You will also need to connect the I2C pins (SCL and SDA) to your +Arduino. The pins are different on different Arduinos: + +Any Arduino pins labeled: SDA SCL +Uno, Redboard, Pro: A4 A5 +Mega2560, Due: 20 21 +Leonardo: 2 3 + +Leave the IO (VDDIO) pin unconnected. This pin is for connecting +the BMP180 to systems with lower logic levels such as 1.8V + +Have fun! -Your friends at SparkFun. + +The SFE_BMP180 library uses floating-point equations developed by the +Weather Station Data Logger project: http://wmrx00.sourceforge.net/ + +Our example code uses the "beerware" license. You can do anything +you like with this code. No really, anything. If you find it useful, +buy me a beer someday. + +V10 Mike Grusin, SparkFun Electronics 10/24/2013 +*/ + +// Your sketch must #include this library, and the Wire library. +// (Wire is a standard library included with Arduino.): + +#include +#include + +// You will need to create an SFE_BMP180 object, here called "pressure": + +SFE_BMP180 pressure; + +#define ALTITUDE 1655.0 // Altitude of SparkFun's HQ in Boulder, CO. in meters + +void setup() +{ + Serial.begin(9600); + Serial.println("REBOOT"); + + // Initialize the sensor (it is important to get calibration values stored on the device). + + if (pressure.begin()) + Serial.println("BMP180 init success"); + else + { + // Oops, something went wrong, this is usually a connection problem, + // see the comments at the top of this sketch for the proper connections. + + Serial.println("BMP180 init fail\n\n"); + while(1); // Pause forever. + } +} + +void loop() +{ + char status; + double T,P,p0,a; + + // Loop here getting pressure readings every 10 seconds. + + // If you want sea-level-compensated pressure, as used in weather reports, + // you will need to know the altitude at which your measurements are taken. + // We're using a constant called ALTITUDE in this sketch: + + Serial.println(); + Serial.print("provided altitude: "); + Serial.print(ALTITUDE,0); + Serial.print(" meters, "); + Serial.print(ALTITUDE*3.28084,0); + Serial.println(" feet"); + + // If you want to measure altitude, and not pressure, you will instead need + // to provide a known baseline pressure. This is shown at the end of the sketch. + + // You must first get a temperature measurement to perform a pressure reading. + + // Start a temperature measurement: + // If request is successful, the number of ms to wait is returned. + // If request is unsuccessful, 0 is returned. + + status = pressure.startTemperature(); + if (status != 0) + { + // Wait for the measurement to complete: + delay(status); + + // Retrieve the completed temperature measurement: + // Note that the measurement is stored in the variable T. + // Function returns 1 if successful, 0 if failure. + + status = pressure.getTemperature(T); + if (status != 0) + { + // Print out the measurement: + Serial.print("temperature: "); + Serial.print(T,2); + Serial.print(" deg C, "); + Serial.print((9.0/5.0)*T+32.0,2); + Serial.println(" deg F"); + + // Start a pressure measurement: + // The parameter is the oversampling setting, from 0 to 3 (highest res, longest wait). + // If request is successful, the number of ms to wait is returned. + // If request is unsuccessful, 0 is returned. + + status = pressure.startPressure(3); + if (status != 0) + { + // Wait for the measurement to complete: + delay(status); + + // Retrieve the completed pressure measurement: + // Note that the measurement is stored in the variable P. + // Note also that the function requires the previous temperature measurement (T). + // (If temperature is stable, you can do one temperature measurement for a number of pressure measurements.) + // Function returns 1 if successful, 0 if failure. + + status = pressure.getPressure(P,T); + if (status != 0) + { + // Print out the measurement: + Serial.print("absolute pressure: "); + Serial.print(P,2); + Serial.print(" mb, "); + Serial.print(P*0.0295333727,2); + Serial.println(" inHg"); + + // The pressure sensor returns abolute pressure, which varies with altitude. + // To remove the effects of altitude, use the sealevel function and your current altitude. + // This number is commonly used in weather reports. + // Parameters: P = absolute pressure in mb, ALTITUDE = current altitude in m. + // Result: p0 = sea-level compensated pressure in mb + + p0 = pressure.sealevel(P,ALTITUDE); // we're at 1655 meters (Boulder, CO) + Serial.print("relative (sea-level) pressure: "); + Serial.print(p0,2); + Serial.print(" mb, "); + Serial.print(p0*0.0295333727,2); + Serial.println(" inHg"); + + // On the other hand, if you want to determine your altitude from the pressure reading, + // use the altitude function along with a baseline pressure (sea-level or other). + // Parameters: P = absolute pressure in mb, p0 = baseline pressure in mb. + // Result: a = altitude in m. + + a = pressure.altitude(P,p0); + Serial.print("computed altitude: "); + Serial.print(a,0); + Serial.print(" meters, "); + Serial.print(a*3.28084,0); + Serial.println(" feet"); + } + else Serial.println("error retrieving pressure measurement\n"); + } + else Serial.println("error starting pressure measurement\n"); + } + else Serial.println("error retrieving temperature measurement\n"); + } + else Serial.println("error starting temperature measurement\n"); + + delay(5000); // Pause for 5 seconds. +} diff --git a/lib/SFE_BMP180/keywords.txt b/lib/SFE_BMP180/keywords.txt new file mode 100644 index 00000000..664167da --- /dev/null +++ b/lib/SFE_BMP180/keywords.txt @@ -0,0 +1,27 @@ +####################################### +# Syntax Coloring Map for SFE_BMP180 +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +SFE_BMP180 KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +begin KEYWORD2 +startTemperature KEYWORD2 +getTemperature KEYWORD2 +startPressure KEYWORD2 +getPressure KEYWORD2 +sealevel KEYWORD2 +altitude KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +BMP180_ADDR LITERAL1 \ No newline at end of file diff --git a/lib/SparkFun_BME280/LICENSE.md b/lib/SparkFun_BME280/LICENSE.md new file mode 100644 index 00000000..e0f971f6 --- /dev/null +++ b/lib/SparkFun_BME280/LICENSE.md @@ -0,0 +1,57 @@ +SparkFun License Information +============================ + +SparkFun uses two different licenses for our files - one for hardware and one for code. + +Hardware +--------- + +**SparkFun hardware is released under [Creative Commons Share-alike 4.0 International](http://creativecommons.org/licenses/by-sa/4.0/).** + +Note: This is a human-readable summary of (and not a substitute for) the [license](http://creativecommons.org/licenses/by-sa/4.0/legalcode). + +You are free to: + +Share — copy and redistribute the material in any medium or format +Adapt — remix, transform, and build upon the material +for any purpose, even commercially. +The licensor cannot revoke these freedoms as long as you follow the license terms. +Under the following terms: + +Attribution — You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use. +ShareAlike — If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original. +No additional restrictions — You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. +Notices: + +You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation. +No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material. + + +Code +-------- + +**SparkFun code, firmware, and software is released under the [MIT License](http://opensource.org/licenses/MIT).** + +The MIT License (MIT) + +Copyright (c) 2015 SparkFun Electronics + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + + diff --git a/lib/SparkFun_BME280/README.md b/lib/SparkFun_BME280/README.md new file mode 100644 index 00000000..d4a523a0 --- /dev/null +++ b/lib/SparkFun_BME280/README.md @@ -0,0 +1,61 @@ +SparkFun Arduino Library +======================================== + +![SparkFun BME280 Breakout](https://github.com/sparkfun/SparkFun_BME280_Arduino_Library/blob/master/readme_picture.jpg) + +[*SparkFun BME280 (SEN-13676)*](https://www.sparkfun.com/products/13676) + +This library allows the user to: + +* Read pressure in Pa +* Read temperature in C +* Read humidity in %RH + +It also provides the following mathematical functions based from the above. + +* Read temperature in F +* Read altitude in meters +* Read altitude in feet + +Some examples include a circular buffer class for averaging. + +Repository Contents +------------------- + +* **/examples** - Example sketches for the library (.ino). Run these from the Arduino IDE. +* **/extras** - Additional documentation for the user. These files are ignored by the IDE. +* **/src** - Source files for the library (.cpp, .h). +* **keywords.txt** - Keywords from this library that will be highlighted in the Arduino IDE. +* **library.properties** - General library properties for the Arduino package manager. + +Documentation +-------------- + +* **[Installing an Arduino Library Guide](https://learn.sparkfun.com/tutorials/installing-an-arduino-library)** - Basic information on how to install an Arduino library. +* **[Product Repository](https://github.com/sparkfun/BME280-Breakout-Board)** - Main repository (including hardware files) for the SparkFun BME280 Breakout. +* **[Hookup Guide](https://learn.sparkfun.com/tutorials/bme280-breakout-hookup-guide)** - Basic hookup guide for the SparkFun BME280 Breakout. + +Products that use this Library +--------------------------------- + +* [*SEN-13676*](https://www.sparkfun.com/products/13676) + +Version History +--------------- + +* [V_1.0.0](https://github.com/sparkfun/SparkFun_BME280_Arduino_Library/tree/V_1.0.0) - Public release. +* [V_1.1.0](https://github.com/sparkfun/SparkFun_BME280_Arduino_Library/tree/V_1.1.0) - Pulled request to add decimal precision to readFloatPressure() and readFloatHumidity(). +* [V_1.2.0](https://github.com/sparkfun/SparkFun_BME280_Arduino_Library/tree/V_1.2.0) - Added ESP32 architecture directives to modify begin operation. + +License Information +------------------- + +This product is _**open source**_! + +Please review the LICENSE.md file for license information. + +If you have any questions or concerns on licensing, please contact techsupport@sparkfun.com. + +Distributed as-is; no warranty is given. + +- Your friends at SparkFun. diff --git a/lib/SparkFun_BME280/examples/CSV_Output/CSV_Output.ino b/lib/SparkFun_BME280/examples/CSV_Output/CSV_Output.ino new file mode 100644 index 00000000..1c26c372 --- /dev/null +++ b/lib/SparkFun_BME280/examples/CSV_Output/CSV_Output.ino @@ -0,0 +1,116 @@ +/****************************************************************************** +CSV_Output.ino +BME280 Arduino and Teensy example +Marshall Taylor @ SparkFun Electronics +May 20, 2015 +https://github.com/sparkfun/SparkFun_BME280_Arduino_Library + +This sketch configures two BME280 to produce comma separated values for use +in generating spreadsheet graphs. +in 10 being used for chip select. + +Resources: +Uses Wire.h for I2C operation +Uses SPI.h for SPI operation + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + +#include +#include "SparkFunBME280.h" + +#include "Wire.h" +#include "SPI.h" + +//Global sensor object +BME280 mySensor; + +unsigned int sampleNumber = 0; //For counting number of CSV rows + +void setup() +{ + //***Driver settings********************************// + //commInterface can be I2C_MODE or SPI_MODE + //specify chipSelectPin using arduino pin names + //specify I2C address. Can be 0x77(default) or 0x76 + + //For I2C, enable the following and disable the SPI section + mySensor.settings.commInterface = I2C_MODE; + mySensor.settings.I2CAddress = 0x77; + + //For SPI enable the following and dissable the I2C section + //mySensor.settings.commInterface = SPI_MODE; + //mySensor.settings.chipSelectPin = 10; + + + //***Operation settings*****************************// + mySensor.settings.runMode = 3; // 3, Normal mode + mySensor.settings.tStandby = 0; // 0, 0.5ms + mySensor.settings.filter = 0; // 0, filter off + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.tempOverSample = 1; + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.pressOverSample = 1; + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.humidOverSample = 1; + + Serial.begin(57600); + Serial.print("Program Started\n"); + Serial.print("Starting BME280... result of .begin(): 0x"); + delay(10); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up. + //Calling .begin() causes the settings to be loaded + Serial.println(mySensor.begin(), HEX); + + //Build a first-row of column headers + Serial.print("\n\n"); + Serial.print("Sample,"); + Serial.print("T(deg C),"); + Serial.print("T(deg F),"); + Serial.print("P(Pa),"); + Serial.print("Alt(m),"); + Serial.print("Alt(ft),"); + Serial.print("%RH"); + Serial.println(""); + +} + +void loop() +{ + + //Print each row in the loop + //Start with temperature, as that data is needed for accurate compensation. + //Reading the temperature updates the compensators of the other functions + //in the background. + Serial.print(sampleNumber); + Serial.print(","); + Serial.print(mySensor.readTempC(), 2); + Serial.print(","); + Serial.print(mySensor.readTempF(), 3); + Serial.print(","); + Serial.print(mySensor.readFloatPressure(), 0); + Serial.print(","); + Serial.print(mySensor.readFloatAltitudeMeters(), 3); + Serial.print(","); + Serial.print(mySensor.readFloatAltitudeFeet(), 3); + Serial.print(","); + Serial.print(mySensor.readFloatHumidity(), 0); + Serial.println(); + + sampleNumber++; + + delay(50); + +} diff --git a/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.cpp b/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.cpp new file mode 100644 index 00000000..13acf55b --- /dev/null +++ b/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.cpp @@ -0,0 +1,104 @@ +#include "CircularBuffer.h" +#include + +//****************************************************************************// +// +// Circular buffer +// +//****************************************************************************// + +//Construct a CircularBuffer type with arguments +// uint16_t inputSize: number of elements +CircularBuffer::CircularBuffer(uint16_t inputSize) +{ + cBufferData = new float[inputSize]; + cBufferLastPtr = 0; + cBufferElementsUsed = 0; + cBufferSize = inputSize; + +} + +CircularBuffer::~CircularBuffer() +{ + delete[] cBufferData; + +} + +//Get an element at some depth into the circular buffer +//zero is the push location. Max is cBufferSize - 1 +// +//Arguments: +// uint16_t elementNum: number of element in +// +float CircularBuffer::getElement( uint16_t elementNum ) +{ + //Translate elementNum into terms of cBufferLastPtr. + int16_t virtualElementNum; + virtualElementNum = cBufferLastPtr - elementNum; + if( virtualElementNum < 0 ) + { + virtualElementNum += cBufferSize; + } + + //Output the value + return cBufferData[virtualElementNum]; +} + +//Put a new element into the buffer. +//This also expands the size up to the max size +//Arguments: +// +// int16_t elementVal: value of new element +// +void CircularBuffer::pushElement( float elementVal ) +{ + //inc. the pointer + cBufferLastPtr++; + + //deal with roll + if( cBufferLastPtr >= cBufferSize ) + { + cBufferLastPtr = 0; + } + + //write data + cBufferData[cBufferLastPtr] = elementVal; + + //increase length up to cBufferSize + if( cBufferElementsUsed < cBufferSize ) + { + cBufferElementsUsed++; + } +} + +//Averages the last n numbers and provides that. Discards fractions +float CircularBuffer::averageLast( uint16_t numElements ) +{ + if( numElements < recordLength() ) + { + numElements = recordLength(); + } + //Add up all the elements + float accumulator = 0; + int8_t i; + for( i = 0; i < numElements; i++ ) + { + accumulator += getElement( i ); + } + //Divide by number of elements + if( numElements != 0 ) + { + accumulator /= numElements; + } + else + { + accumulator = 0; + } + return accumulator; +} + +//Returns the current size of the buffer +uint16_t CircularBuffer::recordLength( void ) +{ + return cBufferElementsUsed; +} \ No newline at end of file diff --git a/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.h b/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.h new file mode 100644 index 00000000..bc308402 --- /dev/null +++ b/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/CircularBuffer.h @@ -0,0 +1,33 @@ +#ifndef CIRCULARBUFFER_H +#define CIRCULARBUFFER_H +#include + +//****************************************************************************// +// +// Circular Buffer +// +//****************************************************************************// + +//Class CircularBuffer is int16_t +//Does not care about over-running real data ( if request is outside length's bounds ). +//For example, the underlying machine writes [48], [49], [0], [1] ... + +class CircularBuffer +{ +public: + CircularBuffer( uint16_t inputSize ); + ~CircularBuffer(); + float getElement( uint16_t ); //zero is the push location + void pushElement( float ); + float averageLast( uint16_t ); + uint16_t recordLength( void ); +private: + uint16_t cBufferSize; + float *cBufferData; + int16_t cBufferLastPtr; + uint8_t cBufferElementsUsed; +}; + + + +#endif // CIRCULARBUFFER_H \ No newline at end of file diff --git a/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/I2C_DeltaAltitude.ino b/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/I2C_DeltaAltitude.ino new file mode 100644 index 00000000..43c1b5ed --- /dev/null +++ b/lib/SparkFun_BME280/examples/I2C_DeltaAltitude/I2C_DeltaAltitude.ino @@ -0,0 +1,170 @@ +/****************************************************************************** +I2C_DeltaAltitude.ino +BME280 Arduino and Teensy example +Marshall Taylor @ SparkFun Electronics +May 20, 2015 +https://github.com/sparkfun/SparkFun_BME280_Arduino_Library + +This sketch configures a BME280 to measure height changes, with a button +to zero relative altitude. + +Hardware connections: +BME280 -> Arduino +GND -> GND +3.3 -> 3.3 +SDA -> A4 +SCL -> A5 + +Button (Normally open) between A4 and A5. + +To use, run the sketch then press and hold the button until the data on the +serial monitor shows zero. Then, move the sensor to a new altitude and watch +how the output changes! + +Note: For most accurate results keep the sensor orientation and temperature the +same between measurements. + +Resources: +Uses Wire.h for I2C operation +Uses SPI.h for SPI operation +Included CircularBuffer class for averaging + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + +#include +#include "SparkFunBME280.h" +#include "CircularBuffer.h" + +#include "Wire.h" +#include "SPI.h" + +//Global sensor object +BME280 mySensor; +uint8_t buttonGroundPin = A0; +uint8_t buttonSensePin = A2; + +//This is a fixed-size buffer used for averaging data, a software LP filter +//Depending on the settings, the response can be quite slow. +CircularBuffer myBuffer(50); + +float reference = 0; + +void setup() +{ + //Configure the button IO + pinMode( buttonSensePin, INPUT_PULLUP ); + pinMode( buttonGroundPin, OUTPUT ); + digitalWrite( buttonGroundPin, 0 ); + + //***Driver settings********************************// + //commInterface can be I2C_MODE or SPI_MODE + //specify chipSelectPin using arduino pin names + //specify I2C address. Can be 0x77(default) or 0x76 + + //For I2C, enable the following and disable the SPI section + mySensor.settings.commInterface = I2C_MODE; + mySensor.settings.I2CAddress = 0x77; + + //For SPI enable the following and dissable the I2C section + //mySensor.settings.commInterface = SPI_MODE; + //mySensor.settings.chipSelectPin = 10; + + + //***Operation settings*****************************// + + //renMode can be: + // 0, Sleep mode + // 1 or 2, Forced mode + // 3, Normal mode + mySensor.settings.runMode = 3; //Normal mode + + //tStandby can be: + // 0, 0.5ms + // 1, 62.5ms + // 2, 125ms + // 3, 250ms + // 4, 500ms + // 5, 1000ms + // 6, 10ms + // 7, 20ms + mySensor.settings.tStandby = 0; + + //filter can be off or number of FIR coefficients to use: + // 0, filter off + // 1, coefficients = 2 + // 2, coefficients = 4 + // 3, coefficients = 8 + // 4, coefficients = 16 + mySensor.settings.filter = 4; //Lots of HW filter + + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.tempOverSample = 5; + + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.pressOverSample = 5; + + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.humidOverSample = 1; + + Serial.begin(57600); + Serial.print("Program Started\n"); + Serial.print("Starting BME280... result of .begin(): 0x"); + delay(10); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up. + //Calling .begin() causes the settings to be loaded + Serial.println(mySensor.begin(), HEX); + + Serial.println(); + +} + +void loop() +{ + //Get the local temperature! Do this for calibration + mySensor.readTempC(); + + //Check button. No debounce, so hold for operation + if( digitalRead( buttonSensePin ) == 0 ) + { + //Set reference altitude. + reference = mySensor.readFloatAltitudeFeet(); + } + + float lastAlt = mySensor.readFloatAltitudeFeet() - reference; + myBuffer.pushElement(lastAlt); + float tempAlt = myBuffer.averageLast(15); //Do an average of the latest samples + + Serial.println(); + Serial.print("Temperature: "); + Serial.print(mySensor.readTempC(), 2); + Serial.println(" degrees C"); + Serial.print("Last sample: "); + if(lastAlt >= 0) + { + Serial.print(" "); + } + Serial.print(lastAlt, 2); + Serial.println(" ft"); + Serial.print("Last 15 samples averaged: "); + if(tempAlt >= 0) + { + Serial.print(" "); + } + Serial.print(tempAlt); + Serial.println(" ft"); + delay(200); + +} diff --git a/lib/SparkFun_BME280/examples/I2C_ReadAllData/I2C_ReadAllData.ino b/lib/SparkFun_BME280/examples/I2C_ReadAllData/I2C_ReadAllData.ino new file mode 100644 index 00000000..791faa8a --- /dev/null +++ b/lib/SparkFun_BME280/examples/I2C_ReadAllData/I2C_ReadAllData.ino @@ -0,0 +1,214 @@ +/****************************************************************************** +I2C_ReadAllData.ino +BME280 Arduino and Teensy example +Marshall Taylor @ SparkFun Electronics +May 20, 2015 +https://github.com/sparkfun/SparkFun_BME280_Arduino_Library + +This sketch configures the BME280 to read all measurements. The sketch also +displays the BME280's physical memory and what the driver perceives the +calibration words to be. + +Resources: +Uses Wire.h for I2C operation +Uses SPI.h for SPI operation + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + +#include +#include "SparkFunBME280.h" +//Library allows either I2C or SPI, so include both. +#include "Wire.h" +#include "SPI.h" + +//Global sensor object +BME280 mySensor; + +void setup() +{ + //***Driver settings********************************// + //commInterface can be I2C_MODE or SPI_MODE + //specify chipSelectPin using arduino pin names + //specify I2C address. Can be 0x77(default) or 0x76 + + //For I2C, enable the following and disable the SPI section + mySensor.settings.commInterface = I2C_MODE; + mySensor.settings.I2CAddress = 0x77; + + //For SPI enable the following and dissable the I2C section + //mySensor.settings.commInterface = SPI_MODE; + //mySensor.settings.chipSelectPin = 10; + + + //***Operation settings*****************************// + + //renMode can be: + // 0, Sleep mode + // 1 or 2, Forced mode + // 3, Normal mode + mySensor.settings.runMode = 3; //Normal mode + + //tStandby can be: + // 0, 0.5ms + // 1, 62.5ms + // 2, 125ms + // 3, 250ms + // 4, 500ms + // 5, 1000ms + // 6, 10ms + // 7, 20ms + mySensor.settings.tStandby = 0; + + //filter can be off or number of FIR coefficients to use: + // 0, filter off + // 1, coefficients = 2 + // 2, coefficients = 4 + // 3, coefficients = 8 + // 4, coefficients = 16 + mySensor.settings.filter = 0; + + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.tempOverSample = 1; + + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.pressOverSample = 1; + + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.humidOverSample = 1; + + Serial.begin(57600); + Serial.print("Program Started\n"); + Serial.print("Starting BME280... result of .begin(): 0x"); + + //Calling .begin() causes the settings to be loaded + delay(10); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up. + Serial.println(mySensor.begin(), HEX); + + Serial.print("Displaying ID, reset and ctrl regs\n"); + + Serial.print("ID(0xD0): 0x"); + Serial.println(mySensor.readRegister(BME280_CHIP_ID_REG), HEX); + Serial.print("Reset register(0xE0): 0x"); + Serial.println(mySensor.readRegister(BME280_RST_REG), HEX); + Serial.print("ctrl_meas(0xF4): 0x"); + Serial.println(mySensor.readRegister(BME280_CTRL_MEAS_REG), HEX); + Serial.print("ctrl_hum(0xF2): 0x"); + Serial.println(mySensor.readRegister(BME280_CTRL_HUMIDITY_REG), HEX); + + Serial.print("\n\n"); + + Serial.print("Displaying all regs\n"); + uint8_t memCounter = 0x80; + uint8_t tempReadData; + for(int rowi = 8; rowi < 16; rowi++ ) + { + Serial.print("0x"); + Serial.print(rowi, HEX); + Serial.print("0:"); + for(int coli = 0; coli < 16; coli++ ) + { + tempReadData = mySensor.readRegister(memCounter); + Serial.print((tempReadData >> 4) & 0x0F, HEX);//Print first hex nibble + Serial.print(tempReadData & 0x0F, HEX);//Print second hex nibble + Serial.print(" "); + memCounter++; + } + Serial.print("\n"); + } + + + Serial.print("\n\n"); + + Serial.print("Displaying concatenated calibration words\n"); + Serial.print("dig_T1, uint16: "); + Serial.println(mySensor.calibration.dig_T1); + Serial.print("dig_T2, int16: "); + Serial.println(mySensor.calibration.dig_T2); + Serial.print("dig_T3, int16: "); + Serial.println(mySensor.calibration.dig_T3); + + Serial.print("dig_P1, uint16: "); + Serial.println(mySensor.calibration.dig_P1); + Serial.print("dig_P2, int16: "); + Serial.println(mySensor.calibration.dig_P2); + Serial.print("dig_P3, int16: "); + Serial.println(mySensor.calibration.dig_P3); + Serial.print("dig_P4, int16: "); + Serial.println(mySensor.calibration.dig_P4); + Serial.print("dig_P5, int16: "); + Serial.println(mySensor.calibration.dig_P5); + Serial.print("dig_P6, int16: "); + Serial.println(mySensor.calibration.dig_P6); + Serial.print("dig_P7, int16: "); + Serial.println(mySensor.calibration.dig_P7); + Serial.print("dig_P8, int16: "); + Serial.println(mySensor.calibration.dig_P8); + Serial.print("dig_P9, int16: "); + Serial.println(mySensor.calibration.dig_P9); + + Serial.print("dig_H1, uint8: "); + Serial.println(mySensor.calibration.dig_H1); + Serial.print("dig_H2, int16: "); + Serial.println(mySensor.calibration.dig_H2); + Serial.print("dig_H3, uint8: "); + Serial.println(mySensor.calibration.dig_H3); + Serial.print("dig_H4, int16: "); + Serial.println(mySensor.calibration.dig_H4); + Serial.print("dig_H5, int16: "); + Serial.println(mySensor.calibration.dig_H5); + Serial.print("dig_H6, uint8: "); + Serial.println(mySensor.calibration.dig_H6); + + Serial.println(); +} + +void loop() +{ + //Each loop, take a reading. + //Start with temperature, as that data is needed for accurate compensation. + //Reading the temperature updates the compensators of the other functions + //in the background. + + Serial.print("Temperature: "); + Serial.print(mySensor.readTempC(), 2); + Serial.println(" degrees C"); + + Serial.print("Temperature: "); + Serial.print(mySensor.readTempF(), 2); + Serial.println(" degrees F"); + + Serial.print("Pressure: "); + Serial.print(mySensor.readFloatPressure(), 2); + Serial.println(" Pa"); + + Serial.print("Altitude: "); + Serial.print(mySensor.readFloatAltitudeMeters(), 2); + Serial.println("m"); + + Serial.print("Altitude: "); + Serial.print(mySensor.readFloatAltitudeFeet(), 2); + Serial.println("ft"); + + Serial.print("%RH: "); + Serial.print(mySensor.readFloatHumidity(), 2); + Serial.println(" %"); + + Serial.println(); + + delay(1000); + +} diff --git a/lib/SparkFun_BME280/examples/I2C_and_SPI_Multisensor/I2C_and_SPI_Multisensor.ino b/lib/SparkFun_BME280/examples/I2C_and_SPI_Multisensor/I2C_and_SPI_Multisensor.ino new file mode 100644 index 00000000..30ca3f94 --- /dev/null +++ b/lib/SparkFun_BME280/examples/I2C_and_SPI_Multisensor/I2C_and_SPI_Multisensor.ino @@ -0,0 +1,147 @@ +/****************************************************************************** +I2C_and_SPI_Multisensor.ino +BME280 Arduino and Teensy example +Marshall Taylor @ SparkFun Electronics +May 20, 2015 +https://github.com/sparkfun/SparkFun_BME280_Arduino_Library + +This sketch configures two BME280 breakouts. One is configured as I2C and +the other as SPI. Data from both are displayed. + +Sensor A is I2C and connected through A4 and A5 (SDA/SCL) +Sensor B is SPI and connected through pins 10, 11, 12, and 13 through a +level shifter, with pin 10 being used for chip select. + +Resources: +Uses Wire.h for I2C operation +Uses SPI.h for SPI operation + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + +#include +#include "SparkFunBME280.h" + +#include "Wire.h" +#include "SPI.h" + +//Global sensor object +BME280 mySensorA; +BME280 mySensorB; + +void setup() +{ + //***Set up sensor 'A'******************************// + //commInterface can be I2C_MODE or SPI_MODE + mySensorA.settings.commInterface = I2C_MODE; + mySensorA.settings.I2CAddress = 0x77; + mySensorA.settings.runMode = 3; // 3, Normal mode + mySensorA.settings.tStandby = 0; // 0, 0.5ms + mySensorA.settings.filter = 0; // 0, filter off + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensorA.settings.tempOverSample = 1; + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensorA.settings.pressOverSample = 1; + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensorA.settings.humidOverSample = 1; + + + + + //***Set up sensor 'B'******************************// + //commInterface can be I2C_MODE or SPI_MODE + //specify chipSelectPin using arduino pin names + //specify I2C address. Can be 0x77(default) or 0x76 + mySensorB.settings.commInterface = SPI_MODE; + mySensorB.settings.chipSelectPin = 10; + mySensorB.settings.runMode = 3; // 3, Normal mode + mySensorB.settings.tStandby = 0; // 0, 0.5ms + mySensorB.settings.filter = 0; // 0, filter off + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensorB.settings.tempOverSample = 1; + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensorB.settings.pressOverSample = 1; + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensorB.settings.humidOverSample = 1; + + + + //***Initialize the things**************************// + Serial.begin(57600); + Serial.print("Program Started\n"); + Serial.println("Starting BME280s... result of .begin():"); + delay(10); //Make sure sensor had enough time to turn on. BME280 requires 2ms to start up. + //Calling .begin() causes the settings to be loaded + Serial.print("Sensor A: 0x"); + Serial.println(mySensorA.begin(), HEX); + Serial.print("Sensor B: 0x"); + Serial.println(mySensorB.begin(), HEX); + + +} + +void loop() +{ + //Start with temperature, as that data is needed for accurate compensation. + //Reading the temperature updates the compensators of the other functions + //in the background. + Serial.print("Temperature: "); + Serial.print(mySensorA.readTempC(), 2); + Serial.print(", "); + Serial.print(mySensorB.readTempC(), 2); + Serial.println(" degrees C"); + + Serial.print("Temperature: "); + Serial.print(mySensorA.readTempF(), 2); + Serial.print(", "); + Serial.print(mySensorB.readTempF(), 2); + Serial.println(" degrees F"); + + Serial.print("Pressure: "); + Serial.print(mySensorA.readFloatPressure(), 2); + Serial.print(", "); + Serial.print(mySensorB.readFloatPressure(), 2); + Serial.println(" Pa"); + + Serial.print("Altitude: "); + Serial.print(mySensorA.readFloatAltitudeMeters(), 2); + Serial.print(", "); + Serial.print(mySensorB.readFloatAltitudeMeters(), 2); + Serial.println("m"); + + Serial.print("Altitude: "); + Serial.print(mySensorA.readFloatAltitudeFeet(), 2); + Serial.print(", "); + Serial.print(mySensorB.readFloatAltitudeFeet(), 2); + Serial.println("ft"); + + Serial.print("%RH: "); + Serial.print(mySensorA.readFloatHumidity(), 2); + Serial.print(", "); + Serial.print(mySensorB.readFloatHumidity(), 2); + Serial.println(" %"); + + Serial.println(); + + delay(1000); + +} diff --git a/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.cpp b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.cpp new file mode 100644 index 00000000..13acf55b --- /dev/null +++ b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.cpp @@ -0,0 +1,104 @@ +#include "CircularBuffer.h" +#include + +//****************************************************************************// +// +// Circular buffer +// +//****************************************************************************// + +//Construct a CircularBuffer type with arguments +// uint16_t inputSize: number of elements +CircularBuffer::CircularBuffer(uint16_t inputSize) +{ + cBufferData = new float[inputSize]; + cBufferLastPtr = 0; + cBufferElementsUsed = 0; + cBufferSize = inputSize; + +} + +CircularBuffer::~CircularBuffer() +{ + delete[] cBufferData; + +} + +//Get an element at some depth into the circular buffer +//zero is the push location. Max is cBufferSize - 1 +// +//Arguments: +// uint16_t elementNum: number of element in +// +float CircularBuffer::getElement( uint16_t elementNum ) +{ + //Translate elementNum into terms of cBufferLastPtr. + int16_t virtualElementNum; + virtualElementNum = cBufferLastPtr - elementNum; + if( virtualElementNum < 0 ) + { + virtualElementNum += cBufferSize; + } + + //Output the value + return cBufferData[virtualElementNum]; +} + +//Put a new element into the buffer. +//This also expands the size up to the max size +//Arguments: +// +// int16_t elementVal: value of new element +// +void CircularBuffer::pushElement( float elementVal ) +{ + //inc. the pointer + cBufferLastPtr++; + + //deal with roll + if( cBufferLastPtr >= cBufferSize ) + { + cBufferLastPtr = 0; + } + + //write data + cBufferData[cBufferLastPtr] = elementVal; + + //increase length up to cBufferSize + if( cBufferElementsUsed < cBufferSize ) + { + cBufferElementsUsed++; + } +} + +//Averages the last n numbers and provides that. Discards fractions +float CircularBuffer::averageLast( uint16_t numElements ) +{ + if( numElements < recordLength() ) + { + numElements = recordLength(); + } + //Add up all the elements + float accumulator = 0; + int8_t i; + for( i = 0; i < numElements; i++ ) + { + accumulator += getElement( i ); + } + //Divide by number of elements + if( numElements != 0 ) + { + accumulator /= numElements; + } + else + { + accumulator = 0; + } + return accumulator; +} + +//Returns the current size of the buffer +uint16_t CircularBuffer::recordLength( void ) +{ + return cBufferElementsUsed; +} \ No newline at end of file diff --git a/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.h b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.h new file mode 100644 index 00000000..bc308402 --- /dev/null +++ b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/CircularBuffer.h @@ -0,0 +1,33 @@ +#ifndef CIRCULARBUFFER_H +#define CIRCULARBUFFER_H +#include + +//****************************************************************************// +// +// Circular Buffer +// +//****************************************************************************// + +//Class CircularBuffer is int16_t +//Does not care about over-running real data ( if request is outside length's bounds ). +//For example, the underlying machine writes [48], [49], [0], [1] ... + +class CircularBuffer +{ +public: + CircularBuffer( uint16_t inputSize ); + ~CircularBuffer(); + float getElement( uint16_t ); //zero is the push location + void pushElement( float ); + float averageLast( uint16_t ); + uint16_t recordLength( void ); +private: + uint16_t cBufferSize; + float *cBufferData; + int16_t cBufferLastPtr; + uint8_t cBufferElementsUsed; +}; + + + +#endif // CIRCULARBUFFER_H \ No newline at end of file diff --git a/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/LCD_DeltaAltitude.ino b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/LCD_DeltaAltitude.ino new file mode 100644 index 00000000..dc24a845 --- /dev/null +++ b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_DeltaAltitude/LCD_DeltaAltitude.ino @@ -0,0 +1,181 @@ +/****************************************************************************** +LCD_DeltaAltitude.ino +BME280 Arduino and Teensy example +Marshall Taylor @ SparkFun Electronics +Oct 19, 2015 +https://github.com/sparkfun/SparkFun_BME280_Arduino_Library + +This sketch configures a BME280 to measure height changes, with a button +to zero. + +Hardware connections: +BME280 -> Arduino +GND -> GND +3.3 -> 3.3 +SDA -> A4 +SCL -> A5 + +Button (Normally open) between A4 and A5. + +LCD: + * LCD RS pin to digital pin 7 + * LCD Enable pin to digital 6 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * LCD R/W pin to ground + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + +To use, run the sketch, then press and hold the button until the data on the +serial monitor shows zero. Then, move the sensor to a new altitude and watch +how the output changes! + +Note: For most accurate results keep the sensor orientation and temperature the +same between measurements. + +Resources: +Uses Wire.h for I2C operation +Uses SPI.h for SPI operation +Included CircularBuffer class for averaging + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + +#include +#include "SparkFunBME280.h" +#include "CircularBuffer.h" + +#include "Wire.h" +#include "SPI.h" +#include + +//Global sensor object +BME280 mySensor; +uint8_t buttonGroundPin = A0; +uint8_t buttonSensePin = A2; + +CircularBuffer myBuffer(50); +//int icounter = 0; +float reference = 0; + +LiquidCrystal lcd(7,6,5,4,3,2); + +void setup() +{ + //Configure the button IO + pinMode( buttonSensePin, INPUT_PULLUP ); + pinMode( buttonGroundPin, OUTPUT ); + digitalWrite( buttonGroundPin, 0 ); + + //***Driver settings********************************// + //commInterface can be I2C_MODE or SPI_MODE + //specify chipSelectPin using arduino pin names + //specify I2C address. Can be 0x77(default) or 0x76 + + //For I2C, enable the following and disable the SPI section + mySensor.settings.commInterface = I2C_MODE; + mySensor.settings.I2CAddress = 0x77; + + //For SPI enable the following and dissable the I2C section + //mySensor.settings.commInterface = SPI_MODE; + //mySensor.settings.chipSelectPin = 10; + + + //***Operation settings*****************************// + + //renMode can be: + // 0, Sleep mode + // 1 or 2, Forced mode + // 3, Normal mode + mySensor.settings.runMode = 3; //Forced mode + + //tStandby can be: + // 0, 0.5ms + // 1, 62.5ms + // 2, 125ms + // 3, 250ms + // 4, 500ms + // 5, 1000ms + // 6, 10ms + // 7, 20ms + mySensor.settings.tStandby = 0; + + //filter can be off or number of FIR coefficients to use: + // 0, filter off + // 1, coefficients = 2 + // 2, coefficients = 4 + // 3, coefficients = 8 + // 4, coefficients = 16 + mySensor.settings.filter = 4; + + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.tempOverSample = 5; + + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.pressOverSample = 5; + + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.humidOverSample = 0; + + Serial.begin(57600); + Serial.print("Program Started\n"); + Serial.print("Starting BME280... result of .begin(): 0x"); + //Calling .begin() causes the settings to be loaded + delay(10);//Needs > 2 ms to start up + Serial.println(mySensor.begin(), HEX); + + Serial.println(); + + lcd.begin(16, 2); + + lcd.clear(); + +} + +void loop() +{ + //Get the local temperature! Do this for calibration + mySensor.readTempC(); + + //Check button. No debounce, so hold for operation + if( digitalRead( buttonSensePin ) == 0 ) + { + //Set reference altitude. + reference = mySensor.readFloatAltitudeFeet(); + } + + float lastAlt = mySensor.readFloatAltitudeFeet() - reference; + myBuffer.pushElement(lastAlt); + float tempAlt = myBuffer.averageLast(8); //Do an average of the latest samples + + lcd.setCursor(0,0); + lcd.print("Altitude: "); + + myBuffer.pushElement(lastAlt); + + lcd.setCursor(0,1); + if(tempAlt >= 0) + { + lcd.print(" "); + } + lcd.print(tempAlt); + lcd.print(" ft "); + delay(200); + +} diff --git a/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_PressureTemperature/LCD_PressureTemperature.ino b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_PressureTemperature/LCD_PressureTemperature.ino new file mode 100644 index 00000000..4f7449bb --- /dev/null +++ b/lib/SparkFun_BME280/examples/SketchesWithLCD/LCD_PressureTemperature/LCD_PressureTemperature.ino @@ -0,0 +1,230 @@ +/*BME280 Arduino and Teensy example +Marshall Taylor @ SparkFun Electronics +Oct 19, 2015 +https://github.com/sparkfun/SparkFun_BME280_Arduino_Library + +This sketch displays the pressure in pascals and temperature +in fahrenheit. + +Resources: +Uses Wire.h for I2C operation +Uses SPI.h for SPI operation + +Hardware connections: +BME280 -> Arduino +GND -> GND +3.3 -> 3.3 +SDA -> A4 +SCL -> A5 + +LCD: + * LCD RS pin to digital pin 7 + * LCD Enable pin to digital 6 + * LCD D4 pin to digital pin 5 + * LCD D5 pin to digital pin 4 + * LCD D6 pin to digital pin 3 + * LCD D7 pin to digital pin 2 + * LCD R/W pin to ground + * 10K resistor: + * ends to +5V and ground + * wiper to LCD VO pin (pin 3) + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + + +// Load the LiquidCrystal library, which will give us +// commands to interface to the LCD: + +#include + +// Initialize the library with the pins we're using. +// (Note that you can use different pins if needed.) +// See http://arduino.cc/en/Reference/LiquidCrystal +// for more information: + + +#include +#include "SparkFunBME280.h" +//Library allows either I2C or SPI, so include both. +#include "Wire.h" +#include "SPI.h" + +//Global sensor object +BME280 mySensor; + +LiquidCrystal lcd(7,6,5,4,3,2); + +void setup() +{ + lcd.begin(16, 2); + lcd.clear(); + + //***Driver settings********************************// + //commInterface can be I2C_MODE or SPI_MODE + //specify chipSelectPin using arduino pin names + //specify I2C address. Can be 0x77(default) or 0x76 + + //For I2C, enable the following and disable the SPI section + mySensor.settings.commInterface = I2C_MODE; + mySensor.settings.I2CAddress = 0x77; + + //For SPI enable the following and dissable the I2C section + //mySensor.settings.commInterface = SPI_MODE; + //mySensor.settings.chipSelectPin = 10; + + + //***Operation settings*****************************// + + //renMode can be: + // 0, Sleep mode + // 1 or 2, Forced mode + // 3, Normal mode + mySensor.settings.runMode = 3; //Forced mode + + //tStandby can be: + // 0, 0.5ms + // 1, 62.5ms + // 2, 125ms + // 3, 250ms + // 4, 500ms + // 5, 1000ms + // 6, 10ms + // 7, 20ms + mySensor.settings.tStandby = 0; + + //filter can be off or number of FIR coefficients to use: + // 0, filter off + // 1, coefficients = 2 + // 2, coefficients = 4 + // 3, coefficients = 8 + // 4, coefficients = 16 + mySensor.settings.filter = 0; + + //tempOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.tempOverSample = 1; + + //pressOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.pressOverSample = 1; + + //humidOverSample can be: + // 0, skipped + // 1 through 5, oversampling *1, *2, *4, *8, *16 respectively + mySensor.settings.humidOverSample = 1; + + Serial.begin(57600); + Serial.print("Program Started\n"); + Serial.print("Starting BME280... result of .begin(): 0x"); + + //Calling .begin() causes the settings to be loaded + Serial.println(mySensor.begin(), HEX); + delay(10); //Use delay if reading directly after .begin is called. BME280 requires 2ms to start up. + + Serial.print("Displaying ID, reset and ctrl regs\n"); + + Serial.print("ID(0xD0): 0x"); + Serial.println(mySensor.readRegister(BME280_CHIP_ID_REG), HEX); + Serial.print("Reset register(0xE0): 0x"); + Serial.println(mySensor.readRegister(BME280_RST_REG), HEX); + Serial.print("ctrl_meas(0xF4): 0x"); + Serial.println(mySensor.readRegister(BME280_CTRL_MEAS_REG), HEX); + Serial.print("ctrl_hum(0xF2): 0x"); + Serial.println(mySensor.readRegister(BME280_CTRL_HUMIDITY_REG), HEX); + + Serial.print("\n\n"); + + Serial.print("Displaying all regs\n"); + uint8_t memCounter = 0x80; + uint8_t tempReadData; + for(int rowi = 8; rowi < 16; rowi++ ) + { + Serial.print("0x"); + Serial.print(rowi, HEX); + Serial.print("0:"); + for(int coli = 0; coli < 16; coli++ ) + { + tempReadData = mySensor.readRegister(memCounter); + Serial.print((tempReadData >> 4) & 0x0F, HEX);//Print first hex nibble + Serial.print(tempReadData & 0x0F, HEX);//Print second hex nibble + Serial.print(" "); + memCounter++; + } + Serial.print("\n"); + } + + + Serial.print("\n\n"); + + Serial.print("Displaying concatenated calibration words\n"); + Serial.print("dig_T1, uint16: "); + Serial.println(mySensor.calibration.dig_T1); + Serial.print("dig_T2, int16: "); + Serial.println(mySensor.calibration.dig_T2); + Serial.print("dig_T3, int16: "); + Serial.println(mySensor.calibration.dig_T3); + + Serial.print("dig_P1, uint16: "); + Serial.println(mySensor.calibration.dig_P1); + Serial.print("dig_P2, int16: "); + Serial.println(mySensor.calibration.dig_P2); + Serial.print("dig_P3, int16: "); + Serial.println(mySensor.calibration.dig_P3); + Serial.print("dig_P4, int16: "); + Serial.println(mySensor.calibration.dig_P4); + Serial.print("dig_P5, int16: "); + Serial.println(mySensor.calibration.dig_P5); + Serial.print("dig_P6, int16: "); + Serial.println(mySensor.calibration.dig_P6); + Serial.print("dig_P7, int16: "); + Serial.println(mySensor.calibration.dig_P7); + Serial.print("dig_P8, int16: "); + Serial.println(mySensor.calibration.dig_P8); + Serial.print("dig_P9, int16: "); + Serial.println(mySensor.calibration.dig_P9); + + Serial.print("dig_H1, uint8: "); + Serial.println(mySensor.calibration.dig_H1); + Serial.print("dig_H2, int16: "); + Serial.println(mySensor.calibration.dig_H2); + Serial.print("dig_H3, uint8: "); + Serial.println(mySensor.calibration.dig_H3); + Serial.print("dig_H4, int16: "); + Serial.println(mySensor.calibration.dig_H4); + Serial.print("dig_H5, int16: "); + Serial.println(mySensor.calibration.dig_H5); + Serial.print("dig_H6, uint8: "); + Serial.println(mySensor.calibration.dig_H6); + + Serial.println(); +} + +void loop() +{ + //Get the local temperature! Do this for calibration + mySensor.readTempC(); + + lcd.setCursor(0,0); + lcd.print("Press: "); + lcd.print((uint32_t)mySensor.readFloatPressure()); + lcd.print(" Pa"); + + lcd.setCursor(0,1); + lcd.print("Humid: "); + lcd.print((uint8_t)mySensor.readFloatHumidity()); + lcd.print(" %"); + + + delay(1000); + +} diff --git a/lib/SparkFun_BME280/keywords.txt b/lib/SparkFun_BME280/keywords.txt new file mode 100644 index 00000000..881dc6eb --- /dev/null +++ b/lib/SparkFun_BME280/keywords.txt @@ -0,0 +1,77 @@ +######################################################## +# Syntax Coloring Map for SparkFun LSM6DS3 IMU Library # +######################################################## +# Class +################################################################### + +BME280 KEYWORD1 + +################################################################### +# Methods and Functions +################################################################### + +begin KEYWORD2 +reset KEYWORD2 +readFloatPressure KEYWORD2 +readFloatAltitudeMeters KEYWORD2 +readFloatAltitudeFeet KEYWORD2 +readFloatHumidity KEYWORD2 +readTempC KEYWORD2 +readTempF KEYWORD2 +readRegisterRegion KEYWORD2 +readRegister KEYWORD2 +readRegisterInt16 KEYWORD2 +writeRegister KEYWORD2 + +################################################################### +# Constants +################################################################### + +I2C_MODE LITERAL1 +SPI_MODE LITERAL1 +BME280_DIG_T1_LSB_REG LITERAL1 +BME280_DIG_T1_MSB_REG LITERAL1 +BME280_DIG_T2_LSB_REG LITERAL1 +BME280_DIG_T2_MSB_REG LITERAL1 +BME280_DIG_T3_LSB_REG LITERAL1 +BME280_DIG_T3_MSB_REG LITERAL1 +BME280_DIG_P1_LSB_REG LITERAL1 +BME280_DIG_P1_MSB_REG LITERAL1 +BME280_DIG_P2_LSB_REG LITERAL1 +BME280_DIG_P2_MSB_REG LITERAL1 +BME280_DIG_P3_LSB_REG LITERAL1 +BME280_DIG_P3_MSB_REG LITERAL1 +BME280_DIG_P4_LSB_REG LITERAL1 +BME280_DIG_P4_MSB_REG LITERAL1 +BME280_DIG_P5_LSB_REG LITERAL1 +BME280_DIG_P5_MSB_REG LITERAL1 +BME280_DIG_P6_LSB_REG LITERAL1 +BME280_DIG_P6_MSB_REG LITERAL1 +BME280_DIG_P7_LSB_REG LITERAL1 +BME280_DIG_P7_MSB_REG LITERAL1 +BME280_DIG_P8_LSB_REG LITERAL1 +BME280_DIG_P8_MSB_REG LITERAL1 +BME280_DIG_P9_LSB_REG LITERAL1 +BME280_DIG_P9_MSB_REG LITERAL1 +BME280_DIG_H1_REG LITERAL1 +BME280_CHIP_ID_REG LITERAL1 +BME280_RST_REG LITERAL1 +BME280_DIG_H2_LSB_REG LITERAL1 +BME280_DIG_H2_MSB_REG LITERAL1 +BME280_DIG_H3_REG LITERAL1 +BME280_DIG_H4_MSB_REG LITERAL1 +BME280_DIG_H4_LSB_REG LITERAL1 +BME280_DIG_H5_MSB_REG LITERAL1 +BME280_DIG_H6_REG LITERAL1 +BME280_CTRL_HUMIDITY_REG LITERAL1 +BME280_STAT_REG LITERAL1 +BME280_CTRL_MEAS_REG LITERAL1 +BME280_CONFIG_REG LITERAL1 +BME280_PRESSURE_MSB_REG LITERAL1 +BME280_PRESSURE_LSB_REG LITERAL1 +BME280_PRESSURE_XLSB_REG LITERAL1 +BME280_TEMPERATURE_MSB_REG LITERAL1 +BME280_TEMPERATURE_LSB_REG LITERAL1 +BME280_TEMPERATURE_XLSB_REG LITERAL1 +BME280_HUMIDITY_MSB_REG LITERAL1 +BME280_HUMIDITY_LSB_REG LITERAL1 diff --git a/lib/SparkFun_BME280/library.properties b/lib/SparkFun_BME280/library.properties new file mode 100644 index 00000000..12516623 --- /dev/null +++ b/lib/SparkFun_BME280/library.properties @@ -0,0 +1,9 @@ +name=SparkFun BME280 +version=1.2.0 +author=Marshall Taylor +maintainer=SparkFun Electronics +sentence=A library to drive the Bosch BME280 Altimeter and Pressure sensor +paragraph=See code for comments. +category=Sensors +url=https://github.com/sparkfun/SparkFun_BME280_Arduino_Library +architectures=* \ No newline at end of file diff --git a/lib/SparkFun_BME280/readme_picture.jpg b/lib/SparkFun_BME280/readme_picture.jpg new file mode 100644 index 0000000000000000000000000000000000000000..451faaa3557b35afa910379a689a3331ea9d4842 GIT binary patch literal 26630 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

        JMFxT7+;-E7u4$P8|oV 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 +#include + +#include "Wire.h" +#include "SPI.h" + +//****************************************************************************// +// +// Settings and configuration +// +//****************************************************************************// + +//Constructor -- Specifies default configuration +BME280::BME280( void ) +{ + //Construct with these default settings if nothing is specified + + //Select interface mode + settings.commInterface = I2C_MODE; //Can be I2C_MODE, SPI_MODE + //Select address for I2C. Does nothing for SPI + settings.I2CAddress = 0x77; //Ignored for SPI_MODE + //Select CS pin for SPI. Does nothing for I2C + settings.chipSelectPin = 10; + settings.runMode = 0; + settings.tempOverSample = 0; + settings.pressOverSample = 0; + settings.humidOverSample = 0; + +} + + +//****************************************************************************// +// +// Configuration section +// +// This uses the stored SensorSettings to start the IMU +// Use statements such as "mySensor.settings.commInterface = SPI_MODE;" to +// configure before calling .begin(); +// +//****************************************************************************// +uint8_t BME280::begin() +{ + //Check the settings structure values to determine how to setup the device + uint8_t dataToWrite = 0; //Temporary variable + switch (settings.commInterface) + { + + case I2C_MODE: + Wire.begin(); + break; + + case SPI_MODE: + // start the SPI library: + SPI.begin(); + #ifdef ARDUINO_ARCH_ESP32 + SPI.setFrequency(1000000); + // Data is read and written MSb first. + SPI.setBitOrder(SPI_MSBFIRST); + // Like the standard arduino/teensy comment below, mode0 seems wrong according to standards + // but conforms to the timing diagrams when used for the ESP32 + SPI.setDataMode(SPI_MODE0); + #else + // Maximum SPI frequency is 10MHz, could divide by 2 here: + SPI.setClockDivider(SPI_CLOCK_DIV32); + // Data is read and written MSb first. + SPI.setBitOrder(MSBFIRST); + // Data is captured on rising edge of clock (CPHA = 0) + // Base value of the clock is HIGH (CPOL = 1) + // This was SPI_MODE3 for RedBoard, but I had to change to + // MODE0 for Teensy 3.1 operation + SPI.setDataMode(SPI_MODE3); + #endif + // initalize the data ready and chip select pins: + pinMode(settings.chipSelectPin, OUTPUT); + digitalWrite(settings.chipSelectPin, HIGH); + break; + + default: + break; + } + + //Reading all compensation data, range 0x88:A1, 0xE1:E7 + + calibration.dig_T1 = ((uint16_t)((readRegister(BME280_DIG_T1_MSB_REG) << 8) + readRegister(BME280_DIG_T1_LSB_REG))); + calibration.dig_T2 = ((int16_t)((readRegister(BME280_DIG_T2_MSB_REG) << 8) + readRegister(BME280_DIG_T2_LSB_REG))); + calibration.dig_T3 = ((int16_t)((readRegister(BME280_DIG_T3_MSB_REG) << 8) + readRegister(BME280_DIG_T3_LSB_REG))); + + calibration.dig_P1 = ((uint16_t)((readRegister(BME280_DIG_P1_MSB_REG) << 8) + readRegister(BME280_DIG_P1_LSB_REG))); + calibration.dig_P2 = ((int16_t)((readRegister(BME280_DIG_P2_MSB_REG) << 8) + readRegister(BME280_DIG_P2_LSB_REG))); + calibration.dig_P3 = ((int16_t)((readRegister(BME280_DIG_P3_MSB_REG) << 8) + readRegister(BME280_DIG_P3_LSB_REG))); + calibration.dig_P4 = ((int16_t)((readRegister(BME280_DIG_P4_MSB_REG) << 8) + readRegister(BME280_DIG_P4_LSB_REG))); + calibration.dig_P5 = ((int16_t)((readRegister(BME280_DIG_P5_MSB_REG) << 8) + readRegister(BME280_DIG_P5_LSB_REG))); + calibration.dig_P6 = ((int16_t)((readRegister(BME280_DIG_P6_MSB_REG) << 8) + readRegister(BME280_DIG_P6_LSB_REG))); + calibration.dig_P7 = ((int16_t)((readRegister(BME280_DIG_P7_MSB_REG) << 8) + readRegister(BME280_DIG_P7_LSB_REG))); + calibration.dig_P8 = ((int16_t)((readRegister(BME280_DIG_P8_MSB_REG) << 8) + readRegister(BME280_DIG_P8_LSB_REG))); + calibration.dig_P9 = ((int16_t)((readRegister(BME280_DIG_P9_MSB_REG) << 8) + readRegister(BME280_DIG_P9_LSB_REG))); + + calibration.dig_H1 = ((uint8_t)(readRegister(BME280_DIG_H1_REG))); + calibration.dig_H2 = ((int16_t)((readRegister(BME280_DIG_H2_MSB_REG) << 8) + readRegister(BME280_DIG_H2_LSB_REG))); + calibration.dig_H3 = ((uint8_t)(readRegister(BME280_DIG_H3_REG))); + calibration.dig_H4 = ((int16_t)((readRegister(BME280_DIG_H4_MSB_REG) << 4) + (readRegister(BME280_DIG_H4_LSB_REG) & 0x0F))); + calibration.dig_H5 = ((int16_t)((readRegister(BME280_DIG_H5_MSB_REG) << 4) + ((readRegister(BME280_DIG_H4_LSB_REG) >> 4) & 0x0F))); + calibration.dig_H6 = ((uint8_t)readRegister(BME280_DIG_H6_REG)); + + //Set the oversampling control words. + //config will only be writeable in sleep mode, so first insure that. + writeRegister(BME280_CTRL_MEAS_REG, 0x00); + + //Set the config word + dataToWrite = (settings.tStandby << 0x5) & 0xE0; + dataToWrite |= (settings.filter << 0x02) & 0x1C; + writeRegister(BME280_CONFIG_REG, dataToWrite); + + //Set ctrl_hum first, then ctrl_meas to activate ctrl_hum + dataToWrite = settings.humidOverSample & 0x07; //all other bits can be ignored + writeRegister(BME280_CTRL_HUMIDITY_REG, dataToWrite); + + //set ctrl_meas + //First, set temp oversampling + dataToWrite = (settings.tempOverSample << 0x5) & 0xE0; + //Next, pressure oversampling + dataToWrite |= (settings.pressOverSample << 0x02) & 0x1C; + //Last, set mode + dataToWrite |= (settings.runMode) & 0x03; + //Load the byte + writeRegister(BME280_CTRL_MEAS_REG, dataToWrite); + + return readRegister(0xD0); +} + +//Strictly resets. Run .begin() afterwards +void BME280::reset( void ) +{ + writeRegister(BME280_RST_REG, 0xB6); + +} + +//****************************************************************************// +// +// Pressure Section +// +//****************************************************************************// +float BME280::readFloatPressure( void ) +{ + + // Returns pressure in Pa as unsigned 32 bit integer in Q24.8 format (24 integer bits and 8 fractional bits). + // Output value of “24674867” represents 24674867/256 = 96386.2 Pa = 963.862 hPa + int32_t adc_P = ((uint32_t)readRegister(BME280_PRESSURE_MSB_REG) << 12) | ((uint32_t)readRegister(BME280_PRESSURE_LSB_REG) << 4) | ((readRegister(BME280_PRESSURE_XLSB_REG) >> 4) & 0x0F); + + int64_t var1, var2, p_acc; + var1 = ((int64_t)t_fine) - 128000; + var2 = var1 * var1 * (int64_t)calibration.dig_P6; + var2 = var2 + ((var1 * (int64_t)calibration.dig_P5)<<17); + var2 = var2 + (((int64_t)calibration.dig_P4)<<35); + var1 = ((var1 * var1 * (int64_t)calibration.dig_P3)>>8) + ((var1 * (int64_t)calibration.dig_P2)<<12); + var1 = (((((int64_t)1)<<47)+var1))*((int64_t)calibration.dig_P1)>>33; + if (var1 == 0) + { + return 0; // avoid exception caused by division by zero + } + p_acc = 1048576 - adc_P; + p_acc = (((p_acc<<31) - var2)*3125)/var1; + var1 = (((int64_t)calibration.dig_P9) * (p_acc>>13) * (p_acc>>13)) >> 25; + var2 = (((int64_t)calibration.dig_P8) * p_acc) >> 19; + p_acc = ((p_acc + var1 + var2) >> 8) + (((int64_t)calibration.dig_P7)<<4); + + return (float)p_acc / 256.0; + +} + +float BME280::readFloatAltitudeMeters( void ) +{ + float heightOutput = 0; + + heightOutput = ((float)-45846.2)*(pow(((float)readFloatPressure()/(float)101325), 0.190263) - (float)1); + return heightOutput; + +} + +float BME280::readFloatAltitudeFeet( void ) +{ + float heightOutput = 0; + + heightOutput = readFloatAltitudeMeters() * 3.28084; + return heightOutput; + +} + +//****************************************************************************// +// +// Humidity Section +// +//****************************************************************************// +float BME280::readFloatHumidity( void ) +{ + + // Returns humidity in %RH as unsigned 32 bit integer in Q22. 10 format (22 integer and 10 fractional bits). + // Output value of “47445” represents 47445/1024 = 46. 333 %RH + int32_t adc_H = ((uint32_t)readRegister(BME280_HUMIDITY_MSB_REG) << 8) | ((uint32_t)readRegister(BME280_HUMIDITY_LSB_REG)); + + int32_t var1; + var1 = (t_fine - ((int32_t)76800)); + var1 = (((((adc_H << 14) - (((int32_t)calibration.dig_H4) << 20) - (((int32_t)calibration.dig_H5) * var1)) + + ((int32_t)16384)) >> 15) * (((((((var1 * ((int32_t)calibration.dig_H6)) >> 10) * (((var1 * ((int32_t)calibration.dig_H3)) >> 11) + ((int32_t)32768))) >> 10) + ((int32_t)2097152)) * + ((int32_t)calibration.dig_H2) + 8192) >> 14)); + var1 = (var1 - (((((var1 >> 15) * (var1 >> 15)) >> 7) * ((int32_t)calibration.dig_H1)) >> 4)); + var1 = (var1 < 0 ? 0 : var1); + var1 = (var1 > 419430400 ? 419430400 : var1); + + return (float)(var1>>12) / 1024.0; + +} + + + +//****************************************************************************// +// +// Temperature Section +// +//****************************************************************************// + +float BME280::readTempC( void ) +{ + // Returns temperature in DegC, resolution is 0.01 DegC. Output value of “5123” equals 51.23 DegC. + // t_fine carries fine temperature as global value + + //get the reading (adc_T); + int32_t adc_T = ((uint32_t)readRegister(BME280_TEMPERATURE_MSB_REG) << 12) | ((uint32_t)readRegister(BME280_TEMPERATURE_LSB_REG) << 4) | ((readRegister(BME280_TEMPERATURE_XLSB_REG) >> 4) & 0x0F); + + //By datasheet, calibrate + int64_t var1, var2; + + var1 = ((((adc_T>>3) - ((int32_t)calibration.dig_T1<<1))) * ((int32_t)calibration.dig_T2)) >> 11; + var2 = (((((adc_T>>4) - ((int32_t)calibration.dig_T1)) * ((adc_T>>4) - ((int32_t)calibration.dig_T1))) >> 12) * + ((int32_t)calibration.dig_T3)) >> 14; + t_fine = var1 + var2; + float output = (t_fine * 5 + 128) >> 8; + + output = output / 100; + + return output; +} + +float BME280::readTempF( void ) +{ + float output = readTempC(); + output = (output * 9) / 5 + 32; + + return output; +} + +//****************************************************************************// +// +// Utility +// +//****************************************************************************// +void BME280::readRegisterRegion(uint8_t *outputPointer , uint8_t offset, uint8_t length) +{ + //define pointer that will point to the external space + uint8_t i = 0; + char c = 0; + + switch (settings.commInterface) + { + + case I2C_MODE: + Wire.beginTransmission(settings.I2CAddress); + Wire.write(offset); + Wire.endTransmission(); + + // request bytes from slave device + Wire.requestFrom(settings.I2CAddress, length); + while ( (Wire.available()) && (i < length)) // slave may send less than requested + { + c = Wire.read(); // receive a byte as character + *outputPointer = c; + outputPointer++; + i++; + } + break; + + case SPI_MODE: + // take the chip select low to select the device: + digitalWrite(settings.chipSelectPin, LOW); + // send the device the register you want to read: + SPI.transfer(offset | 0x80); //Ored with "read request" bit + while ( i < length ) // slave may send less than requested + { + c = SPI.transfer(0x00); // receive a byte as character + *outputPointer = c; + outputPointer++; + i++; + } + // take the chip select high to de-select: + digitalWrite(settings.chipSelectPin, HIGH); + break; + + default: + break; + } + +} + +uint8_t BME280::readRegister(uint8_t offset) +{ + //Return value + uint8_t result; + uint8_t numBytes = 1; + switch (settings.commInterface) { + + case I2C_MODE: + Wire.beginTransmission(settings.I2CAddress); + Wire.write(offset); + Wire.endTransmission(); + + Wire.requestFrom(settings.I2CAddress, numBytes); + while ( Wire.available() ) // slave may send less than requested + { + result = Wire.read(); // receive a byte as a proper uint8_t + } + break; + + case SPI_MODE: + // take the chip select low to select the device: + digitalWrite(settings.chipSelectPin, LOW); + // send the device the register you want to read: + SPI.transfer(offset | 0x80); //Ored with "read request" bit + // send a value of 0 to read the first byte returned: + result = SPI.transfer(0x00); + // take the chip select high to de-select: + digitalWrite(settings.chipSelectPin, HIGH); + break; + + default: + break; + } + return result; +} + +int16_t BME280::readRegisterInt16( uint8_t offset ) +{ + uint8_t myBuffer[2]; + readRegisterRegion(myBuffer, offset, 2); //Does memory transfer + int16_t output = (int16_t)myBuffer[0] | int16_t(myBuffer[1] << 8); + + return output; +} + +void BME280::writeRegister(uint8_t offset, uint8_t dataToWrite) +{ + switch (settings.commInterface) + { + case I2C_MODE: + //Write the byte + Wire.beginTransmission(settings.I2CAddress); + Wire.write(offset); + Wire.write(dataToWrite); + Wire.endTransmission(); + break; + + case SPI_MODE: + // take the chip select low to select the device: + digitalWrite(settings.chipSelectPin, LOW); + // send the device the register you want to read: + SPI.transfer(offset & 0x7F); + // send a value of 0 to read the first byte returned: + SPI.transfer(dataToWrite); + // decrement the number of bytes left to read: + // take the chip select high to de-select: + digitalWrite(settings.chipSelectPin, HIGH); + break; + + default: + break; + } +} diff --git a/lib/SparkFun_BME280/src/SparkFunBME280.h b/lib/SparkFun_BME280/src/SparkFunBME280.h new file mode 100644 index 00000000..f1a53d16 --- /dev/null +++ b/lib/SparkFun_BME280/src/SparkFunBME280.h @@ -0,0 +1,186 @@ +/****************************************************************************** +SparkFunBME280.h +BME280 Arduino and Teensy Driver +Marshall Taylor @ SparkFun Electronics +May 20, 2015 +https://github.com/sparkfun/BME280_Breakout + +Resources: +Uses Wire.h for i2c operation +Uses SPI.h for SPI operation + +Development environment specifics: +Arduino IDE 1.6.4 +Teensy loader 1.23 + +This code is released under the [MIT License](http://opensource.org/licenses/MIT). +Please review the LICENSE.md file included with this example. If you have any questions +or concerns with licensing, please contact techsupport@sparkfun.com. +Distributed as-is; no warranty is given. +******************************************************************************/ + +// Test derived class for base class SparkFunIMU +#ifndef __BME280_H__ +#define __BME280_H__ + +#include "stdint.h" + +#define I2C_MODE 0 +#define SPI_MODE 1 + +//Register names: +#define BME280_DIG_T1_LSB_REG 0x88 +#define BME280_DIG_T1_MSB_REG 0x89 +#define BME280_DIG_T2_LSB_REG 0x8A +#define BME280_DIG_T2_MSB_REG 0x8B +#define BME280_DIG_T3_LSB_REG 0x8C +#define BME280_DIG_T3_MSB_REG 0x8D +#define BME280_DIG_P1_LSB_REG 0x8E +#define BME280_DIG_P1_MSB_REG 0x8F +#define BME280_DIG_P2_LSB_REG 0x90 +#define BME280_DIG_P2_MSB_REG 0x91 +#define BME280_DIG_P3_LSB_REG 0x92 +#define BME280_DIG_P3_MSB_REG 0x93 +#define BME280_DIG_P4_LSB_REG 0x94 +#define BME280_DIG_P4_MSB_REG 0x95 +#define BME280_DIG_P5_LSB_REG 0x96 +#define BME280_DIG_P5_MSB_REG 0x97 +#define BME280_DIG_P6_LSB_REG 0x98 +#define BME280_DIG_P6_MSB_REG 0x99 +#define BME280_DIG_P7_LSB_REG 0x9A +#define BME280_DIG_P7_MSB_REG 0x9B +#define BME280_DIG_P8_LSB_REG 0x9C +#define BME280_DIG_P8_MSB_REG 0x9D +#define BME280_DIG_P9_LSB_REG 0x9E +#define BME280_DIG_P9_MSB_REG 0x9F +#define BME280_DIG_H1_REG 0xA1 +#define BME280_CHIP_ID_REG 0xD0 //Chip ID +#define BME280_RST_REG 0xE0 //Softreset Reg +#define BME280_DIG_H2_LSB_REG 0xE1 +#define BME280_DIG_H2_MSB_REG 0xE2 +#define BME280_DIG_H3_REG 0xE3 +#define BME280_DIG_H4_MSB_REG 0xE4 +#define BME280_DIG_H4_LSB_REG 0xE5 +#define BME280_DIG_H5_MSB_REG 0xE6 +#define BME280_DIG_H6_REG 0xE7 +#define BME280_CTRL_HUMIDITY_REG 0xF2 //Ctrl Humidity Reg +#define BME280_STAT_REG 0xF3 //Status Reg +#define BME280_CTRL_MEAS_REG 0xF4 //Ctrl Measure Reg +#define BME280_CONFIG_REG 0xF5 //Configuration Reg +#define BME280_PRESSURE_MSB_REG 0xF7 //Pressure MSB +#define BME280_PRESSURE_LSB_REG 0xF8 //Pressure LSB +#define BME280_PRESSURE_XLSB_REG 0xF9 //Pressure XLSB +#define BME280_TEMPERATURE_MSB_REG 0xFA //Temperature MSB +#define BME280_TEMPERATURE_LSB_REG 0xFB //Temperature LSB +#define BME280_TEMPERATURE_XLSB_REG 0xFC //Temperature XLSB +#define BME280_HUMIDITY_MSB_REG 0xFD //Humidity MSB +#define BME280_HUMIDITY_LSB_REG 0xFE //Humidity LSB + + +//Class SensorSettings. This object is used to hold settings data. The application +//uses this classes' data directly. The settings are adopted and sent to the sensor +//at special times, such as .begin. Some are used for doing math. +// +//This is a kind of bloated way to do this. The trade-off is that the user doesn't +//need to deal with #defines or enums with bizarre names. +// +//A power user would strip out SensorSettings entirely, and send specific read and +//write command directly to the IC. (ST #defines below) +// +struct SensorSettings +{ + public: + + //Main Interface and mode settings + uint8_t commInterface; + uint8_t I2CAddress; + uint8_t chipSelectPin; + + uint8_t runMode; + uint8_t tStandby; + uint8_t filter; + uint8_t tempOverSample; + uint8_t pressOverSample; + uint8_t humidOverSample; + +}; + +//Used to hold the calibration constants. These are used +//by the driver as measurements are being taking +struct SensorCalibration +{ + public: + uint16_t dig_T1; + int16_t dig_T2; + int16_t dig_T3; + + uint16_t dig_P1; + int16_t dig_P2; + int16_t dig_P3; + int16_t dig_P4; + int16_t dig_P5; + int16_t dig_P6; + int16_t dig_P7; + int16_t dig_P8; + int16_t dig_P9; + + uint8_t dig_H1; + int16_t dig_H2; + uint8_t dig_H3; + int16_t dig_H4; + int16_t dig_H5; + uint8_t dig_H6; + +}; + +//This is the man operational class of the driver. + +class BME280 +{ + public: + //settings + SensorSettings settings; + SensorCalibration calibration; + int32_t t_fine; + + //Constructor generates default SensorSettings. + //(over-ride after construction if desired) + BME280( void ); + //~BME280() = default; + + //Call to apply SensorSettings. + //This also gets the SensorCalibration constants + uint8_t begin( void ); + + //Software reset routine + void reset( void ); + + //Returns the values as floats. + float readFloatPressure( void ); + float readFloatAltitudeMeters( void ); + float readFloatAltitudeFeet( void ); + + float readFloatHumidity( void ); + + //Temperature related methods + float readTempC( void ); + float readTempF( void ); + + //The following utilities read and write + + //ReadRegisterRegion takes a uint8 array address as input and reads + //a chunk of memory into that array. + void readRegisterRegion(uint8_t*, uint8_t, uint8_t ); + //readRegister reads one register + uint8_t readRegister(uint8_t); + //Reads two regs, LSByte then MSByte order, and concatenates them + //Used for two-byte reads + int16_t readRegisterInt16( uint8_t offset ); + //Writes a byte; + void writeRegister(uint8_t, uint8_t); + +}; + + + +#endif // End of __BME280_H__ definition check diff --git a/lib/WiFiManager/.travis.yml b/lib/WiFiManager/.travis.yml new file mode 100644 index 00000000..64fb578e --- /dev/null +++ b/lib/WiFiManager/.travis.yml @@ -0,0 +1,35 @@ +language: c +before_install: + - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16" + - sleep 3 + - export DISPLAY=:1.0 + - wget http://downloads.arduino.cc/arduino-1.6.5-linux64.tar.xz + - tar xf arduino-1.6.5-linux64.tar.xz + - sudo mv arduino-1.6.5 /usr/local/share/arduino + - sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino +install: + - ln -s $PWD /usr/local/share/arduino/libraries/WiFiManager +# boards manager not working on 1.6.7 - 1.6.8 + - arduino --pref "boardsmanager.additional.urls=http://arduino.esp8266.com/stable/package_esp8266com_index.json" --save-prefs +# install lib arduino json not working in 1.6.5 +# - arduino --install-library "ArduinoJson" + - git clone https://github.com/bblanchon/ArduinoJson /usr/local/share/arduino/libraries/ArduinoJson + - arduino --install-boards esp8266:esp8266 + - arduino --board esp8266:esp8266:generic --save-prefs + - arduino --pref "compiler.warning_level=all" --save-prefs +script: + - "echo $PWD" + - "echo $HOME" + - "ls $PWD" + - source $TRAVIS_BUILD_DIR/travis/common.sh + - build_examples +# - "cat $PWD/examples/AutoConnect/AutoConnect.ino" +# - arduino -v --verbose-build --verify $PWD/examples/AutoConnect/AutoConnect.ino +# - arduino --verify --board arduino:avr:uno $PWD/examples/IncomingCall/IncomingCall.ino +# - arduino --verify --board arduino:avr:uno $PWD/examples/AdafruitIO_GPS/AdafruitIO_GPS.ino +after_success: + - bash <(curl -s https://codecov.io/bash) +notifications: + email: + on_success: change + on_failure: change diff --git a/lib/WiFiManager/LICENSE b/lib/WiFiManager/LICENSE new file mode 100644 index 00000000..1dabff57 --- /dev/null +++ b/lib/WiFiManager/LICENSE @@ -0,0 +1,22 @@ +The MIT License (MIT) + +Copyright (c) 2015 tzapu + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. + diff --git a/lib/WiFiManager/README.md b/lib/WiFiManager/README.md new file mode 100644 index 00000000..a329f2ba --- /dev/null +++ b/lib/WiFiManager/README.md @@ -0,0 +1,369 @@ +# WiFiManager +ESP8266 WiFi Connection manager with fallback web configuration portal + +[![Build Status](https://travis-ci.org/tzapu/WiFiManager.svg?branch=master)](https://travis-ci.org/tzapu/WiFiManager) + +The configuration portal is of the captive variety, so on various devices it will present the configuration dialogue as soon as you connect to the created access point. + +First attempt at a library. Lots more changes and fixes to do. Contributions are welcome. + +#### This works with the ESP8266 Arduino platform with a recent stable release(2.0.0 or newer) https://github.com/esp8266/Arduino + +## Contents + - [How it works](#how-it-works) + - [Wishlist](#wishlist) + - [Quick start](#quick-start) + - Installing + - [Through Library Manager](#install-through-library-manager) + - [From Github](#checkout-from-github) + - [Using](#using) + - [Documentation](#documentation) + - [Access Point Password](#password-protect-the-configuration-access-point) + - [Callbacks](#callbacks) + - [Configuration Portal Timeout](#configuration-portal-timeout) + - [On Demand Configuration](#on-demand-configuration-portal) + - [Custom Parameters](#custom-parameters) + - [Custom IP Configuration](#custom-ip-configuration) + - [Filter Low Quality Networks](#filter-networks) + - [Debug Output](#debug) + - [Troubleshooting](#troubleshooting) + - [Releases](#releases) + - [Contributors](#contributions-and-thanks) + + +## How It Works +- when your ESP starts up, it sets it up in Station mode and tries to connect to a previously saved Access Point +- if this is unsuccessful (or no previous network saved) it moves the ESP into Access Point mode and spins up a DNS and WebServer (default ip 192.168.4.1) +- using any wifi enabled device with a browser (computer, phone, tablet) connect to the newly created Access Point +- because of the Captive Portal and the DNS server you will either get a 'Join to network' type of popup or get any domain you try to access redirected to the configuration portal +- choose one of the access points scanned, enter password, click save +- ESP will try to connect. If successful, it relinquishes control back to your app. If not, reconnect to AP and reconfigure. + +## How It Looks +![ESP8266 WiFi Captive Portal Homepage](http://i.imgur.com/YPvW9eql.png) ![ESP8266 WiFi Captive Portal Configuration](http://i.imgur.com/oicWJ4gl.png) + +## Wishlist +- ~~remove dependency on EEPROM library~~ +- ~~move HTML Strings to PROGMEM~~ +- ~~cleanup and streamline code~~ (although this is ongoing) +- if timeout is set, extend it when a page is fetched in AP mode +- ~~add ability to configure more parameters than ssid/password~~ +- ~~maybe allow setting ip of ESP after reboot~~ +- ~~add to Arduino Library Manager~~ +- ~~add to PlatformIO~~ +- add multiple sets of network credentials +- ~~allow users to customize CSS~~ + +## Quick Start + +### Installing +You can either install through the Arduino Library Manager or checkout the latest changes or a release from github + +#### Install through Library Manager +__Currently version 0.8+ works with release 2.0.0 or newer of the [ESP8266 core for Arduino](https://github.com/esp8266/Arduino)__ + - in Arduino IDE got to Sketch/Include Library/Manage Libraries + ![Manage Libraries](http://i.imgur.com/9BkEBkR.png) + + - search for WiFiManager + ![WiFiManager package](http://i.imgur.com/18yIai8.png) + + - click Install and start [using it](#using) + +#### Checkout from github +__Github version works with release 2.0.0 or newer of the [ESP8266 core for Arduino](https://github.com/esp8266/Arduino)__ +- Checkout library to your Arduino libraries folder + +### Using +- Include in your sketch +```cpp +#include //ESP8266 Core WiFi Library (you most likely already have this in your sketch) + +#include //Local DNS Server used for redirecting all requests to the configuration portal +#include //Local WebServer used to serve the configuration portal +#include //https://github.com/tzapu/WiFiManager WiFi Configuration Magic +``` + +- Initialize library, in your setup function add +```cpp +WiFiManager wifiManager; +``` + +- Also in the setup function add +```cpp +//first parameter is name of access point, second is the password +wifiManager.autoConnect("AP-NAME", "AP-PASSWORD"); +``` +if you just want an unsecured access point +```cpp +wifiManager.autoConnect("AP-NAME"); +``` +or if you want to use and auto generated name from 'ESP' and the esp's Chip ID use +```cpp +wifiManager.autoConnect(); +``` + +After you write your sketch and start the ESP, it will try to connect to WiFi. If it fails it starts in Access Point mode. +While in AP mode, connect to it then open a browser to the gateway IP, default 192.168.4.1, configure wifi, save and it should reboot and connect. + +Also see [examples](https://github.com/tzapu/WiFiManager/tree/master/examples). + +## Documentation + +#### Password protect the configuration Access Point +You can and should password protect the configuration access point. Simply add the password as a second parameter to `autoConnect`. +A short password seems to have unpredictable results so use one that's around 8 characters or more in length. +The guidelines are that a wifi password must consist of 8 to 63 ASCII-encoded characters in the range of 32 to 126 (decimal) +```cpp +wifiManager.autoConnect("AutoConnectAP", "password") +``` + +#### Callbacks +##### Enter Config mode +Use this if you need to do something when your device enters configuration mode on failed WiFi connection attempt. +Before `autoConnect()` +```cpp +wifiManager.setAPCallback(configModeCallback); +``` +`configModeCallback` declaration and example +```cpp +void configModeCallback (WiFiManager *myWiFiManager) { + Serial.println("Entered config mode"); + Serial.println(WiFi.softAPIP()); + + Serial.println(myWiFiManager->getConfigPortalSSID()); +} +``` + +##### Save settings +This gets called when custom parameters have been set **AND** a connection has been established. Use it to set a flag, so when all the configuration finishes, you can save the extra parameters somewhere. + +See [AutoConnectWithFSParameters Example](https://github.com/tzapu/WiFiManager/tree/master/examples/AutoConnectWithFSParameters). +```cpp +wifiManager.setSaveConfigCallback(saveConfigCallback); +``` +`saveConfigCallback` declaration and example +```cpp +//flag for saving data +bool shouldSaveConfig = false; + +//callback notifying us of the need to save config +void saveConfigCallback () { + Serial.println("Should save config"); + shouldSaveConfig = true; +} +``` + +#### Configuration Portal Timeout +If you need to set a timeout so the ESP doesn't hang waiting to be configured, for instance after a power failure, you can add +```cpp +wifiManager.setConfigPortalTimeout(180); +``` +which will wait 3 minutes (180 seconds). When the time passes, the autoConnect function will return, no matter the outcome. +Check for connection and if it's still not established do whatever is needed (on some modules I restart them to retry, on others I enter deep sleep) + +#### On Demand Configuration Portal +If you would rather start the configuration portal on demand rather than automatically on a failed connection attempt, then this is for you. + +Instead of calling `autoConnect()` which does all the connecting and failover configuration portal setup for you, you need to use `startConfigPortal()`. __Do not use BOTH.__ + +Example usage +```cpp +void loop() { + // is configuration portal requested? + if ( digitalRead(TRIGGER_PIN) == LOW ) { + WiFiManager wifiManager; + wifiManager.startConfigPortal("OnDemandAP"); + Serial.println("connected...yeey :)"); + } +} +``` +See example for a more complex version. [OnDemandConfigPortal](https://github.com/tzapu/WiFiManager/tree/master/examples/OnDemandConfigPortal) + +#### Custom Parameters +You can use WiFiManager to collect more parameters than just SSID and password. +This could be helpful for configuring stuff like MQTT host and port, [blynk](http://www.blynk.cc) or [emoncms](http://emoncms.org) tokens, just to name a few. +**You are responsible for saving and loading these custom values.** The library just collects and displays the data for you as a convenience. +Usage scenario would be: +- load values from somewhere (EEPROM/FS) or generate some defaults +- add the custom parameters to WiFiManager using + ```cpp + // id/name, placeholder/prompt, default, length + WiFiManagerParameter custom_mqtt_server("server", "mqtt server", mqtt_server, 40); + wifiManager.addParameter(&custom_mqtt_server); + + ``` +- if connection to AP fails, configuration portal starts and you can set /change the values (or use on demand configuration portal) +- once configuration is done and connection is established [save config callback]() is called +- once WiFiManager returns control to your application, read and save the new values using the `WiFiManagerParameter` object. + ```cpp + mqtt_server = custom_mqtt_server.getValue(); + ``` +This feature is a lot more involved than all the others, so here are some examples to fully show how it is done. +You should also take a look at adding custom HTML to your form. + +- Save and load custom parameters to file system in json form [AutoConnectWithFSParameters](https://github.com/tzapu/WiFiManager/tree/master/examples/AutoConnectWithFSParameters) +- *Save and load custom parameters to EEPROM* (not done yet) + +#### Custom IP Configuration +You can set a custom IP for both AP (access point, config mode) and STA (station mode, client mode, normal project state) + +##### Custom Access Point IP Configuration +This will set your captive portal to a specific IP should you need/want such a feature. Add the following snippet before `autoConnect()` +```cpp +//set custom ip for portal +wifiManager.setAPStaticIPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); +``` + +##### Custom Station (client) Static IP Configuration +This will make use the specified IP configuration instead of using DHCP in station mode. +```cpp +wifiManager.setSTAStaticIPConfig(IPAddress(192,168,0,99), IPAddress(192,168,0,1), IPAddress(255,255,255,0)); +``` +There are a couple of examples in the examples folder that show you how to set a static IP and even how to configure it through the web configuration portal. + +#### Custom HTML, CSS, Javascript +There are various ways in which you can inject custom HTML, CSS or Javascript into the configuration portal. +The options are: +- inject custom head element +You can use this to any html bit to the head of the configuration portal. If you add a `"); +``` +- inject a custom bit of html in the configuration form +```cpp +WiFiManagerParameter custom_text("

        This is just a text paragraph

        "); +wifiManager.addParameter(&custom_text); +``` +- inject a custom bit of html in a configuration form element +Just add the bit you want added as the last parameter to the custom parameter constructor. +```cpp +WiFiManagerParameter custom_mqtt_server("server", "mqtt server", "iot.eclipse", 40, " readonly"); +``` + +#### Filter Networks +You can filter networks based on signal quality and show/hide duplicate networks. + +- If you would like to filter low signal quality networks you can tell WiFiManager to not show networks below an arbitrary quality %; +```cpp +wifiManager.setMinimumSignalQuality(10); +``` +will not show networks under 10% signal quality. If you omit the parameter it defaults to 8%; + +- You can also remove or show duplicate networks (default is remove). +Use this function to show (or hide) all networks. +```cpp +wifiManager.setRemoveDuplicateAPs(false); +``` + +#### Debug +Debug is enabled by default on Serial. To disable add before autoConnect +```cpp +wifiManager.setDebugOutput(false); +``` + +## Troubleshooting +If you get compilation errors, more often than not, you may need to install a newer version of the ESP8266 core for Arduino. + +Changes added on 0.8 should make the latest trunk work without compilation errors. Tested down to ESP8266 core 2.0.0. **Please update to version 0.8** + +I am trying to keep releases working with release versions of the core, so they can be installed through boards manager, but if you checkout the latest version directly from github, sometimes, the library will only work if you update the ESP8266 core to the latest version because I am using some newly added function. + +If you connect to the created configuration Access Point but the configuration portal does not show up, just open a browser and type in the IP of the web portal, by default `192.168.4.1`. + +If trying to connect ends up in an endless loop, try to add `setConnectTimeout(60)` before `autoConnect();`. The parameter is timeout to try connecting in seconds. + +## Releases +#### 0.12 +- removed 204 header response +- fixed incompatibility with other libs using isnan and other std:: functions without namespace + +##### 0.11 +- a lot more reliable reconnecting to networks +- custom html in custom parameters (for read only params) +- custom html in custom parameter form (like labels) +- custom head element (like custom css) +- sort networks based on signal quality +- remove duplicate networks + +##### 0.10 +- some css changes +- bug fixes and speed improvements +- added an alternative to waitForConnectResult() for debugging +- changed `setTimeout(seconds)` to `setConfigPortalTimeout(seconds)` + +##### 0.9 + - fixed support for encoded characters in ssid/pass + +##### 0.8 + - made it compile on older versions of ESP8266 core as well, tested down to 2.0.0 + - added simple example for Custom IP + +##### 0.7 + - added static IP in station mode + - added example of persisting custom IP to FS config.json + - more option on portal homepage + - added on PlatformIO + +##### 0.6 + - custom parameters + - prettier + - on demand config portal + - commit #100 :D + +##### 0.5 + - Added to Arduino Boards Manager - Thanks Max + - moved most stuff to PROGMEM + - added signal quality and a nice little padlock to show which networks are encrypted + +##### v0.4 - all of it user contributed changes - Thank you + - added ability to password protect the configuration Access Point + - callback for enter configuration mode + - memory allocation improvements + +##### v0.3 + - removed the need for EEPROM and works with the 2.0.0 and above stable release of the ESP8266 for Arduino IDE package + - removed restart on save of credentials + - updated examples + +##### v0.2 +needs the latest staging version (or at least a recent release of the staging version) to work + +##### v0.1 +works with the staging release ver. 1.6.5-1044-g170995a, built on Aug 10, 2015 of the ESP8266 Arduino library. + + +### Contributions and thanks +The support and help I got from the community has been nothing short of phenomenal. I can't thank you guys enough. This is my first real attept in developing open source stuff and I must say, now I understand why people are so dedicated to it, it is because of all the wonderful people involved. + +__THANK YOU__ + +[Shawn A](https://github.com/tablatronix) + +[Maximiliano Duarte](https://github.com/domonetic) + +[alltheblinkythings](https://github.com/alltheblinkythings) + +[Niklas Wall](https://github.com/niklaswall) + +[Jakub Piasecki](https://github.com/zaporylie) + +[Peter Allan](https://github.com/alwynallan) + +[John Little](https://github.com/j0hnlittle) + +[markaswift](https://github.com/markaswift) + +[franklinvv](https://github.com/franklinvv) + +[Alberto Ricci Bitti](https://github.com/riccibitti) + +[SebiPanther](https://github.com/SebiPanther) + +[jonathanendersby](https://github.com/jonathanendersby) + +[walthercarsten](https://github.com/walthercarsten) + +Sorry if i have missed anyone. + +#### Inspiration +- http://www.esp8266.com/viewtopic.php?f=29&t=2520 diff --git a/lib/WiFiManager/WiFiManager.cpp b/lib/WiFiManager/WiFiManager.cpp new file mode 100644 index 00000000..3fbbb42c --- /dev/null +++ b/lib/WiFiManager/WiFiManager.cpp @@ -0,0 +1,757 @@ +/************************************************************** + WiFiManager is a library for the ESP8266/Arduino platform + (https://github.com/esp8266/Arduino) to enable easy + configuration and reconfiguration of WiFi credentials using a Captive Portal + inspired by: + http://www.esp8266.com/viewtopic.php?f=29&t=2520 + https://github.com/chriscook8/esp-arduino-apboot + https://github.com/esp8266/Arduino/tree/esp8266/hardware/esp8266com/esp8266/libraries/DNSServer/examples/CaptivePortalAdvanced + Built by AlexT https://github.com/tzapu + Licensed under MIT license + **************************************************************/ + +#include "WiFiManager.h" + +WiFiManagerParameter::WiFiManagerParameter(const char *custom) { + _id = NULL; + _placeholder = NULL; + _length = 0; + _value = NULL; + + _customHTML = custom; +} + +WiFiManagerParameter::WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length) { + init(id, placeholder, defaultValue, length, ""); +} + +WiFiManagerParameter::WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom) { + init(id, placeholder, defaultValue, length, custom); +} + +void WiFiManagerParameter::init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom) { + _id = id; + _placeholder = placeholder; + _length = length; + _value = new char[length + 1]; + for (int i = 0; i < length; i++) { + _value[i] = 0; + } + if (defaultValue != NULL) { + strncpy(_value, defaultValue, length); + } + + _customHTML = custom; +} + +const char* WiFiManagerParameter::getValue() { + return _value; +} +const char* WiFiManagerParameter::getID() { + return _id; +} +const char* WiFiManagerParameter::getPlaceholder() { + return _placeholder; +} +int WiFiManagerParameter::getValueLength() { + return _length; +} +const char* WiFiManagerParameter::getCustomHTML() { + return _customHTML; +} + +WiFiManager::WiFiManager() { +} + +void WiFiManager::addParameter(WiFiManagerParameter *p) { + _params[_paramsCount] = p; + _paramsCount++; + DEBUG_WM("Adding parameter"); + DEBUG_WM(p->getID()); +} + +void WiFiManager::setupConfigPortal() { + dnsServer.reset(new DNSServer()); + server.reset(new ESP8266WebServer(80)); + + DEBUG_WM(F("")); + _configPortalStart = millis(); + + DEBUG_WM(F("Configuring access point... ")); + DEBUG_WM(_apName); + if (_apPassword != NULL) { + if (strlen(_apPassword) < 8 || strlen(_apPassword) > 63) { + // fail passphrase to short or long! + DEBUG_WM(F("Invalid AccessPoint password. Ignoring")); + _apPassword = NULL; + } + DEBUG_WM(_apPassword); + } + + //optional soft ip config + if (_ap_static_ip) { + DEBUG_WM(F("Custom AP IP/GW/Subnet")); + WiFi.softAPConfig(_ap_static_ip, _ap_static_gw, _ap_static_sn); + } + + if (_apPassword != NULL) { + WiFi.softAP(_apName, _apPassword);//password option + } else { + WiFi.softAP(_apName); + } + + delay(500); // Without delay I've seen the IP address blank + DEBUG_WM(F("AP IP address: ")); + DEBUG_WM(WiFi.softAPIP()); + + /* Setup the DNS server redirecting all the domains to the apIP */ + dnsServer->setErrorReplyCode(DNSReplyCode::NoError); + dnsServer->start(DNS_PORT, "*", WiFi.softAPIP()); + + /* Setup web pages: root, wifi config pages, SO captive portal detectors and not found. */ + server->on("/", std::bind(&WiFiManager::handleRoot, this)); + server->on("/wifi", std::bind(&WiFiManager::handleWifi, this, true)); + server->on("/0wifi", std::bind(&WiFiManager::handleWifi, this, false)); + server->on("/wifisave", std::bind(&WiFiManager::handleWifiSave, this)); + server->on("/i", std::bind(&WiFiManager::handleInfo, this)); + server->on("/r", std::bind(&WiFiManager::handleReset, this)); + //server->on("/generate_204", std::bind(&WiFiManager::handle204, this)); //Android/Chrome OS captive portal check. + server->on("/fwlink", std::bind(&WiFiManager::handleRoot, this)); //Microsoft captive portal. Maybe not needed. Might be handled by notFound handler. + server->onNotFound (std::bind(&WiFiManager::handleNotFound, this)); + server->begin(); // Web server start + DEBUG_WM(F("HTTP server started")); + +} + +boolean WiFiManager::autoConnect() { + String ssid = "ESP" + String(ESP.getChipId()); + return autoConnect(ssid.c_str(), NULL); +} + +boolean WiFiManager::autoConnect(char const *apName, char const *apPassword) { + DEBUG_WM(F("")); + DEBUG_WM(F("AutoConnect")); + + // read eeprom for ssid and pass + //String ssid = getSSID(); + //String pass = getPassword(); + + // attempt to connect; should it fail, fall back to AP + WiFi.mode(WIFI_STA); + + if (connectWifi("", "") == WL_CONNECTED) { + DEBUG_WM(F("IP Address:")); + DEBUG_WM(WiFi.localIP()); + //connected + return true; + } + + return startConfigPortal(apName, apPassword); +} + +boolean WiFiManager::startConfigPortal(char const *apName, char const *apPassword) { + //setup AP + WiFi.mode(WIFI_AP_STA); + DEBUG_WM("SET AP STA"); + + _apName = apName; + _apPassword = apPassword; + + //notify we entered AP mode + if ( _apcallback != NULL) { + _apcallback(this); + } + + connect = false; + setupConfigPortal(); + + while (_configPortalTimeout == 0 || millis() < _configPortalStart + _configPortalTimeout) { + //DNS + dnsServer->processNextRequest(); + //HTTP + server->handleClient(); + + + if (connect) { + connect = false; + delay(2000); + DEBUG_WM(F("Connecting to new AP")); + + // using user-provided _ssid, _pass in place of system-stored ssid and pass + if (connectWifi(_ssid, _pass) != WL_CONNECTED) { + DEBUG_WM(F("Failed to connect.")); + } else { + //connected + WiFi.mode(WIFI_STA); + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } + + if (_shouldBreakAfterConfig) { + //flag set to exit after config after trying to connect + //notify that configuration has changed and any optional parameters should be saved + if ( _savecallback != NULL) { + //todo: check if any custom parameters actually exist, and check if they really changed maybe + _savecallback(); + } + break; + } + } + yield(); + } + + server.reset(); + dnsServer.reset(); + + return WiFi.status() == WL_CONNECTED; +} + + +int WiFiManager::connectWifi(String ssid, String pass) { + DEBUG_WM(F("Connecting as wifi client...")); + + // check if we've got static_ip settings, if we do, use those. + if (_sta_static_ip) { + DEBUG_WM(F("Custom STA IP/GW/Subnet")); + WiFi.config(_sta_static_ip, _sta_static_gw, _sta_static_sn); + DEBUG_WM(WiFi.localIP()); + } + //fix for auto connect racing issue + if (WiFi.status() == WL_CONNECTED) { + DEBUG_WM("Already connected. Bailing out."); + return WL_CONNECTED; + } + //check if we have ssid and pass and force those, if not, try with last saved values + if (ssid != "") { + WiFi.begin(ssid.c_str(), pass.c_str()); + } else { + if (WiFi.SSID()) { + DEBUG_WM("Using last saved values, should be faster"); + //trying to fix connection in progress hanging + ETS_UART_INTR_DISABLE(); + wifi_station_disconnect(); + ETS_UART_INTR_ENABLE(); + + WiFi.begin(); + } else { + DEBUG_WM("No saved credentials"); + } + } + + int connRes = waitForConnectResult(); + DEBUG_WM ("Connection result: "); + DEBUG_WM ( connRes ); + //not connected, WPS enabled, no pass - first attempt + if (_tryWPS && connRes != WL_CONNECTED && pass == "") { + startWPS(); + //should be connected at the end of WPS + connRes = waitForConnectResult(); + } + return connRes; +} + +uint8_t WiFiManager::waitForConnectResult() { + if (_connectTimeout == 0) { + return WiFi.waitForConnectResult(); + } else { + DEBUG_WM (F("Waiting for connection result with time out")); + unsigned long start = millis(); + boolean keepConnecting = true; + uint8_t status; + while (keepConnecting) { + status = WiFi.status(); + if (millis() > start + _connectTimeout) { + keepConnecting = false; + DEBUG_WM (F("Connection timed out")); + } + if (status == WL_CONNECTED || status == WL_CONNECT_FAILED) { + keepConnecting = false; + } + delay(100); + } + return status; + } +} + +void WiFiManager::startWPS() { + DEBUG_WM("START WPS"); + WiFi.beginWPSConfig(); + DEBUG_WM("END WPS"); +} +/* + String WiFiManager::getSSID() { + if (_ssid == "") { + DEBUG_WM(F("Reading SSID")); + _ssid = WiFi.SSID(); + DEBUG_WM(F("SSID: ")); + DEBUG_WM(_ssid); + } + return _ssid; + } + + String WiFiManager::getPassword() { + if (_pass == "") { + DEBUG_WM(F("Reading Password")); + _pass = WiFi.psk(); + DEBUG_WM("Password: " + _pass); + //DEBUG_WM(_pass); + } + return _pass; + } +*/ +String WiFiManager::getConfigPortalSSID() { + return _apName; +} + +void WiFiManager::resetSettings() { + DEBUG_WM(F("settings invalidated")); + DEBUG_WM(F("THIS MAY CAUSE AP NOT TO START UP PROPERLY. YOU NEED TO COMMENT IT OUT AFTER ERASING THE DATA.")); + WiFi.disconnect(true); + //delay(200); +} +void WiFiManager::setTimeout(unsigned long seconds) { + setConfigPortalTimeout(seconds); +} + +void WiFiManager::setConfigPortalTimeout(unsigned long seconds) { + _configPortalTimeout = seconds * 1000; +} + +void WiFiManager::setConnectTimeout(unsigned long seconds) { + _connectTimeout = seconds * 1000; +} + +void WiFiManager::setDebugOutput(boolean debug) { + _debug = debug; +} + +void WiFiManager::setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn) { + _ap_static_ip = ip; + _ap_static_gw = gw; + _ap_static_sn = sn; +} + +void WiFiManager::setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn) { + _sta_static_ip = ip; + _sta_static_gw = gw; + _sta_static_sn = sn; +} + +void WiFiManager::setMinimumSignalQuality(int quality) { + _minimumQuality = quality; +} + +void WiFiManager::setBreakAfterConfig(boolean shouldBreak) { + _shouldBreakAfterConfig = shouldBreak; +} + +/** Handle root or redirect to captive portal */ +void WiFiManager::handleRoot() { + DEBUG_WM(F("Handle root")); + if (captivePortal()) { // If caprive portal redirect instead of displaying the page. + return; + } + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Options"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += "

        "; + page += _apName; + page += "

        "; + page += F("

        WiFiManager

        "); + page += FPSTR(HTTP_PORTAL_OPTIONS); + page += FPSTR(HTTP_END); + + server->send(200, "text/html", page); + +} + +/** Wifi config page handler */ +void WiFiManager::handleWifi(boolean scan) { + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Config ESP"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + + if (scan) { + int n = WiFi.scanNetworks(); + DEBUG_WM(F("Scan done")); + if (n == 0) { + DEBUG_WM(F("No networks found")); + page += F("No networks found. Refresh to scan again."); + } else { + + //sort networks + int indices[n]; + for (int i = 0; i < n; i++) { + indices[i] = i; + } + + // RSSI SORT + + // old sort + for (int i = 0; i < n; i++) { + for (int j = i + 1; j < n; j++) { + if (WiFi.RSSI(indices[j]) > WiFi.RSSI(indices[i])) { + std::swap(indices[i], indices[j]); + } + } + } + + /*std::sort(indices, indices + n, [](const int & a, const int & b) -> bool + { + return WiFi.RSSI(a) > WiFi.RSSI(b); + });*/ + + // remove duplicates ( must be RSSI sorted ) + if (_removeDuplicateAPs) { + String cssid; + for (int i = 0; i < n; i++) { + if (indices[i] == -1) continue; + cssid = WiFi.SSID(indices[i]); + for (int j = i + 1; j < n; j++) { + if (cssid == WiFi.SSID(indices[j])) { + DEBUG_WM("DUP AP: " + WiFi.SSID(indices[j])); + indices[j] = -1; // set dup aps to index -1 + } + } + } + } + + //display networks in page + for (int i = 0; i < n; i++) { + if (indices[i] == -1) continue; // skip dups + DEBUG_WM(WiFi.SSID(indices[i])); + DEBUG_WM(WiFi.RSSI(indices[i])); + int quality = getRSSIasQuality(WiFi.RSSI(indices[i])); + + if (_minimumQuality == -1 || _minimumQuality < quality) { + String item = FPSTR(HTTP_ITEM); + String rssiQ; + rssiQ += quality; + item.replace("{v}", WiFi.SSID(indices[i])); + item.replace("{r}", rssiQ); + if (WiFi.encryptionType(indices[i]) != ENC_TYPE_NONE) { + item.replace("{i}", "l"); + } else { + item.replace("{i}", ""); + } + //DEBUG_WM(item); + page += item; + delay(0); + } else { + DEBUG_WM(F("Skipping due to quality")); + } + + } + page += "
        "; + } + } + + page += FPSTR(HTTP_FORM_START); + char parLength[2]; + // add the extra parameters to the form + for (int i = 0; i < _paramsCount; i++) { + if (_params[i] == NULL) { + break; + } + + String pitem = FPSTR(HTTP_FORM_PARAM); + if (_params[i]->getID() != NULL) { + pitem.replace("{i}", _params[i]->getID()); + pitem.replace("{n}", _params[i]->getID()); + pitem.replace("{p}", _params[i]->getPlaceholder()); + snprintf(parLength, 2, "%d", _params[i]->getValueLength()); + pitem.replace("{l}", parLength); + pitem.replace("{v}", _params[i]->getValue()); + pitem.replace("{c}", _params[i]->getCustomHTML()); + } else { + pitem = _params[i]->getCustomHTML(); + } + + page += pitem; + } + if (_params[0] != NULL) { + page += "
        "; + } + + if (_sta_static_ip) { + + String item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "ip"); + item.replace("{n}", "ip"); + item.replace("{p}", "Static IP"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_ip.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "gw"); + item.replace("{n}", "gw"); + item.replace("{p}", "Static Gateway"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_gw.toString()); + + page += item; + + item = FPSTR(HTTP_FORM_PARAM); + item.replace("{i}", "sn"); + item.replace("{n}", "sn"); + item.replace("{p}", "Subnet"); + item.replace("{l}", "15"); + item.replace("{v}", _sta_static_sn.toString()); + + page += item; + + page += "
        "; + } + + page += FPSTR(HTTP_FORM_END); + page += FPSTR(HTTP_SCAN_LINK); + + page += FPSTR(HTTP_END); + + server->send(200, "text/html", page); + + + DEBUG_WM(F("Sent config page")); +} + +/** Handle the WLAN save form and redirect to WLAN config page again */ +void WiFiManager::handleWifiSave() { + DEBUG_WM(F("WiFi save")); + + //SAVE/connect here + _ssid = server->arg("s").c_str(); + _pass = server->arg("p").c_str(); + + //parameters + for (int i = 0; i < _paramsCount; i++) { + if (_params[i] == NULL) { + break; + } + //read parameter + String value = server->arg(_params[i]->getID()).c_str(); + //store it in array + value.toCharArray(_params[i]->_value, _params[i]->_length); + DEBUG_WM(F("Parameter")); + DEBUG_WM(_params[i]->getID()); + DEBUG_WM(value); + } + + if (server->arg("ip") != "") { + DEBUG_WM(F("static ip")); + DEBUG_WM(server->arg("ip")); + //_sta_static_ip.fromString(server->arg("ip")); + String ip = server->arg("ip"); + optionalIPFromString(&_sta_static_ip, ip.c_str()); + } + if (server->arg("gw") != "") { + DEBUG_WM(F("static gateway")); + DEBUG_WM(server->arg("gw")); + String gw = server->arg("gw"); + optionalIPFromString(&_sta_static_gw, gw.c_str()); + } + if (server->arg("sn") != "") { + DEBUG_WM(F("static netmask")); + DEBUG_WM(server->arg("sn")); + String sn = server->arg("sn"); + optionalIPFromString(&_sta_static_sn, sn.c_str()); + } + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Credentials Saved"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += FPSTR(HTTP_SAVED); + page += FPSTR(HTTP_END); + + server->send(200, "text/html", page); + + DEBUG_WM(F("Sent wifi save page")); + + connect = true; //signal ready to connect/reset +} + +/** Handle the info page */ +void WiFiManager::handleInfo() { + DEBUG_WM(F("Info")); + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Info"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += F("
        "); + page += F("
        Chip ID
        "); + page += ESP.getChipId(); + page += F("
        "); + page += F("
        Flash Chip ID
        "); + page += ESP.getFlashChipId(); + page += F("
        "); + page += F("
        IDE Flash Size
        "); + page += ESP.getFlashChipSize(); + page += F(" bytes
        "); + page += F("
        Real Flash Size
        "); + page += ESP.getFlashChipRealSize(); + page += F(" bytes
        "); + page += F("
        Soft AP IP
        "); + page += WiFi.softAPIP().toString(); + page += F("
        "); + page += F("
        Soft AP MAC
        "); + page += WiFi.softAPmacAddress(); + page += F("
        "); + page += F("
        Station MAC
        "); + page += WiFi.macAddress(); + page += F("
        "); + page += F("
        "); + page += FPSTR(HTTP_END); + + server->send(200, "text/html", page); + + DEBUG_WM(F("Sent info page")); +} + +/** Handle the reset page */ +void WiFiManager::handleReset() { + DEBUG_WM(F("Reset")); + + String page = FPSTR(HTTP_HEAD); + page.replace("{v}", "Info"); + page += FPSTR(HTTP_SCRIPT); + page += FPSTR(HTTP_STYLE); + page += _customHeadElement; + page += FPSTR(HTTP_HEAD_END); + page += F("Module will reset in a few seconds."); + page += FPSTR(HTTP_END); + server->send(200, "text/html", page); + + DEBUG_WM(F("Sent reset page")); + delay(5000); + ESP.reset(); + delay(2000); +} + + + +//removed as mentioned here https://github.com/tzapu/WiFiManager/issues/114 +/*void WiFiManager::handle204() { + DEBUG_WM(F("204 No Response")); + server->sendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + server->sendHeader("Pragma", "no-cache"); + server->sendHeader("Expires", "-1"); + server->send ( 204, "text/plain", ""); +}*/ + +void WiFiManager::handleNotFound() { + if (captivePortal()) { // If captive portal redirect instead of displaying the error page. + return; + } + String message = "File Not Found\n\n"; + message += "URI: "; + message += server->uri(); + message += "\nMethod: "; + message += ( server->method() == HTTP_GET ) ? "GET" : "POST"; + message += "\nArguments: "; + message += server->args(); + message += "\n"; + + for ( uint8_t i = 0; i < server->args(); i++ ) { + message += " " + server->argName ( i ) + ": " + server->arg ( i ) + "\n"; + } + server->sendHeader("Cache-Control", "no-cache, no-store, must-revalidate"); + server->sendHeader("Pragma", "no-cache"); + server->sendHeader("Expires", "-1"); + server->send ( 404, "text/plain", message ); +} + + +/** Redirect to captive portal if we got a request for another domain. Return true in that case so the page handler do not try to handle the request again. */ +boolean WiFiManager::captivePortal() { + if (!isIp(server->hostHeader()) ) { + DEBUG_WM(F("Request redirected to captive portal")); + server->sendHeader("Location", String("http://") + toStringIp(server->client().localIP()), true); + server->send ( 302, "text/plain", ""); // Empty content inhibits Content-length header so we have to close the socket ourselves. + server->client().stop(); // Stop is needed because we sent no content length + return true; + } + return false; +} + +//start up config portal callback +void WiFiManager::setAPCallback( void (*func)(WiFiManager* myWiFiManager) ) { + _apcallback = func; +} + +//start up save config callback +void WiFiManager::setSaveConfigCallback( void (*func)(void) ) { + _savecallback = func; +} + +//sets a custom element to add to head, like a new style tag +void WiFiManager::setCustomHeadElement(const char* element) { + _customHeadElement = element; +} + +//if this is true, remove duplicated Access Points - defaut true +void WiFiManager::setRemoveDuplicateAPs(boolean removeDuplicates) { + _removeDuplicateAPs = removeDuplicates; +} + + + +template +void WiFiManager::DEBUG_WM(Generic text) { + if (_debug) { + Serial.print("*WM: "); + Serial.println(text); + } +} + +int WiFiManager::getRSSIasQuality(int RSSI) { + int quality = 0; + + if (RSSI <= -100) { + quality = 0; + } else if (RSSI >= -50) { + quality = 100; + } else { + quality = 2 * (RSSI + 100); + } + return quality; +} + +/** Is this an IP? */ +boolean WiFiManager::isIp(String str) { + for (int i = 0; i < str.length(); i++) { + int c = str.charAt(i); + if (c != '.' && (c < '0' || c > '9')) { + return false; + } + } + return true; +} + +/** IP to String? */ +String WiFiManager::toStringIp(IPAddress ip) { + String res = ""; + for (int i = 0; i < 3; i++) { + res += String((ip >> (8 * i)) & 0xFF) + "."; + } + res += String(((ip >> 8 * 3)) & 0xFF); + return res; +} diff --git a/lib/WiFiManager/WiFiManager.h b/lib/WiFiManager/WiFiManager.h new file mode 100644 index 00000000..827c9857 --- /dev/null +++ b/lib/WiFiManager/WiFiManager.h @@ -0,0 +1,192 @@ +/************************************************************** + WiFiManager is a library for the ESP8266/Arduino platform + (https://github.com/esp8266/Arduino) to enable easy + configuration and reconfiguration of WiFi credentials using a Captive Portal + inspired by: + http://www.esp8266.com/viewtopic.php?f=29&t=2520 + https://github.com/chriscook8/esp-arduino-apboot + https://github.com/esp8266/Arduino/tree/esp8266/hardware/esp8266com/esp8266/libraries/DNSServer/examples/CaptivePortalAdvanced + Built by AlexT https://github.com/tzapu + Licensed under MIT license + **************************************************************/ + +#ifndef WiFiManager_h +#define WiFiManager_h + +#include +#include +#include +#include + +extern "C" { + #include "user_interface.h" +} + +const char HTTP_HEAD[] PROGMEM = "{v}"; +const char HTTP_STYLE[] PROGMEM = ""; +const char HTTP_SCRIPT[] PROGMEM = ""; +const char HTTP_HEAD_END[] PROGMEM = "
        "; + +#define WIFI_MANAGER_MAX_PARAMS 10 + +class WiFiManagerParameter { + public: + WiFiManagerParameter(const char *custom); + WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length); + WiFiManagerParameter(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + + const char *getID(); + const char *getValue(); + const char *getPlaceholder(); + int getValueLength(); + const char *getCustomHTML(); + private: + const char *_id; + const char *_placeholder; + char *_value; + int _length; + const char *_customHTML; + + void init(const char *id, const char *placeholder, const char *defaultValue, int length, const char *custom); + + friend class WiFiManager; +}; + + +class WiFiManager +{ + public: + WiFiManager(); + + boolean autoConnect(); + boolean autoConnect(char const *apName, char const *apPassword = NULL); + + //if you want to always start the config portal, without trying to connect first + boolean startConfigPortal(char const *apName, char const *apPassword = NULL); + + // get the AP name of the config portal, so it can be used in the callback + String getConfigPortalSSID(); + + void resetSettings(); + + //sets timeout before webserver loop ends and exits even if there has been no setup. + //usefully for devices that failed to connect at some point and got stuck in a webserver loop + //in seconds setConfigPortalTimeout is a new name for setTimeout + void setConfigPortalTimeout(unsigned long seconds); + void setTimeout(unsigned long seconds); + + //sets timeout for which to attempt connecting, usefull if you get a lot of failed connects + void setConnectTimeout(unsigned long seconds); + + + void setDebugOutput(boolean debug); + //defaults to not showing anything under 8% signal quality if called + void setMinimumSignalQuality(int quality = 8); + //sets a custom ip /gateway /subnet configuration + void setAPStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn); + //sets config for a static IP + void setSTAStaticIPConfig(IPAddress ip, IPAddress gw, IPAddress sn); + //called when AP mode and config portal is started + void setAPCallback( void (*func)(WiFiManager*) ); + //called when settings have been changed and connection was successful + void setSaveConfigCallback( void (*func)(void) ); + //adds a custom parameter + void addParameter(WiFiManagerParameter *p); + //if this is set, it will exit after config, even if connection is unsucessful. + void setBreakAfterConfig(boolean shouldBreak); + //if this is set, try WPS setup when starting (this will delay config portal for up to 2 mins) + //TODO + //if this is set, customise style + void setCustomHeadElement(const char* element); + //if this is true, remove duplicated Access Points - defaut true + void setRemoveDuplicateAPs(boolean removeDuplicates); + + private: + std::unique_ptr dnsServer; + std::unique_ptr server; + + //const int WM_DONE = 0; + //const int WM_WAIT = 10; + + //const String HTTP_HEAD = "{v}"; + + void setupConfigPortal(); + void startWPS(); + + const char* _apName = "no-net"; + const char* _apPassword = NULL; + String _ssid = ""; + String _pass = ""; + unsigned long _configPortalTimeout = 0; + unsigned long _connectTimeout = 0; + unsigned long _configPortalStart = 0; + + IPAddress _ap_static_ip; + IPAddress _ap_static_gw; + IPAddress _ap_static_sn; + IPAddress _sta_static_ip; + IPAddress _sta_static_gw; + IPAddress _sta_static_sn; + + int _paramsCount = 0; + int _minimumQuality = -1; + boolean _removeDuplicateAPs = true; + boolean _shouldBreakAfterConfig = false; + boolean _tryWPS = false; + + const char* _customHeadElement = ""; + + //String getEEPROMString(int start, int len); + //void setEEPROMString(int start, int len, String string); + + int status = WL_IDLE_STATUS; + int connectWifi(String ssid, String pass); + uint8_t waitForConnectResult(); + + void handleRoot(); + void handleWifi(boolean scan); + void handleWifiSave(); + void handleInfo(); + void handleReset(); + void handleNotFound(); + void handle204(); + boolean captivePortal(); + + // DNS server + const byte DNS_PORT = 53; + + //helpers + int getRSSIasQuality(int RSSI); + boolean isIp(String str); + String toStringIp(IPAddress ip); + + boolean connect; + boolean _debug = true; + + void (*_apcallback)(WiFiManager*) = NULL; + void (*_savecallback)(void) = NULL; + + WiFiManagerParameter* _params[WIFI_MANAGER_MAX_PARAMS]; + + template + void DEBUG_WM(Generic text); + + template + auto optionalIPFromString(T *obj, const char *s) -> decltype( obj->fromString(s) ) { + return obj->fromString(s); + } + auto optionalIPFromString(...) -> bool { + DEBUG_WM("NO fromString METHOD ON IPAddress, you need ESP8266 core 2.1.0 or newer for Custom IP configuration to work."); + return false; + } +}; + +#endif diff --git a/lib/WiFiManager/examples/AutoConnect/AutoConnect.ino b/lib/WiFiManager/examples/AutoConnect/AutoConnect.ino new file mode 100644 index 00000000..37ff3925 --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnect/AutoConnect.ino @@ -0,0 +1,38 @@ +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset saved settings + //wifiManager.resetSettings(); + + //set custom ip for portal + //wifiManager.setAPConfig(IPAddress(10,0,1,1), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); + + //fetches ssid and pass from eeprom and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + wifiManager.autoConnect("AutoConnectAP"); + //or use this for auto generated name ESP + ChipID + //wifiManager.autoConnect(); + + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino b/lib/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino new file mode 100644 index 00000000..1d58e5c7 --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithFSParameters/AutoConnectWithFSParameters.ino @@ -0,0 +1,156 @@ +#include //this needs to be first, or it all crashes and burns... + +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + +#include //https://github.com/bblanchon/ArduinoJson + +//define your default values here, if there are different values in config.json, they are overwritten. +char mqtt_server[40]; +char mqtt_port[6] = "8080"; +char blynk_token[34] = "YOUR_BLYNK_TOKEN"; + +//flag for saving data +bool shouldSaveConfig = false; + +//callback notifying us of the need to save config +void saveConfigCallback () { + Serial.println("Should save config"); + shouldSaveConfig = true; +} + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //clean FS, for testing + //SPIFFS.format(); + + //read configuration from FS json + Serial.println("mounting FS..."); + + if (SPIFFS.begin()) { + Serial.println("mounted file system"); + if (SPIFFS.exists("/config.json")) { + //file exists, reading and loading + Serial.println("reading config file"); + File configFile = SPIFFS.open("/config.json", "r"); + if (configFile) { + Serial.println("opened config file"); + size_t size = configFile.size(); + // Allocate a buffer to store contents of the file. + std::unique_ptr buf(new char[size]); + + configFile.readBytes(buf.get(), size); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.parseObject(buf.get()); + json.printTo(Serial); + if (json.success()) { + Serial.println("\nparsed json"); + + strcpy(mqtt_server, json["mqtt_server"]); + strcpy(mqtt_port, json["mqtt_port"]); + strcpy(blynk_token, json["blynk_token"]); + + } else { + Serial.println("failed to load json config"); + } + } + } + } else { + Serial.println("failed to mount FS"); + } + //end read + + + + // The extra parameters to be configured (can be either global or just in the setup) + // After connecting, parameter.getValue() will get you the configured value + // id/name placeholder/prompt default length + WiFiManagerParameter custom_mqtt_server("server", "mqtt server", mqtt_server, 40); + WiFiManagerParameter custom_mqtt_port("port", "mqtt port", mqtt_port, 6); + WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 32); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //set config save notify callback + wifiManager.setSaveConfigCallback(saveConfigCallback); + + //set static ip + wifiManager.setSTAStaticIPConfig(IPAddress(10,0,1,99), IPAddress(10,0,1,1), IPAddress(255,255,255,0)); + + //add all your parameters here + wifiManager.addParameter(&custom_mqtt_server); + wifiManager.addParameter(&custom_mqtt_port); + wifiManager.addParameter(&custom_blynk_token); + + //reset settings - for testing + //wifiManager.resetSettings(); + + //set minimu quality of signal so it ignores AP's under that quality + //defaults to 8% + //wifiManager.setMinimumSignalQuality(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + //wifiManager.setTimeout(120); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + //read updated parameters + strcpy(mqtt_server, custom_mqtt_server.getValue()); + strcpy(mqtt_port, custom_mqtt_port.getValue()); + strcpy(blynk_token, custom_blynk_token.getValue()); + + //save the custom parameters to FS + if (shouldSaveConfig) { + Serial.println("saving config"); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.createObject(); + json["mqtt_server"] = mqtt_server; + json["mqtt_port"] = mqtt_port; + json["blynk_token"] = blynk_token; + + File configFile = SPIFFS.open("/config.json", "w"); + if (!configFile) { + Serial.println("failed to open config file for writing"); + } + + json.printTo(Serial); + json.printTo(configFile); + configFile.close(); + //end save + } + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); + +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino b/lib/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino new file mode 100644 index 00000000..3f391aec --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithFSParametersAndCustomIP/AutoConnectWithFSParametersAndCustomIP.ino @@ -0,0 +1,188 @@ +#include //this needs to be first, or it all crashes and burns... + +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + +#include //https://github.com/bblanchon/ArduinoJson + +//define your default values here, if there are different values in config.json, they are overwritten. +//length should be max size + 1 +char mqtt_server[40]; +char mqtt_port[6] = "8080"; +char blynk_token[33] = "YOUR_BLYNK_TOKEN"; +//default custom static IP +char static_ip[16] = "10.0.1.56"; +char static_gw[16] = "10.0.1.1"; +char static_sn[16] = "255.255.255.0"; + +//flag for saving data +bool shouldSaveConfig = false; + +//callback notifying us of the need to save config +void saveConfigCallback () { + Serial.println("Should save config"); + shouldSaveConfig = true; +} + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //clean FS, for testing + //SPIFFS.format(); + + //read configuration from FS json + Serial.println("mounting FS..."); + + if (SPIFFS.begin()) { + Serial.println("mounted file system"); + if (SPIFFS.exists("/config.json")) { + //file exists, reading and loading + Serial.println("reading config file"); + File configFile = SPIFFS.open("/config.json", "r"); + if (configFile) { + Serial.println("opened config file"); + size_t size = configFile.size(); + // Allocate a buffer to store contents of the file. + std::unique_ptr buf(new char[size]); + + configFile.readBytes(buf.get(), size); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.parseObject(buf.get()); + json.printTo(Serial); + if (json.success()) { + Serial.println("\nparsed json"); + + strcpy(mqtt_server, json["mqtt_server"]); + strcpy(mqtt_port, json["mqtt_port"]); + strcpy(blynk_token, json["blynk_token"]); + + if(json["ip"]) { + Serial.println("setting custom ip from config"); + //static_ip = json["ip"]; + strcpy(static_ip, json["ip"]); + strcpy(static_gw, json["gateway"]); + strcpy(static_sn, json["subnet"]); + //strcat(static_ip, json["ip"]); + //static_gw = json["gateway"]; + //static_sn = json["subnet"]; + Serial.println(static_ip); +/* Serial.println("converting ip"); + IPAddress ip = ipFromCharArray(static_ip); + Serial.println(ip);*/ + } else { + Serial.println("no custom ip in config"); + } + } else { + Serial.println("failed to load json config"); + } + } + } + } else { + Serial.println("failed to mount FS"); + } + //end read + Serial.println(static_ip); + Serial.println(blynk_token); + Serial.println(mqtt_server); + + + // The extra parameters to be configured (can be either global or just in the setup) + // After connecting, parameter.getValue() will get you the configured value + // id/name placeholder/prompt default length + WiFiManagerParameter custom_mqtt_server("server", "mqtt server", mqtt_server, 40); + WiFiManagerParameter custom_mqtt_port("port", "mqtt port", mqtt_port, 5); + WiFiManagerParameter custom_blynk_token("blynk", "blynk token", blynk_token, 34); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //set config save notify callback + wifiManager.setSaveConfigCallback(saveConfigCallback); + + //set static ip + IPAddress _ip,_gw,_sn; + _ip.fromString(static_ip); + _gw.fromString(static_gw); + _sn.fromString(static_sn); + + wifiManager.setSTAStaticIPConfig(_ip, _gw, _sn); + + //add all your parameters here + wifiManager.addParameter(&custom_mqtt_server); + wifiManager.addParameter(&custom_mqtt_port); + wifiManager.addParameter(&custom_blynk_token); + + //reset settings - for testing + //wifiManager.resetSettings(); + + //set minimu quality of signal so it ignores AP's under that quality + //defaults to 8% + wifiManager.setMinimumSignalQuality(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + //wifiManager.setTimeout(120); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + //read updated parameters + strcpy(mqtt_server, custom_mqtt_server.getValue()); + strcpy(mqtt_port, custom_mqtt_port.getValue()); + strcpy(blynk_token, custom_blynk_token.getValue()); + + //save the custom parameters to FS + if (shouldSaveConfig) { + Serial.println("saving config"); + DynamicJsonBuffer jsonBuffer; + JsonObject& json = jsonBuffer.createObject(); + json["mqtt_server"] = mqtt_server; + json["mqtt_port"] = mqtt_port; + json["blynk_token"] = blynk_token; + + json["ip"] = WiFi.localIP().toString(); + json["gateway"] = WiFi.gatewayIP().toString(); + json["subnet"] = WiFi.subnetMask().toString(); + + File configFile = SPIFFS.open("/config.json", "w"); + if (!configFile) { + Serial.println("failed to open config file for writing"); + } + + json.prettyPrintTo(Serial); + json.printTo(configFile); + configFile.close(); + //end save + } + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); + Serial.println(WiFi.gatewayIP()); + Serial.println(WiFi.subnetMask()); +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino b/lib/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino new file mode 100644 index 00000000..94917604 --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithFeedback/AutoConnectWithFeedback.ino @@ -0,0 +1,47 @@ +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include "WiFiManager.h" //https://github.com/tzapu/WiFiManager + +void configModeCallback (WiFiManager *myWiFiManager) { + Serial.println("Entered config mode"); + Serial.println(WiFi.softAPIP()); + //if you used auto generated SSID, print it + Serial.println(myWiFiManager->getConfigPortalSSID()); +} + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset settings - for testing + //wifiManager.resetSettings(); + + //set callback that gets called when connecting to previous WiFi fails, and enters Access Point mode + wifiManager.setAPCallback(configModeCallback); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if(!wifiManager.autoConnect()) { + Serial.println("failed to connect and hit timeout"); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(1000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino b/lib/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino new file mode 100644 index 00000000..77b264b7 --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithFeedbackLED/AutoConnectWithFeedbackLED.ino @@ -0,0 +1,68 @@ +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + +//for LED status +#include +Ticker ticker; + +void tick() +{ + //toggle state + int state = digitalRead(BUILTIN_LED); // get the current state of GPIO1 pin + digitalWrite(BUILTIN_LED, !state); // set pin to the opposite state +} + +//gets called when WiFiManager enters configuration mode +void configModeCallback (WiFiManager *myWiFiManager) { + Serial.println("Entered config mode"); + Serial.println(WiFi.softAPIP()); + //if you used auto generated SSID, print it + Serial.println(myWiFiManager->getConfigPortalSSID()); + //entered config mode, make led toggle faster + ticker.attach(0.2, tick); +} + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //set led pin as output + pinMode(BUILTIN_LED, OUTPUT); + // start ticker with 0.5 because we start in AP mode and try to connect + ticker.attach(0.6, tick); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset settings - for testing + //wifiManager.resetSettings(); + + //set callback that gets called when connecting to previous WiFi fails, and enters Access Point mode + wifiManager.setAPCallback(configModeCallback); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect()) { + Serial.println("failed to connect and hit timeout"); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(1000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + ticker.detach(); + //keep LED on + digitalWrite(BUILTIN_LED, LOW); +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino b/lib/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino new file mode 100644 index 00000000..5af3b1fa --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithReset/AutoConnectWithReset.ino @@ -0,0 +1,49 @@ +#include //this needs to be first, or it all crashes and burns... + +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //exit after config instead of connecting + wifiManager.setBreakAfterConfig(true); + + //reset settings - for testing + //wifiManager.resetSettings(); + + + //tries to connect to last known settings + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" with password "password" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect, we should reset as see if it connects"); + delay(3000); + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino b/lib/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino new file mode 100644 index 00000000..86556d31 --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithStaticIP/AutoConnectWithStaticIP.ino @@ -0,0 +1,80 @@ +#include //this needs to be first, or it all crashes and burns... + +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + + +/************************************************************************************** + * this example shows how to set a static IP configuration for the ESP + * although the IP shows in the config portal, the changes will revert + * to the IP set in the source file. + * if you want the ability to configure and persist the new IP configuration + * look at the FS examples, which save the config to file + *************************************************************************************/ + + + +//default custom static IP +//char static_ip[16] = "10.0.1.59"; +//char static_gw[16] = "10.0.1.1"; +//char static_sn[16] = "255.255.255.0"; + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println(); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //reset settings - for testing + //wifiManager.resetSettings(); + + //set static ip + //block1 should be used for ESP8266 core 2.1.0 or newer, otherwise use block2 + + //start-block1 + //IPAddress _ip,_gw,_sn; + //_ip.fromString(static_ip); + //_gw.fromString(static_gw); + //_sn.fromString(static_sn); + //end-block1 + + //start-block2 + IPAddress _ip = IPAddress(10, 0, 1, 78); + IPAddress _gw = IPAddress(10, 0, 1, 1); + IPAddress _sn = IPAddress(255, 255, 255, 0); + //end-block2 + + wifiManager.setSTAStaticIPConfig(_ip, _gw, _sn); + + + //tries to connect to last known settings + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" with password "password" + //and goes into a blocking loop awaiting configuration + if (!wifiManager.autoConnect("AutoConnectAP", "password")) { + Serial.println("failed to connect, we should reset as see if it connects"); + delay(3000); + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + + + Serial.println("local ip"); + Serial.println(WiFi.localIP()); +} + +void loop() { + // put your main code here, to run repeatedly: + + +} diff --git a/lib/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino b/lib/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino new file mode 100644 index 00000000..c90cf103 --- /dev/null +++ b/lib/WiFiManager/examples/AutoConnectWithTimeout/AutoConnectWithTimeout.ino @@ -0,0 +1,45 @@ +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + //reset settings - for testing + //wifiManager.resetSettings(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + wifiManager.setTimeout(180); + + //fetches ssid and pass and tries to connect + //if it does not connect it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + if(!wifiManager.autoConnect("AutoConnectAP")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + +} + +void loop() { + // put your main code here, to run repeatedly: + +} diff --git a/lib/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino b/lib/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino new file mode 100644 index 00000000..edf4f46e --- /dev/null +++ b/lib/WiFiManager/examples/OnDemandConfigPortal/OnDemandConfigPortal.ino @@ -0,0 +1,60 @@ +#include //https://github.com/esp8266/Arduino + +//needed for library +#include +#include +#include //https://github.com/tzapu/WiFiManager + +// select wich pin will trigger the configuraton portal when set to LOW +// ESP-01 users please note: the only pins available (0 and 2), are shared +// with the bootloader, so always set them HIGH at power-up +#define TRIGGER_PIN 0 + + +void setup() { + // put your setup code here, to run once: + Serial.begin(115200); + Serial.println("\n Starting"); + + pinMode(TRIGGER_PIN, INPUT); +} + + +void loop() { + // is configuration portal requested? + if ( digitalRead(TRIGGER_PIN) == LOW ) { + //WiFiManager + //Local intialization. Once its business is done, there is no need to keep it around + WiFiManager wifiManager; + + //reset settings - for testing + //wifiManager.resetSettings(); + + //sets timeout until configuration portal gets turned off + //useful to make it all retry or go to sleep + //in seconds + //wifiManager.setTimeout(120); + + //it starts an access point with the specified name + //here "AutoConnectAP" + //and goes into a blocking loop awaiting configuration + + //WITHOUT THIS THE AP DOES NOT SEEM TO WORK PROPERLY WITH SDK 1.5 , update to at least 1.5.1 + //WiFi.mode(WIFI_STA); + + if (!wifiManager.startConfigPortal("OnDemandAP")) { + Serial.println("failed to connect and hit timeout"); + delay(3000); + //reset and try again, or maybe put it to deep sleep + ESP.reset(); + delay(5000); + } + + //if you get here you have connected to the WiFi + Serial.println("connected...yeey :)"); + } + + + // put your main code here, to run repeatedly: + +} diff --git a/lib/WiFiManager/extras/WiFiManager.template.html b/lib/WiFiManager/extras/WiFiManager.template.html new file mode 100644 index 00000000..0cf86049 --- /dev/null +++ b/lib/WiFiManager/extras/WiFiManager.template.html @@ -0,0 +1,38 @@ +{v} + + + + + \ No newline at end of file diff --git a/lib/WiFiManager/keywords.txt b/lib/WiFiManager/keywords.txt new file mode 100644 index 00000000..7159e740 --- /dev/null +++ b/lib/WiFiManager/keywords.txt @@ -0,0 +1,39 @@ +####################################### +# Syntax Coloring Map For WifiManager +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +WiFiManager KEYWORD1 +WiFiManagerParameter KEYWORD1 + + +####################################### +# Methods and Functions (KEYWORD2) +####################################### +autoConnect KEYWORD2 +getSSID KEYWORD2 +getPassword KEYWORD2 +getConfigPortalSSID KEYWORD2 +resetSettings KEYWORD2 +setConfigPortalTimeout KEYWORD2 +setConnectTimeout KEYWORD2 +setDebugOutput KEYWORD2 +setMinimumSignalQuality KEYWORD2 +setAPStaticIPConfig KEYWORD2 +setSTAStaticIPConfig KEYWORD2 +setAPCallback KEYWORD2 +setSaveConfigCallback KEYWORD2 +addParameter KEYWORD2 +getID KEYWORD2 +getValue KEYWORD2 +getPlaceholder KEYWORD2 +getValueLength KEYWORD2 + +####################################### +# Constants (LITERAL1) +####################################### + +# LITERAL1 diff --git a/lib/WiFiManager/library.json b/lib/WiFiManager/library.json new file mode 100644 index 00000000..d840d3c5 --- /dev/null +++ b/lib/WiFiManager/library.json @@ -0,0 +1,13 @@ +{ + "name": "WifiManager", + "keywords": "wifi, wi-fi", + "description": "ESP8266 WiFi Connection manager with fallback web configuration portal", + "repository": + { + "type": "git", + "url": "https://github.com/tzapu/WiFiManager.git" + }, + "frameworks": "arduino", + "platforms": "espressif", + "version": "0.12" +} diff --git a/lib/WiFiManager/library.properties b/lib/WiFiManager/library.properties new file mode 100644 index 00000000..2466f0d3 --- /dev/null +++ b/lib/WiFiManager/library.properties @@ -0,0 +1,9 @@ +name=WiFiManager +version=0.12 +author=tzapu +maintainer=tzapu +sentence=ESP8266 WiFi Connection manager with fallback web configuration portal +paragraph=Library for configuring ESP8266 modules WiFi credentials at runtime. +category=Communication +url=https://github.com/tzapu/WiFiManager.git +architectures=esp8266 diff --git a/lib/WiFiManager/travis/common.sh b/lib/WiFiManager/travis/common.sh new file mode 100644 index 00000000..d115085c --- /dev/null +++ b/lib/WiFiManager/travis/common.sh @@ -0,0 +1,51 @@ +#!/bin/bash + +function build_examples() +{ + # track the exit code for this platform + local exit_code=0 + # loop through results and add them to the array + examples=($(find $PWD/examples/ -name "*.pde" -o -name "*.ino")) + + # get the last example in the array + local last="${examples[@]:(-1)}" + + # loop through example sketches + for example in "${examples[@]}"; do + + # store the full path to the example's sketch directory + local example_dir=$(dirname $example) + + # store the filename for the example without the path + local example_file=$(basename $example) + + echo "$example_file: " + local sketch="$example_dir/$example_file" + echo "$sketch" + #arduino -v --verbose-build --verify $sketch + + # verify the example, and save stdout & stderr to a variable + # we have to avoid reading the exit code of local: + # "when declaring a local variable in a function, the local acts as a command in its own right" + local build_stdout + build_stdout=$(arduino --verify $sketch 2>&1) + + # echo output if the build failed + if [ $? -ne 0 ]; then + # heavy X + echo -e "\xe2\x9c\x96" + echo -e "----------------------------- DEBUG OUTPUT -----------------------------\n" + echo "$build_stdout" + echo -e "\n------------------------------------------------------------------------\n" + + # mark as fail + exit_code=1 + + else + # heavy checkmark + echo -e "\xe2\x9c\x93" + fi + done + + return $exit_code +} diff --git a/lib/esp8266_mdns/LICENCE.txt b/lib/esp8266_mdns/LICENCE.txt new file mode 100644 index 00000000..9fac71a7 --- /dev/null +++ b/lib/esp8266_mdns/LICENCE.txt @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) [2015] [Duncan Law] + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/lib/esp8266_mdns/README.md b/lib/esp8266_mdns/README.md new file mode 100644 index 00000000..b99d85a7 --- /dev/null +++ b/lib/esp8266_mdns/README.md @@ -0,0 +1,91 @@ +# esp8266_mdns +mDNS queries and responses on esp8266. +Or to describe it another way: An mDNS Client or Bonjour Client library for the esp8266. + +This library aims to do the following: + 1. Give access to incoming mDNS packets and decode Question and Answer Records for commonly used record types. + 2. Allow Question and Answer Records for commonly used record types to be sent. + +Future goals: + 1. Dynamic buffer paging. Currently one page is read from the network. If the mDNS packet is larger than that page size, any responses in the remainder are lost. (See MAX_PACKET_SIZE in mdns.h.) + 2. Automatic replies to incoming Questions. + 3. Automatic retries when sending packets according to rfc6762. + +Requirements +------------ +- An Espressif [ESP8266](http://www.esp8266.com/) WiFi enabled SOC. +- The [ESP8266 Arduino](https://github.com/esp8266/Arduino) environment. +- ESP8266WiFi library. +- MDNS support in your operating system/client machines: + - For Mac OSX support is built in through Bonjour already. + - For Linux, install [Avahi](http://avahi.org/). + - For Windows, install [Bonjour](http://www.apple.com/support/bonjour/). + +Usage +----- +Find information on how to add a library to your Arduino IDE [here](https://www.arduino.cc/en/Guide/Libraries). + +The file [mdns.h](https://github.com/mrdunk/esp8266_mdns/blob/master/mdns.h) is well commented. Try looking there for information on specific methods. + +To add a simple mDNS listener to an Aruino sketch which will display all mDNS packets over the serial console try the following: + +``` +// This sketch will display mDNS (multicast DNS) data seen on the network. + +#include +#include "mdns.h" + +// When an mDNS packet gets parsed this optional callback gets called. +void packetCallback(const mdns::MDns* packet){ + packet->Display(); + packet->DisplayRawPacket(); +} + +// When an mDNS packet gets parsed this optional callback gets called once per Query. +// See mdns.h for definition of mdns::Query. +void queryCallback(const mdns::Query* query){ + query->Display(); +} + +// When an mDNS packet gets parsed this optional callback gets called once per Query. +// See mdns.h for definition of mdns::Answer. +void answerCallback(const mdns::Answer* answer){ + answer->Display(); +} + +// Initialise MDns. +// If you don't want the optional callbacks, just provide a NULL pointer as the callback. +mdns::MDns my_mdns(packetCallback, queryCallback, answerCallback); + +void setup() { + // Open serial communications and wait for port to open: + Serial.begin(115200); + + // setting up Station AP + WiFi.begin("your_wifi_ssid", "your_wifi_password"); + + // Wait for connect to AP + int tries = 0; + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + tries++; + if (tries > 30) { + break; + } + } + Serial.println(); +} + +void loop() { + my_mdns.loop(); +} +``` + +A more complete example which sends an mDNS Question and parses Answers is available in esp8266_mdns/examples/mdns_test/ . + +Troubleshooting +--------------- +Run [Wireshark](https://www.wireshark.org/) on a machine connected to your wireless network to confirm what is actually in flight. +The following filter will return only mDNS packets: ```udp.port == 5353``` . +Any mDNS packets seen by Wireshark should also appear on the ESP8266 Serial console. diff --git a/lib/esp8266_mdns/examples/mdns_test/README.md b/lib/esp8266_mdns/examples/mdns_test/README.md new file mode 100644 index 00000000..d4ff45f4 --- /dev/null +++ b/lib/esp8266_mdns/examples/mdns_test/README.md @@ -0,0 +1,5 @@ +# esp8266_mdns test program. +This is a sample program using the esp8266_mdns library. +It queries the network for hosts providing the service defined in QUESTION_SERVICE. +Any answers are parsed and stored, hopefully providing you with the port and ipv4 network address of all hosts on the network providing the service. +See https://github.com/mrdunk/esp8266_mdns for more information on the library and mDNS in general. diff --git a/lib/esp8266_mdns/examples/mdns_test/mdns_test.ino b/lib/esp8266_mdns/examples/mdns_test/mdns_test.ino new file mode 100644 index 00000000..189da7f6 --- /dev/null +++ b/lib/esp8266_mdns/examples/mdns_test/mdns_test.ino @@ -0,0 +1,226 @@ +/* + * This sketch will query the network for hosts providing the service defined by + * QUESTION_SERVICE and will parse any replies with the aim of saving port and + * network address in the hosts array. + */ + + +#include + +#include "secrets.h" // Contains the following: +// const char* ssid = "Get off my wlan"; // your network SSID (name) +// const char* pass = "secretwlanpass"; // your network password + + +#define QUESTION_SERVICE "_mqtt._tcp.local" + +// Make this value as large as available ram allows. +#define MAX_MDNS_PACKET_SIZE 512 + +#define MAX_HOSTS 4 +#define HOSTS_SERVICE_NAME 0 +#define HOSTS_PORT 1 +#define HOSTS_HOST_NAME 2 +#define HOSTS_ADDRESS 3 +String hosts[MAX_HOSTS][4]; // Array containing information about hosts received over mDNS. + + +// When an mDNS packet gets parsed this callback gets called once per Query. +// See mdns.h for definition of mdns::Query. +void answerCallback(const mdns::Answer* answer) { + + // A typical PTR record matches service to a human readable name. + // eg: + // service: _mqtt._tcp.local + // name: Mosquitto MQTT server on twinkle.local + if (answer->rrtype == MDNS_TYPE_PTR and strstr(answer->name_buffer, QUESTION_SERVICE) != 0) { + unsigned int i = 0; + for (; i < MAX_HOSTS; ++i) { + if (hosts[i][HOSTS_SERVICE_NAME] == answer->rdata_buffer) { + // Already in hosts[][]. + break; + } + if (hosts[i][HOSTS_SERVICE_NAME] == "") { + // This hosts[][] entry is still empty. + hosts[i][HOSTS_SERVICE_NAME] = answer->rdata_buffer; + break; + } + } + if (i == MAX_HOSTS) { + Serial.print(" ** ERROR ** No space in buffer for "); + Serial.print('"'); + Serial.print(answer->name_buffer); + Serial.print('"'); + Serial.print(" : "); + Serial.print('"'); + Serial.println(answer->rdata_buffer); + Serial.print('"'); + } + } + + // A typical SRV record matches a human readable name to port and FQDN info. + // eg: + // name: Mosquitto MQTT server on twinkle.local + // data: p=0;w=0;port=1883;host=twinkle.local + if (answer->rrtype == MDNS_TYPE_SRV) { + unsigned int i = 0; + for (; i < MAX_HOSTS; ++i) { + if (hosts[i][HOSTS_SERVICE_NAME] == answer->name_buffer) { + // This hosts entry matches the name of the host we are looking for + // so parse data for port and hostname. + char* port_start = strstr(answer->rdata_buffer, "port="); + if (port_start) { + port_start += 5; + char* port_end = strchr(port_start, ';'); + char port[1 + port_end - port_start]; + strncpy(port, port_start, port_end - port_start); + port[port_end - port_start] = '\0'; + + if (port_end) { + char* host_start = strstr(port_end, "host="); + if (host_start) { + host_start += 5; + hosts[i][HOSTS_PORT] = port; + hosts[i][HOSTS_HOST_NAME] = host_start; + } + } + } + break; + } + } + if (i == MAX_HOSTS) { + Serial.print(" Did not find "); + Serial.print('"'); + Serial.print(answer->name_buffer); + Serial.print('"'); + Serial.println(" in hosts buffer."); + } + } + + // A typical A record matches an FQDN to network ipv4 address. + // eg: + // name: twinkle.local + // address: 192.168.192.9 + if (answer->rrtype == MDNS_TYPE_A) { + int i = 0; + for (; i < MAX_HOSTS; ++i) { + if (hosts[i][HOSTS_HOST_NAME] == answer->name_buffer) { + hosts[i][HOSTS_ADDRESS] = answer->rdata_buffer; + break; + } + } + if (i == MAX_HOSTS) { + Serial.print(" Did not find "); + Serial.print('"'); + Serial.print(answer->name_buffer); + Serial.print('"'); + Serial.println(" in hosts buffer."); + } + } + + Serial.println(); + for (int i = 0; i < MAX_HOSTS; ++i) { + if (hosts[i][HOSTS_SERVICE_NAME] != "") { + Serial.print("> "); + Serial.print(hosts[i][HOSTS_SERVICE_NAME]); + Serial.print(" "); + Serial.print(hosts[i][HOSTS_PORT]); + Serial.print(" "); + Serial.print(hosts[i][HOSTS_HOST_NAME]); + Serial.print(" "); + Serial.println(hosts[i][HOSTS_ADDRESS]); + } + } +} + + +// buffer can be used bu other processes that need a large chunk of memory. +byte buffer[MAX_MDNS_PACKET_SIZE]; +mdns::MDns my_mdns(NULL, NULL, answerCallback, buffer, MAX_MDNS_PACKET_SIZE); + + +void setup() +{ + // Open serial communications and wait for port to open: + Serial.begin(115200); + + // setting up Station AP + WiFi.begin(ssid, pass); + + // Wait for connect to AP + Serial.print("[Connecting]"); + Serial.print(ssid); + int tries = 0; + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + tries++; + if (tries > 30) { + break; + } + } + Serial.println(); + + printWifiStatus(); + + Serial.println("Connected to wifi"); + + + // Query for all host information for a paticular service. ("_mqtt" in this case.) + my_mdns.Clear(); + struct mdns::Query query_mqtt; + strncpy(query_mqtt.qname_buffer, QUESTION_SERVICE, MAX_MDNS_NAME_LEN); + query_mqtt.qtype = MDNS_TYPE_PTR; + query_mqtt.qclass = 1; // "INternet" + query_mqtt.unicast_response = 0; + my_mdns.AddQuery(query_mqtt); + my_mdns.Send(); + + /* + // Query for all service types on network. + my_mdns.Clear(); + struct mdns::Query query_services; + strncpy(query_services.qname_buffer, "_services._dns-sd._udp.local", MAX_MDNS_NAME_LEN); + query_services.qtype = MDNS_TYPE_PTR; + query_services.qclass = 1; // "INternet" + query_services.unicast_response = 0; + my_mdns.AddQuery(query_services); + my_mdns.Send();*/ + +} + +unsigned int last_packet_count = 0; +void loop() +{ + my_mdns.loop(); + +#ifdef DEBUG_STATISTICS + // Give feedback on the percentage of incoming mDNS packets that fitted in buffer. + // Useful for tuning the buffer size to make best use of available memory. + if(last_packet_count != my_mdns.packet_count && my_mdns.packet_count != 0){ + last_packet_count = my_mdns.packet_count; + Serial.print("mDNS decode success rate: "); + Serial.print(100 - (100 * my_mdns.buffer_size_fail / my_mdns.packet_count)); + Serial.print("%\nLargest packet size: "); + Serial.println(my_mdns.largest_packet_seen); + } +#endif + + // mDNS not using buffer outside my_mdns.loop() so it can be used for other tasks. + strncpy((char*)buffer, + "Some webpage that needs a large buffer" + "big content...", + MAX_MDNS_PACKET_SIZE); + // Display buffer here.... +} + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); +} diff --git a/lib/esp8266_mdns/examples/simple/simple.ino b/lib/esp8266_mdns/examples/simple/simple.ino new file mode 100644 index 00000000..d02180e4 --- /dev/null +++ b/lib/esp8266_mdns/examples/simple/simple.ino @@ -0,0 +1,78 @@ +/* + * This sketch will display mDNS (multicast DNS) data seen on the network. + */ + + +#include "mdns.h" + + +// When an mDNS packet gets parsed this callback gets called. +void packetCallback(const mdns::MDns* packet){ + packet->Display(); + packet->DisplayRawPacket(); +} + +// When an mDNS packet gets parsed this callback gets called once per Query. +// See mdns.h for definition of mdns::Query. +void queryCallback(const mdns::Query* query){ + query->Display(); +} + +// When an mDNS packet gets parsed this callback gets called once per Query. +// See mdns.h for definition of mdns::Answer. +void answerCallback(const mdns::Answer* answer){ + answer->Display(); +} + +// Initialise MDns. If you don't want the optioanl callbacks, just provide a NULL pointer. +mdns::MDns my_mdns(packetCallback, queryCallback, answerCallback); + +void setup() { + // Open serial communications and wait for port to open: + Serial.begin(115200); + + // setting up Station AP + WiFi.begin("your_WiFI_SSID", "your_WiFi_password"); + + // Wait for connect to AP + int tries = 0; + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + tries++; + if (tries > 30) { + break; + } + } + printWifiStatus(); + Serial.println(); +} + +unsigned int last_packet_count = 0; +void loop() { + my_mdns.loop(); + +#ifdef DEBUG_STATISTICS + // Give feedback on the percentage of incoming mDNS packets that fitted in buffer. + // Useful for tuning the buffer size to make best use of available memory. + if(last_packet_count != my_mdns.packet_count && my_mdns.packet_count != 0){ + last_packet_count = my_mdns.packet_count; + Serial.print("mDNS decode success rate: "); + Serial.print(100 - (100 * my_mdns.buffer_size_fail / my_mdns.packet_count)); + Serial.print("%\nLargest packet size: "); + Serial.println(my_mdns.largest_packet_seen); + } +#endif +} + +void printWifiStatus() { + // print the SSID of the network you're attached to: + Serial.println(); + Serial.print("SSID: "); + Serial.println(WiFi.SSID()); + + // print your WiFi shield's IP address: + IPAddress ip = WiFi.localIP(); + Serial.print("IP Address: "); + Serial.println(ip); +} diff --git a/lib/esp8266_mdns/library.json b/lib/esp8266_mdns/library.json new file mode 100644 index 00000000..5279dd9c --- /dev/null +++ b/lib/esp8266_mdns/library.json @@ -0,0 +1,12 @@ +{ +"name": "esp8266_mdns", +"keywords": "esp8266, mdns, Zeroconf, Bonjour, Avahi", +"description": "mDNS queries and responses on esp8266. Or to describe it another way: An mDNS Client or Bonjour Client library for the esp8266.", +"repository": +{ +"type": "git", +"url": "https://github.com/mrdunk/esp8266_mdns.git" +}, +"frameworks": "arduino", +"platforms": "espressif" +} diff --git a/lib/esp8266_mdns/library.properties b/lib/esp8266_mdns/library.properties new file mode 100644 index 00000000..b12611a4 --- /dev/null +++ b/lib/esp8266_mdns/library.properties @@ -0,0 +1,9 @@ +name=esp8266_mdns +version=1.1.7 +author=mrdunk +maintainer=mrdunk +sentence=mDNS queries and responses on esp8266. +paragraph=Or to describe it another way: An mDNS Client or Bonjour Client library for the esp8266. +category=Communication +url=https://github.com/mrdunk/esp8266_mdns +architectures=esp8266 diff --git a/lib/esp8266_mdns/mdns.cpp b/lib/esp8266_mdns/mdns.cpp new file mode 100644 index 00000000..973b3bc8 --- /dev/null +++ b/lib/esp8266_mdns/mdns.cpp @@ -0,0 +1,627 @@ +#include +#include "mdns.h" + + +namespace mdns { + + +// A UDP instance to let us send and receive packets over UDP. +WiFiUDP Udp; + +// Helper function to display formatted data. +void PrintHex(const unsigned char data) { + char tmp[2]; + sprintf(tmp, "%02X", data); + Serial.print(tmp); + Serial.print(" "); +} + +void MDns::startUdpMulticast(){ + Serial.println("Initializing Multicast."); + Udp.beginMulticast(WiFi.localIP(), IPAddress(224, 0, 0, 251), MDNS_TARGET_PORT); +} + +bool MDns::loop() { + data_size = Udp.parsePacket(); + if ( data_size > 12) { + if(data_size > largest_packet_seen){ + largest_packet_seen = data_size; + } +#ifdef DEBUG_STATISTICS + if(data_size > max_packet_size) { + buffer_size_fail++; + data_size = max_packet_size; + } + packet_count++; +#endif + + // We've received a packet which is long enough to contain useful data so + // read the data from it. + Udp.read(data_buffer, data_size); // read the packet into the buffer + // data_buffer[0] and data_buffer[1] contain the Query ID field which is unused in mDNS. + + // data_buffer[2] and data_buffer[3] are DNS flags which are mostly unused in mDNS. + type = !(data_buffer[2] & 0b10000000); // If it's not a query, it's an answer. + truncated = data_buffer[2] & 0b00000010; // If it's truncated we can expect more data soon so we should wait for additional records before deciding whether to respond. + if (data_buffer[3] & 0b00001111) { + // Non zero Response code implies error. + return false; + } + + // Number of incoming queries. + query_count = (data_buffer[4] << 8) + data_buffer[5]; + + // Number of incoming answers. + answer_count = (data_buffer[6] << 8) + data_buffer[7]; + + // Number of incoming Name Server resource records. + ns_count = (data_buffer[8] << 8) + data_buffer[9]; + + // Number of incoming Additional resource records. + ar_count = (data_buffer[10] << 8) + data_buffer[11]; + + if(p_packet_function_) { + // Since a callback function has been registered, execute it. + p_packet_function_(this); + } + +#ifdef DEBUG_OUTPUT + Display(); +#endif // DEBUG_OUTPUT + + // Start of Data section. + buffer_pointer = 12; + + for (unsigned int i_question = 0; i_question < query_count; i_question++) { + Query query; + Parse_Query(query); + if (query.valid) { + if (p_query_function_) { + // Since a callback function has been registered, execute it. + p_query_function_(&query); + } + } + if(buffer_pointer >= data_size){ + return false; + } +#ifdef DEBUG_OUTPUT + query.Display(); +#endif // DEBUG_OUTPUT + } + + for (unsigned int i_answer = 0; i_answer < (answer_count + ns_count + ar_count); i_answer++) { + Answer answer; + Parse_Answer(answer); + if (answer.valid) { + if (p_answer_function_) { + // Since a callback function has been registered, execute it. + p_answer_function_(&answer); + } + } + if(buffer_pointer >= data_size){ + return false; + } +#ifdef DEBUG_OUTPUT + answer.Display(); +#endif // DEBUG_OUTPUT + } + +#ifdef DEBUG_RAW + DisplayRawPacket(); +#endif // DEBUG_RAW + + return true; + } + return true; // Not enough data for a full packet to be waiting. +} + +void MDns::Clear() { + data_buffer[0] = 0; // Query ID field which is unused in mDNS. + data_buffer[1] = 0; // Query ID field which is unused in mDNS. + data_buffer[2] = 0; // 0b00000000 for Query, 0b10000000 for Answer. + data_buffer[3] = 0; // DNS flags which are mostly unused in mDNS. + data_buffer[4] = 0; // Number of queries. + data_buffer[5] = 0; // Number of queries. + data_buffer[6] = 0; // Number of answers. + data_buffer[7] = 0; // Number of answers. + data_buffer[8] = 0; // Number of Server esource records. + data_buffer[9] = 0; // Number of Server esource records. + data_buffer[10] = 0; // Number of Additional resource records. + data_buffer[11] = 0; // Number of Additional resource records. + + data_size = 12; + buffer_pointer = 12; // First byte of first Query/Record. + type = 0; + query_count = 0; + answer_count = 0; + ns_count = 0; + ar_count = 0; +} + +unsigned int MDns::PopulateName(const char* name_buffer) { + // TODO: This section does not match the full mDNS spec + // as it does not re-use strings from previous queries. + + unsigned int buffer_pointer_start = buffer_pointer; + int word_start = 0, word_end = 0; + while (true) { + if (name_buffer[word_end] == '.' or name_buffer[word_end] == '\0') { + const int word_length = word_end - word_start; + if(buffer_pointer >= data_size){ + buffer_pointer = buffer_pointer_start; +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. MDns::PopulateName overran buffer."); +#endif + return 0; + } + data_buffer[buffer_pointer++] = (unsigned byte)word_length; + for (int i = word_start; i < word_end; ++i) { + if(buffer_pointer >= data_size){ + buffer_pointer = buffer_pointer_start; +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. MDns::PopulateName overran buffer."); +#endif + return 0; + } + data_buffer[buffer_pointer++] = name_buffer[i]; + } + if(name_buffer[word_end] == '\0'){ + break; + } + word_end++; // Skip the '.' character. + word_start = word_end; + } + word_end++; + }; + + if(buffer_pointer >= data_size){ + buffer_pointer = buffer_pointer_start; +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. MDns::PopulateName overran buffer while finishing."); +#endif + return 0; + } + data_buffer[buffer_pointer++] = '\0'; // End of qname. + + return buffer_pointer - buffer_pointer_start; +} + +bool MDns::AddQuery(const Query& query) { + if (answer_count || ns_count || ar_count) { +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. Resource records included before Queries."); +#endif + return false; + } + + // Buffer increased by length of qname_buffer + a preceding length + zero termination + // + 4 bits of mDNS flags. + data_size += strlen(query.qname_buffer) +6; + + // Create DNS name buffer from qname. + if(PopulateName(query.qname_buffer) == 0 || buffer_pointer +4 > data_size){ +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. MDns::AddQuery overran expected buffer space."); +#endif + return false; + } + // The rest of the flags. + data_buffer[buffer_pointer++] = (query.qtype & 0xFF00) >> 8; + data_buffer[buffer_pointer++] = query.qtype & 0xFF; + unsigned int qclass = 0; + if (query.unicast_response) { + qclass = 0b1000000000000000; + } + qclass += query.qclass; + data_buffer[buffer_pointer++] = (qclass & 0xFF00) >> 8; + data_buffer[buffer_pointer++] = qclass & 0xFF; + data_size = buffer_pointer; + + // Since the data fitted in the buffer, it's ok to update the header. + data_buffer[2] = 0; // 0b00000000 for Query, 0b10000000 for Answer. + type = 1; + ++query_count; + data_buffer[4] = (query_count & 0xFF00) >> 8; + data_buffer[5] = query_count & 0xFF; + + return true; +} + +bool MDns::AddAnswer(const Answer& answer) { + if (ns_count || ar_count) { +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. NS or AR records added before Answer records"); +#endif + return false; + } + + data_size += strlen(answer.name_buffer) +12; + + // Create DNS name buffer from name. + if(PopulateName(answer.name_buffer) == 0 || buffer_pointer +10 > data_size){ +#ifdef DEBUG_OUTPUT + Serial.println(" ERROR. MDns::AddAnswer over-ran expected buffer space."); +#endif + return false; + } + + data_buffer[buffer_pointer++] = (answer.rrtype & 0xFF00) >> 8; + data_buffer[buffer_pointer++] = answer.rrtype & 0xFF; + + unsigned int rrclass = 0; + if (answer.rrset) { + rrclass = 0b1000000000000000; + } + rrclass += answer.rrclass; + data_buffer[buffer_pointer++] = (rrclass & 0xFF00) >> 8; + data_buffer[buffer_pointer++] = rrclass & 0xFF; + + data_buffer[buffer_pointer++] = (answer.rrttl & 0xFF000000) >> 24; + data_buffer[buffer_pointer++] = (answer.rrttl & 0xFF0000) >> 16; + data_buffer[buffer_pointer++] = (answer.rrttl & 0xFF00) >> 8; + data_buffer[buffer_pointer++] = (answer.rrttl & 0xFF); + + const unsigned int rdata_len_p0 = buffer_pointer++; + const unsigned int rdata_len_p1 = buffer_pointer++; + unsigned int rdata_len = 0; + + switch (answer.rrtype) { + case MDNS_TYPE_A: // Returns a 32-bit IPv4 address + if(buffer_pointer +4 >= data_size){ return false; } + rdata_len = 4; + data_buffer[buffer_pointer++] = answer.rdata_buffer[0]; + data_buffer[buffer_pointer++] = answer.rdata_buffer[1]; + data_buffer[buffer_pointer++] = answer.rdata_buffer[2]; + data_buffer[buffer_pointer++] = answer.rdata_buffer[3]; + break; + case MDNS_TYPE_PTR: // Pointer to a canonical name. + rdata_len = PopulateName(answer.rdata_buffer); + if(buffer_pointer >= data_size){ return false; } + break; + default: +#ifdef DEBUG_OUTPUT + // TODO: Other record types. + Serial.println(" **ERROR** Sending this record type not implemented yet."); +#endif + return false; + } + + data_buffer[rdata_len_p0] = (rdata_len & 0xFF00) >> 8; + data_buffer[rdata_len_p1] = rdata_len & 0xFF; + + data_size = buffer_pointer; + + // Since the data fitted in the buffer, it's ok to update the header. + answer_count++; + data_buffer[6] = (answer_count & 0xFF00) >> 8; + data_buffer[7] = answer_count & 0xFF; + + return true; +} + +void MDns::Send() const { + Serial.println("Sending UDP multicast packet"); + + Udp.begin(MDNS_SOURCE_PORT); + Udp.beginPacketMulticast(IPAddress(224, 0, 0, 251), MDNS_TARGET_PORT, WiFi.localIP(), MDNS_TTL); + Udp.write(data_buffer, data_size); + Udp.endPacket(); +} + +void MDns::Display() const { + Serial.println(); + Serial.print("Packet size: "); + Serial.print(data_size); + Serial.print(" "); + Serial.println(data_size, HEX); + Serial.print(" TYPE: "); + Serial.print(type); + Serial.print(" QUERY_COUNT: "); + Serial.print(query_count); + Serial.print(" ANSWER_COUNT: "); + Serial.print(answer_count); + Serial.print(" NS_COUNT: "); + Serial.print(ns_count); + Serial.print(" AR_COUNT: "); + Serial.println(ar_count); +} + +void MDns::Parse_Query(Query& query) { +#ifdef DEBUG_OUTPUT + query.buffer_pointer = buffer_pointer; +#endif + + buffer_pointer = nameFromDnsPointer(query.qname_buffer, 0, MAX_MDNS_NAME_LEN, + data_buffer, buffer_pointer); + + byte qtype_0 = data_buffer[buffer_pointer++]; + byte qtype_1 = data_buffer[buffer_pointer++]; + byte qclass_0 = data_buffer[buffer_pointer++]; + byte qclass_1 = data_buffer[buffer_pointer++]; + + query.qtype = (qtype_0 << 8) + qtype_1; + + query.unicast_response = (0b10000000 & qclass_0); + query.qclass = ((qclass_0 & 0b01111111) << 8) + qclass_1; + + query.valid = true; + + if (query.qclass != 0xFF && query.qclass != 0x01) { + // QCLASS is not ANY (0xFF) or INternet (0x01). +#ifdef DEBUG_OUTPUT + Serial.print(" **ERROR QCLASS** "); + Serial.println(query.qclass, HEX); +#endif + query.valid = false; + } + + if (buffer_pointer >= data_size) { + // We've over-run the returned data. + // Something has gone wrong receiving or parsing the data. +#ifdef DEBUG_OUTPUT + Serial.print(" **ERROR size** "); + Serial.print(buffer_pointer, HEX); + Serial.print(" "); + Serial.println(data_size, HEX); +#endif + query.valid = false; + } +} + +void MDns::Parse_Answer(Answer& answer) { +#ifdef DEBUG_OUTPUT + answer.buffer_pointer = buffer_pointer; +#endif + + buffer_pointer = nameFromDnsPointer(answer.name_buffer, 0, MAX_MDNS_NAME_LEN, + data_buffer, buffer_pointer); + + answer.rrtype = (data_buffer[buffer_pointer++] << 8); + answer.rrtype += data_buffer[buffer_pointer++]; + + byte rrclass_0 = data_buffer[buffer_pointer++]; + byte rrclass_1 = data_buffer[buffer_pointer++]; + answer.rrset = (0b10000000 & rrclass_0); + answer.rrclass = ((rrclass_0 & 0b01111111) << 8) + rrclass_1; + + answer.rrttl = (data_buffer[buffer_pointer++] << 24); + answer.rrttl += (data_buffer[buffer_pointer++] << 16); + answer.rrttl += (data_buffer[buffer_pointer++] << 8); + answer.rrttl += data_buffer[buffer_pointer++]; + + if (buffer_pointer > data_size) { + // We've over-run the returned data. + // Something has gone wrong receiving or parsing the data. +#ifdef DEBUG_OUTPUT + Serial.print(" **ERROR size** "); + Serial.print(buffer_pointer, HEX); + Serial.print(" "); + Serial.println(data_size, HEX); +#endif + answer.valid = false; + return; + } + PopulateAnswerResult(&answer); + + answer.valid = true; +} + +// Display packet contents in HEX. +void MDns::DisplayRawPacket() const { + // display the packet contents in HEX + Serial.println("Raw packet"); + unsigned int i, j; + + for (i = 0; i <= data_size; i += 16) { + Serial.print("0x"); + PrintHex(i >> 8); PrintHex(i); + Serial.print(" "); + for (j = 0; j < 16; j++) { + if (i + j >= data_size) { + break; + } + if (data_buffer[i + j] > 31 and data_buffer[i + j] < 128) { + Serial.print((char)data_buffer[i + j]); + } else { + Serial.print("."); + } + } + Serial.print(" "); + for (j = 0; j < 16; j++) { + if (i + j >= data_size) { + break; + } + PrintHex(data_buffer[i + j]); + Serial.print(' '); + } + Serial.println(); + } +} + + +void MDns::PopulateAnswerResult(Answer* answer) { + int rdlength = (data_buffer[buffer_pointer++] << 8); + rdlength += data_buffer[buffer_pointer++]; + + switch (answer->rrtype) { + case MDNS_TYPE_A: // Returns a 32-bit IPv4 address + if (MAX_MDNS_NAME_LEN >= 16) { + sprintf(answer->rdata_buffer, "%u.%u.%u.%u", + data_buffer[buffer_pointer], data_buffer[buffer_pointer +1], + data_buffer[buffer_pointer +2], data_buffer[buffer_pointer +3]); + } else { + sprintf(answer->rdata_buffer, "ipv4"); + } + buffer_pointer += 4; + break; + case MDNS_TYPE_PTR: // Pointer to a canonical name. + buffer_pointer = nameFromDnsPointer(answer->rdata_buffer, 0, MAX_MDNS_NAME_LEN, + data_buffer, buffer_pointer); + break; + case MDNS_TYPE_HINFO: // HINFO. host information + buffer_pointer = parseText(answer->rdata_buffer, MAX_MDNS_NAME_LEN, rdlength, + data_buffer, buffer_pointer); + break; + case MDNS_TYPE_TXT: // Originally for arbitrary human-readable text in a DNS record. + // We only return the first MAX_MDNS_NAME_LEN bytes of thir record type. + buffer_pointer = parseText(answer->rdata_buffer, MAX_MDNS_NAME_LEN, rdlength, + data_buffer, buffer_pointer); + break; + case MDNS_TYPE_AAAA: // Returns a 128-bit IPv6 address. + { + int buffer_pos = 0; + for (int i = 0; i < rdlength; i++) { + if (buffer_pos < MAX_MDNS_NAME_LEN - 3) { + sprintf(answer->rdata_buffer + buffer_pos, "%02X:", data_buffer[buffer_pointer++]); + } else { + buffer_pointer++; + } + buffer_pos += 3; + } + answer->rdata_buffer[--buffer_pos] = '\0'; // Remove trailing ':' + } + break; + case MDNS_TYPE_SRV: // Server Selection. + { + unsigned int priority = (data_buffer[buffer_pointer++] << 8); + priority += data_buffer[buffer_pointer++]; + unsigned int weight = (data_buffer[buffer_pointer++] << 8); + weight += data_buffer[buffer_pointer++]; + unsigned int port = (data_buffer[buffer_pointer++] << 8); + port += data_buffer[buffer_pointer++]; + sprintf(answer->rdata_buffer, "p=%u;w=%u;port=%u;host=", priority, weight, port); + + buffer_pointer = nameFromDnsPointer(answer->rdata_buffer, strlen(answer->rdata_buffer), + MAX_MDNS_NAME_LEN - strlen(answer->rdata_buffer) -1, data_buffer, buffer_pointer); + } + break; + default: + { + int buffer_pos = 0; + for (int i = 0; i < rdlength; i++) { + if (buffer_pos < MAX_MDNS_NAME_LEN - 3) { + sprintf(answer->rdata_buffer + buffer_pos, "%02X ", data_buffer[buffer_pointer++]); + } else { + buffer_pointer++; + } + buffer_pos += 3; + } + } + break; + } +} + +MDns::~MDns(){ + Udp.stop(); +}; + +bool writeToBuffer(const byte value, char* p_name_buffer, int* p_name_buffer_pos, + const int name_buffer_len) { + if (*p_name_buffer_pos < name_buffer_len - 1) { + *(p_name_buffer + *p_name_buffer_pos) = value; + (*p_name_buffer_pos)++; + *(p_name_buffer + *p_name_buffer_pos) = '\0'; + return true; + } + (*p_name_buffer_pos)++; + return false; +} + +int parseText(char* data_buffer, const int data_buffer_len, const int data_len, + const byte* p_packet_buffer, int packet_buffer_pos) { + int i, data_buffer_pos = 0; + for (i = 0; i < data_len; i++) { + writeToBuffer(p_packet_buffer[packet_buffer_pos++], data_buffer, &data_buffer_pos, data_buffer_len); + } + data_buffer[data_buffer_pos] = '\0'; + return packet_buffer_pos; +} + +int nameFromDnsPointer(char* p_name_buffer, int name_buffer_pos, const int name_buffer_len, + const byte* p_packet_buffer, int packet_buffer_pos) { + return nameFromDnsPointer(p_name_buffer, name_buffer_pos, name_buffer_len, + p_packet_buffer, packet_buffer_pos, false); +} + +int nameFromDnsPointer(char* p_name_buffer, int name_buffer_pos, const int name_buffer_len, + const byte* p_packet_buffer, int packet_buffer_pos, const bool recurse){ + if (recurse) { + // Since we are adding more to an already populated buffer, + // replace the trailing EOL with the FQDN seperator. + name_buffer_pos--; + writeToBuffer('.', p_name_buffer, &name_buffer_pos, name_buffer_len); + } + + if (p_packet_buffer[packet_buffer_pos] < 0xC0) { + // Since the first 2 bits are not set, + // this is the start of a name section. + // http://www.tcpipguide.com/free/t_DNSNameNotationandMessageCompressionTechnique.htm + + const int word_len = p_packet_buffer[packet_buffer_pos++]; + for (int l = 0; l < word_len; l++) { + writeToBuffer(*(p_packet_buffer + packet_buffer_pos++), p_name_buffer, + &name_buffer_pos, name_buffer_len); + } + + writeToBuffer('\0', p_name_buffer, &name_buffer_pos, name_buffer_len); + + if (p_packet_buffer[packet_buffer_pos] > 0) { + // Next word. + packet_buffer_pos = nameFromDnsPointer(p_name_buffer, name_buffer_pos, + name_buffer_len, p_packet_buffer, + packet_buffer_pos, true); + } else { + // End of string. + packet_buffer_pos++; + } + } else { + // Message Compression used. Next 2 bytes are a pointer to the actual name section. + int pointer = (p_packet_buffer[packet_buffer_pos++] - 0xC0) << 8; + pointer += p_packet_buffer[packet_buffer_pos++]; + nameFromDnsPointer(p_name_buffer, name_buffer_pos, name_buffer_len, + p_packet_buffer, pointer, false); + } + return packet_buffer_pos; +} + +void Query::Display() const { +#ifdef DEBUG_OUTPUT + Serial.print("question 0x"); + Serial.println(buffer_pointer, HEX); +#endif + if (!valid) { + Serial.println(" **ERROR**"); + } + Serial.print(" QNAME: "); + Serial.println(qname_buffer); + Serial.print(" QTYPE: 0x"); + Serial.print(qtype, HEX); + Serial.print(" QCLASS: 0x"); + Serial.print(qclass, HEX); + Serial.print(" Unicast Response: "); + Serial.println(unicast_response); +} + +void Answer::Display() const { +#ifdef DEBUG_OUTPUT + Serial.print("answer 0x"); + Serial.println(buffer_pointer, HEX); +#endif + if (!valid) { + Serial.println(" **ERROR**"); + } + Serial.print(" RRNAME: "); + Serial.println(name_buffer); + Serial.print(" RRTYPE: 0x"); + Serial.print(rrtype, HEX); + Serial.print(" RRCLASS: 0x"); + Serial.print(rrclass, HEX); + Serial.print(" RRTTL: "); + Serial.print(rrttl); + Serial.print(" RRSET: "); + Serial.println(rrset); + Serial.print(" RRDATA: "); + Serial.println(rdata_buffer); +} + +} // namespace mdns diff --git a/lib/esp8266_mdns/mdns.h b/lib/esp8266_mdns/mdns.h new file mode 100644 index 00000000..58b2f997 --- /dev/null +++ b/lib/esp8266_mdns/mdns.h @@ -0,0 +1,244 @@ +#ifndef MDNS_H +#define MDNS_H + +#include +#include +#include + +#define DEBUG_STATISTICS // Record how many incoming packets fitted into data_buffer. +//#define DEBUG_OUTPUT // Send packet summaries to Serial. +//#define DEBUG_RAW // Send HEX ans ASCII encoded raw packet to Serial. + + +#define MDNS_TYPE_A 0x0001 +#define MDNS_TYPE_PTR 0x000C +#define MDNS_TYPE_HINFO 0x000D +#define MDNS_TYPE_TXT 0x0010 +#define MDNS_TYPE_AAAA 0x001C +#define MDNS_TYPE_SRV 0x0021 + +#define MDNS_TARGET_PORT 5353 +#define MDNS_SOURCE_PORT 5353 +#define MDNS_TTL 255 + +// Make this as big as memory limitations allow. +// This default value can be overridden using the max_packet_size_ parameter of +// MDns(). +#define MAX_PACKET_SIZE 1024 + +// The mDNS spec says this should never be more than 256 (including trailing '\0'). +#define MAX_MDNS_NAME_LEN 256 + +namespace mdns{ + +// A single mDNS Query. +typedef struct Query{ +#ifdef DEBUG_OUTPUT + unsigned int buffer_pointer; // Position of Answer in packet. (Used for debugging only.) +#endif + char qname_buffer[MAX_MDNS_NAME_LEN]; // Question Name: Contains the object, domain or zone name. + unsigned int qtype; // Question Type: Type of question being asked by client. + unsigned int qclass; // Question Class: Normally the value 1 for Internet (“IN”) + bool unicast_response; // + bool valid; // False if problems were encountered decoding packet. + + void Display() const; // Display a summary of this Answer on Serial port. +} Query; + +// A single mDNS Answer. +typedef struct Answer{ +#ifdef DEBUG_OUTPUT + unsigned int buffer_pointer; // Position of Answer in packet. (Used for debugging only.) +#endif + char name_buffer[MAX_MDNS_NAME_LEN]; // object, domain or zone name. + char rdata_buffer[MAX_MDNS_NAME_LEN]; // The data portion of the resource record. + unsigned int rrtype; // ResourceRecord Type. + unsigned int rrclass; // ResourceRecord Class: Normally the value 1 for Internet (“IN”) + unsigned long int rrttl; // ResourceRecord Time To Live: Number of seconds ths should be remembered. + bool rrset; // Flush cache of records matching this name. + bool valid; // False if problems were encountered decoding packet. + + void Display() const ; // Display a summary of this Answer on Serial port. +} Answer; + +class MDns { + private: + public: + // Simple constructor does not fire any callbacks on incoming data. + // Default incoming data_buffer size is used. + MDns() : MDns(NULL, NULL, NULL, MAX_PACKET_SIZE) {} + + // Simple constructor does not fire any callbacks on incoming data. + // Args: + // max_packet_size_ : Set the data_buffer size allocated to store incoming packets. + MDns(int max_packet_size_) : MDns(NULL, NULL, NULL, max_packet_size_) {} + + // Constructor takes callbacks which fire when mDNS data arrives. + // Args: + // p_packet_function : Callback fires for every mDNS packet that arrives. + // p_query_function : Callback fires for every mDNS Query that arrives as part of a packet. + // p_answer_function : Callback fires for every mDNS Answer that arrives as part of a packet. + MDns(std::function p_packet_function, + std::function p_query_function, + std::function p_answer_function) : + MDns(p_packet_function, p_query_function, p_answer_function, MAX_PACKET_SIZE) { } + + // Constructor takes callbacks which fire when mDNS data arrives. + // Args: + // p_packet_function : Callback fires for every mDNS packet that arrives. + // p_query_function : Callback fires for every mDNS Query that arrives as part of a packet. + // p_answer_function : Callback fires for every mDNS Answer that arrives as part of a packet. + // max_packet_size_ : Set the data_buffer size allocated to store incoming packets. + MDns(std::function p_packet_function, + std::function p_query_function, + std::function p_answer_function, + int max_packet_size_) : +#ifdef DEBUG_STATISTICS + buffer_size_fail(0), + largest_packet_seen(0), + packet_count(0), +#endif + p_packet_function_(p_packet_function), + p_query_function_(p_query_function), + p_answer_function_(p_answer_function), + buffer_pointer(0), + data_buffer(new byte[max_packet_size_]), + max_packet_size(max_packet_size_) + { + this->startUdpMulticast(); + }; + + // Constructor can be passed the buffer to hold the mDNS data. + // This way the potentially large buffer can be shared with other processes. + // Args: + // p_packet_function : Callback fires for every mDNS packet that arrives. + // p_query_function : Callback fires for every mDNS Query that arrives as part of a packet. + // p_answer_function : Callback fires for every mDNS Answer that arrives as part of a packet. + // max_packet_size_ : Set the data_buffer size allocated to store incoming packets. + MDns(std::function p_packet_function, + std::function p_query_function, + std::function p_answer_function, + byte* data_buffer_, + int max_packet_size_) : +#ifdef DEBUG_STATISTICS + buffer_size_fail(0), + largest_packet_seen(0), + packet_count(0), +#endif + p_packet_function_(p_packet_function), + p_query_function_(p_query_function), + p_answer_function_(p_answer_function), + buffer_pointer(0), + data_buffer(data_buffer_), + max_packet_size(max_packet_size_) + { + this->startUdpMulticast(); + }; + + ~MDns(); + + // Call this regularly to check for an incoming packet. + bool loop(); + // Deprecated. Use loop() instead. + bool Check(){ + return loop(); + } + + // Send this MDns packet. + void Send() const; + + // Resets everything to represent an empty packet. + // Do this before building a packet for sending. + void Clear(); + + // Add a query to packet prior to sending. + // May only be done before any Answers have been added. + bool AddQuery(const Query& query); + + // Add an answer to packet prior to sending. + bool AddAnswer(const Answer& answer); + + // Display a summary of the packet on Serial port. + void Display() const; + + // Display the raw packet in HEX and ASCII. + void DisplayRawPacket() const; + +#ifdef DEBUG_STATISTICS + // Counter gets increased every time an incoming mDNS packet arrives that does + // not fit in the data_buffer. + unsigned int buffer_size_fail; + + // Track the largest mDNS packet that has arrived. + // Useful for knowing what size to make data_buffer. + unsigned int largest_packet_seen; + + // How many mDNS packets have arrived so far. + unsigned int packet_count; +#endif + private: + // Initializes udp multicast + void startUdpMulticast(); + + void Parse_Query(Query& query); + void Parse_Answer(Answer& answer); + unsigned int PopulateName(const char* name_buffer); + void PopulateAnswerResult(Answer* answer); + + // Pointer to function that gets called for every incoming mDNS packet. + std::function p_packet_function_; + + // Pointer to function that gets called for every incoming query. + std::function p_query_function_; + + // Pointer to function that gets called for every incoming answer. + std::function p_answer_function_; + + // Position in data_buffer while processing packet. + unsigned int buffer_pointer; + + // Buffer containing mDNS packet. + byte* data_buffer; + + // Buffer size for incoming MDns packet. + unsigned int max_packet_size; + + // Size of mDNS packet. + unsigned int data_size; + + // Query or Answer + bool type; + + // Whether more follows in another packet. + bool truncated; + + // Number of Qeries in the packet. + unsigned int query_count; + + // Number of Answers in the packet. + unsigned int answer_count; + + unsigned int ns_count; + unsigned int ar_count; +}; + + +// Display a byte on serial console in hexadecimal notation, +// padding with leading zero if necisary to provide evenly tabulated display data. +void PrintHex(unsigned char data); + +// Extract Name from DNS data. Will follow pointers used by Message Compression. +// TODO Check for exceeding packet size. +int nameFromDnsPointer(char* p_name_buffer, int name_buffer_pos, const int name_buffer_len, + const byte* p_packet_buffer, int packet_buffer_pos); +int nameFromDnsPointer(char* p_name_buffer, int name_buffer_pos, const int name_buffer_len, + const byte* p_packet_buffer, int packet_buffer_pos, const bool recurse); + +bool writeToBuffer(const byte value, char* p_name_buffer, int* p_name_buffer_pos, const int name_buffer_len); + +int parseText(char* data_buffer, const int data_buffer_len, int const data_len, + const byte* p_packet_buffer, int packet_buffer_pos); + +} // namespace mdns + +#endif // MDNS_H diff --git a/lib/pubsubclient/.gitignore b/lib/pubsubclient/.gitignore new file mode 100644 index 00000000..1c3ba189 --- /dev/null +++ b/lib/pubsubclient/.gitignore @@ -0,0 +1 @@ +tests/bin diff --git a/lib/pubsubclient/.travis.yml b/lib/pubsubclient/.travis.yml new file mode 100644 index 00000000..e7b28cb9 --- /dev/null +++ b/lib/pubsubclient/.travis.yml @@ -0,0 +1,7 @@ +sudo: false +language: cpp +compiler: + - g++ +script: cd tests && make && make test +os: + - linux diff --git a/lib/pubsubclient/CHANGES.txt b/lib/pubsubclient/CHANGES.txt new file mode 100644 index 00000000..8c8bef64 --- /dev/null +++ b/lib/pubsubclient/CHANGES.txt @@ -0,0 +1,68 @@ +2.4 + * Add MQTT_SOCKET_TIMEOUT to prevent it blocking indefinitely + whilst waiting for inbound data + * Fixed return code when publishing >256 bytes + +2.3 + * Add publish(topic,payload,retained) function + +2.2 + * Change code layout to match Arduino Library reqs + +2.1 + * Add MAX_TRANSFER_SIZE def to chunk messages if needed + * Reject topic/payloads that exceed MQTT_MAX_PACKET_SIZE + +2.0 + * Add (and default to) MQTT 3.1.1 support + * Fix PROGMEM handling for Intel Galileo/ESP8266 + * Add overloaded constructors for convenience + * Add chainable setters for server/callback/client/stream + * Add state function to return connack return code + +1.9 + * Do not split MQTT packets over multiple calls to _client->write() + * API change: All constructors now require an instance of Client + to be passed in. + * Fixed example to match 1.8 api changes - dpslwk + * Added username/password support - WilHall + * Added publish_P - publishes messages from PROGMEM - jobytaffey + +1.8 + * KeepAlive interval is configurable in PubSubClient.h + * Maximum packet size is configurable in PubSubClient.h + * API change: Return boolean rather than int from various functions + * API change: Length parameter in message callback changed + from int to unsigned int + * Various internal tidy-ups around types +1.7 + * Improved keepalive handling + * Updated to the Arduino-1.0 API +1.6 + * Added the ability to publish a retained message + +1.5 + * Added default constructor + * Fixed compile error when used with arduino-0021 or later + +1.4 + * Fixed connection lost handling + +1.3 + * Fixed packet reading bug in PubSubClient.readPacket + +1.2 + * Fixed compile error when used with arduino-0016 or later + + +1.1 + * Reduced size of library + * Added support for Will messages + * Clarified licensing - see LICENSE.txt + + +1.0 + * Only Quality of Service (QOS) 0 messaging is supported + * The maximum message size, including header, is 128 bytes + * The keepalive interval is set to 30 seconds + * No support for Will messages diff --git a/lib/pubsubclient/LICENSE.txt b/lib/pubsubclient/LICENSE.txt new file mode 100644 index 00000000..217df35c --- /dev/null +++ b/lib/pubsubclient/LICENSE.txt @@ -0,0 +1,20 @@ +Copyright (c) 2008-2015 Nicholas O'Leary + +Permission is hereby granted, free of charge, to any person obtaining +a copy of this software and associated documentation files (the +"Software"), to deal in the Software without restriction, including +without limitation the rights to use, copy, modify, merge, publish, +distribute, sublicense, and/or sell copies of the Software, and to +permit persons to whom the Software is furnished to do so, subject to +the following conditions: + +The above copyright notice and this permission notice shall be +included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND +NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE +LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION +OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION +WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. diff --git a/lib/pubsubclient/README.md b/lib/pubsubclient/README.md new file mode 100644 index 00000000..83176919 --- /dev/null +++ b/lib/pubsubclient/README.md @@ -0,0 +1,47 @@ +# Arduino Client for MQTT + +This library provides a client for doing simple publish/subscribe messaging with +a server that supports MQTT. + +## Examples + +The library comes with a number of example sketches. See File > Examples > PubSubClient +within the Arduino application. + +Full API documentation is available here: http://pubsubclient.knolleary.net + +## Limitations + + - It can only publish QoS 0 messages. It can subscribe at QoS 0 or QoS 1. + - The maximum message size, including header, is **128 bytes** by default. This + is configurable via `MQTT_MAX_PACKET_SIZE` in `PubSubClient.h`. + - The keepalive interval is set to 15 seconds by default. This is configurable + via `MQTT_KEEPALIVE` in `PubSubClient.h`. + - The client uses MQTT 3.1.1 by default. It can be changed to use MQTT 3.1 by + changing value of `MQTT_VERSION` in `PubSubClient.h`. + + +## Compatible Hardware + +The library uses the Arduino Ethernet Client api for interacting with the +underlying network hardware. This means it Just Works with a growing number of +boards and shields, including: + + - Arduino Ethernet + - Arduino Ethernet Shield + - Arduino YUN – use the included `YunClient` in place of `EthernetClient`, and + be sure to do a `Bridge.begin()` first + - Arduino WiFi Shield - if you want to send packets > 90 bytes with this shield, + enable the `MQTT_MAX_TRANSFER_SIZE` define in `PubSubClient.h`. + - Sparkfun WiFly Shield – [library](https://github.com/dpslwk/WiFly) + - TI CC3000 WiFi - [library](https://github.com/sparkfun/SFE_CC3000_Library) + - Intel Galileo/Edison + - ESP8266 + +The library cannot currently be used with hardware based on the ENC28J60 chip – +such as the Nanode or the Nuelectronics Ethernet Shield. For those, there is an +[alternative library](https://github.com/njh/NanodeMQTT) available. + +## License + +This code is released under the MIT License. diff --git a/lib/pubsubclient/examples/mqtt_auth/mqtt_auth.ino b/lib/pubsubclient/examples/mqtt_auth/mqtt_auth.ino new file mode 100644 index 00000000..e9f7b180 --- /dev/null +++ b/lib/pubsubclient/examples/mqtt_auth/mqtt_auth.ino @@ -0,0 +1,43 @@ +/* + Basic MQTT example with Authentication + + - connects to an MQTT server, providing username + and password + - publishes "hello world" to the topic "outTopic" + - subscribes to the topic "inTopic" +*/ + +#include +#include +#include + +// Update these with values suitable for your network. +byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; +IPAddress ip(172, 16, 0, 100); +IPAddress server(172, 16, 0, 2); + +void callback(char* topic, byte* payload, unsigned int length) { + // handle message arrived +} + +EthernetClient ethClient; +PubSubClient client(server, 1883, callback, ethClient); + +void setup() +{ + Ethernet.begin(mac, ip); + // Note - the default maximum packet size is 128 bytes. If the + // combined length of clientId, username and password exceed this, + // you will need to increase the value of MQTT_MAX_PACKET_SIZE in + // PubSubClient.h + + if (client.connect("arduinoClient", "testuser", "testpass")) { + client.publish("outTopic","hello world"); + client.subscribe("inTopic"); + } +} + +void loop() +{ + client.loop(); +} diff --git a/lib/pubsubclient/examples/mqtt_basic/mqtt_basic.ino b/lib/pubsubclient/examples/mqtt_basic/mqtt_basic.ino new file mode 100644 index 00000000..f545adef --- /dev/null +++ b/lib/pubsubclient/examples/mqtt_basic/mqtt_basic.ino @@ -0,0 +1,77 @@ +/* + Basic MQTT example + + This sketch demonstrates the basic capabilities of the library. + It connects to an MQTT server then: + - publishes "hello world" to the topic "outTopic" + - subscribes to the topic "inTopic", printing out any messages + it receives. NB - it assumes the received payloads are strings not binary + + It will reconnect to the server if the connection is lost using a blocking + reconnect function. See the 'mqtt_reconnect_nonblocking' example for how to + achieve the same result without blocking the main loop. + +*/ + +#include +#include +#include + +// Update these with values suitable for your network. +byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; +IPAddress ip(172, 16, 0, 100); +IPAddress server(172, 16, 0, 2); + +void callback(char* topic, byte* payload, unsigned int length) { + Serial.print("Message arrived ["); + Serial.print(topic); + Serial.print("] "); + for (int i=0;i Preferences -> Additional Boards Manager URLs": + http://arduino.esp8266.com/stable/package_esp8266com_index.json + - Open the "Tools -> Board -> Board Manager" and click install for the ESP8266" + - Select your ESP8266 in "Tools -> Board" + +*/ + +#include +#include + +// Update these with values suitable for your network. + +const char* ssid = "........"; +const char* password = "........"; +const char* mqtt_server = "broker.mqtt-dashboard.com"; + +WiFiClient espClient; +PubSubClient client(espClient); +long lastMsg = 0; +char msg[50]; +int value = 0; + +void setup_wifi() { + + delay(10); + // We start by connecting to a WiFi network + Serial.println(); + Serial.print("Connecting to "); + Serial.println(ssid); + + WiFi.begin(ssid, password); + + while (WiFi.status() != WL_CONNECTED) { + delay(500); + Serial.print("."); + } + + randomSeed(micros()); + + Serial.println(""); + Serial.println("WiFi connected"); + Serial.println("IP address: "); + Serial.println(WiFi.localIP()); +} + +void callback(char* topic, byte* payload, unsigned int length) { + Serial.print("Message arrived ["); + Serial.print(topic); + Serial.print("] "); + for (int i = 0; i < length; i++) { + Serial.print((char)payload[i]); + } + Serial.println(); + + // Switch on the LED if an 1 was received as first character + if ((char)payload[0] == '1') { + digitalWrite(BUILTIN_LED, LOW); // Turn the LED on (Note that LOW is the voltage level + // but actually the LED is on; this is because + // it is acive low on the ESP-01) + } else { + digitalWrite(BUILTIN_LED, HIGH); // Turn the LED off by making the voltage HIGH + } + +} + +void reconnect() { + // Loop until we're reconnected + while (!client.connected()) { + Serial.print("Attempting MQTT connection..."); + // Create a random client ID + String clientId = "ESP8266Client-"; + clientId += String(random(0xffff), HEX); + // Attempt to connect + if (client.connect(clientId.c_str())) { + Serial.println("connected"); + // Once connected, publish an announcement... + client.publish("outTopic", "hello world"); + // ... and resubscribe + client.subscribe("inTopic"); + } else { + Serial.print("failed, rc="); + Serial.print(client.state()); + Serial.println(" try again in 5 seconds"); + // Wait 5 seconds before retrying + delay(5000); + } + } +} + +void setup() { + pinMode(BUILTIN_LED, OUTPUT); // Initialize the BUILTIN_LED pin as an output + Serial.begin(115200); + setup_wifi(); + client.setServer(mqtt_server, 1883); + client.setCallback(callback); +} + +void loop() { + + if (!client.connected()) { + reconnect(); + } + client.loop(); + + long now = millis(); + if (now - lastMsg > 2000) { + lastMsg = now; + ++value; + snprintf (msg, 75, "hello world #%ld", value); + Serial.print("Publish message: "); + Serial.println(msg); + client.publish("outTopic", msg); + } +} diff --git a/lib/pubsubclient/examples/mqtt_publish_in_callback/mqtt_publish_in_callback.ino b/lib/pubsubclient/examples/mqtt_publish_in_callback/mqtt_publish_in_callback.ino new file mode 100644 index 00000000..42afb2a3 --- /dev/null +++ b/lib/pubsubclient/examples/mqtt_publish_in_callback/mqtt_publish_in_callback.ino @@ -0,0 +1,60 @@ +/* + Publishing in the callback + + - connects to an MQTT server + - subscribes to the topic "inTopic" + - when a message is received, republishes it to "outTopic" + + This example shows how to publish messages within the + callback function. The callback function header needs to + be declared before the PubSubClient constructor and the + actual callback defined afterwards. + This ensures the client reference in the callback function + is valid. + +*/ + +#include +#include +#include + +// Update these with values suitable for your network. +byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; +IPAddress ip(172, 16, 0, 100); +IPAddress server(172, 16, 0, 2); + +// Callback function header +void callback(char* topic, byte* payload, unsigned int length); + +EthernetClient ethClient; +PubSubClient client(server, 1883, callback, ethClient); + +// Callback function +void callback(char* topic, byte* payload, unsigned int length) { + // In order to republish this payload, a copy must be made + // as the orignal payload buffer will be overwritten whilst + // constructing the PUBLISH packet. + + // Allocate the correct amount of memory for the payload copy + byte* p = (byte*)malloc(length); + // Copy the payload to the new buffer + memcpy(p,payload,length); + client.publish("outTopic", p, length); + // Free the memory + free(p); +} + +void setup() +{ + + Ethernet.begin(mac, ip); + if (client.connect("arduinoClient")) { + client.publish("outTopic","hello world"); + client.subscribe("inTopic"); + } +} + +void loop() +{ + client.loop(); +} diff --git a/lib/pubsubclient/examples/mqtt_reconnect_nonblocking/mqtt_reconnect_nonblocking.ino b/lib/pubsubclient/examples/mqtt_reconnect_nonblocking/mqtt_reconnect_nonblocking.ino new file mode 100644 index 00000000..080b7391 --- /dev/null +++ b/lib/pubsubclient/examples/mqtt_reconnect_nonblocking/mqtt_reconnect_nonblocking.ino @@ -0,0 +1,67 @@ +/* + Reconnecting MQTT example - non-blocking + + This sketch demonstrates how to keep the client connected + using a non-blocking reconnect function. If the client loses + its connection, it attempts to reconnect every 5 seconds + without blocking the main loop. + +*/ + +#include +#include +#include + +// Update these with values suitable for your hardware/network. +byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; +IPAddress ip(172, 16, 0, 100); +IPAddress server(172, 16, 0, 2); + +void callback(char* topic, byte* payload, unsigned int length) { + // handle message arrived +} + +EthernetClient ethClient; +PubSubClient client(ethClient); + +long lastReconnectAttempt = 0; + +boolean reconnect() { + if (client.connect("arduinoClient")) { + // Once connected, publish an announcement... + client.publish("outTopic","hello world"); + // ... and resubscribe + client.subscribe("inTopic"); + } + return client.connected(); +} + +void setup() +{ + client.setServer(server, 1883); + client.setCallback(callback); + + Ethernet.begin(mac, ip); + delay(1500); + lastReconnectAttempt = 0; +} + + +void loop() +{ + if (!client.connected()) { + long now = millis(); + if (now - lastReconnectAttempt > 5000) { + lastReconnectAttempt = now; + // Attempt to reconnect + if (reconnect()) { + lastReconnectAttempt = 0; + } + } + } else { + // Client connected + + client.loop(); + } + +} diff --git a/lib/pubsubclient/examples/mqtt_stream/mqtt_stream.ino b/lib/pubsubclient/examples/mqtt_stream/mqtt_stream.ino new file mode 100644 index 00000000..67c22872 --- /dev/null +++ b/lib/pubsubclient/examples/mqtt_stream/mqtt_stream.ino @@ -0,0 +1,57 @@ +/* + Example of using a Stream object to store the message payload + + Uses SRAM library: https://github.com/ennui2342/arduino-sram + but could use any Stream based class such as SD + + - connects to an MQTT server + - publishes "hello world" to the topic "outTopic" + - subscribes to the topic "inTopic" +*/ + +#include +#include +#include +#include + +// Update these with values suitable for your network. +byte mac[] = { 0xDE, 0xED, 0xBA, 0xFE, 0xFE, 0xED }; +IPAddress ip(172, 16, 0, 100); +IPAddress server(172, 16, 0, 2); + +SRAM sram(4, SRAM_1024); + +void callback(char* topic, byte* payload, unsigned int length) { + sram.seek(1); + + // do something with the message + for(uint8_t i=0; i +maintainer=Nick O'Leary +sentence=A client library for MQTT messaging. +paragraph=MQTT is a lightweight messaging protocol ideal for small devices. This library allows you to send and receive MQTT messages. It supports the latest MQTT 3.1.1 protocol and can be configured to use the older MQTT 3.1 if needed. It supports all Arduino Ethernet Client compatible hardware, including the Intel Galileo/Edison, ESP8266 and TI CC3000. +category=Communication +url=http://pubsubclient.knolleary.net +architectures=* diff --git a/lib/pubsubclient/src/PubSubClient.cpp b/lib/pubsubclient/src/PubSubClient.cpp new file mode 100644 index 00000000..5932bdbe --- /dev/null +++ b/lib/pubsubclient/src/PubSubClient.cpp @@ -0,0 +1,588 @@ +/* + PubSubClient.cpp - A simple client for MQTT. + Nick O'Leary + http://knolleary.net +*/ + +#include "PubSubClient.h" +#include "Arduino.h" + +PubSubClient::PubSubClient() { + this->_state = MQTT_DISCONNECTED; + this->_client = NULL; + this->stream = NULL; + setCallback(NULL); +} + +PubSubClient::PubSubClient(Client& client) { + this->_state = MQTT_DISCONNECTED; + setClient(client); + this->stream = NULL; +} + +PubSubClient::PubSubClient(IPAddress addr, uint16_t port, Client& client) { + this->_state = MQTT_DISCONNECTED; + setServer(addr, port); + setClient(client); + this->stream = NULL; +} +PubSubClient::PubSubClient(IPAddress addr, uint16_t port, Client& client, Stream& stream) { + this->_state = MQTT_DISCONNECTED; + setServer(addr,port); + setClient(client); + setStream(stream); +} +PubSubClient::PubSubClient(IPAddress addr, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) { + this->_state = MQTT_DISCONNECTED; + setServer(addr, port); + setCallback(callback); + setClient(client); + this->stream = NULL; +} +PubSubClient::PubSubClient(IPAddress addr, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) { + this->_state = MQTT_DISCONNECTED; + setServer(addr,port); + setCallback(callback); + setClient(client); + setStream(stream); +} + +PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, Client& client) { + this->_state = MQTT_DISCONNECTED; + setServer(ip, port); + setClient(client); + this->stream = NULL; +} +PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, Client& client, Stream& stream) { + this->_state = MQTT_DISCONNECTED; + setServer(ip,port); + setClient(client); + setStream(stream); +} +PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) { + this->_state = MQTT_DISCONNECTED; + setServer(ip, port); + setCallback(callback); + setClient(client); + this->stream = NULL; +} +PubSubClient::PubSubClient(uint8_t *ip, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) { + this->_state = MQTT_DISCONNECTED; + setServer(ip,port); + setCallback(callback); + setClient(client); + setStream(stream); +} + +PubSubClient::PubSubClient(const char* domain, uint16_t port, Client& client) { + this->_state = MQTT_DISCONNECTED; + setServer(domain,port); + setClient(client); + this->stream = NULL; +} +PubSubClient::PubSubClient(const char* domain, uint16_t port, Client& client, Stream& stream) { + this->_state = MQTT_DISCONNECTED; + setServer(domain,port); + setClient(client); + setStream(stream); +} +PubSubClient::PubSubClient(const char* domain, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client) { + this->_state = MQTT_DISCONNECTED; + setServer(domain,port); + setCallback(callback); + setClient(client); + this->stream = NULL; +} +PubSubClient::PubSubClient(const char* domain, uint16_t port, MQTT_CALLBACK_SIGNATURE, Client& client, Stream& stream) { + this->_state = MQTT_DISCONNECTED; + setServer(domain,port); + setCallback(callback); + setClient(client); + setStream(stream); +} + +boolean PubSubClient::connect(const char *id) { + return connect(id,NULL,NULL,0,0,0,0); +} + +boolean PubSubClient::connect(const char *id, const char *user, const char *pass) { + return connect(id,user,pass,0,0,0,0); +} + +boolean PubSubClient::connect(const char *id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) { + return connect(id,NULL,NULL,willTopic,willQos,willRetain,willMessage); +} + +boolean PubSubClient::connect(const char *id, const char *user, const char *pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage) { + if (!connected()) { + int result = 0; + + if (domain != NULL) { + result = _client->connect(this->domain, this->port); + } else { + result = _client->connect(this->ip, this->port); + } + if (result == 1) { + nextMsgId = 1; + // Leave room in the buffer for header and variable length field + uint16_t length = 5; + unsigned int j; + +#if MQTT_VERSION == MQTT_VERSION_3_1 + uint8_t d[9] = {0x00,0x06,'M','Q','I','s','d','p', MQTT_VERSION}; +#define MQTT_HEADER_VERSION_LENGTH 9 +#elif MQTT_VERSION == MQTT_VERSION_3_1_1 + uint8_t d[7] = {0x00,0x04,'M','Q','T','T',MQTT_VERSION}; +#define MQTT_HEADER_VERSION_LENGTH 7 +#endif + for (j = 0;j>1); + } + } + + buffer[length++] = v; + + buffer[length++] = ((MQTT_KEEPALIVE) >> 8); + buffer[length++] = ((MQTT_KEEPALIVE) & 0xFF); + length = writeString(id,buffer,length); + if (willTopic) { + length = writeString(willTopic,buffer,length); + length = writeString(willMessage,buffer,length); + } + + if(user != NULL) { + length = writeString(user,buffer,length); + if(pass != NULL) { + length = writeString(pass,buffer,length); + } + } + + write(MQTTCONNECT,buffer,length-5); + + lastInActivity = lastOutActivity = millis(); + + while (!_client->available()) { + unsigned long t = millis(); + if (t-lastInActivity >= ((int32_t) MQTT_SOCKET_TIMEOUT*1000UL)) { + _state = MQTT_CONNECTION_TIMEOUT; + _client->stop(); + return false; + } + } + uint8_t llen; + uint16_t len = readPacket(&llen); + + if (len == 4) { + if (buffer[3] == 0) { + lastInActivity = millis(); + pingOutstanding = false; + _state = MQTT_CONNECTED; + return true; + } else { + _state = buffer[3]; + } + } + _client->stop(); + } else { + _state = MQTT_CONNECT_FAILED; + } + return false; + } + return true; +} + +// reads a byte into result +boolean PubSubClient::readByte(uint8_t * result) { + uint32_t previousMillis = millis(); + while(!_client->available()) { + uint32_t currentMillis = millis(); + if(currentMillis - previousMillis >= ((int32_t) MQTT_SOCKET_TIMEOUT * 1000)){ + return false; + } + } + *result = _client->read(); + return true; +} + +// reads a byte into result[*index] and increments index +boolean PubSubClient::readByte(uint8_t * result, uint16_t * index){ + uint16_t current_index = *index; + uint8_t * write_address = &(result[current_index]); + if(readByte(write_address)){ + *index = current_index + 1; + return true; + } + return false; +} + +uint16_t PubSubClient::readPacket(uint8_t* lengthLength) { + uint16_t len = 0; + if(!readByte(buffer, &len)) return 0; + bool isPublish = (buffer[0]&0xF0) == MQTTPUBLISH; + uint32_t multiplier = 1; + uint16_t length = 0; + uint8_t digit = 0; + uint16_t skip = 0; + uint8_t start = 0; + + do { + if(!readByte(&digit)) return 0; + buffer[len++] = digit; + length += (digit & 127) * multiplier; + multiplier *= 128; + } while ((digit & 128) != 0); + *lengthLength = len-1; + + if (isPublish) { + // Read in topic length to calculate bytes to skip over for Stream writing + if(!readByte(buffer, &len)) return 0; + if(!readByte(buffer, &len)) return 0; + skip = (buffer[*lengthLength+1]<<8)+buffer[*lengthLength+2]; + start = 2; + if (buffer[0]&MQTTQOS1) { + // skip message id + skip += 2; + } + } + + for (uint16_t i = start;istream) { + if (isPublish && len-*lengthLength-2>skip) { + this->stream->write(digit); + } + } + if (len < MQTT_MAX_PACKET_SIZE) { + buffer[len] = digit; + } + len++; + } + + if (!this->stream && len > MQTT_MAX_PACKET_SIZE) { + len = 0; // This will cause the packet to be ignored. + } + + return len; +} + +boolean PubSubClient::loop() { + if (connected()) { + unsigned long t = millis(); + if ((t - lastInActivity > MQTT_KEEPALIVE*1000UL) || (t - lastOutActivity > MQTT_KEEPALIVE*1000UL)) { + if (pingOutstanding) { + this->_state = MQTT_CONNECTION_TIMEOUT; + _client->stop(); + return false; + } else { + buffer[0] = MQTTPINGREQ; + buffer[1] = 0; + _client->write(buffer,2); + lastOutActivity = t; + lastInActivity = t; + pingOutstanding = true; + } + } + if (_client->available()) { + uint8_t llen; + uint16_t len = readPacket(&llen); + uint16_t msgId = 0; + uint8_t *payload; + if (len > 0) { + lastInActivity = t; + uint8_t type = buffer[0]&0xF0; + if (type == MQTTPUBLISH) { + if (callback) { + uint16_t tl = (buffer[llen+1]<<8)+buffer[llen+2]; /* topic length in bytes */ + memmove(buffer+llen+2,buffer+llen+3,tl); /* move topic inside buffer 1 byte to front */ + buffer[llen+2+tl] = 0; /* end the topic as a 'C' string with \x00 */ + char *topic = (char*) buffer+llen+2; + // msgId only present for QOS>0 + if ((buffer[0]&0x06) == MQTTQOS1) { + msgId = (buffer[llen+3+tl]<<8)+buffer[llen+3+tl+1]; + payload = buffer+llen+3+tl+2; + callback(topic,payload,len-llen-3-tl-2); + + buffer[0] = MQTTPUBACK; + buffer[1] = 2; + buffer[2] = (msgId >> 8); + buffer[3] = (msgId & 0xFF); + _client->write(buffer,4); + lastOutActivity = t; + + } else { + payload = buffer+llen+3+tl; + callback(topic,payload,len-llen-3-tl); + } + } + } else if (type == MQTTPINGREQ) { + buffer[0] = MQTTPINGRESP; + buffer[1] = 0; + _client->write(buffer,2); + } else if (type == MQTTPINGRESP) { + pingOutstanding = false; + } + } + } + return true; + } + return false; +} + +boolean PubSubClient::publish(const char* topic, const char* payload) { + return publish(topic,(const uint8_t*)payload,strlen(payload),false); +} + +boolean PubSubClient::publish(const char* topic, const char* payload, boolean retained) { + return publish(topic,(const uint8_t*)payload,strlen(payload),retained); +} + +boolean PubSubClient::publish(const char* topic, const uint8_t* payload, unsigned int plength) { + return publish(topic, payload, plength, false); +} + +boolean PubSubClient::publish(const char* topic, const uint8_t* payload, unsigned int plength, boolean retained) { + if (connected()) { + if (MQTT_MAX_PACKET_SIZE < 5 + 2+strlen(topic) + plength) { + // Too long + return false; + } + // Leave room in the buffer for header and variable length field + uint16_t length = 5; + length = writeString(topic,buffer,length); + uint16_t i; + for (i=0;i 0) { + digit |= 0x80; + } + buffer[pos++] = digit; + llen++; + } while(len>0); + + pos = writeString(topic,buffer,pos); + + rc += _client->write(buffer,pos); + + for (i=0;iwrite((char)pgm_read_byte_near(payload + i)); + } + + lastOutActivity = millis(); + + return rc == tlen + 4 + plength; +} + +boolean PubSubClient::write(uint8_t header, uint8_t* buf, uint16_t length) { + uint8_t lenBuf[4]; + uint8_t llen = 0; + uint8_t digit; + uint8_t pos = 0; + uint16_t rc; + uint16_t len = length; + do { + digit = len % 128; + len = len / 128; + if (len > 0) { + digit |= 0x80; + } + lenBuf[pos++] = digit; + llen++; + } while(len>0); + + buf[4-llen] = header; + for (int i=0;i 0) && result) { + bytesToWrite = (bytesRemaining > MQTT_MAX_TRANSFER_SIZE)?MQTT_MAX_TRANSFER_SIZE:bytesRemaining; + rc = _client->write(writeBuf,bytesToWrite); + result = (rc == bytesToWrite); + bytesRemaining -= rc; + writeBuf += rc; + } + return result; +#else + rc = _client->write(buf+(4-llen),length+1+llen); + lastOutActivity = millis(); + return (rc == 1+llen+length); +#endif +} + +boolean PubSubClient::subscribe(const char* topic) { + return subscribe(topic, 0); +} + +boolean PubSubClient::subscribe(const char* topic, uint8_t qos) { + if (qos < 0 || qos > 1) { + return false; + } + if (MQTT_MAX_PACKET_SIZE < 9 + strlen(topic)) { + // Too long + return false; + } + if (connected()) { + // Leave room in the buffer for header and variable length field + uint16_t length = 5; + nextMsgId++; + if (nextMsgId == 0) { + nextMsgId = 1; + } + buffer[length++] = (nextMsgId >> 8); + buffer[length++] = (nextMsgId & 0xFF); + length = writeString((char*)topic, buffer,length); + buffer[length++] = qos; + return write(MQTTSUBSCRIBE|MQTTQOS1,buffer,length-5); + } + return false; +} + +boolean PubSubClient::unsubscribe(const char* topic) { + if (MQTT_MAX_PACKET_SIZE < 9 + strlen(topic)) { + // Too long + return false; + } + if (connected()) { + uint16_t length = 5; + nextMsgId++; + if (nextMsgId == 0) { + nextMsgId = 1; + } + buffer[length++] = (nextMsgId >> 8); + buffer[length++] = (nextMsgId & 0xFF); + length = writeString(topic, buffer,length); + return write(MQTTUNSUBSCRIBE|MQTTQOS1,buffer,length-5); + } + return false; +} + +void PubSubClient::disconnect() { + buffer[0] = MQTTDISCONNECT; + buffer[1] = 0; + _client->write(buffer,2); + _state = MQTT_DISCONNECTED; + _client->stop(); + lastInActivity = lastOutActivity = millis(); +} + +uint16_t PubSubClient::writeString(const char* string, uint8_t* buf, uint16_t pos) { + const char* idp = string; + uint16_t i = 0; + pos += 2; + while (*idp) { + buf[pos++] = *idp++; + i++; + } + buf[pos-i-2] = (i >> 8); + buf[pos-i-1] = (i & 0xFF); + return pos; +} + + +boolean PubSubClient::connected() { + boolean rc; + if (_client == NULL ) { + rc = false; + } else { + rc = (int)_client->connected(); + if (!rc) { + if (this->_state == MQTT_CONNECTED) { + this->_state = MQTT_CONNECTION_LOST; + _client->flush(); + _client->stop(); + } + } + } + return rc; +} + +PubSubClient& PubSubClient::setServer(uint8_t * ip, uint16_t port) { + IPAddress addr(ip[0],ip[1],ip[2],ip[3]); + return setServer(addr,port); +} + +PubSubClient& PubSubClient::setServer(IPAddress ip, uint16_t port) { + this->ip = ip; + this->port = port; + this->domain = NULL; + return *this; +} + +PubSubClient& PubSubClient::setServer(const char * domain, uint16_t port) { + this->domain = domain; + this->port = port; + return *this; +} + +PubSubClient& PubSubClient::setCallback(MQTT_CALLBACK_SIGNATURE) { + this->callback = callback; + return *this; +} + +PubSubClient& PubSubClient::setClient(Client& client){ + this->_client = &client; + return *this; +} + +PubSubClient& PubSubClient::setStream(Stream& stream){ + this->stream = &stream; + return *this; +} + +int PubSubClient::state() { + return this->_state; +} diff --git a/lib/pubsubclient/src/PubSubClient.h b/lib/pubsubclient/src/PubSubClient.h new file mode 100644 index 00000000..2d1b1f6f --- /dev/null +++ b/lib/pubsubclient/src/PubSubClient.h @@ -0,0 +1,144 @@ +/* + PubSubClient.h - A simple client for MQTT. + Nick O'Leary + http://knolleary.net +*/ + +#ifndef PubSubClient_h +#define PubSubClient_h + +#include +#include "IPAddress.h" +#include "Client.h" +#include "Stream.h" + +#define MQTT_VERSION_3_1 3 +#define MQTT_VERSION_3_1_1 4 + +// MQTT_VERSION : Pick the version +//#define MQTT_VERSION MQTT_VERSION_3_1 +#ifndef MQTT_VERSION +#define MQTT_VERSION MQTT_VERSION_3_1_1 +#endif + +// MQTT_MAX_PACKET_SIZE : Maximum packet size +#ifndef MQTT_MAX_PACKET_SIZE +#define MQTT_MAX_PACKET_SIZE 512 +#endif + +// MQTT_KEEPALIVE : keepAlive interval in Seconds +#ifndef MQTT_KEEPALIVE +#define MQTT_KEEPALIVE 15 +#endif + +// MQTT_SOCKET_TIMEOUT: socket timeout interval in Seconds +#ifndef MQTT_SOCKET_TIMEOUT +#define MQTT_SOCKET_TIMEOUT 15 +#endif + +// MQTT_MAX_TRANSFER_SIZE : limit how much data is passed to the network client +// in each write call. Needed for the Arduino Wifi Shield. Leave undefined to +// pass the entire MQTT packet in each write call. +//#define MQTT_MAX_TRANSFER_SIZE 80 + +// Possible values for client.state() +#define MQTT_CONNECTION_TIMEOUT -4 +#define MQTT_CONNECTION_LOST -3 +#define MQTT_CONNECT_FAILED -2 +#define MQTT_DISCONNECTED -1 +#define MQTT_CONNECTED 0 +#define MQTT_CONNECT_BAD_PROTOCOL 1 +#define MQTT_CONNECT_BAD_CLIENT_ID 2 +#define MQTT_CONNECT_UNAVAILABLE 3 +#define MQTT_CONNECT_BAD_CREDENTIALS 4 +#define MQTT_CONNECT_UNAUTHORIZED 5 + +#define MQTTCONNECT 1 << 4 // Client request to connect to Server +#define MQTTCONNACK 2 << 4 // Connect Acknowledgment +#define MQTTPUBLISH 3 << 4 // Publish message +#define MQTTPUBACK 4 << 4 // Publish Acknowledgment +#define MQTTPUBREC 5 << 4 // Publish Received (assured delivery part 1) +#define MQTTPUBREL 6 << 4 // Publish Release (assured delivery part 2) +#define MQTTPUBCOMP 7 << 4 // Publish Complete (assured delivery part 3) +#define MQTTSUBSCRIBE 8 << 4 // Client Subscribe request +#define MQTTSUBACK 9 << 4 // Subscribe Acknowledgment +#define MQTTUNSUBSCRIBE 10 << 4 // Client Unsubscribe request +#define MQTTUNSUBACK 11 << 4 // Unsubscribe Acknowledgment +#define MQTTPINGREQ 12 << 4 // PING Request +#define MQTTPINGRESP 13 << 4 // PING Response +#define MQTTDISCONNECT 14 << 4 // Client is Disconnecting +#define MQTTReserved 15 << 4 // Reserved + +#define MQTTQOS0 (0 << 1) +#define MQTTQOS1 (1 << 1) +#define MQTTQOS2 (2 << 1) + +#ifdef ESP8266 +#include +#define MQTT_CALLBACK_SIGNATURE std::function callback +#else +#define MQTT_CALLBACK_SIGNATURE void (*callback)(char*, uint8_t*, unsigned int) +#endif + +class PubSubClient { +private: + Client* _client; + uint8_t buffer[MQTT_MAX_PACKET_SIZE]; + uint16_t nextMsgId; + unsigned long lastOutActivity; + unsigned long lastInActivity; + bool pingOutstanding; + MQTT_CALLBACK_SIGNATURE; + uint16_t readPacket(uint8_t*); + boolean readByte(uint8_t * result); + boolean readByte(uint8_t * result, uint16_t * index); + boolean write(uint8_t header, uint8_t* buf, uint16_t length); + uint16_t writeString(const char* string, uint8_t* buf, uint16_t pos); + IPAddress ip; + const char* domain; + uint16_t port; + Stream* stream; + int _state; +public: + PubSubClient(); + PubSubClient(Client& client); + PubSubClient(IPAddress, uint16_t, Client& client); + PubSubClient(IPAddress, uint16_t, Client& client, Stream&); + PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client); + PubSubClient(IPAddress, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&); + PubSubClient(uint8_t *, uint16_t, Client& client); + PubSubClient(uint8_t *, uint16_t, Client& client, Stream&); + PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client); + PubSubClient(uint8_t *, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&); + PubSubClient(const char*, uint16_t, Client& client); + PubSubClient(const char*, uint16_t, Client& client, Stream&); + PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client); + PubSubClient(const char*, uint16_t, MQTT_CALLBACK_SIGNATURE,Client& client, Stream&); + + PubSubClient& setServer(IPAddress ip, uint16_t port); + PubSubClient& setServer(uint8_t * ip, uint16_t port); + PubSubClient& setServer(const char * domain, uint16_t port); + PubSubClient& setCallback(MQTT_CALLBACK_SIGNATURE); + PubSubClient& setClient(Client& client); + PubSubClient& setStream(Stream& stream); + + boolean connect(const char* id); + boolean connect(const char* id, const char* user, const char* pass); + boolean connect(const char* id, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage); + boolean connect(const char* id, const char* user, const char* pass, const char* willTopic, uint8_t willQos, boolean willRetain, const char* willMessage); + void disconnect(); + boolean publish(const char* topic, const char* payload); + boolean publish(const char* topic, const char* payload, boolean retained); + boolean publish(const char* topic, const uint8_t * payload, unsigned int plength); + boolean publish(const char* topic, const uint8_t * payload, unsigned int plength, boolean retained); + boolean publish_P(const char* topic, const uint8_t * payload, unsigned int plength, boolean retained); + boolean subscribe(const char* topic); + boolean subscribe(const char* topic, uint8_t qos); + boolean unsubscribe(const char* topic); + boolean loop(); + boolean connected(); + int state(); +}; + + +#endif diff --git a/lib/pubsubclient/tests/.gitignore b/lib/pubsubclient/tests/.gitignore new file mode 100644 index 00000000..215de78d --- /dev/null +++ b/lib/pubsubclient/tests/.gitignore @@ -0,0 +1,4 @@ +.build +tmpbin +logs +*.pyc diff --git a/lib/pubsubclient/tests/Makefile b/lib/pubsubclient/tests/Makefile new file mode 100644 index 00000000..1f716367 --- /dev/null +++ b/lib/pubsubclient/tests/Makefile @@ -0,0 +1,25 @@ +SRC_PATH=./src +OUT_PATH=./bin +TEST_SRC=$(wildcard ${SRC_PATH}/*_spec.cpp) +TEST_BIN= $(TEST_SRC:${SRC_PATH}/%.cpp=${OUT_PATH}/%) +VPATH=${SRC_PATH} +SHIM_FILES=${SRC_PATH}/lib/*.cpp +PSC_FILE=../src/PubSubClient.cpp +CC=g++ +CFLAGS=-I${SRC_PATH}/lib -I../src + +all: $(TEST_BIN) + +${OUT_PATH}/%: ${SRC_PATH}/%.cpp ${PSC_FILE} ${SHIM_FILES} + mkdir -p ${OUT_PATH} + ${CC} ${CFLAGS} $^ -o $@ + +clean: + @rm -rf ${OUT_PATH} + +test: + @bin/connect_spec + @bin/publish_spec + @bin/receive_spec + @bin/subscribe_spec + @bin/keepalive_spec diff --git a/lib/pubsubclient/tests/README.md b/lib/pubsubclient/tests/README.md new file mode 100644 index 00000000..e5700a6d --- /dev/null +++ b/lib/pubsubclient/tests/README.md @@ -0,0 +1,93 @@ +# Arduino Client for MQTT Test Suite + +This is a regression test suite for the `PubSubClient` library. + +There are two parts: + + - Tests that can be compiled and run on any machine + - Tests that build the example sketches using the Arduino IDE + + +It is a work-in-progress and is subject to complete refactoring as the whim takes +me. + + +## Local tests + +These are a set of executables that can be run to test specific areas of functionality. +They do not require a real Arduino to be attached, nor the use of the Arduino IDE. + +The tests include a set of mock files to stub out the parts of the Arduino environment the library +depends on. + +### Dependencies + + - g++ + +### Running + +Build the tests using the provided `Makefile`: + + $ make + +This will create a set of executables in `./bin/`. Run each of these executables to test the corresponding functionality. + +*Note:* the `connect_spec` and `keepalive_spec` tests involve testing keepalive timers so naturally take a few minutes to run through. + +## Arduino tests + +*Note:* INO Tool doesn't currently play nicely with Arduino 1.5. This has broken this test suite. + +Without a suitable arduino plugged in, the test suite will only check the +example sketches compile cleanly against the library. + +With an arduino plugged in, each sketch that has a corresponding python +test case is built, uploaded and then the tests run. + +### Dependencies + + - Python 2.7+ + - [INO Tool](http://inotool.org/) - this provides command-line build/upload of Arduino sketches + +### Running + +The test suite _does not_ run an MQTT server - it is assumed to be running already. + + $ python testsuite.py + +A summary of activity is printed to the console. More comprehensive logs are written +to the `logs` directory. + +### What it does + +For each sketch in the library's `examples` directory, e.g. `mqtt_basic.ino`, the suite looks for a matching test case +`testcases/mqtt_basic.py`. + +The test case must follow these conventions: + - sub-class `unittest.TestCase` + - provide the class methods `setUpClass` and `tearDownClass` (TODO: make this optional) + - all test method names begin with `test_` + +The suite will call the `setUpClass` method _before_ uploading the sketch. This +allows any test setup to be performed before the sketch runs - such as connecting +a client and subscribing to topics. + + +### Settings + +The file `testcases/settings.py` is used to config the test environment. + + - `server_ip` - the IP address of the broker the client should connect to (the broker port is assumed to be 1883). + - `arduino_ip` - the IP address the arduino should use (when not testing DHCP). + +Before each sketch is compiled, these values are automatically substituted in. To +do this, the suite looks for lines that _start_ with the following: + + byte server[] = { + byte ip[] = { + +and replaces them with the appropriate values. + + + + diff --git a/lib/pubsubclient/tests/src/connect_spec.cpp b/lib/pubsubclient/tests/src/connect_spec.cpp new file mode 100644 index 00000000..3c46e0cc --- /dev/null +++ b/lib/pubsubclient/tests/src/connect_spec.cpp @@ -0,0 +1,273 @@ +#include "PubSubClient.h" +#include "ShimClient.h" +#include "Buffer.h" +#include "BDDTest.h" +#include "trace.h" + + +byte server[] = { 172, 16, 0, 2 }; + +void callback(char* topic, byte* payload, unsigned int length) { + // handle message arrived +} + + +int test_connect_fails_no_network() { + IT("fails to connect if underlying client doesn't connect"); + ShimClient shimClient; + shimClient.setAllowConnect(false); + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_FALSE(rc); + int state = client.state(); + IS_TRUE(state == MQTT_CONNECT_FAILED); + END_IT +} + +int test_connect_fails_on_no_response() { + IT("fails to connect if no response received after 15 seconds"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_FALSE(rc); + int state = client.state(); + IS_TRUE(state == MQTT_CONNECTION_TIMEOUT); + END_IT +} + +int test_connect_properly_formatted() { + IT("sends a properly formatted connect packet and succeeds"); + ShimClient shimClient; + + shimClient.setAllowConnect(true); + byte expectServer[] = { 172, 16, 0, 2 }; + shimClient.expectConnect(expectServer,1883); + byte connect[] = {0x10,0x18,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0x2,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + + shimClient.expect(connect,26); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int state = client.state(); + IS_TRUE(state == MQTT_DISCONNECTED); + + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + state = client.state(); + IS_TRUE(state == MQTT_CONNECTED); + + END_IT +} + +int test_connect_properly_formatted_hostname() { + IT("accepts a hostname"); + ShimClient shimClient; + + shimClient.setAllowConnect(true); + shimClient.expectConnect((char* const)"localhost",1883); + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client((char* const)"localhost", 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} + + +int test_connect_fails_on_bad_rc() { + IT("fails to connect if a bad return code is received"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + byte connack[] = { 0x20, 0x02, 0x00, 0x01 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_FALSE(rc); + + int state = client.state(); + IS_TRUE(state == 0x01); + + END_IT +} + +int test_connect_accepts_username_password() { + IT("accepts a username and password"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connect[] = { 0x10,0x24,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0xc2,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31,0x0,0x4,0x75,0x73,0x65,0x72,0x0,0x4,0x70,0x61,0x73,0x73}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.expect(connect,0x26); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1",(char*)"user",(char*)"pass"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_connect_accepts_username_no_password() { + IT("accepts a username but no password"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connect[] = { 0x10,0x1e,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0x82,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31,0x0,0x4,0x75,0x73,0x65,0x72}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.expect(connect,0x20); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1",(char*)"user",0); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} +int test_connect_accepts_username_blank_password() { + IT("accepts a username and blank password"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connect[] = { 0x10,0x20,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0xc2,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31,0x0,0x4,0x75,0x73,0x65,0x72,0x0,0x0}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.expect(connect,0x26); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1",(char*)"user",(char*)"pass"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_connect_ignores_password_no_username() { + IT("ignores a password but no username"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connect[] = {0x10,0x18,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0x2,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.expect(connect,26); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1",0,(char*)"pass"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_connect_with_will() { + IT("accepts a will"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connect[] = {0x10,0x30,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0xe,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31,0x0,0x9,0x77,0x69,0x6c,0x6c,0x54,0x6f,0x70,0x69,0x63,0x0,0xb,0x77,0x69,0x6c,0x6c,0x4d,0x65,0x73,0x73,0x61,0x67,0x65}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.expect(connect,0x32); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1",(char*)"willTopic",1,0,(char*)"willMessage"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_connect_with_will_username_password() { + IT("accepts a will, username and password"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connect[] = {0x10,0x40,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0xce,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31,0x0,0x9,0x77,0x69,0x6c,0x6c,0x54,0x6f,0x70,0x69,0x63,0x0,0xb,0x77,0x69,0x6c,0x6c,0x4d,0x65,0x73,0x73,0x61,0x67,0x65,0x0,0x4,0x75,0x73,0x65,0x72,0x0,0x8,0x70,0x61,0x73,0x73,0x77,0x6f,0x72,0x64}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.expect(connect,0x42); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1",(char*)"user",(char*)"password",(char*)"willTopic",1,0,(char*)"willMessage"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_connect_disconnect_connect() { + IT("connects, disconnects and connects again"); + ShimClient shimClient; + + shimClient.setAllowConnect(true); + byte expectServer[] = { 172, 16, 0, 2 }; + shimClient.expectConnect(expectServer,1883); + byte connect[] = {0x10,0x18,0x0,0x4,0x4d,0x51,0x54,0x54,0x4,0x2,0x0,0xf,0x0,0xc,0x63,0x6c,0x69,0x65,0x6e,0x74,0x5f,0x74,0x65,0x73,0x74,0x31}; + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + + shimClient.expect(connect,26); + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + + int state = client.state(); + IS_TRUE(state == MQTT_DISCONNECTED); + + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + + state = client.state(); + IS_TRUE(state == MQTT_CONNECTED); + + byte disconnect[] = {0xE0,0x00}; + shimClient.expect(disconnect,2); + + client.disconnect(); + + IS_FALSE(client.connected()); + IS_FALSE(shimClient.connected()); + IS_FALSE(shimClient.error()); + + state = client.state(); + IS_TRUE(state == MQTT_DISCONNECTED); + + shimClient.expect(connect,28); + shimClient.respond(connack,4); + rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + state = client.state(); + IS_TRUE(state == MQTT_CONNECTED); + + END_IT +} + +int main() +{ + SUITE("Connect"); + test_connect_fails_no_network(); + test_connect_fails_on_no_response(); + + test_connect_properly_formatted(); + test_connect_accepts_username_password(); + test_connect_fails_on_bad_rc(); + test_connect_properly_formatted_hostname(); + + test_connect_accepts_username_no_password(); + test_connect_ignores_password_no_username(); + test_connect_with_will(); + test_connect_with_will_username_password(); + test_connect_disconnect_connect(); + FINISH +} diff --git a/lib/pubsubclient/tests/src/keepalive_spec.cpp b/lib/pubsubclient/tests/src/keepalive_spec.cpp new file mode 100644 index 00000000..ea643cf1 --- /dev/null +++ b/lib/pubsubclient/tests/src/keepalive_spec.cpp @@ -0,0 +1,185 @@ +#include "PubSubClient.h" +#include "ShimClient.h" +#include "Buffer.h" +#include "BDDTest.h" +#include "trace.h" +#include + +byte server[] = { 172, 16, 0, 2 }; + +void callback(char* topic, byte* payload, unsigned int length) { + // handle message arrived +} + + +int test_keepalive_pings_idle() { + IT("keeps an idle connection alive (takes 1 minute)"); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte pingreq[] = { 0xC0,0x0 }; + shimClient.expect(pingreq,2); + byte pingresp[] = { 0xD0,0x0 }; + shimClient.respond(pingresp,2); + + for (int i = 0; i < 50; i++) { + sleep(1); + if ( i == 15 || i == 31 || i == 47) { + shimClient.expect(pingreq,2); + shimClient.respond(pingresp,2); + } + rc = client.loop(); + IS_TRUE(rc); + } + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_keepalive_pings_with_outbound_qos0() { + IT("keeps a connection alive that only sends qos0 (takes 1 minute)"); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x30,0xe,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + + for (int i = 0; i < 50; i++) { + TRACE(i<<":"); + shimClient.expect(publish,16); + rc = client.publish((char*)"topic",(char*)"payload"); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + sleep(1); + if ( i == 15 || i == 31 || i == 47) { + byte pingreq[] = { 0xC0,0x0 }; + shimClient.expect(pingreq,2); + byte pingresp[] = { 0xD0,0x0 }; + shimClient.respond(pingresp,2); + } + rc = client.loop(); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + } + + END_IT +} + +int test_keepalive_pings_with_inbound_qos0() { + IT("keeps a connection alive that only receives qos0 (takes 1 minute)"); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x30,0xe,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + + for (int i = 0; i < 50; i++) { + TRACE(i<<":"); + sleep(1); + if ( i == 15 || i == 31 || i == 47) { + byte pingreq[] = { 0xC0,0x0 }; + shimClient.expect(pingreq,2); + byte pingresp[] = { 0xD0,0x0 }; + shimClient.respond(pingresp,2); + } + shimClient.respond(publish,16); + rc = client.loop(); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + } + + END_IT +} + +int test_keepalive_no_pings_inbound_qos1() { + IT("does not send pings for connections with inbound qos1 (takes 1 minute)"); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x32,0x10,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x12,0x34,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + byte puback[] = {0x40,0x2,0x12,0x34}; + + for (int i = 0; i < 50; i++) { + shimClient.respond(publish,18); + shimClient.expect(puback,4); + sleep(1); + rc = client.loop(); + IS_TRUE(rc); + IS_FALSE(shimClient.error()); + } + + END_IT +} + +int test_keepalive_disconnects_hung() { + IT("disconnects a hung connection (takes 30 seconds)"); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte pingreq[] = { 0xC0,0x0 }; + shimClient.expect(pingreq,2); + + for (int i = 0; i < 32; i++) { + sleep(1); + rc = client.loop(); + } + IS_FALSE(rc); + + int state = client.state(); + IS_TRUE(state == MQTT_CONNECTION_TIMEOUT); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int main() +{ + SUITE("Keep-alive"); + test_keepalive_pings_idle(); + test_keepalive_pings_with_outbound_qos0(); + test_keepalive_pings_with_inbound_qos0(); + test_keepalive_no_pings_inbound_qos1(); + test_keepalive_disconnects_hung(); + + FINISH +} diff --git a/lib/pubsubclient/tests/src/lib/Arduino.h b/lib/pubsubclient/tests/src/lib/Arduino.h new file mode 100644 index 00000000..c6752801 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/Arduino.h @@ -0,0 +1,23 @@ +#ifndef Arduino_h +#define Arduino_h + +#include +#include +#include +#include + + +extern "C"{ + typedef uint8_t byte ; + typedef uint8_t boolean ; + + /* sketch */ + extern void setup( void ) ; + extern void loop( void ) ; + uint32_t millis( void ); +} + +#define PROGMEM +#define pgm_read_byte_near(x) *(x) + +#endif // Arduino_h diff --git a/lib/pubsubclient/tests/src/lib/BDDTest.cpp b/lib/pubsubclient/tests/src/lib/BDDTest.cpp new file mode 100644 index 00000000..a72bf65e --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/BDDTest.cpp @@ -0,0 +1,50 @@ +#include "BDDTest.h" +#include "trace.h" +#include +#include +#include +#include + +int testCount = 0; +int testPasses = 0; +const char* testDescription; + +std::list failureList; + +void bddtest_suite(const char* name) { + LOG(name << "\n"); +} + +int bddtest_test(const char* file, int line, const char* assertion, int result) { + if (!result) { + LOG("✗\n"); + std::ostringstream os; + os << " ! "<::iterator it = failureList.begin(); it != failureList.end(); it++) { + LOG("\n"); + LOG(*it); + LOG("\n"); + } + + LOG(std::dec << testPasses << "/" << testCount << " tests passed\n\n"); + if (testPasses == testCount) { + return 0; + } + return 1; +} diff --git a/lib/pubsubclient/tests/src/lib/BDDTest.h b/lib/pubsubclient/tests/src/lib/BDDTest.h new file mode 100644 index 00000000..1197fdd4 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/BDDTest.h @@ -0,0 +1,23 @@ +#ifndef bddtest_h +#define bddtest_h + +void bddtest_suite(const char* name); +int bddtest_test(const char*, int, const char*, int); +void bddtest_start(const char*); +void bddtest_end(); +int bddtest_summary(); + +#define SUITE(x) { bddtest_suite(x); } +#define TEST(x) { if (!bddtest_test(__FILE__, __LINE__, #x, (x))) return false; } + +#define IT(x) { bddtest_start(x); } +#define END_IT { bddtest_end();return true;} + +#define FINISH { return bddtest_summary(); } + +#define IS_TRUE(x) TEST(x) +#define IS_FALSE(x) TEST(!(x)) +#define IS_EQUAL(x,y) TEST(x==y) +#define IS_NOT_EQUAL(x,y) TEST(x!=y) + +#endif diff --git a/lib/pubsubclient/tests/src/lib/Buffer.cpp b/lib/pubsubclient/tests/src/lib/Buffer.cpp new file mode 100644 index 00000000..f07759a3 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/Buffer.cpp @@ -0,0 +1,34 @@ +#include "Buffer.h" +#include "Arduino.h" + +Buffer::Buffer() { + this->pos = 0; + this->length = 0; +} + +Buffer::Buffer(uint8_t* buf, size_t size) { + this->pos = 0; + this->length = 0; + this->add(buf,size); +} +bool Buffer::available() { + return this->pos < this->length; +} + +uint8_t Buffer::next() { + if (this->available()) { + return this->buffer[this->pos++]; + } + return 0; +} + +void Buffer::reset() { + this->pos = 0; +} + +void Buffer::add(uint8_t* buf, size_t size) { + uint16_t i = 0; + for (;ibuffer[this->length++] = buf[i]; + } +} diff --git a/lib/pubsubclient/tests/src/lib/Buffer.h b/lib/pubsubclient/tests/src/lib/Buffer.h new file mode 100644 index 00000000..f448cade --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/Buffer.h @@ -0,0 +1,23 @@ +#ifndef buffer_h +#define buffer_h + +#include "Arduino.h" + +class Buffer { +private: + uint8_t buffer[1024]; + uint16_t pos; + uint16_t length; + +public: + Buffer(); + Buffer(uint8_t* buf, size_t size); + + virtual bool available(); + virtual uint8_t next(); + virtual void reset(); + + virtual void add(uint8_t* buf, size_t size); +}; + +#endif diff --git a/lib/pubsubclient/tests/src/lib/Client.h b/lib/pubsubclient/tests/src/lib/Client.h new file mode 100644 index 00000000..9e18c076 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/Client.h @@ -0,0 +1,21 @@ +#ifndef client_h +#define client_h +#include "IPAddress.h" + +class Client { +public: + virtual int connect(IPAddress ip, uint16_t port) =0; + virtual int connect(const char *host, uint16_t port) =0; + virtual size_t write(uint8_t) =0; + virtual size_t write(const uint8_t *buf, size_t size) =0; + virtual int available() = 0; + virtual int read() = 0; + virtual int read(uint8_t *buf, size_t size) = 0; + virtual int peek() = 0; + virtual void flush() = 0; + virtual void stop() = 0; + virtual uint8_t connected() = 0; + virtual operator bool() = 0; +}; + +#endif diff --git a/lib/pubsubclient/tests/src/lib/IPAddress.cpp b/lib/pubsubclient/tests/src/lib/IPAddress.cpp new file mode 100644 index 00000000..610ff4c5 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/IPAddress.cpp @@ -0,0 +1,44 @@ + +#include +#include + +IPAddress::IPAddress() +{ + memset(_address, 0, sizeof(_address)); +} + +IPAddress::IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet) +{ + _address[0] = first_octet; + _address[1] = second_octet; + _address[2] = third_octet; + _address[3] = fourth_octet; +} + +IPAddress::IPAddress(uint32_t address) +{ + memcpy(_address, &address, sizeof(_address)); +} + +IPAddress::IPAddress(const uint8_t *address) +{ + memcpy(_address, address, sizeof(_address)); +} + +IPAddress& IPAddress::operator=(const uint8_t *address) +{ + memcpy(_address, address, sizeof(_address)); + return *this; +} + +IPAddress& IPAddress::operator=(uint32_t address) +{ + memcpy(_address, (const uint8_t *)&address, sizeof(_address)); + return *this; +} + +bool IPAddress::operator==(const uint8_t* addr) +{ + return memcmp(addr, _address, sizeof(_address)) == 0; +} + diff --git a/lib/pubsubclient/tests/src/lib/IPAddress.h b/lib/pubsubclient/tests/src/lib/IPAddress.h new file mode 100644 index 00000000..e75a8fe6 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/IPAddress.h @@ -0,0 +1,72 @@ +/* + * + * MIT License: + * Copyright (c) 2011 Adrian McEwen + * Permission is hereby granted, free of charge, to any person obtaining a copy + * of this software and associated documentation files (the "Software"), to deal + * in the Software without restriction, including without limitation the rights + * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + * copies of the Software, and to permit persons to whom the Software is + * furnished to do so, subject to the following conditions: + * + * The above copyright notice and this permission notice shall be included in + * all copies or substantial portions of the Software. + * + * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + * THE SOFTWARE. + * + * adrianm@mcqn.com 1/1/2011 + */ + +#ifndef IPAddress_h +#define IPAddress_h + + +// A class to make it easier to handle and pass around IP addresses + +class IPAddress { +private: + uint8_t _address[4]; // IPv4 address + // Access the raw byte array containing the address. Because this returns a pointer + // to the internal structure rather than a copy of the address this function should only + // be used when you know that the usage of the returned uint8_t* will be transient and not + // stored. + uint8_t* raw_address() { return _address; }; + +public: + // Constructors + IPAddress(); + IPAddress(uint8_t first_octet, uint8_t second_octet, uint8_t third_octet, uint8_t fourth_octet); + IPAddress(uint32_t address); + IPAddress(const uint8_t *address); + + // Overloaded cast operator to allow IPAddress objects to be used where a pointer + // to a four-byte uint8_t array is expected + operator uint32_t() { return *((uint32_t*)_address); }; + bool operator==(const IPAddress& addr) { return (*((uint32_t*)_address)) == (*((uint32_t*)addr._address)); }; + bool operator==(const uint8_t* addr); + + // Overloaded index operator to allow getting and setting individual octets of the address + uint8_t operator[](int index) const { return _address[index]; }; + uint8_t& operator[](int index) { return _address[index]; }; + + // Overloaded copy operators to allow initialisation of IPAddress objects from other types + IPAddress& operator=(const uint8_t *address); + IPAddress& operator=(uint32_t address); + + + friend class EthernetClass; + friend class UDP; + friend class Client; + friend class Server; + friend class DhcpClass; + friend class DNSClient; +}; + + +#endif diff --git a/lib/pubsubclient/tests/src/lib/ShimClient.cpp b/lib/pubsubclient/tests/src/lib/ShimClient.cpp new file mode 100644 index 00000000..f70115fa --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/ShimClient.cpp @@ -0,0 +1,153 @@ +#include "ShimClient.h" +#include "trace.h" +#include +#include +#include + +extern "C" { + uint32_t millis(void) { + return time(0)*1000; + } +} + +ShimClient::ShimClient() { + this->responseBuffer = new Buffer(); + this->expectBuffer = new Buffer(); + this->_allowConnect = true; + this->_connected = false; + this->_error = false; + this->expectAnything = true; + this->_received = 0; + this->_expectedPort = 0; +} + +int ShimClient::connect(IPAddress ip, uint16_t port) { + if (this->_allowConnect) { + this->_connected = true; + } + if (this->_expectedPort !=0) { + // if (memcmp(ip,this->_expectedIP,4) != 0) { + // TRACE( "ip mismatch\n"); + // this->_error = true; + // } + if (port != this->_expectedPort) { + TRACE( "port mismatch\n"); + this->_error = true; + } + } + return this->_connected; +} +int ShimClient::connect(const char *host, uint16_t port) { + if (this->_allowConnect) { + this->_connected = true; + } + if (this->_expectedPort !=0) { + if (strcmp(host,this->_expectedHost) != 0) { + TRACE( "host mismatch\n"); + this->_error = true; + } + if (port != this->_expectedPort) { + TRACE( "port mismatch\n"); + this->_error = true; + } + + } + return this->_connected; +} +size_t ShimClient::write(uint8_t b) { + this->_received += 1; + TRACE(std::hex << (unsigned int)b); + if (!this->expectAnything) { + if (this->expectBuffer->available()) { + uint8_t expected = this->expectBuffer->next(); + if (expected != b) { + this->_error = true; + TRACE("!=" << (unsigned int)expected); + } + } else { + this->_error = true; + } + } + TRACE("\n"<< std::dec); + return 1; +} +size_t ShimClient::write(const uint8_t *buf, size_t size) { + this->_received += size; + TRACE( "[" << std::dec << (unsigned int)(size) << "] "); + uint16_t i=0; + for (;i0) { + TRACE(":"); + } + TRACE(std::hex << (unsigned int)(buf[i])); + + if (!this->expectAnything) { + if (this->expectBuffer->available()) { + uint8_t expected = this->expectBuffer->next(); + if (expected != buf[i]) { + this->_error = true; + TRACE("!=" << (unsigned int)expected); + } + } else { + this->_error = true; + } + } + } + TRACE("\n"<responseBuffer->available(); +} +int ShimClient::read() { return this->responseBuffer->next(); } +int ShimClient::read(uint8_t *buf, size_t size) { + uint16_t i = 0; + for (;iread(); + } + return size; +} +int ShimClient::peek() { return 0; } +void ShimClient::flush() {} +void ShimClient::stop() { + this->setConnected(false); +} +uint8_t ShimClient::connected() { return this->_connected; } +ShimClient::operator bool() { return true; } + + +ShimClient* ShimClient::respond(uint8_t *buf, size_t size) { + this->responseBuffer->add(buf,size); + return this; +} + +ShimClient* ShimClient::expect(uint8_t *buf, size_t size) { + this->expectAnything = false; + this->expectBuffer->add(buf,size); + return this; +} + +void ShimClient::setConnected(bool b) { + this->_connected = b; +} +void ShimClient::setAllowConnect(bool b) { + this->_allowConnect = b; +} + +bool ShimClient::error() { + return this->_error; +} + +uint16_t ShimClient::received() { + return this->_received; +} + +void ShimClient::expectConnect(IPAddress ip, uint16_t port) { + this->_expectedIP = ip; + this->_expectedPort = port; +} + +void ShimClient::expectConnect(const char *host, uint16_t port) { + this->_expectedHost = host; + this->_expectedPort = port; +} diff --git a/lib/pubsubclient/tests/src/lib/ShimClient.h b/lib/pubsubclient/tests/src/lib/ShimClient.h new file mode 100644 index 00000000..2e3f874f --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/ShimClient.h @@ -0,0 +1,51 @@ +#ifndef shimclient_h +#define shimclient_h + +#include "Arduino.h" +#include "Client.h" +#include "IPAddress.h" +#include "Buffer.h" + + +class ShimClient : public Client { +private: + Buffer* responseBuffer; + Buffer* expectBuffer; + bool _allowConnect; + bool _connected; + bool expectAnything; + bool _error; + uint16_t _received; + IPAddress _expectedIP; + uint16_t _expectedPort; + const char* _expectedHost; + +public: + ShimClient(); + virtual int connect(IPAddress ip, uint16_t port); + virtual int connect(const char *host, uint16_t port); + virtual size_t write(uint8_t); + virtual size_t write(const uint8_t *buf, size_t size); + virtual int available(); + virtual int read(); + virtual int read(uint8_t *buf, size_t size); + virtual int peek(); + virtual void flush(); + virtual void stop(); + virtual uint8_t connected(); + virtual operator bool(); + + virtual ShimClient* respond(uint8_t *buf, size_t size); + virtual ShimClient* expect(uint8_t *buf, size_t size); + + virtual void expectConnect(IPAddress ip, uint16_t port); + virtual void expectConnect(const char *host, uint16_t port); + + virtual uint16_t received(); + virtual bool error(); + + virtual void setAllowConnect(bool b); + virtual void setConnected(bool b); +}; + +#endif diff --git a/lib/pubsubclient/tests/src/lib/Stream.cpp b/lib/pubsubclient/tests/src/lib/Stream.cpp new file mode 100644 index 00000000..b0ecbb44 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/Stream.cpp @@ -0,0 +1,39 @@ +#include "Stream.h" +#include "trace.h" +#include +#include + +Stream::Stream() { + this->expectBuffer = new Buffer(); + this->_error = false; + this->_written = 0; +} + +size_t Stream::write(uint8_t b) { + this->_written++; + TRACE(std::hex << (unsigned int)b); + if (this->expectBuffer->available()) { + uint8_t expected = this->expectBuffer->next(); + if (expected != b) { + this->_error = true; + TRACE("!=" << (unsigned int)expected); + } + } else { + this->_error = true; + } + TRACE("\n"<< std::dec); + return 1; +} + + +bool Stream::error() { + return this->_error; +} + +void Stream::expect(uint8_t *buf, size_t size) { + this->expectBuffer->add(buf,size); +} + +uint16_t Stream::length() { + return this->_written; +} diff --git a/lib/pubsubclient/tests/src/lib/Stream.h b/lib/pubsubclient/tests/src/lib/Stream.h new file mode 100644 index 00000000..4e41f86f --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/Stream.h @@ -0,0 +1,22 @@ +#ifndef Stream_h +#define Stream_h + +#include "Arduino.h" +#include "Buffer.h" + +class Stream { +private: + Buffer* expectBuffer; + bool _error; + uint16_t _written; + +public: + Stream(); + virtual size_t write(uint8_t); + + virtual bool error(); + virtual void expect(uint8_t *buf, size_t size); + virtual uint16_t length(); +}; + +#endif diff --git a/lib/pubsubclient/tests/src/lib/trace.h b/lib/pubsubclient/tests/src/lib/trace.h new file mode 100644 index 00000000..42eb9910 --- /dev/null +++ b/lib/pubsubclient/tests/src/lib/trace.h @@ -0,0 +1,10 @@ +#ifndef trace_h +#define trace_h +#include + +#include + +#define LOG(x) {std::cout << x << std::flush; } +#define TRACE(x) {if (getenv("TRACE")) { std::cout << x << std::flush; }} + +#endif diff --git a/lib/pubsubclient/tests/src/publish_spec.cpp b/lib/pubsubclient/tests/src/publish_spec.cpp new file mode 100644 index 00000000..232df0d3 --- /dev/null +++ b/lib/pubsubclient/tests/src/publish_spec.cpp @@ -0,0 +1,190 @@ +#include "PubSubClient.h" +#include "ShimClient.h" +#include "Buffer.h" +#include "BDDTest.h" +#include "trace.h" + + +byte server[] = { 172, 16, 0, 2 }; + +void callback(char* topic, byte* payload, unsigned int length) { + // handle message arrived +} + +int test_publish() { + IT("publishes a null-terminated string"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x30,0xe,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + shimClient.expect(publish,16); + + rc = client.publish((char*)"topic",(char*)"payload"); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + + +int test_publish_bytes() { + IT("publishes a byte array"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte payload[] = { 0x01,0x02,0x03,0x0,0x05 }; + int length = 5; + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x30,0xc,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x1,0x2,0x3,0x0,0x5}; + shimClient.expect(publish,14); + + rc = client.publish((char*)"topic",payload,length); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + + +int test_publish_retained() { + IT("publishes retained - 1"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte payload[] = { 0x01,0x02,0x03,0x0,0x05 }; + int length = 5; + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x31,0xc,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x1,0x2,0x3,0x0,0x5}; + shimClient.expect(publish,14); + + rc = client.publish((char*)"topic",payload,length,true); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_publish_retained_2() { + IT("publishes retained - 2"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x31,0xc,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,'A','B','C','D','E'}; + shimClient.expect(publish,14); + + rc = client.publish((char*)"topic",(char*)"ABCDE",true); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_publish_not_connected() { + IT("publish fails when not connected"); + ShimClient shimClient; + + PubSubClient client(server, 1883, callback, shimClient); + + int rc = client.publish((char*)"topic",(char*)"payload"); + IS_FALSE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_publish_too_long() { + IT("publish fails when topic/payload are too long"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + // 0 1 2 3 4 5 6 7 8 9 0 1 2 + rc = client.publish((char*)"topic",(char*)"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"); + IS_FALSE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_publish_P() { + IT("publishes using PROGMEM"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte payload[] = { 0x01,0x02,0x03,0x0,0x05 }; + int length = 5; + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x31,0xc,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x1,0x2,0x3,0x0,0x5}; + shimClient.expect(publish,14); + + rc = client.publish_P((char*)"topic",payload,length,true); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + + + + +int main() +{ + SUITE("Publish"); + test_publish(); + test_publish_bytes(); + test_publish_retained(); + test_publish_retained_2(); + test_publish_not_connected(); + test_publish_too_long(); + test_publish_P(); + + FINISH +} diff --git a/lib/pubsubclient/tests/src/receive_spec.cpp b/lib/pubsubclient/tests/src/receive_spec.cpp new file mode 100644 index 00000000..54a62ee5 --- /dev/null +++ b/lib/pubsubclient/tests/src/receive_spec.cpp @@ -0,0 +1,249 @@ +#include "PubSubClient.h" +#include "ShimClient.h" +#include "Buffer.h" +#include "BDDTest.h" +#include "trace.h" + + +byte server[] = { 172, 16, 0, 2 }; + +bool callback_called = false; +char lastTopic[1024]; +char lastPayload[1024]; +unsigned int lastLength; + +void reset_callback() { + callback_called = false; + lastTopic[0] = '\0'; + lastPayload[0] = '\0'; + lastLength = 0; +} + +void callback(char* topic, byte* payload, unsigned int length) { + callback_called = true; + strcpy(lastTopic,topic); + memcpy(lastPayload,payload,length); + lastLength = length; +} + +int test_receive_callback() { + IT("receives a callback message"); + reset_callback(); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x30,0xe,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + shimClient.respond(publish,16); + + rc = client.loop(); + + IS_TRUE(rc); + + IS_TRUE(callback_called); + IS_TRUE(strcmp(lastTopic,"topic")==0); + IS_TRUE(memcmp(lastPayload,"payload",7)==0); + IS_TRUE(lastLength == 7); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_receive_stream() { + IT("receives a streamed callback message"); + reset_callback(); + + Stream stream; + stream.expect((uint8_t*)"payload",7); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient, stream); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x30,0xe,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + shimClient.respond(publish,16); + + rc = client.loop(); + + IS_TRUE(rc); + + IS_TRUE(callback_called); + IS_TRUE(strcmp(lastTopic,"topic")==0); + IS_TRUE(lastLength == 7); + + IS_FALSE(stream.error()); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_receive_max_sized_message() { + IT("receives an max-sized message"); + reset_callback(); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + int length = MQTT_MAX_PACKET_SIZE; + byte publish[] = {0x30,length-2,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + byte bigPublish[length]; + memset(bigPublish,'A',length); + bigPublish[length] = 'B'; + memcpy(bigPublish,publish,16); + shimClient.respond(bigPublish,length); + + rc = client.loop(); + + IS_TRUE(rc); + + IS_TRUE(callback_called); + IS_TRUE(strcmp(lastTopic,"topic")==0); + IS_TRUE(lastLength == length-9); + IS_TRUE(memcmp(lastPayload,bigPublish+9,lastLength)==0); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_receive_oversized_message() { + IT("drops an oversized message"); + reset_callback(); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + int length = MQTT_MAX_PACKET_SIZE+1; + byte publish[] = {0x30,length-2,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + byte bigPublish[length]; + memset(bigPublish,'A',length); + bigPublish[length] = 'B'; + memcpy(bigPublish,publish,16); + shimClient.respond(bigPublish,length); + + rc = client.loop(); + + IS_TRUE(rc); + + IS_FALSE(callback_called); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_receive_oversized_stream_message() { + IT("drops an oversized message"); + reset_callback(); + + Stream stream; + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient, stream); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + int length = MQTT_MAX_PACKET_SIZE+1; + byte publish[] = {0x30,length-2,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + + byte bigPublish[length]; + memset(bigPublish,'A',length); + bigPublish[length] = 'B'; + memcpy(bigPublish,publish,16); + + shimClient.respond(bigPublish,length); + stream.expect(bigPublish+9,length-9); + + rc = client.loop(); + + IS_TRUE(rc); + + IS_TRUE(callback_called); + IS_TRUE(strcmp(lastTopic,"topic")==0); + IS_TRUE(lastLength == length-9); + + IS_FALSE(stream.error()); + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_receive_qos1() { + IT("receives a qos1 message"); + reset_callback(); + + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte publish[] = {0x32,0x10,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x12,0x34,0x70,0x61,0x79,0x6c,0x6f,0x61,0x64}; + shimClient.respond(publish,18); + + byte puback[] = {0x40,0x2,0x12,0x34}; + shimClient.expect(puback,4); + + rc = client.loop(); + + IS_TRUE(rc); + + IS_TRUE(callback_called); + IS_TRUE(strcmp(lastTopic,"topic")==0); + IS_TRUE(memcmp(lastPayload,"payload",7)==0); + IS_TRUE(lastLength == 7); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int main() +{ + SUITE("Receive"); + test_receive_callback(); + test_receive_stream(); + test_receive_max_sized_message(); + test_receive_oversized_message(); + test_receive_oversized_stream_message(); + test_receive_qos1(); + + FINISH +} diff --git a/lib/pubsubclient/tests/src/subscribe_spec.cpp b/lib/pubsubclient/tests/src/subscribe_spec.cpp new file mode 100644 index 00000000..a4198235 --- /dev/null +++ b/lib/pubsubclient/tests/src/subscribe_spec.cpp @@ -0,0 +1,177 @@ +#include "PubSubClient.h" +#include "ShimClient.h" +#include "Buffer.h" +#include "BDDTest.h" +#include "trace.h" + + +byte server[] = { 172, 16, 0, 2 }; + +void callback(char* topic, byte* payload, unsigned int length) { + // handle message arrived +} + +int test_subscribe_no_qos() { + IT("subscribe without qos defaults to 0"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte subscribe[] = { 0x82,0xa,0x0,0x2,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x0 }; + shimClient.expect(subscribe,12); + byte suback[] = { 0x90,0x3,0x0,0x2,0x0 }; + shimClient.respond(suback,5); + + rc = client.subscribe((char*)"topic"); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_subscribe_qos_1() { + IT("subscribes qos 1"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte subscribe[] = { 0x82,0xa,0x0,0x2,0x0,0x5,0x74,0x6f,0x70,0x69,0x63,0x1 }; + shimClient.expect(subscribe,12); + byte suback[] = { 0x90,0x3,0x0,0x2,0x1 }; + shimClient.respond(suback,5); + + rc = client.subscribe((char*)"topic",1); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_subscribe_not_connected() { + IT("subscribe fails when not connected"); + ShimClient shimClient; + + PubSubClient client(server, 1883, callback, shimClient); + + int rc = client.subscribe((char*)"topic"); + IS_FALSE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_subscribe_invalid_qos() { + IT("subscribe fails with invalid qos values"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + rc = client.subscribe((char*)"topic",2); + IS_FALSE(rc); + rc = client.subscribe((char*)"topic",254); + IS_FALSE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_subscribe_too_long() { + IT("subscribe fails with too long topic"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + // max length should be allowed + // 0 1 2 3 4 5 6 7 8 9 0 1 2 + rc = client.subscribe((char*)"12345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789"); + IS_TRUE(rc); + + // 0 1 2 3 4 5 6 7 8 9 0 1 2 + rc = client.subscribe((char*)"123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890"); + IS_FALSE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + + +int test_unsubscribe() { + IT("unsubscribes"); + ShimClient shimClient; + shimClient.setAllowConnect(true); + + byte connack[] = { 0x20, 0x02, 0x00, 0x00 }; + shimClient.respond(connack,4); + + PubSubClient client(server, 1883, callback, shimClient); + int rc = client.connect((char*)"client_test1"); + IS_TRUE(rc); + + byte unsubscribe[] = { 0xA2,0x9,0x0,0x2,0x0,0x5,0x74,0x6f,0x70,0x69,0x63 }; + shimClient.expect(unsubscribe,12); + byte unsuback[] = { 0xB0,0x2,0x0,0x2 }; + shimClient.respond(unsuback,4); + + rc = client.unsubscribe((char*)"topic"); + IS_TRUE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int test_unsubscribe_not_connected() { + IT("unsubscribe fails when not connected"); + ShimClient shimClient; + + PubSubClient client(server, 1883, callback, shimClient); + + int rc = client.unsubscribe((char*)"topic"); + IS_FALSE(rc); + + IS_FALSE(shimClient.error()); + + END_IT +} + +int main() +{ + SUITE("Subscribe"); + test_subscribe_no_qos(); + test_subscribe_qos_1(); + test_subscribe_not_connected(); + test_subscribe_invalid_qos(); + test_subscribe_too_long(); + test_unsubscribe(); + test_unsubscribe_not_connected(); + FINISH +} diff --git a/lib/pubsubclient/tests/testcases/__init__.py b/lib/pubsubclient/tests/testcases/__init__.py new file mode 100644 index 00000000..e69de29b diff --git a/lib/pubsubclient/tests/testcases/mqtt_basic.py b/lib/pubsubclient/tests/testcases/mqtt_basic.py new file mode 100644 index 00000000..f23ef71c --- /dev/null +++ b/lib/pubsubclient/tests/testcases/mqtt_basic.py @@ -0,0 +1,39 @@ +import unittest +import settings +import time +import mosquitto + + +def on_message(mosq, obj, msg): + obj.message_queue.append(msg) + + +class mqtt_basic(unittest.TestCase): + + message_queue = [] + + @classmethod + def setUpClass(self): + self.client = mosquitto.Mosquitto("pubsubclient_ut", clean_session=True, obj=self) + self.client.connect(settings.server_ip) + self.client.on_message = on_message + self.client.subscribe("outTopic", 0) + + @classmethod + def tearDownClass(self): + self.client.disconnect() + + def test_one(self): + i = 30 + while len(self.message_queue) == 0 and i > 0: + self.client.loop() + time.sleep(0.5) + i -= 1 + self.assertTrue(i > 0, "message receive timed-out") + self.assertEqual(len(self.message_queue), 1, "unexpected number of messages received") + msg = self.message_queue[0] + self.assertEqual(msg.mid, 0, "message id not 0") + self.assertEqual(msg.topic, "outTopic", "message topic incorrect") + self.assertEqual(msg.payload, "hello world") + self.assertEqual(msg.qos, 0, "message qos not 0") + self.assertEqual(msg.retain, False, "message retain flag incorrect") diff --git a/lib/pubsubclient/tests/testcases/mqtt_publish_in_callback.py b/lib/pubsubclient/tests/testcases/mqtt_publish_in_callback.py new file mode 100644 index 00000000..45b0a851 --- /dev/null +++ b/lib/pubsubclient/tests/testcases/mqtt_publish_in_callback.py @@ -0,0 +1,59 @@ +import unittest +import settings +import time +import mosquitto + + +def on_message(mosq, obj, msg): + obj.message_queue.append(msg) + + +class mqtt_publish_in_callback(unittest.TestCase): + + message_queue = [] + + @classmethod + def setUpClass(self): + self.client = mosquitto.Mosquitto("pubsubclient_ut", clean_session=True, obj=self) + self.client.connect(settings.server_ip) + self.client.on_message = on_message + self.client.subscribe("outTopic", 0) + + @classmethod + def tearDownClass(self): + self.client.disconnect() + + def test_connect(self): + i = 30 + while len(self.message_queue) == 0 and i > 0: + self.client.loop() + time.sleep(0.5) + i -= 1 + self.assertTrue(i > 0, "message receive timed-out") + self.assertEqual(len(self.message_queue), 1, "unexpected number of messages received") + msg = self.message_queue.pop(0) + self.assertEqual(msg.mid, 0, "message id not 0") + self.assertEqual(msg.topic, "outTopic", "message topic incorrect") + self.assertEqual(msg.payload, "hello world") + self.assertEqual(msg.qos, 0, "message qos not 0") + self.assertEqual(msg.retain, False, "message retain flag incorrect") + + def test_publish(self): + self.assertEqual(len(self.message_queue), 0, "message queue not empty") + payload = "abcdefghij" + self.client.publish("inTopic", payload) + + i = 30 + while len(self.message_queue) == 0 and i > 0: + self.client.loop() + time.sleep(0.5) + i -= 1 + + self.assertTrue(i > 0, "message receive timed-out") + self.assertEqual(len(self.message_queue), 1, "unexpected number of messages received") + msg = self.message_queue.pop(0) + self.assertEqual(msg.mid, 0, "message id not 0") + self.assertEqual(msg.topic, "outTopic", "message topic incorrect") + self.assertEqual(msg.payload, payload) + self.assertEqual(msg.qos, 0, "message qos not 0") + self.assertEqual(msg.retain, False, "message retain flag incorrect") diff --git a/lib/pubsubclient/tests/testcases/settings.py b/lib/pubsubclient/tests/testcases/settings.py new file mode 100644 index 00000000..4ad8719d --- /dev/null +++ b/lib/pubsubclient/tests/testcases/settings.py @@ -0,0 +1,2 @@ +server_ip = "172.16.0.2" +arduino_ip = "172.16.0.100" diff --git a/lib/pubsubclient/tests/testsuite.py b/lib/pubsubclient/tests/testsuite.py new file mode 100644 index 00000000..788fc5d9 --- /dev/null +++ b/lib/pubsubclient/tests/testsuite.py @@ -0,0 +1,181 @@ +#!/usr/bin/env python +import os +import os.path +import sys +import shutil +from subprocess import call +import importlib +import unittest +import re + +from testcases import settings + + +class Workspace(object): + + def __init__(self): + self.root_dir = os.getcwd() + self.build_dir = os.path.join(self.root_dir, "tmpbin") + self.log_dir = os.path.join(self.root_dir, "logs") + self.tests_dir = os.path.join(self.root_dir, "testcases") + self.examples_dir = os.path.join(self.root_dir, "../PubSubClient/examples") + self.examples = [] + self.tests = [] + if not os.path.isdir("../PubSubClient"): + raise Exception("Cannot find PubSubClient library") + try: + return __import__('ino') + except ImportError: + raise Exception("ino tool not installed") + + def init(self): + if os.path.isdir(self.build_dir): + shutil.rmtree(self.build_dir) + os.mkdir(self.build_dir) + if os.path.isdir(self.log_dir): + shutil.rmtree(self.log_dir) + os.mkdir(self.log_dir) + + os.chdir(self.build_dir) + call(["ino", "init"]) + + shutil.copytree("../../PubSubClient", "lib/PubSubClient") + + filenames = [] + for root, dirs, files in os.walk(self.examples_dir): + filenames += [os.path.join(root, f) for f in files if f.endswith(".ino")] + filenames.sort() + for e in filenames: + self.examples.append(Sketch(self, e)) + + filenames = [] + for root, dirs, files in os.walk(self.tests_dir): + filenames += [os.path.join(root, f) for f in files if f.endswith(".ino")] + filenames.sort() + for e in filenames: + self.tests.append(Sketch(self, e)) + + def clean(self): + shutil.rmtree(self.build_dir) + + +class Sketch(object): + def __init__(self, wksp, fn): + self.w = wksp + self.filename = fn + self.basename = os.path.basename(self.filename) + self.build_log = os.path.join(self.w.log_dir, "%s.log" % (os.path.basename(self.filename),)) + self.build_err_log = os.path.join(self.w.log_dir, "%s.err.log" % (os.path.basename(self.filename),)) + self.build_upload_log = os.path.join(self.w.log_dir, "%s.upload.log" % (os.path.basename(self.filename),)) + + def build(self): + sys.stdout.write(" Build: ") + sys.stdout.flush() + + # Copy sketch over, replacing IP addresses as necessary + fin = open(self.filename, "r") + lines = fin.readlines() + fin.close() + fout = open(os.path.join(self.w.build_dir, "src", "sketch.ino"), "w") + for l in lines: + if re.match(r"^byte server\[\] = {", l): + fout.write("byte server[] = { %s };\n" % (settings.server_ip.replace(".", ", "),)) + elif re.match(r"^byte ip\[\] = {", l): + fout.write("byte ip[] = { %s };\n" % (settings.arduino_ip.replace(".", ", "),)) + else: + fout.write(l) + fout.flush() + fout.close() + + # Run build + fout = open(self.build_log, "w") + ferr = open(self.build_err_log, "w") + rc = call(["ino", "build"], stdout=fout, stderr=ferr) + fout.close() + ferr.close() + if rc == 0: + sys.stdout.write("pass") + sys.stdout.write("\n") + return True + else: + sys.stdout.write("fail") + sys.stdout.write("\n") + with open(self.build_err_log) as f: + for line in f: + print(" " + line) + return False + + def upload(self): + sys.stdout.write(" Upload: ") + sys.stdout.flush() + fout = open(self.build_upload_log, "w") + rc = call(["ino", "upload"], stdout=fout, stderr=fout) + fout.close() + if rc == 0: + sys.stdout.write("pass") + sys.stdout.write("\n") + return True + else: + sys.stdout.write("fail") + sys.stdout.write("\n") + with open(self.build_upload_log) as f: + for line in f: + print(" " + line) + return False + + def test(self): + # import the matching test case, if it exists + try: + basename = os.path.basename(self.filename)[:-4] + i = importlib.import_module("testcases." + basename) + except: + sys.stdout.write(" Test: no tests found") + sys.stdout.write("\n") + return + c = getattr(i, basename) + + testmethods = [m for m in dir(c) if m.startswith("test_")] + testmethods.sort() + tests = [] + for m in testmethods: + tests.append(c(m)) + + result = unittest.TestResult() + c.setUpClass() + if self.upload(): + sys.stdout.write(" Test: ") + sys.stdout.flush() + for t in tests: + t.run(result) + print(str(result.testsRun - len(result.failures) - len(result.errors)) + "/" + str(result.testsRun)) + if not result.wasSuccessful(): + if len(result.failures) > 0: + for f in result.failures: + print("-- " + str(f[0])) + print(f[1]) + if len(result.errors) > 0: + print(" Errors:") + for f in result.errors: + print("-- " + str(f[0])) + print(f[1]) + c.tearDownClass() + + +if __name__ == '__main__': + run_tests = True + + w = Workspace() + w.init() + + for e in w.examples: + print("--------------------------------------") + print("[" + e.basename + "]") + if e.build() and run_tests: + e.test() + for e in w.tests: + print("--------------------------------------") + print("[" + e.basename + "]") + if e.build() and run_tests: + e.test() + + w.clean() diff --git a/lib/rc-switch/.gitignore b/lib/rc-switch/.gitignore new file mode 100644 index 00000000..d0972bb4 --- /dev/null +++ b/lib/rc-switch/.gitignore @@ -0,0 +1,17 @@ +# Mac stuff +.DS_Store + +# Compiled Object files +*.slo +*.lo +*.o + +# Compiled Dynamic libraries +*.so +*.dylib + +# Compiled Static libraries +*.lai +*.la +*.a + diff --git a/lib/rc-switch/.travis.yml b/lib/rc-switch/.travis.yml new file mode 100644 index 00000000..16cadf8a --- /dev/null +++ b/lib/rc-switch/.travis.yml @@ -0,0 +1,69 @@ +language: c +python: + - "2.7" + +# Cache PlatformIO packages using Travis CI container-based infrastructure +cache: + pip: true + directories: + - "~/.platformio" + +env: + - > + PLATFORMIO_CI_SRC=$PWD/examples/Webserver + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/Webserver.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01" + - > + PLATFORMIO_CI_SRC=$PWD/examples/ReceiveDemo_Simple + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/ReceiveDemo_Simple.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01" + - > + PLATFORMIO_CI_SRC=$PWD/examples/TypeC_Intertechno + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeC_Intertechno.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24" + - > + PLATFORMIO_CI_SRC=$PWD/examples/TypeD_REV + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeD_REV.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24" + - > + PLATFORMIO_CI_SRC=$PWD/examples/TypeA_WithDIPSwitches + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeA_WithDIPSwitches.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24" + - > + PLATFORMIO_CI_SRC=$PWD/examples/TypeA_WithDIPSwitches_Lightweight + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeA_WithDIPSwitches_Lightweight.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24" + - > + PLATFORMIO_CI_SRC=$PWD/examples/TypeB_WithRotaryOrSlidingSwitches + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/TypeB_WithRotaryOrSlidingSwitches.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01 --board=attiny25 --board=attiny24" + - > + PLATFORMIO_CI_SRC=$PWD/examples/SendDemo + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/SendDemo.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01" + - > + PLATFORMIO_CI_SRC=$PWD/examples/ReceiveDemo_Advanced + ARDUINOIDE_CI_SRC=$PLATFORMIO_CI_SRC/ReceiveDemo_Advanced.ino + BOARDS="--board=diecimilaatmega328 --board=uno --board=esp01" + +before_install: + # Arduino IDE + - "/sbin/start-stop-daemon --start --quiet --pidfile /tmp/custom_xvfb_1.pid --make-pidfile --background --exec /usr/bin/Xvfb -- :1 -ac -screen 0 1280x1024x16" + - sleep 3 + - export DISPLAY=:1.0 + - wget http://downloads.arduino.cc/arduino-1.6.9-linux64.tar.xz + - tar xf arduino-1.6.9-linux64.tar.xz + - sudo mv arduino-1.6.9 /usr/local/share/arduino + - sudo ln -s /usr/local/share/arduino/arduino /usr/local/bin/arduino + +install: + # Arduino IDE + - ln -s $PWD /usr/local/share/arduino/libraries/rc-switch + # PlatformIO + - sudo pip install -U platformio + +script: + # Arduino IDE + - arduino --verify --board arduino:avr:uno ${ARDUINOIDE_CI_SRC} + # PlatformIO + - platformio ci --lib="." ${BOARDS} diff --git a/lib/rc-switch/RCSwitch.cpp b/lib/rc-switch/RCSwitch.cpp new file mode 100644 index 00000000..1a6736e2 --- /dev/null +++ b/lib/rc-switch/RCSwitch.cpp @@ -0,0 +1,701 @@ +/* + RCSwitch - Arduino libary for remote control outlet switches + Copyright (c) 2011 Suat Özgür. All right reserved. + + Contributors: + - Andre Koehler / info(at)tomate-online(dot)de + - Gordeev Andrey Vladimirovich / gordeev(at)openpyro(dot)com + - Skineffect / http://forum.ardumote.com/viewtopic.php?f=2&t=46 + - Dominik Fischer / dom_fischer(at)web(dot)de + - Frank Oltmanns / .(at)gmail(dot)com + - Andreas Steinel / A.(at)gmail(dot)com + - Max Horn / max(at)quendi(dot)de + - Robert ter Vehn / .(at)gmail(dot)com + - Johann Richard / .(at)gmail(dot)com + - Vlad Gheorghe / .(at)gmail(dot)com https://github.com/vgheo + + Project home: https://github.com/sui77/rc-switch/ + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ + +#include "RCSwitch.h" + +#ifdef RaspberryPi + // PROGMEM and _P functions are for AVR based microprocessors, + // so we must normalize these for the ARM processor: + #define PROGMEM + #define memcpy_P(dest, src, num) memcpy((dest), (src), (num)) +#endif + +#if defined(ESP8266) || defined(ESP32) + // interrupt handler and related code must be in RAM on ESP8266, + // according to issue #46. + #define RECEIVE_ATTR ICACHE_RAM_ATTR +#else + #define RECEIVE_ATTR +#endif + + +/* Format for protocol definitions: + * {pulselength, Sync bit, "0" bit, "1" bit} + * + * pulselength: pulse length in microseconds, e.g. 350 + * Sync bit: {1, 31} means 1 high pulse and 31 low pulses + * (perceived as a 31*pulselength long pulse, total length of sync bit is + * 32*pulselength microseconds), i.e: + * _ + * | |_______________________________ (don't count the vertical bars) + * "0" bit: waveform for a data bit of value "0", {1, 3} means 1 high pulse + * and 3 low pulses, total length (1+3)*pulselength, i.e: + * _ + * | |___ + * "1" bit: waveform for a data bit of value "1", e.g. {3,1}: + * ___ + * | |_ + * + * These are combined to form Tri-State bits when sending or receiving codes. + */ +#if defined(ESP8266) || defined(ESP32) +static const RCSwitch::Protocol proto[] = { +#else +static const RCSwitch::Protocol PROGMEM proto[] = { +#endif + { 350, { 1, 31 }, { 1, 3 }, { 3, 1 }, false }, // protocol 1 + { 650, { 1, 10 }, { 1, 2 }, { 2, 1 }, false }, // protocol 2 + { 100, { 30, 71 }, { 4, 11 }, { 9, 6 }, false }, // protocol 3 + { 380, { 1, 6 }, { 1, 3 }, { 3, 1 }, false }, // protocol 4 + { 500, { 6, 14 }, { 1, 2 }, { 2, 1 }, false }, // protocol 5 + { 450, { 23, 1 }, { 1, 2 }, { 2, 1 }, true }, // protocol 6 (HT6P20B) + { 150, { 2, 62 }, { 1, 6 }, { 6, 1 }, false } // protocol 7 (HS2303-PT, i. e. used in AUKEY Remote) +}; + +enum { + numProto = sizeof(proto) / sizeof(proto[0]) +}; + +#if not defined( RCSwitchDisableReceiving ) +volatile unsigned long RCSwitch::nReceivedValue = 0; +volatile unsigned int RCSwitch::nReceivedBitlength = 0; +volatile unsigned int RCSwitch::nReceivedDelay = 0; +volatile unsigned int RCSwitch::nReceivedProtocol = 0; +int RCSwitch::nReceiveTolerance = 60; +const unsigned int RCSwitch::nSeparationLimit = 4300; +// separationLimit: minimum microseconds between received codes, closer codes are ignored. +// according to discussion on issue #14 it might be more suitable to set the separation +// limit to the same time as the 'low' part of the sync signal for the current protocol. +unsigned int RCSwitch::timings[RCSWITCH_MAX_CHANGES]; +#endif + +RCSwitch::RCSwitch() { + this->nTransmitterPin = -1; + this->setRepeatTransmit(10); + this->setProtocol(1); + #if not defined( RCSwitchDisableReceiving ) + this->nReceiverInterrupt = -1; + this->setReceiveTolerance(60); + RCSwitch::nReceivedValue = 0; + #endif +} + +/** + * Sets the protocol to send. + */ +void RCSwitch::setProtocol(Protocol protocol) { + this->protocol = protocol; +} + +/** + * Sets the protocol to send, from a list of predefined protocols + */ +void RCSwitch::setProtocol(int nProtocol) { + if (nProtocol < 1 || nProtocol > numProto) { + nProtocol = 1; // TODO: trigger an error, e.g. "bad protocol" ??? + } +#if defined(ESP8266) || defined(ESP32) + this->protocol = proto[nProtocol-1]; +#else + memcpy_P(&this->protocol, &proto[nProtocol-1], sizeof(Protocol)); +#endif +} + +/** + * Sets the protocol to send with pulse length in microseconds. + */ +void RCSwitch::setProtocol(int nProtocol, int nPulseLength) { + setProtocol(nProtocol); + this->setPulseLength(nPulseLength); +} + + +/** + * Sets pulse length in microseconds + */ +void RCSwitch::setPulseLength(int nPulseLength) { + this->protocol.pulseLength = nPulseLength; +} + +/** + * Sets Repeat Transmits + */ +void RCSwitch::setRepeatTransmit(int nRepeatTransmit) { + this->nRepeatTransmit = nRepeatTransmit; +} + +/** + * Set Receiving Tolerance + */ +#if not defined( RCSwitchDisableReceiving ) +void RCSwitch::setReceiveTolerance(int nPercent) { + RCSwitch::nReceiveTolerance = nPercent; +} +#endif + + +/** + * Enable transmissions + * + * @param nTransmitterPin Arduino Pin to which the sender is connected to + */ +void RCSwitch::enableTransmit(int nTransmitterPin) { + this->nTransmitterPin = nTransmitterPin; + pinMode(this->nTransmitterPin, OUTPUT); +} + +/** + * Disable transmissions + */ +void RCSwitch::disableTransmit() { + this->nTransmitterPin = -1; +} + +/** + * Switch a remote switch on (Type D REV) + * + * @param sGroup Code of the switch group (A,B,C,D) + * @param nDevice Number of the switch itself (1..3) + */ +void RCSwitch::switchOn(char sGroup, int nDevice) { + this->sendTriState( this->getCodeWordD(sGroup, nDevice, true) ); +} + +/** + * Switch a remote switch off (Type D REV) + * + * @param sGroup Code of the switch group (A,B,C,D) + * @param nDevice Number of the switch itself (1..3) + */ +void RCSwitch::switchOff(char sGroup, int nDevice) { + this->sendTriState( this->getCodeWordD(sGroup, nDevice, false) ); +} + +/** + * Switch a remote switch on (Type C Intertechno) + * + * @param sFamily Familycode (a..f) + * @param nGroup Number of group (1..4) + * @param nDevice Number of device (1..4) + */ +void RCSwitch::switchOn(char sFamily, int nGroup, int nDevice) { + this->sendTriState( this->getCodeWordC(sFamily, nGroup, nDevice, true) ); +} + +/** + * Switch a remote switch off (Type C Intertechno) + * + * @param sFamily Familycode (a..f) + * @param nGroup Number of group (1..4) + * @param nDevice Number of device (1..4) + */ +void RCSwitch::switchOff(char sFamily, int nGroup, int nDevice) { + this->sendTriState( this->getCodeWordC(sFamily, nGroup, nDevice, false) ); +} + +/** + * Switch a remote switch on (Type B with two rotary/sliding switches) + * + * @param nAddressCode Number of the switch group (1..4) + * @param nChannelCode Number of the switch itself (1..4) + */ +void RCSwitch::switchOn(int nAddressCode, int nChannelCode) { + this->sendTriState( this->getCodeWordB(nAddressCode, nChannelCode, true) ); +} + +/** + * Switch a remote switch off (Type B with two rotary/sliding switches) + * + * @param nAddressCode Number of the switch group (1..4) + * @param nChannelCode Number of the switch itself (1..4) + */ +void RCSwitch::switchOff(int nAddressCode, int nChannelCode) { + this->sendTriState( this->getCodeWordB(nAddressCode, nChannelCode, false) ); +} + +/** + * Deprecated, use switchOn(const char* sGroup, const char* sDevice) instead! + * Switch a remote switch on (Type A with 10 pole DIP switches) + * + * @param sGroup Code of the switch group (refers to DIP switches 1..5 where "1" = on and "0" = off, if all DIP switches are on it's "11111") + * @param nChannelCode Number of the switch itself (1..5) + */ +void RCSwitch::switchOn(const char* sGroup, int nChannel) { + const char* code[6] = { "00000", "10000", "01000", "00100", "00010", "00001" }; + this->switchOn(sGroup, code[nChannel]); +} + +/** + * Deprecated, use switchOff(const char* sGroup, const char* sDevice) instead! + * Switch a remote switch off (Type A with 10 pole DIP switches) + * + * @param sGroup Code of the switch group (refers to DIP switches 1..5 where "1" = on and "0" = off, if all DIP switches are on it's "11111") + * @param nChannelCode Number of the switch itself (1..5) + */ +void RCSwitch::switchOff(const char* sGroup, int nChannel) { + const char* code[6] = { "00000", "10000", "01000", "00100", "00010", "00001" }; + this->switchOff(sGroup, code[nChannel]); +} + +/** + * Switch a remote switch on (Type A with 10 pole DIP switches) + * + * @param sGroup Code of the switch group (refers to DIP switches 1..5 where "1" = on and "0" = off, if all DIP switches are on it's "11111") + * @param sDevice Code of the switch device (refers to DIP switches 6..10 (A..E) where "1" = on and "0" = off, if all DIP switches are on it's "11111") + */ +void RCSwitch::switchOn(const char* sGroup, const char* sDevice) { + this->sendTriState( this->getCodeWordA(sGroup, sDevice, true) ); +} + +/** + * Switch a remote switch off (Type A with 10 pole DIP switches) + * + * @param sGroup Code of the switch group (refers to DIP switches 1..5 where "1" = on and "0" = off, if all DIP switches are on it's "11111") + * @param sDevice Code of the switch device (refers to DIP switches 6..10 (A..E) where "1" = on and "0" = off, if all DIP switches are on it's "11111") + */ +void RCSwitch::switchOff(const char* sGroup, const char* sDevice) { + this->sendTriState( this->getCodeWordA(sGroup, sDevice, false) ); +} + + +/** + * Returns a char[13], representing the code word to be send. + * + */ +char* RCSwitch::getCodeWordA(const char* sGroup, const char* sDevice, bool bStatus) { + static char sReturn[13]; + int nReturnPos = 0; + + for (int i = 0; i < 5; i++) { + sReturn[nReturnPos++] = (sGroup[i] == '0') ? 'F' : '0'; + } + + for (int i = 0; i < 5; i++) { + sReturn[nReturnPos++] = (sDevice[i] == '0') ? 'F' : '0'; + } + + sReturn[nReturnPos++] = bStatus ? '0' : 'F'; + sReturn[nReturnPos++] = bStatus ? 'F' : '0'; + + sReturn[nReturnPos] = '\0'; + return sReturn; +} + +/** + * Encoding for type B switches with two rotary/sliding switches. + * + * The code word is a tristate word and with following bit pattern: + * + * +-----------------------------+-----------------------------+----------+------------+ + * | 4 bits address | 4 bits address | 3 bits | 1 bit | + * | switch group | switch number | not used | on / off | + * | 1=0FFF 2=F0FF 3=FF0F 4=FFF0 | 1=0FFF 2=F0FF 3=FF0F 4=FFF0 | FFF | on=F off=0 | + * +-----------------------------+-----------------------------+----------+------------+ + * + * @param nAddressCode Number of the switch group (1..4) + * @param nChannelCode Number of the switch itself (1..4) + * @param bStatus Whether to switch on (true) or off (false) + * + * @return char[13], representing a tristate code word of length 12 + */ +char* RCSwitch::getCodeWordB(int nAddressCode, int nChannelCode, bool bStatus) { + static char sReturn[13]; + int nReturnPos = 0; + + if (nAddressCode < 1 || nAddressCode > 4 || nChannelCode < 1 || nChannelCode > 4) { + return 0; + } + + for (int i = 1; i <= 4; i++) { + sReturn[nReturnPos++] = (nAddressCode == i) ? '0' : 'F'; + } + + for (int i = 1; i <= 4; i++) { + sReturn[nReturnPos++] = (nChannelCode == i) ? '0' : 'F'; + } + + sReturn[nReturnPos++] = 'F'; + sReturn[nReturnPos++] = 'F'; + sReturn[nReturnPos++] = 'F'; + + sReturn[nReturnPos++] = bStatus ? 'F' : '0'; + + sReturn[nReturnPos] = '\0'; + return sReturn; +} + +/** + * Like getCodeWord (Type C = Intertechno) + */ +char* RCSwitch::getCodeWordC(char sFamily, int nGroup, int nDevice, bool bStatus) { + static char sReturn[13]; + int nReturnPos = 0; + + int nFamily = (int)sFamily - 'a'; + if ( nFamily < 0 || nFamily > 15 || nGroup < 1 || nGroup > 4 || nDevice < 1 || nDevice > 4) { + return 0; + } + + // encode the family into four bits + sReturn[nReturnPos++] = (nFamily & 1) ? 'F' : '0'; + sReturn[nReturnPos++] = (nFamily & 2) ? 'F' : '0'; + sReturn[nReturnPos++] = (nFamily & 4) ? 'F' : '0'; + sReturn[nReturnPos++] = (nFamily & 8) ? 'F' : '0'; + + // encode the device and group + sReturn[nReturnPos++] = ((nDevice-1) & 1) ? 'F' : '0'; + sReturn[nReturnPos++] = ((nDevice-1) & 2) ? 'F' : '0'; + sReturn[nReturnPos++] = ((nGroup-1) & 1) ? 'F' : '0'; + sReturn[nReturnPos++] = ((nGroup-1) & 2) ? 'F' : '0'; + + // encode the status code + sReturn[nReturnPos++] = '0'; + sReturn[nReturnPos++] = 'F'; + sReturn[nReturnPos++] = 'F'; + sReturn[nReturnPos++] = bStatus ? 'F' : '0'; + + sReturn[nReturnPos] = '\0'; + return sReturn; +} + +/** + * Encoding for the REV Switch Type + * + * The code word is a tristate word and with following bit pattern: + * + * +-----------------------------+-------------------+----------+--------------+ + * | 4 bits address | 3 bits address | 3 bits | 2 bits | + * | switch group | device number | not used | on / off | + * | A=1FFF B=F1FF C=FF1F D=FFF1 | 1=0FF 2=F0F 3=FF0 | 000 | on=10 off=01 | + * +-----------------------------+-------------------+----------+--------------+ + * + * Source: http://www.the-intruder.net/funksteckdosen-von-rev-uber-arduino-ansteuern/ + * + * @param sGroup Name of the switch group (A..D, resp. a..d) + * @param nDevice Number of the switch itself (1..3) + * @param bStatus Whether to switch on (true) or off (false) + * + * @return char[13], representing a tristate code word of length 12 + */ +char* RCSwitch::getCodeWordD(char sGroup, int nDevice, bool bStatus) { + static char sReturn[13]; + int nReturnPos = 0; + + // sGroup must be one of the letters in "abcdABCD" + int nGroup = (sGroup >= 'a') ? (int)sGroup - 'a' : (int)sGroup - 'A'; + if ( nGroup < 0 || nGroup > 3 || nDevice < 1 || nDevice > 3) { + return 0; + } + + for (int i = 0; i < 4; i++) { + sReturn[nReturnPos++] = (nGroup == i) ? '1' : 'F'; + } + + for (int i = 1; i <= 3; i++) { + sReturn[nReturnPos++] = (nDevice == i) ? '1' : 'F'; + } + + sReturn[nReturnPos++] = '0'; + sReturn[nReturnPos++] = '0'; + sReturn[nReturnPos++] = '0'; + + sReturn[nReturnPos++] = bStatus ? '1' : '0'; + sReturn[nReturnPos++] = bStatus ? '0' : '1'; + + sReturn[nReturnPos] = '\0'; + return sReturn; +} + +/** + * @param sCodeWord a tristate code word consisting of the letter 0, 1, F + */ +void RCSwitch::sendTriState(const char* sCodeWord) { + // turn the tristate code word into the corresponding bit pattern, then send it + unsigned long code = 0; + unsigned int length = 0; + for (const char* p = sCodeWord; *p; p++) { + code <<= 2L; + switch (*p) { + case '0': + // bit pattern 00 + break; + case 'F': + // bit pattern 01 + code |= 1L; + break; + case '1': + // bit pattern 11 + code |= 3L; + break; + } + length += 2; + } + this->send(code, length); +} + +/** + * @param sCodeWord a binary code word consisting of the letter 0, 1 + */ +void RCSwitch::send(const char* sCodeWord) { + // turn the tristate code word into the corresponding bit pattern, then send it + unsigned long code = 0; + unsigned int length = 0; + for (const char* p = sCodeWord; *p; p++) { + code <<= 1L; + if (*p != '0') + code |= 1L; + length++; + } + this->send(code, length); +} + +/** + * Transmit the first 'length' bits of the integer 'code'. The + * bits are sent from MSB to LSB, i.e., first the bit at position length-1, + * then the bit at position length-2, and so on, till finally the bit at position 0. + */ +void RCSwitch::send(unsigned long code, unsigned int length) { + if (this->nTransmitterPin == -1) + return; + +#if not defined( RCSwitchDisableReceiving ) + // make sure the receiver is disabled while we transmit + int nReceiverInterrupt_backup = nReceiverInterrupt; + if (nReceiverInterrupt_backup != -1) { + this->disableReceive(); + } +#endif + + for (int nRepeat = 0; nRepeat < nRepeatTransmit; nRepeat++) { + for (int i = length-1; i >= 0; i--) { + if (code & (1L << i)) + this->transmit(protocol.one); + else + this->transmit(protocol.zero); + } + this->transmit(protocol.syncFactor); + } + + // Disable transmit after sending (i.e., for inverted protocols) + digitalWrite(this->nTransmitterPin, LOW); + +#if not defined( RCSwitchDisableReceiving ) + // enable receiver again if we just disabled it + if (nReceiverInterrupt_backup != -1) { + this->enableReceive(nReceiverInterrupt_backup); + } +#endif +} + +/** + * Transmit a single high-low pulse. + */ +void RCSwitch::transmit(HighLow pulses) { + uint8_t firstLogicLevel = (this->protocol.invertedSignal) ? LOW : HIGH; + uint8_t secondLogicLevel = (this->protocol.invertedSignal) ? HIGH : LOW; + + digitalWrite(this->nTransmitterPin, firstLogicLevel); + delayMicroseconds( this->protocol.pulseLength * pulses.high); + digitalWrite(this->nTransmitterPin, secondLogicLevel); + delayMicroseconds( this->protocol.pulseLength * pulses.low); +} + + +#if not defined( RCSwitchDisableReceiving ) +/** + * Enable receiving data + */ +void RCSwitch::enableReceive(int interrupt) { + this->nReceiverInterrupt = interrupt; + this->enableReceive(); +} + +void RCSwitch::enableReceive() { + if (this->nReceiverInterrupt != -1) { + RCSwitch::nReceivedValue = 0; + RCSwitch::nReceivedBitlength = 0; +#if defined(RaspberryPi) // Raspberry Pi + wiringPiISR(this->nReceiverInterrupt, INT_EDGE_BOTH, &handleInterrupt); +#else // Arduino + attachInterrupt(this->nReceiverInterrupt, handleInterrupt, CHANGE); +#endif + } +} + +/** + * Disable receiving data + */ +void RCSwitch::disableReceive() { +#if not defined(RaspberryPi) // Arduino + detachInterrupt(this->nReceiverInterrupt); +#endif // For Raspberry Pi (wiringPi) you can't unregister the ISR + this->nReceiverInterrupt = -1; +} + +bool RCSwitch::available() { + return RCSwitch::nReceivedValue != 0; +} + +void RCSwitch::resetAvailable() { + RCSwitch::nReceivedValue = 0; +} + +unsigned long RCSwitch::getReceivedValue() { + return RCSwitch::nReceivedValue; +} + +unsigned int RCSwitch::getReceivedBitlength() { + return RCSwitch::nReceivedBitlength; +} + +unsigned int RCSwitch::getReceivedDelay() { + return RCSwitch::nReceivedDelay; +} + +unsigned int RCSwitch::getReceivedProtocol() { + return RCSwitch::nReceivedProtocol; +} + +unsigned int* RCSwitch::getReceivedRawdata() { + return RCSwitch::timings; +} + +/* helper function for the receiveProtocol method */ +static inline unsigned int diff(int A, int B) { + return abs(A - B); +} + +/** + * + */ +bool RECEIVE_ATTR RCSwitch::receiveProtocol(const int p, unsigned int changeCount) { +#if defined(ESP8266) || defined(ESP32) + const Protocol &pro = proto[p-1]; +#else + Protocol pro; + memcpy_P(&pro, &proto[p-1], sizeof(Protocol)); +#endif + + unsigned long code = 0; + //Assuming the longer pulse length is the pulse captured in timings[0] + const unsigned int syncLengthInPulses = ((pro.syncFactor.low) > (pro.syncFactor.high)) ? (pro.syncFactor.low) : (pro.syncFactor.high); + const unsigned int delay = RCSwitch::timings[0] / syncLengthInPulses; + const unsigned int delayTolerance = delay * RCSwitch::nReceiveTolerance / 100; + + /* For protocols that start low, the sync period looks like + * _________ + * _____________| |XXXXXXXXXXXX| + * + * |--1st dur--|-2nd dur-|-Start data-| + * + * The 3rd saved duration starts the data. + * + * For protocols that start high, the sync period looks like + * + * ______________ + * | |____________|XXXXXXXXXXXXX| + * + * |-filtered out-|--1st dur--|--Start data--| + * + * The 2nd saved duration starts the data + */ + const unsigned int firstDataTiming = (pro.invertedSignal) ? (2) : (1); + + for (unsigned int i = firstDataTiming; i < changeCount - 1; i += 2) { + code <<= 1; + if (diff(RCSwitch::timings[i], delay * pro.zero.high) < delayTolerance && + diff(RCSwitch::timings[i + 1], delay * pro.zero.low) < delayTolerance) { + // zero + } else if (diff(RCSwitch::timings[i], delay * pro.one.high) < delayTolerance && + diff(RCSwitch::timings[i + 1], delay * pro.one.low) < delayTolerance) { + // one + code |= 1; + } else { + // Failed + return false; + } + } + + if (changeCount > 7) { // ignore very short transmissions: no device sends them, so this must be noise + RCSwitch::nReceivedValue = code; + RCSwitch::nReceivedBitlength = (changeCount - 1) / 2; + RCSwitch::nReceivedDelay = delay; + RCSwitch::nReceivedProtocol = p; + return true; + } + + return false; +} + +void RECEIVE_ATTR RCSwitch::handleInterrupt() { + + static unsigned int changeCount = 0; + static unsigned long lastTime = 0; + static unsigned int repeatCount = 0; + + const long time = micros(); + const unsigned int duration = time - lastTime; + + if (duration > RCSwitch::nSeparationLimit) { + // A long stretch without signal level change occurred. This could + // be the gap between two transmission. + if (diff(duration, RCSwitch::timings[0]) < 200) { + // This long signal is close in length to the long signal which + // started the previously recorded timings; this suggests that + // it may indeed by a a gap between two transmissions (we assume + // here that a sender will send the signal multiple times, + // with roughly the same gap between them). + repeatCount++; + if (repeatCount == 2) { + for(unsigned int i = 1; i <= numProto; i++) { + if (receiveProtocol(i, changeCount)) { + // receive succeeded for protocol i + break; + } + } + repeatCount = 0; + } + } + changeCount = 0; + } + + // detect overflow + if (changeCount >= RCSWITCH_MAX_CHANGES) { + changeCount = 0; + repeatCount = 0; + } + + RCSwitch::timings[changeCount++] = duration; + lastTime = time; +} +#endif diff --git a/lib/rc-switch/RCSwitch.h b/lib/rc-switch/RCSwitch.h new file mode 100644 index 00000000..b7755e0b --- /dev/null +++ b/lib/rc-switch/RCSwitch.h @@ -0,0 +1,184 @@ +/* + RCSwitch - Arduino libary for remote control outlet switches + Copyright (c) 2011 Suat Özgür. All right reserved. + + Contributors: + - Andre Koehler / info(at)tomate-online(dot)de + - Gordeev Andrey Vladimirovich / gordeev(at)openpyro(dot)com + - Skineffect / http://forum.ardumote.com/viewtopic.php?f=2&t=46 + - Dominik Fischer / dom_fischer(at)web(dot)de + - Frank Oltmanns / .(at)gmail(dot)com + - Max Horn / max(at)quendi(dot)de + - Robert ter Vehn / .(at)gmail(dot)com + + Project home: https://github.com/sui77/rc-switch/ + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA +*/ +#ifndef _RCSwitch_h +#define _RCSwitch_h + +#if defined(ARDUINO) && ARDUINO >= 100 + #include "Arduino.h" +#elif defined(ENERGIA) // LaunchPad, FraunchPad and StellarPad specific + #include "Energia.h" +#elif defined(RPI) // Raspberry Pi + #define RaspberryPi + + // Include libraries for RPi: + #include /* memcpy */ + #include /* abs */ + #include +#elif defined(SPARK) + #include "application.h" +#else + #include "WProgram.h" +#endif + +#include + + +// At least for the ATTiny X4/X5, receiving has to be disabled due to +// missing libm depencies (udivmodhi4) +#if defined( __AVR_ATtinyX5__ ) or defined ( __AVR_ATtinyX4__ ) +#define RCSwitchDisableReceiving +#endif + +// Number of maximum high/Low changes per packet. +// We can handle up to (unsigned long) => 32 bit * 2 H/L changes per bit + 2 for sync +#define RCSWITCH_MAX_CHANGES 67 + +class RCSwitch { + + public: + RCSwitch(); + + void switchOn(int nGroupNumber, int nSwitchNumber); + void switchOff(int nGroupNumber, int nSwitchNumber); + void switchOn(const char* sGroup, int nSwitchNumber); + void switchOff(const char* sGroup, int nSwitchNumber); + void switchOn(char sFamily, int nGroup, int nDevice); + void switchOff(char sFamily, int nGroup, int nDevice); + void switchOn(const char* sGroup, const char* sDevice); + void switchOff(const char* sGroup, const char* sDevice); + void switchOn(char sGroup, int nDevice); + void switchOff(char sGroup, int nDevice); + + void sendTriState(const char* sCodeWord); + void send(unsigned long code, unsigned int length); + void send(const char* sCodeWord); + + #if not defined( RCSwitchDisableReceiving ) + void enableReceive(int interrupt); + void enableReceive(); + void disableReceive(); + bool available(); + void resetAvailable(); + + unsigned long getReceivedValue(); + unsigned int getReceivedBitlength(); + unsigned int getReceivedDelay(); + unsigned int getReceivedProtocol(); + unsigned int* getReceivedRawdata(); + #endif + + void enableTransmit(int nTransmitterPin); + void disableTransmit(); + void setPulseLength(int nPulseLength); + void setRepeatTransmit(int nRepeatTransmit); + #if not defined( RCSwitchDisableReceiving ) + void setReceiveTolerance(int nPercent); + #endif + + /** + * Description of a single pule, which consists of a high signal + * whose duration is "high" times the base pulse length, followed + * by a low signal lasting "low" times the base pulse length. + * Thus, the pulse overall lasts (high+low)*pulseLength + */ + struct HighLow { + uint8_t high; + uint8_t low; + }; + + /** + * A "protocol" describes how zero and one bits are encoded into high/low + * pulses. + */ + struct Protocol { + /** base pulse length in microseconds, e.g. 350 */ + uint16_t pulseLength; + + HighLow syncFactor; + HighLow zero; + HighLow one; + + /** + * If true, interchange high and low logic levels in all transmissions. + * + * By default, RCSwitch assumes that any signals it sends or receives + * can be broken down into pulses which start with a high signal level, + * followed by a a low signal level. This is e.g. the case for the + * popular PT 2260 encoder chip, and thus many switches out there. + * + * But some devices do it the other way around, and start with a low + * signal level, followed by a high signal level, e.g. the HT6P20B. To + * accommodate this, one can set invertedSignal to true, which causes + * RCSwitch to change how it interprets any HighLow struct FOO: It will + * then assume transmissions start with a low signal lasting + * FOO.high*pulseLength microseconds, followed by a high signal lasting + * FOO.low*pulseLength microseconds. + */ + bool invertedSignal; + }; + + void setProtocol(Protocol protocol); + void setProtocol(int nProtocol); + void setProtocol(int nProtocol, int nPulseLength); + + private: + char* getCodeWordA(const char* sGroup, const char* sDevice, bool bStatus); + char* getCodeWordB(int nGroupNumber, int nSwitchNumber, bool bStatus); + char* getCodeWordC(char sFamily, int nGroup, int nDevice, bool bStatus); + char* getCodeWordD(char group, int nDevice, bool bStatus); + void transmit(HighLow pulses); + + #if not defined( RCSwitchDisableReceiving ) + static void handleInterrupt(); + static bool receiveProtocol(const int p, unsigned int changeCount); + int nReceiverInterrupt; + #endif + int nTransmitterPin; + int nRepeatTransmit; + + Protocol protocol; + + #if not defined( RCSwitchDisableReceiving ) + static int nReceiveTolerance; + volatile static unsigned long nReceivedValue; + volatile static unsigned int nReceivedBitlength; + volatile static unsigned int nReceivedDelay; + volatile static unsigned int nReceivedProtocol; + const static unsigned int nSeparationLimit; + /* + * timings[0] contains sync timing, followed by a number of bits + */ + static unsigned int timings[RCSWITCH_MAX_CHANGES]; + #endif + + +}; + +#endif diff --git a/lib/rc-switch/README.md b/lib/rc-switch/README.md new file mode 100644 index 00000000..bf12543b --- /dev/null +++ b/lib/rc-switch/README.md @@ -0,0 +1,41 @@ +# rc-switch +[![Build Status](https://travis-ci.org/sui77/rc-switch.svg?branch=master)](https://travis-ci.org/sui77/rc-switch) + +Use your Arduino or Raspberry Pi to operate remote radio controlled devices + +## Download +https://github.com/sui77/rc-switch/releases/latest + +rc-switch is also listed in the arduino library manager. + +## Wiki +https://github.com/sui77/rc-switch/wiki + +## Info +### Send RC codes + +Use your Arduino or Raspberry Pi to operate remote radio controlled devices. +This will most likely work with all popular low cost power outlet sockets. If +yours doesn't work, you might need to adjust the pulse length. + +All you need is a Arduino or Raspberry Pi, a 315/433MHz AM transmitter and one +or more devices with one of the supported chipsets: + + - SC5262 / SC5272 + - HX2262 / HX2272 + - PT2262 / PT2272 + - EV1527 / RT1527 / FP1527 / HS1527 + - Intertechno outlets + - HT6P20X + +### Receive and decode RC codes + +Find out what codes your remote is sending. Use your remote to control your +Arduino. + +All you need is an Arduino, a 315/433MHz AM receiver (altough there is no +instruction yet, yes it is possible to hack an existing device) and a remote +hand set. + +For the Raspberry Pi, clone the https://github.com/ninjablocks/433Utils project to +compile a sniffer tool and transmission commands. diff --git a/lib/rc-switch/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino b/lib/rc-switch/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino new file mode 100644 index 00000000..18380d33 --- /dev/null +++ b/lib/rc-switch/examples/ReceiveDemo_Advanced/ReceiveDemo_Advanced.ino @@ -0,0 +1,24 @@ +/* + Example for receiving + + https://github.com/sui77/rc-switch/ + + If you want to visualize a telegram copy the raw data and + paste it into http://test.sui.li/oszi/ +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + Serial.begin(9600); + mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 +} + +void loop() { + if (mySwitch.available()) { + output(mySwitch.getReceivedValue(), mySwitch.getReceivedBitlength(), mySwitch.getReceivedDelay(), mySwitch.getReceivedRawdata(),mySwitch.getReceivedProtocol()); + mySwitch.resetAvailable(); + } +} diff --git a/lib/rc-switch/examples/ReceiveDemo_Advanced/output.ino b/lib/rc-switch/examples/ReceiveDemo_Advanced/output.ino new file mode 100644 index 00000000..31e61ba6 --- /dev/null +++ b/lib/rc-switch/examples/ReceiveDemo_Advanced/output.ino @@ -0,0 +1,70 @@ +static const char* bin2tristate(const char* bin); +static char * dec2binWzerofill(unsigned long Dec, unsigned int bitLength); + +void output(unsigned long decimal, unsigned int length, unsigned int delay, unsigned int* raw, unsigned int protocol) { + + const char* b = dec2binWzerofill(decimal, length); + Serial.print("Decimal: "); + Serial.print(decimal); + Serial.print(" ("); + Serial.print( length ); + Serial.print("Bit) Binary: "); + Serial.print( b ); + Serial.print(" Tri-State: "); + Serial.print( bin2tristate( b) ); + Serial.print(" PulseLength: "); + Serial.print(delay); + Serial.print(" microseconds"); + Serial.print(" Protocol: "); + Serial.println(protocol); + + Serial.print("Raw data: "); + for (unsigned int i=0; i<= length*2; i++) { + Serial.print(raw[i]); + Serial.print(","); + } + Serial.println(); + Serial.println(); +} + +static const char* bin2tristate(const char* bin) { + static char returnValue[50]; + int pos = 0; + int pos2 = 0; + while (bin[pos]!='\0' && bin[pos+1]!='\0') { + if (bin[pos]=='0' && bin[pos+1]=='0') { + returnValue[pos2] = '0'; + } else if (bin[pos]=='1' && bin[pos+1]=='1') { + returnValue[pos2] = '1'; + } else if (bin[pos]=='0' && bin[pos+1]=='1') { + returnValue[pos2] = 'F'; + } else { + return "not applicable"; + } + pos = pos+2; + pos2++; + } + returnValue[pos2] = '\0'; + return returnValue; +} + +static char * dec2binWzerofill(unsigned long Dec, unsigned int bitLength) { + static char bin[64]; + unsigned int i=0; + + while (Dec > 0) { + bin[32+i++] = ((Dec & 1) > 0) ? '1' : '0'; + Dec = Dec >> 1; + } + + for (unsigned int j = 0; j< bitLength; j++) { + if (j >= bitLength - i) { + bin[j] = bin[ 31 + i - (j - (bitLength - i)) ]; + } else { + bin[j] = '0'; + } + } + bin[bitLength] = '\0'; + + return bin; +} diff --git a/lib/rc-switch/examples/ReceiveDemo_Simple/ReceiveDemo_Simple.ino b/lib/rc-switch/examples/ReceiveDemo_Simple/ReceiveDemo_Simple.ino new file mode 100644 index 00000000..bb107638 --- /dev/null +++ b/lib/rc-switch/examples/ReceiveDemo_Simple/ReceiveDemo_Simple.ino @@ -0,0 +1,29 @@ +/* + Simple example for receiving + + https://github.com/sui77/rc-switch/ +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + Serial.begin(9600); + mySwitch.enableReceive(0); // Receiver on interrupt 0 => that is pin #2 +} + +void loop() { + if (mySwitch.available()) { + + Serial.print("Received "); + Serial.print( mySwitch.getReceivedValue() ); + Serial.print(" / "); + Serial.print( mySwitch.getReceivedBitlength() ); + Serial.print("bit "); + Serial.print("Protocol: "); + Serial.println( mySwitch.getReceivedProtocol() ); + + mySwitch.resetAvailable(); + } +} diff --git a/lib/rc-switch/examples/SendDemo/SendDemo.ino b/lib/rc-switch/examples/SendDemo/SendDemo.ino new file mode 100644 index 00000000..5acb4958 --- /dev/null +++ b/lib/rc-switch/examples/SendDemo/SendDemo.ino @@ -0,0 +1,57 @@ +/* + Example for different sending methods + + https://github.com/sui77/rc-switch/ + +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + + Serial.begin(9600); + + // Transmitter is connected to Arduino Pin #10 + mySwitch.enableTransmit(10); + + // Optional set protocol (default is 1, will work for most outlets) + // mySwitch.setProtocol(2); + + // Optional set pulse length. + // mySwitch.setPulseLength(320); + + // Optional set number of transmission repetitions. + // mySwitch.setRepeatTransmit(15); + +} + +void loop() { + + /* See Example: TypeA_WithDIPSwitches */ + mySwitch.switchOn("11111", "00010"); + delay(1000); + mySwitch.switchOff("11111", "00010"); + delay(1000); + + /* Same switch as above, but using decimal code */ + mySwitch.send(5393, 24); + delay(1000); + mySwitch.send(5396, 24); + delay(1000); + + /* Same switch as above, but using binary code */ + mySwitch.send("000000000001010100010001"); + delay(1000); + mySwitch.send("000000000001010100010100"); + delay(1000); + + /* Same switch as above, but tri-state code */ + mySwitch.sendTriState("00000FFF0F0F"); + delay(1000); + mySwitch.sendTriState("00000FFF0FF0"); + delay(1000); + + delay(20000); +} diff --git a/lib/rc-switch/examples/TypeA_WithDIPSwitches/TypeA_WithDIPSwitches.ino b/lib/rc-switch/examples/TypeA_WithDIPSwitches/TypeA_WithDIPSwitches.ino new file mode 100644 index 00000000..14f7d2a6 --- /dev/null +++ b/lib/rc-switch/examples/TypeA_WithDIPSwitches/TypeA_WithDIPSwitches.ino @@ -0,0 +1,40 @@ +/* + Example for outlets which are configured with a 10 pole DIP switch. + + https://github.com/sui77/rc-switch/ +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + + // Transmitter is connected to Arduino Pin #10 + mySwitch.enableTransmit(10); + + // Optional set pulse length. + // mySwitch.setPulseLength(320); + +} + +void loop() { + + // Switch on: + // The first parameter represents the setting of the first 5 DIP switches. + // In this example it's ON-ON-OFF-OFF-ON. + // + // The second parameter represents the setting of the last 5 DIP switches. + // In this example the last 5 DIP switches are OFF-ON-OFF-ON-OFF. + mySwitch.switchOn("11001", "01010"); + + // Wait a second + delay(1000); + + // Switch off + mySwitch.switchOff("11001", "01010"); + + // Wait another second + delay(1000); + +} diff --git a/lib/rc-switch/examples/TypeA_WithDIPSwitches_Lightweight/TypeA_WithDIPSwitches_Lightweight.ino b/lib/rc-switch/examples/TypeA_WithDIPSwitches_Lightweight/TypeA_WithDIPSwitches_Lightweight.ino new file mode 100644 index 00000000..214daf41 --- /dev/null +++ b/lib/rc-switch/examples/TypeA_WithDIPSwitches_Lightweight/TypeA_WithDIPSwitches_Lightweight.ino @@ -0,0 +1,43 @@ +/* + This is a minimal sketch without using the library at all but only works for + the 10 pole dip switch sockets. It saves a lot of memory and thus might be + very useful to use with ATTinys :) + + https://github.com/sui77/rc-switch/ +*/ + +int RCLpin = 7; + +void setup() { + pinMode(RCLpin, OUTPUT); +} + +void loop() { + RCLswitch(0b010001000001); // DIPs an Steckdose: 0100010000 An:01 + delay(2000); + + RCLswitch(0b010001000010); // DIPs an Steckdose: 0100010000 Aus:10 + delay(2000); +} + +void RCLswitch(uint16_t code) { + for (int nRepeat=0; nRepeat<6; nRepeat++) { + for (int i=4; i<16; i++) { + RCLtransmit(1,3); + if (((code << (i-4)) & 2048) > 0) { + RCLtransmit(1,3); + } else { + RCLtransmit(3,1); + } + } + RCLtransmit(1,31); + } +} + +void RCLtransmit(int nHighPulses, int nLowPulses) { + digitalWrite(RCLpin, HIGH); + delayMicroseconds( 350 * nHighPulses); + digitalWrite(RCLpin, LOW); + delayMicroseconds( 350 * nLowPulses); +} + diff --git a/lib/rc-switch/examples/TypeB_WithRotaryOrSlidingSwitches/TypeB_WithRotaryOrSlidingSwitches.ino b/lib/rc-switch/examples/TypeB_WithRotaryOrSlidingSwitches/TypeB_WithRotaryOrSlidingSwitches.ino new file mode 100644 index 00000000..e8568e25 --- /dev/null +++ b/lib/rc-switch/examples/TypeB_WithRotaryOrSlidingSwitches/TypeB_WithRotaryOrSlidingSwitches.ino @@ -0,0 +1,40 @@ +/* + Example for outlets which are configured with two rotary/sliding switches. + + https://github.com/sui77/rc-switch/ +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + + // Transmitter is connected to Arduino Pin #10 + mySwitch.enableTransmit(10); + + // Optional set pulse length. + // mySwitch.setPulseLength(320); + +} + +void loop() { + + // Switch on: + // The first parameter represents the setting of the first rotary switch. + // In this example it's switched to "1" or "A" or "I". + // + // The second parameter represents the setting of the second rotary switch. + // In this example it's switched to "4" or "D" or "IV". + mySwitch.switchOn(1, 4); + + // Wait a second + delay(1000); + + // Switch off + mySwitch.switchOff(1, 4); + + // Wait another second + delay(1000); + +} diff --git a/lib/rc-switch/examples/TypeC_Intertechno/TypeC_Intertechno.ino b/lib/rc-switch/examples/TypeC_Intertechno/TypeC_Intertechno.ino new file mode 100644 index 00000000..0fc69c7c --- /dev/null +++ b/lib/rc-switch/examples/TypeC_Intertechno/TypeC_Intertechno.ino @@ -0,0 +1,40 @@ +/* + Example for Intertechno outlets + + https://github.com/sui77/rc-switch/ +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + + // Transmitter is connected to Arduino Pin #10 + mySwitch.enableTransmit(10); + + // Optional set pulse length. + // mySwitch.setPulseLength(320); + +} + +void loop() { + + // Switch on: + // The first parameter represents the familycode (a, b, c, ... f) + // The second parameter represents the group number + // The third parameter represents the device number + // + // In this example it's family 'b', group #3, device #2 + mySwitch.switchOn('b', 3, 2); + + // Wait a second + delay(1000); + + // Switch off + mySwitch.switchOff('b', 3, 2); + + // Wait another second + delay(1000); + +} \ No newline at end of file diff --git a/lib/rc-switch/examples/TypeD_REV/TypeD_REV.ino b/lib/rc-switch/examples/TypeD_REV/TypeD_REV.ino new file mode 100644 index 00000000..87827294 --- /dev/null +++ b/lib/rc-switch/examples/TypeD_REV/TypeD_REV.ino @@ -0,0 +1,41 @@ +/* + Example for REV outlets (e.g. 8342L) + + https://github.com/sui77/rc-switch/ + + Need help? http://forum.ardumote.com +*/ + +#include + +RCSwitch mySwitch = RCSwitch(); + +void setup() { + + // Transmitter is connected to Arduino Pin #10 + mySwitch.enableTransmit(10); + + // set pulse length. + mySwitch.setPulseLength(360); + +} + +void loop() { + + // Switch on: + // The first parameter represents the channel (a, b, c, d) + // The second parameter represents the device number + // + // In this example it's family 'd', device #2 + mySwitch.switchOn('d', 2); + + // Wait a second + delay(1000); + + // Switch off + mySwitch.switchOff('d', 2); + + // Wait another second + delay(1000); + +} diff --git a/lib/rc-switch/examples/Webserver/Webserver.ino b/lib/rc-switch/examples/Webserver/Webserver.ino new file mode 100644 index 00000000..66668e76 --- /dev/null +++ b/lib/rc-switch/examples/Webserver/Webserver.ino @@ -0,0 +1,154 @@ +/* + A simple RCSwitch/Ethernet/Webserver demo + + https://github.com/sui77/rc-switch/ +*/ + +#include +#include +#include + +// Ethernet configuration +uint8_t mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; // MAC Address +uint8_t ip[] = { 192,168,0, 2 }; // IP Address +EthernetServer server(80); // Server Port 80 + +// RCSwitch configuration +RCSwitch mySwitch = RCSwitch(); +int RCTransmissionPin = 7; + +// More to do... +// You should also modify the processCommand() and +// httpResponseHome() functions to fit your needs. + + + +/** + * Setup + */ +void setup() { + Ethernet.begin(mac, ip); + server.begin(); + mySwitch.enableTransmit( RCTransmissionPin ); +} + +/** + * Loop + */ +void loop() { + char* command = httpServer(); +} + +/** + * Command dispatcher + */ +void processCommand(char* command) { + if (strcmp(command, "1-on") == 0) { + mySwitch.switchOn(1,1); + } else if (strcmp(command, "1-off") == 0) { + mySwitch.switchOff(1,1); + } else if (strcmp(command, "2-on") == 0) { + mySwitch.switchOn(1,2); + } else if (strcmp(command, "2-off") == 0) { + mySwitch.switchOff(1,2); + } +} + +/** + * HTTP Response with homepage + */ +void httpResponseHome(EthernetClient c) { + c.println("HTTP/1.1 200 OK"); + c.println("Content-Type: text/html"); + c.println(); + c.println(""); + c.println(""); + c.println( "RCSwitch Webserver Demo"); + c.println( ""); + c.println(""); + c.println(""); + c.println( "

        RCSwitch Webserver Demo

        "); + c.println( ""); + c.println( ""); + c.println( "
        "); + c.println( "https://github.com/sui77/rc-switch/"); + c.println(""); + c.println(""); +} + +/** + * HTTP Redirect to homepage + */ +void httpResponseRedirect(EthernetClient c) { + c.println("HTTP/1.1 301 Found"); + c.println("Location: /"); + c.println(); +} + +/** + * HTTP Response 414 error + * Command must not be longer than 30 characters + **/ +void httpResponse414(EthernetClient c) { + c.println("HTTP/1.1 414 Request URI too long"); + c.println("Content-Type: text/plain"); + c.println(); + c.println("414 Request URI too long"); +} + +/** + * Process HTTP requests, parse first request header line and + * call processCommand with GET query string (everything after + * the ? question mark in the URL). + */ +char* httpServer() { + EthernetClient client = server.available(); + if (client) { + char sReturnCommand[32]; + int nCommandPos=-1; + sReturnCommand[0] = '\0'; + while (client.connected()) { + if (client.available()) { + char c = client.read(); + if ((c == '\n') || (c == ' ' && nCommandPos>-1)) { + sReturnCommand[nCommandPos] = '\0'; + if (strcmp(sReturnCommand, "\0") == 0) { + httpResponseHome(client); + } else { + processCommand(sReturnCommand); + httpResponseRedirect(client); + } + break; + } + if (nCommandPos>-1) { + sReturnCommand[nCommandPos++] = c; + } + if (c == '?' && nCommandPos == -1) { + nCommandPos = 0; + } + } + if (nCommandPos > 30) { + httpResponse414(client); + sReturnCommand[0] = '\0'; + break; + } + } + if (nCommandPos!=-1) { + sReturnCommand[nCommandPos] = '\0'; + } + // give the web browser time to receive the data + delay(1); + client.stop(); + + return sReturnCommand; + } + return '\0'; +} \ No newline at end of file diff --git a/lib/rc-switch/keywords.txt b/lib/rc-switch/keywords.txt new file mode 100644 index 00000000..2474367c --- /dev/null +++ b/lib/rc-switch/keywords.txt @@ -0,0 +1,57 @@ +####################################### +# Syntax Coloring Map For RCSwitch +####################################### + +####################################### +# Datatypes (KEYWORD1) +####################################### + +RCSwitch KEYWORD1 + +####################################### +# Methods and Functions (KEYWORD2) +####################################### + +########## +#SENDS Begin +########## +switchOn KEYWORD2 +switchOff KEYWORD2 +sendTriState KEYWORD2 +send KEYWORD2 +########## +#SENDS End +########## + +########## +#RECEIVE Begin +########## +enableReceive KEYWORD2 +disableReceive KEYWORD2 +available KEYWORD2 +resetAvailable KEYWORD2 +setReceiveTolerance KEYWORD2 +getReceivedValue KEYWORD2 +getReceivedBitlength KEYWORD2 +getReceivedDelay KEYWORD2 +getReceivedProtocol KEYWORD2 +getReceivedRawdata KEYWORD2 +########## +#RECEIVE End +########## + +########## +#OTHERS Begin +########## +enableTransmit KEYWORD2 +disableTransmit KEYWORD2 +setPulseLength KEYWORD2 +setProtocol KEYWORD2 +setRepeatTransmit KEYWORD2 +########## +#OTHERS End +########## + +####################################### +# Constants (LITERAL1) +####################################### diff --git a/lib/rc-switch/library.json b/lib/rc-switch/library.json new file mode 100644 index 00000000..1d7d2e36 --- /dev/null +++ b/lib/rc-switch/library.json @@ -0,0 +1,21 @@ +{ + "name": "rc-switch", + "description": "Use your Arduino or Raspberry Pi to operate remote radio controlled devices", + "keywords": "rf, radio, wireless", + "authors": + { + "name": "Suat Ozgur" + }, + "repository": + { + "type": "git", + "url": "https://github.com/sui77/rc-switch.git" + }, + "version": "2.6.2", + "frameworks": [ + "arduino", + "energia", + "wiringpi" + ], + "platforms": "*" +} diff --git a/lib/rc-switch/library.properties b/lib/rc-switch/library.properties new file mode 100644 index 00000000..b4c7388d --- /dev/null +++ b/lib/rc-switch/library.properties @@ -0,0 +1,10 @@ +name=rc-switch +version=2.6.2 +author=sui77 +maintainer=sui77,fingolfin +sentence=Operate 433/315Mhz devices. +paragraph=Use your Arduino, ESP8266/ESP32 or Raspberry Pi to operate remote radio controlled devices. This will most likely work with all popular low cost power outlet sockets. +category=Device Control +url=https://github.com/sui77/rc-switch +architectures=avr,esp8266,esp32 +includes=RCSwitch.h

      #+sj3>Ts0_de%e5 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%0D~#+itaJ6@SHh?a2k{Wo_VaPM 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 z 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%0A{fn5Bu+u@mj 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