├── .gitignore ├── eagle ├── seeed.zip ├── TTS.GBP ├── TTS.GML ├── TTS.GTP ├── TTS.TXT ├── TTS.dri ├── TTS.gpi ├── TTS.GBS ├── TTS.GTS ├── TTS.pro ├── TTS.GBO ├── TTS.GTL ├── eagle.epf ├── TTS.GBL └── TTS.GTO ├── sounds └── votb.wav ├── examples ├── SpeakSerial │ ├── Makefile │ └── SpeakSerial.ino ├── TTStest │ ├── Makefile │ └── TTStest.ino ├── Speak │ └── Speak.ino ├── SpeakWithCallback │ └── SpeakWithCallback.ino └── VoTB │ └── VoTB.ino ├── images └── Arduino-LM386.png ├── library.json ├── keywords.txt ├── PWM.md ├── sound.h ├── README.md ├── TTS.h ├── sound.cpp ├── TTS.cpp └── english.h /.gitignore: -------------------------------------------------------------------------------- 1 | eagle/TTS.b#? 2 | eagle/TTS.s#? 3 | -------------------------------------------------------------------------------- /eagle/seeed.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pschatzmann/TTS/HEAD/eagle/seeed.zip -------------------------------------------------------------------------------- /sounds/votb.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pschatzmann/TTS/HEAD/sounds/votb.wav -------------------------------------------------------------------------------- /examples/SpeakSerial/Makefile: -------------------------------------------------------------------------------- 1 | BOARD := uno 2 | SKETCH := SpeakSerial.ino 3 | -include avr.mk 4 | -------------------------------------------------------------------------------- /examples/TTStest/Makefile: -------------------------------------------------------------------------------- 1 | BOARD := d1_mini 2 | FLASH_SIZE := 4M1M 3 | 4 | -include esp8266.mk 5 | -------------------------------------------------------------------------------- /images/Arduino-LM386.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/pschatzmann/TTS/HEAD/images/Arduino-LM386.png -------------------------------------------------------------------------------- /eagle/TTS.GBP: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | D10* 12 | X0001800Y0001800D02* 13 | X0001800Y0106761D01* 14 | X0140501Y0106761D01* 15 | X0140501Y0001800D01* 16 | X0001800Y0001800D01* 17 | M02* 18 | -------------------------------------------------------------------------------- /eagle/TTS.GML: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | D10* 12 | X0001800Y0001800D02* 13 | X0001800Y0106761D01* 14 | X0140501Y0106761D01* 15 | X0140501Y0001800D01* 16 | X0001800Y0001800D01* 17 | M02* 18 | -------------------------------------------------------------------------------- /eagle/TTS.GTP: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | D10* 12 | X0001800Y0001800D02* 13 | X0001800Y0106761D01* 14 | X0140501Y0106761D01* 15 | X0140501Y0001800D01* 16 | X0001800Y0001800D01* 17 | M02* 18 | -------------------------------------------------------------------------------- /library.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "TTS", 3 | "keywords": "audio, speech", 4 | "description": "Text-to-Speech for Arduino", 5 | "repository": { 6 | "type": "git", 7 | "url": "https://github.com/jscrane/TTS.git" 8 | }, 9 | "version": "1.0.0", 10 | "export": { 11 | "exclude": [ 12 | "images", 13 | "sounds" 14 | ] 15 | }, 16 | "frameworks": "arduino", 17 | "platforms": "*" 18 | } 19 | -------------------------------------------------------------------------------- /examples/Speak/Speak.ino: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * @brief Simple example which should work on most environments 4 | */ 5 | 6 | #include "TTS.h" 7 | 8 | 9 | // TTS tts(3); // with explicit pin 10 | TTS tts; // with default pin 11 | 12 | void setup(){ 13 | Serial.begin(115200); 14 | // display pin 15 | Serial.print("Using Pin "); 16 | Serial.println(DEFAULT_PIN); 17 | } 18 | 19 | void loop(){ 20 | tts.sayText("hallo"); 21 | delay(5000); 22 | } -------------------------------------------------------------------------------- /examples/SpeakWithCallback/SpeakWithCallback.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * @brief Example with Callback which just prints the result 3 | * 4 | */ 5 | #include "TTS.h" 6 | 7 | void data_callback(int len, byte *data){ 8 | for (int j=0;j 0) { 16 | char c = (char)Serial.read(); 17 | if (c == '\n') { 18 | digitalWrite(LED_BUILTIN, HIGH); 19 | line[pos++] = 0; 20 | if (line[0] == '+') { 21 | int p = atoi(line+1); 22 | tts.setPitch(p); 23 | } else { 24 | Serial.println(line); 25 | tts.sayText(line); 26 | } 27 | pos = 0; 28 | digitalWrite(LED_BUILTIN, LOW); 29 | } else 30 | line[pos++] = c; 31 | } 32 | } 33 | -------------------------------------------------------------------------------- /eagle/TTS.TXT: -------------------------------------------------------------------------------- 1 | % 2 | M48 3 | M72 4 | T01C0.03200 5 | T02C0.04000 6 | % 7 | T01 8 | X16800Y11800 9 | X26800Y11800 10 | X41800Y16800 11 | X41800Y26800 12 | X41800Y36800 13 | X41800Y46800 14 | X26800Y51800 15 | X16800Y51800 16 | X61800Y51800 17 | X61800Y41800 18 | X86800Y31800 19 | X91800Y41800 20 | X91800Y51800 21 | X101800Y51800 22 | X111800Y51800 23 | X91800Y61800 24 | X91800Y71800 25 | X106800Y71800 26 | X106800Y81800 27 | X81800Y91800 28 | X71800Y91800 29 | X61800Y71800 30 | X61800Y61800 31 | X61800Y21800 32 | X71800Y21800 33 | X96800Y21800 34 | X116800Y21800 35 | X126800Y31800 36 | T02 37 | X16800Y66800 38 | X16800Y76800 39 | X16800Y86800 40 | X36800Y76800 41 | X46800Y66800 42 | X46800Y86800 43 | X126800Y56800 44 | X126800Y46800 45 | M30 46 | -------------------------------------------------------------------------------- /eagle/TTS.dri: -------------------------------------------------------------------------------- 1 | Generated by EAGLE CAM Processor 7.5.0 2 | 3 | Drill Station Info File: /home/steve/eagle/TTS/TTS.dri 4 | 5 | Date : 07/09/2018 4:06 P.M. 6 | Drills : generated 7 | Device : Excellon drill station, coordinate format 2.5 inch 8 | 9 | Parameter settings: 10 | 11 | Tolerance Drill + : 0.00 % 12 | Tolerance Drill - : 0.00 % 13 | Rotate : no 14 | Mirror : no 15 | Optimize : yes 16 | Auto fit : yes 17 | OffsetX : 0inch 18 | OffsetY : 0inch 19 | Layers : Drills Holes 20 | 21 | Drill File Info: 22 | 23 | Data Mode : Absolute 24 | Units : 1/100000 Inch 25 | 26 | Drills used: 27 | 28 | Code Size used 29 | 30 | T01 0.0320inch 28 31 | T02 0.0400inch 8 32 | 33 | Total number of drills: 36 34 | 35 | Plotfiles: 36 | 37 | /home/steve/eagle/TTS/TTS.TXT 38 | -------------------------------------------------------------------------------- /examples/TTStest/TTStest.ino: -------------------------------------------------------------------------------- 1 | /** 2 | * Text To Speech synthesis library 3 | * Copyright (c) 2008 Clive Webster. All rights reserved. 4 | * 5 | * Nov. 29th 2009 - Modified to work with Arduino by Gabriel Petrut: 6 | * The Text To Speech library uses Timer1 to generate the PWM 7 | * output on digital pin 10. The output signal needs to be fed 8 | * to an RC filter then through an amplifier to the speaker. 9 | * http://www.tehnorama.ro/minieric-modulul-de-control-si-sinteza-vocala/ 10 | * 11 | * Modified to allow use of different PWM pins by Stephen Crane. 12 | */ 13 | #include 14 | 15 | // Media pins 16 | #define PWM D2 17 | 18 | TTS text2speech(PWM); // default is digital pin 10 19 | 20 | void setup() { 21 | pinMode(LED_BUILTIN, OUTPUT); 22 | } 23 | 24 | void loop() { 25 | digitalWrite(LED_BUILTIN, !digitalRead(LED_BUILTIN)); 26 | 27 | text2speech.setPitch(6); 28 | text2speech.sayText("Hello master! How are you doin?"); 29 | delay(500); 30 | 31 | text2speech.setPitch(1); 32 | text2speech.sayText("I am fine, thankyou."); 33 | 34 | delay(1000); 35 | } 36 | 37 | -------------------------------------------------------------------------------- /eagle/TTS.gpi: -------------------------------------------------------------------------------- 1 | Generated by EAGLE CAM Processor 7.5.0 2 | 3 | Photoplotter Info File: /home/steve/eagle/TTS/TTS.gpi 4 | 5 | Date : 07/09/2018 4:06 P.M. 6 | Plotfile : /home/steve/eagle/TTS/TTS.GTL 7 | Apertures : generated: 8 | Device : Gerber RS-274-X photoplotter, coordinate format 2.5 inch 9 | 10 | Parameter settings: 11 | 12 | Emulate Apertures : no 13 | Tolerance Draw + : 0.00 % 14 | Tolerance Draw - : 0.00 % 15 | Tolerance Flash + : 0.00 % 16 | Tolerance Flash - : 0.00 % 17 | Rotate : no 18 | Mirror : no 19 | Optimize : yes 20 | Auto fit : yes 21 | OffsetX : 0inch 22 | OffsetY : 0inch 23 | 24 | Plotfile Info: 25 | 26 | Coordinate Format : 2.5 27 | Coordinate Units : Inch 28 | Data Mode : Absolute 29 | Zero Suppression : None 30 | End Of Block : * 31 | 32 | Apertures used: 33 | 34 | Code Shape Size used 35 | 36 | D10 draw 0.0000inch 4 37 | D11 octagon 0.0520inch 12 38 | D12 octagon 0.0630inch 4 39 | D13 round 0.0630inch 4 40 | D14 round 0.0520inch 8 41 | D15 draw 0.0600inch 5 42 | D16 octagon 0.0700inch 3 43 | D17 draw 0.0100inch 69 44 | 45 | -------------------------------------------------------------------------------- /eagle/TTS.GBS: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | %ADD11OC8,0.06000*% 12 | %ADD12OC8,0.07100*% 13 | %ADD13C,0.07100*% 14 | %ADD14C,0.06000*% 15 | %ADD15C,0.06800*% 16 | %ADD16OC8,0.07800*% 17 | D10* 18 | X0001800Y0001800D02* 19 | X0001800Y0106761D01* 20 | X0140501Y0106761D01* 21 | X0140501Y0001800D01* 22 | X0001800Y0001800D01* 23 | D11* 24 | X0016800Y0011800D03* 25 | X0026800Y0011800D03* 26 | X0041800Y0016800D03* 27 | X0041800Y0026800D03* 28 | X0041800Y0036800D03* 29 | X0041800Y0046800D03* 30 | X0026800Y0051800D03* 31 | X0016800Y0051800D03* 32 | X0086800Y0031800D03* 33 | X0096800Y0021800D03* 34 | X0116800Y0021800D03* 35 | X0126800Y0031800D03* 36 | D12* 37 | X0101800Y0051800D03* 38 | X0071800Y0021800D03* 39 | X0106800Y0081800D03* 40 | X0081800Y0091800D03* 41 | D13* 42 | X0071800Y0091800D03* 43 | X0106800Y0071800D03* 44 | X0111800Y0051800D03* 45 | X0061800Y0021800D03* 46 | D14* 47 | X0061800Y0041800D03* 48 | X0061800Y0051800D03* 49 | X0061800Y0061800D03* 50 | X0061800Y0071800D03* 51 | X0091800Y0071800D03* 52 | X0091800Y0061800D03* 53 | X0091800Y0051800D03* 54 | X0091800Y0041800D03* 55 | D15* 56 | X0123800Y0046800D02* 57 | X0129800Y0046800D01* 58 | X0129800Y0056800D02* 59 | X0123800Y0056800D01* 60 | X0019800Y0066800D02* 61 | X0013800Y0066800D01* 62 | X0013800Y0076800D02* 63 | X0019800Y0076800D01* 64 | X0019800Y0086800D02* 65 | X0013800Y0086800D01* 66 | D16* 67 | X0036800Y0076800D03* 68 | X0046800Y0066800D03* 69 | X0046800Y0086800D03* 70 | M02* 71 | -------------------------------------------------------------------------------- /eagle/TTS.GTS: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | %ADD11OC8,0.06000*% 12 | %ADD12OC8,0.07100*% 13 | %ADD13C,0.07100*% 14 | %ADD14C,0.06000*% 15 | %ADD15C,0.06800*% 16 | %ADD16OC8,0.07800*% 17 | D10* 18 | X0001800Y0001800D02* 19 | X0001800Y0106761D01* 20 | X0140501Y0106761D01* 21 | X0140501Y0001800D01* 22 | X0001800Y0001800D01* 23 | D11* 24 | X0016800Y0011800D03* 25 | X0026800Y0011800D03* 26 | X0041800Y0016800D03* 27 | X0041800Y0026800D03* 28 | X0041800Y0036800D03* 29 | X0041800Y0046800D03* 30 | X0026800Y0051800D03* 31 | X0016800Y0051800D03* 32 | X0086800Y0031800D03* 33 | X0096800Y0021800D03* 34 | X0116800Y0021800D03* 35 | X0126800Y0031800D03* 36 | D12* 37 | X0101800Y0051800D03* 38 | X0071800Y0021800D03* 39 | X0106800Y0081800D03* 40 | X0081800Y0091800D03* 41 | D13* 42 | X0071800Y0091800D03* 43 | X0106800Y0071800D03* 44 | X0111800Y0051800D03* 45 | X0061800Y0021800D03* 46 | D14* 47 | X0061800Y0041800D03* 48 | X0061800Y0051800D03* 49 | X0061800Y0061800D03* 50 | X0061800Y0071800D03* 51 | X0091800Y0071800D03* 52 | X0091800Y0061800D03* 53 | X0091800Y0051800D03* 54 | X0091800Y0041800D03* 55 | D15* 56 | X0123800Y0046800D02* 57 | X0129800Y0046800D01* 58 | X0129800Y0056800D02* 59 | X0123800Y0056800D01* 60 | X0019800Y0066800D02* 61 | X0013800Y0066800D01* 62 | X0013800Y0076800D02* 63 | X0019800Y0076800D01* 64 | X0019800Y0086800D02* 65 | X0013800Y0086800D01* 66 | D16* 67 | X0036800Y0076800D03* 68 | X0046800Y0066800D03* 69 | X0046800Y0086800D03* 70 | M02* 71 | -------------------------------------------------------------------------------- /eagle/TTS.pro: -------------------------------------------------------------------------------- 1 | EAGLE AutoRouter Statistics: 2 | 3 | Job : /home/steve/eagle/TTS/TTS.brd 4 | 5 | Start at : 12:12:58 (20/10/2018) 6 | End at : 12:13:07 (20/10/2018) 7 | Elapsed time : 00:00:07 8 | 9 | Signals : 13 RoutingGrid: 9 mil Layers: 2 10 | Connections : 23 predefined: 8 ( 0 Vias ) 11 | 12 | Router memory : 84836 13 | 14 | Passname : TopRouter Route Optimize1 Optimize2 Optimize3 Optimize4 Optimize5 Optimize6 Optimize7 Optimize8 Optimize9Optimize10Optimize11Optimize12 15 | 16 | Time per pass : 00:00:06 00:00:00 00:00:01 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 00:00:00 17 | Number of Ripups : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 18 | max. Level : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 19 | max. Total : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 20 | 21 | Routed : 15 15 15 15 15 15 15 15 15 15 15 15 15 15 22 | Vias : 0 0 0 0 0 0 0 0 0 0 0 0 0 0 23 | Resolution : 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 100.0 % 24 | 25 | Final : 100.0% finished 26 | -------------------------------------------------------------------------------- /PWM.md: -------------------------------------------------------------------------------- 1 | How PWM is used for TTS 2 | ----------------------- 3 | 4 | We'll analyze the code for speech output on Arduino pin 9, on an ATMega328. This is 5 | hardware pin 15 (known here as OC1A). 6 | 7 | A good introduction to PWM can be found 8 | [here](https://www.arduino.cc/en/Tutorial/SecretsOfArduinoPWM). This 9 | [guide](https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328) 10 | is also useful. 11 | 12 | At it's most basic however, a PWM waveform is a square-wave with a varying 13 | duty-cycle. The duty-cycle is the ratio of time spent high to the total 14 | cycle time. The AVR's built-in timers are used to determine both the 15 | frequency and the duty-cycle. 16 | 17 | Sound is initialised in soundOn(): 18 | 19 | ```c++ 20 | TCCR1A = 0; 21 | ICR1 = PWM_TOP; 22 | TCCR1B = _BV(WGM13) | _BV(CS10); 23 | TCNT1 = 0; 24 | TCCR1A |= _BV(COM1A1); 25 | ``` 26 | 27 | In this mode, known as "PWM, Phase and Frequency corrected", Timer-1 28 | counts up from 0 to PWM_TOP and then back down to 0 again. 29 | 30 | The PWM frequency in this mode is given by the formula: 31 | 32 | > freq = Clock / (2 x Prescaler x TOP) 33 | 34 | Here Clock = 16e6, Prescaler = 1 (set by CS10 above) and TOP = 1200/2. 35 | This gives a fixed frequency of about 13kHz. 36 | 37 | The PWM duty cycle is changed in sound(): 38 | 39 | ```c++ 40 | if (duty != OCR1A) { 41 | TCNT1 = 0; 42 | OCR1A = duty; 43 | } 44 | ``` 45 | 46 | Here the OCR1A value is used to set the value at which Timer-1's counter 47 | causes the output on OC1A to flip: 48 | - while it's counting up from 0 (BOTTOM) to OCR1A, OC1A is high, 49 | - when it reaches OCR1A it sets OC1A low and counts to TOP (ICR1), 50 | - when it reaches TOP it starts counting down again, 51 | - when it reaches OCR1A again, it sets OC1A high and counts to BOTTOM (0). 52 | -------------------------------------------------------------------------------- /sound.h: -------------------------------------------------------------------------------- 1 | #ifndef __SOUND_H__ 2 | #define __SOUND_H__ 3 | 4 | #define PWM_TOP (1200/2) 5 | 6 | // Determine default PIN 7 | #if defined(ESP32) 8 | #define DEFAULT_PIN 25 9 | #elif defined(ESP8266) 10 | #define DEFAULT_PIN 16 11 | #elif defined(__arm__) 12 | #define DEFAULT_PIN DAC0 13 | #elif defined(__AVR_ATmega1280__) || defined(__AVR_ATmega2560__) 14 | #define DEFAULT_PIN 44 15 | #elif defined(__AVR__) 16 | #define DEFAULT_PIN 3 17 | #endif 18 | 19 | // Define callback data type 20 | typedef void (*tts_data_callback_type)(void *tts, int len, byte *data); 21 | 22 | /** 23 | * @brief Base Output Class 24 | * 25 | */ 26 | class BaseSound { 27 | public: 28 | virtual ~BaseSound() {}; 29 | virtual void soundOff() = 0; 30 | virtual void soundOn() = 0; 31 | virtual void sound(byte b) = 0; 32 | 33 | }; 34 | 35 | /** 36 | * @brief Output to Pin 37 | * 38 | */ 39 | class Sound : public BaseSound { 40 | public: 41 | Sound(); 42 | Sound(int pin); 43 | void soundOff(); 44 | void soundOn(); 45 | void sound(byte b); 46 | 47 | private: 48 | int pin; 49 | 50 | }; 51 | 52 | /** 53 | * @brief Output to Callback 54 | * 55 | */ 56 | class SoundCallback : public BaseSound { 57 | public: 58 | SoundCallback(tts_data_callback_type callback, void *tts, int len=512){ 59 | // allocate result array 60 | this->tts = tts; 61 | this->tts_callback = callback; 62 | this->out_data = new byte[len+1]; 63 | this->max_length = len; 64 | } 65 | 66 | ~SoundCallback(){ 67 | delete[] out_data; 68 | } 69 | 70 | void soundOff(); 71 | void soundOn(); 72 | void sound(byte b); 73 | 74 | private: 75 | void *tts; 76 | tts_data_callback_type tts_callback = nullptr; 77 | byte *out_data = nullptr; 78 | int max_length = 0; 79 | int current_length = 0; 80 | bool active = false; 81 | 82 | 83 | }; 84 | 85 | #endif 86 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | View this project on [CADLAB.io](https://cadlab.io/project/1281). 2 | 3 | # TTS 4 | 5 | ## Text-to-Speech Library for Arduino 6 | 7 | - checkout this project into your ``sketchbook/libraries`` folder 8 | - requires an amplifier on the PWM output pin (see below) 9 | - alternative output via Stream or callback method 10 | - see [blog articles](http://programmablehardware.blogspot.ie/search/label/tts) 11 | 12 | 13 | ## Supported Hardware 14 | 15 | - ATmega328-based Arduinos (e.g., Uno, Pro, Pro Mini, etc.): pins 3, 9, 10 16 | - [ArduTouch](https://github.com/maltman23/ArduTouch): pin 9 17 | - ATmega1280-based Arduinos (e.g., Mega): pins 44, 45, 46 18 | - Arduino Leonardo: pin 5 19 | - Arduino Due: pins DAC0 or DAC1 20 | - Teensy 3.2: pin A14 21 | - Teensy 3.5, 3.6: pins A21, A22 22 | - Teensy LC: pin A12 23 | - ESP8266: pins 0 to 16 (with analogWrite()) 24 | - ESP32: DAC1 or DAC2 (pins 25 or 26) 25 | 26 | ## Amplifier 27 | 28 | ![alt tag](images/Arduino-LM386.png) 29 | 30 | Component choices in this circuit aren't very critical: 31 | - 22k (vs 27k) and 47n (vs 10n) parts in the input low-pass filter 32 | - 100n (vs 10u) bypass capacitor between pin 7 and gnd 33 | - Used the inverting input instead of the non-inverting one (although in 34 | this circuit I noticed no difference) 35 | - 47n (vs 100n) output snubber capacitor 36 | 37 | ## Credits 38 | - original implementation by Clive Webster in [Webbotlib](http://webbot.org.uk/iPoint/30.page) 39 | - ported to Arduino by [Gabriel Petrut](http://www.tehnorama.ro/minieric-modulul-de-control-si-sinteza-vocala/) 40 | - Stephen Crane modified it to use pins other than pin 10 with the help of [this tutorial](https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328) 41 | - [manitou48](https://github.com/manitou48) added support for Leonardo 42 | and ARM processors with DAC (Teensy, Due) 43 | 44 | ## See Also 45 | - Teensy [forum](https://forum.pjrc.com/threads/44587-TTS-(Text-to-Speech)-Library-Port) 46 | - separate port/hack for MBED ARM with DAC [repository](https://developer.mbed.org/users/manitou/code/tts/) 47 | - Hackaday article on [LM386 amplifiers](https://hackaday.com/2016/12/07/you-can-have-my-lm386s-when-you-pry-them-from-my-cold-dead-hands/) 48 | - Example on how to use the [Output via Streams](https://www.pschatzmann.ch/home/2021/06/22/text-to-speach-in-arduino-using-tts/) -------------------------------------------------------------------------------- /examples/VoTB/VoTB.ino: -------------------------------------------------------------------------------- 1 | #include 2 | #include 3 | #include "TTS.h" 4 | 5 | TTS tts(3); 6 | 7 | // ethernet interface mac address, must be unique on the LAN 8 | static byte mymac[] = { 0x74,0x69,0x69,0x2D,0x30,0x31 }; 9 | 10 | byte Ethernet::buffer[800]; 11 | static uint32_t timer; 12 | 13 | char last_id[20]; 14 | char website[] PROGMEM = "api.supertweet.net"; 15 | 16 | // supertweet.net username:password in base64 17 | #define KEY "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" 18 | 19 | void sayIt(const char *text) { 20 | digitalWrite(LED_BUILTIN, HIGH); 21 | tts.sayText(text); 22 | digitalWrite(LED_BUILTIN, LOW); 23 | } 24 | 25 | void setup () { 26 | Serial.begin(57600); 27 | pinMode(LED_BUILTIN, OUTPUT); 28 | 29 | if (ether.begin(sizeof Ethernet::buffer, mymac, 10) == 0) 30 | Serial.println( "Failed to access Ethernet controller"); 31 | 32 | if (!ether.dhcpSetup()) 33 | Serial.println("DHCP failed"); 34 | 35 | if (!ether.dnsLookup(website)) 36 | Serial.println("DNS failed"); 37 | 38 | ether.printIp("SRV: ", ether.hisip); 39 | sayIt("Voice of Tic Bot"); 40 | } 41 | 42 | void loop () { 43 | static byte session_id; 44 | 45 | ether.packetLoop(ether.packetReceive()); 46 | if (session_id != 0) { 47 | const char* reply = ether.tcpReply(session_id); 48 | 49 | if (reply != 0) { 50 | const char *tok = strtok((char *)reply, "["); 51 | const char *id = 0, *text = 0; 52 | while (!id || !text) { 53 | const char *t = tok; 54 | tok = strtok(0, "\":"); 55 | if (strcmp(t, "text") == 0) 56 | text = tok; 57 | else if (strcmp(t, "id_str") == 0) 58 | id = tok; 59 | } 60 | if (strcmp(last_id, id)) { 61 | Serial.print(id); 62 | Serial.print(": "); 63 | Serial.println(text); 64 | sayIt(text); 65 | strcpy(last_id, id); 66 | } 67 | session_id = 0; 68 | } 69 | } 70 | if (millis() > timer) { 71 | timer = millis() + 600000; 72 | Stash::prepare(PSTR("GET /1.1/statuses/user_timeline.json?screen_name=TicBot&trim_user=true&include_entities=false&include_rts=false&exclude_replies=true HTTP/1.0\r\n" 73 | "Host: api.supertweet.net\r\n" 74 | "Authorization: Basic "KEY"\r\n" 75 | "User-Agent: Arduino client\r\n\r\n")); 76 | 77 | session_id = ether.tcpSend(); 78 | } 79 | } 80 | -------------------------------------------------------------------------------- /eagle/TTS.GBO: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | %ADD11C,0.00300*% 12 | D10* 13 | X0001800Y0001800D02* 14 | X0001800Y0106761D01* 15 | X0140501Y0106761D01* 16 | X0140501Y0001800D01* 17 | X0001800Y0001800D01* 18 | D11* 19 | X0132950Y0055303D02* 20 | X0134184Y0054069D01* 21 | X0135419Y0054069D01* 22 | X0136653Y0055303D01* 23 | X0135419Y0057142D02* 24 | X0134802Y0056525D01* 25 | X0133567Y0056525D01* 26 | X0132950Y0057142D01* 27 | X0132950Y0058993D01* 28 | X0132950Y0060208D02* 29 | X0134184Y0061442D01* 30 | X0135419Y0061442D01* 31 | X0136653Y0060208D01* 32 | X0135419Y0058993D02* 33 | X0135419Y0057142D01* 34 | X0135419Y0066346D02* 35 | X0134802Y0066963D01* 36 | X0134802Y0068198D01* 37 | X0134184Y0068815D01* 38 | X0133567Y0068815D01* 39 | X0132950Y0068198D01* 40 | X0132950Y0066963D01* 41 | X0133567Y0066346D01* 42 | X0135419Y0066346D02* 43 | X0136036Y0066346D01* 44 | X0136653Y0066963D01* 45 | X0136653Y0068198D01* 46 | X0136036Y0068815D01* 47 | X0135419Y0070029D02* 48 | X0135419Y0071264D01* 49 | X0136036Y0070647D02* 50 | X0133567Y0070647D01* 51 | X0132950Y0071264D01* 52 | X0133567Y0072485D02* 53 | X0134802Y0072485D01* 54 | X0135419Y0073102D01* 55 | X0135419Y0074336D01* 56 | X0134802Y0074954D01* 57 | X0134184Y0074954D01* 58 | X0134184Y0072485D01* 59 | X0133567Y0072485D02* 60 | X0132950Y0073102D01* 61 | X0132950Y0074336D01* 62 | X0132950Y0077402D02* 63 | X0135419Y0076168D01* 64 | X0135419Y0078637D02* 65 | X0132950Y0077402D01* 66 | X0133567Y0079851D02* 67 | X0134802Y0079851D01* 68 | X0135419Y0080468D01* 69 | X0135419Y0081703D01* 70 | X0134802Y0082320D01* 71 | X0134184Y0082320D01* 72 | X0134184Y0079851D01* 73 | X0133567Y0079851D02* 74 | X0132950Y0080468D01* 75 | X0132950Y0081703D01* 76 | X0132950Y0087217D02* 77 | X0135419Y0089686D01* 78 | X0136036Y0089686D01* 79 | X0136653Y0089069D01* 80 | X0136653Y0087835D01* 81 | X0136036Y0087217D01* 82 | X0132950Y0087217D02* 83 | X0132950Y0089686D01* 84 | X0133567Y0090901D02* 85 | X0136036Y0093369D01* 86 | X0133567Y0093369D01* 87 | X0132950Y0092752D01* 88 | X0132950Y0091518D01* 89 | X0133567Y0090901D01* 90 | X0136036Y0090901D01* 91 | X0136653Y0091518D01* 92 | X0136653Y0092752D01* 93 | X0136036Y0093369D01* 94 | X0135419Y0094584D02* 95 | X0136653Y0095818D01* 96 | X0132950Y0095818D01* 97 | X0132950Y0094584D02* 98 | X0132950Y0097052D01* 99 | X0133567Y0098267D02* 100 | X0134184Y0098267D01* 101 | X0134802Y0098884D01* 102 | X0134802Y0100118D01* 103 | X0134184Y0100736D01* 104 | X0133567Y0100736D01* 105 | X0132950Y0100118D01* 106 | X0132950Y0098884D01* 107 | X0133567Y0098267D01* 108 | X0134802Y0098884D02* 109 | X0135419Y0098267D01* 110 | X0136036Y0098267D01* 111 | X0136653Y0098884D01* 112 | X0136653Y0100118D01* 113 | X0136036Y0100736D01* 114 | X0135419Y0100736D01* 115 | X0134802Y0100118D01* 116 | M02* 117 | -------------------------------------------------------------------------------- /TTS.h: -------------------------------------------------------------------------------- 1 | /** 2 | * Text To Speech synthesis library 3 | * Copyright (c) 2008 Clive Webster. All rights reserved. 4 | * 5 | * Nov. 29th 2009 - Modified to work with Arduino by Gabriel Petrut: 6 | * The Text To Speech library uses Timer1 to generate the PWM 7 | * output on digital pin 10. The output signal needs to be fed 8 | * to an RC filter then through an amplifier to the speaker. 9 | * http://www.tehnorama.ro/minieric-modulul-de-control-si-sinteza-vocala/ 10 | * 11 | * Modified to allow use of different PWM pins by Stephen Crane. 12 | */ 13 | 14 | #ifndef _TTS_H_ 15 | #define _TTS_H_ 16 | #include "sound.h" 17 | 18 | /** 19 | * @brief TTS Output Information 20 | * 21 | */ 22 | struct TTSInfo { 23 | int channels = 1; 24 | int sample_rate = 12000; 25 | int bits_per_sample = 8; 26 | }; 27 | 28 | /** 29 | * @brief TTS API 30 | * 31 | */ 32 | 33 | class TTS { 34 | public: 35 | /** 36 | * @brief Construct a new TTS object using the default pin 37 | * 38 | */ 39 | TTS(int pin); 40 | 41 | 42 | /** 43 | * @brief Construct a new TTS object - Uses the Callback to provide the result 44 | * 45 | */ 46 | TTS(tts_data_callback_type cb, int len=512); 47 | 48 | /** 49 | * @brief Construct a new TTS object which outputs the data to an Arduino Stream 50 | * 51 | * @param out 52 | */ 53 | TTS(Print &out, int bits_per_sample=16); 54 | 55 | /** 56 | * @brief Destroy the TTS object 57 | * 58 | */ 59 | ~TTS(){ 60 | if(sound_api!=nullptr) { 61 | delete sound_api; 62 | } 63 | } 64 | 65 | 66 | /** 67 | * speaks a string of (english) text 68 | */ 69 | void sayText(const char *text); 70 | 71 | /** 72 | * speaks a string of phonemes 73 | */ 74 | void sayPhonemes(const char *phonemes); 75 | 76 | /** 77 | * sets the pitch; higher values: lower pitch 78 | */ 79 | void setPitch(byte pitch) { defaultPitch = pitch; } 80 | 81 | /** 82 | * gets the pitch 83 | */ 84 | byte getPitch(void) { return defaultPitch; } 85 | 86 | /** 87 | * @brief Get additional output information 88 | * 89 | * @return TTSInfo 90 | */ 91 | static TTSInfo& getInfo() { 92 | static TTSInfo info; 93 | return info; 94 | } 95 | 96 | // allow callback to access private fields 97 | friend void stream_data_callback(void *vtts, int len, byte *data); 98 | 99 | protected: 100 | byte defaultPitch; 101 | BaseSound *sound_api = nullptr; 102 | Print *stream_ptr = nullptr; 103 | 104 | void play(byte duration, byte soundNumber); 105 | byte playTone(byte soundNum, byte soundPos, char pitch1, char pitch2, byte count, byte volume); 106 | 107 | // callback to write sound data to stream 108 | static void stream_data_callback(void *vtts, int len, byte *data){ 109 | TTS *tts = (TTS *) vtts; 110 | TTSInfo *info = &getInfo(); 111 | if (tts->stream_ptr!=nullptr && len>0 && data!=nullptr){ 112 | if (info->bits_per_sample==8){ 113 | tts->stream_ptr->write((const char*)data, len); 114 | } else { 115 | // convert 8 to 16 bits 116 | for (int j=0;jstream_ptr->write((const char*)&sample16, 2); 120 | } 121 | } 122 | } 123 | } 124 | 125 | }; 126 | 127 | 128 | 129 | #endif 130 | -------------------------------------------------------------------------------- /eagle/TTS.GTL: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | %ADD11OC8,0.05200*% 12 | %ADD12OC8,0.06300*% 13 | %ADD13C,0.06300*% 14 | %ADD14C,0.05200*% 15 | %ADD15C,0.06000*% 16 | %ADD16OC8,0.07000*% 17 | %ADD17C,0.01000*% 18 | D10* 19 | X0001800Y0001800D02* 20 | X0001800Y0106761D01* 21 | X0140501Y0106761D01* 22 | X0140501Y0001800D01* 23 | X0001800Y0001800D01* 24 | D11* 25 | X0016800Y0011800D03* 26 | X0026800Y0011800D03* 27 | X0041800Y0016800D03* 28 | X0041800Y0026800D03* 29 | X0041800Y0036800D03* 30 | X0041800Y0046800D03* 31 | X0026800Y0051800D03* 32 | X0016800Y0051800D03* 33 | X0086800Y0031800D03* 34 | X0096800Y0021800D03* 35 | X0116800Y0021800D03* 36 | X0126800Y0031800D03* 37 | D12* 38 | X0101800Y0051800D03* 39 | X0071800Y0021800D03* 40 | X0106800Y0081800D03* 41 | X0081800Y0091800D03* 42 | D13* 43 | X0071800Y0091800D03* 44 | X0106800Y0071800D03* 45 | X0111800Y0051800D03* 46 | X0061800Y0021800D03* 47 | D14* 48 | X0061800Y0041800D03* 49 | X0061800Y0051800D03* 50 | X0061800Y0061800D03* 51 | X0061800Y0071800D03* 52 | X0091800Y0071800D03* 53 | X0091800Y0061800D03* 54 | X0091800Y0051800D03* 55 | X0091800Y0041800D03* 56 | D15* 57 | X0123800Y0046800D02* 58 | X0129800Y0046800D01* 59 | X0129800Y0056800D02* 60 | X0123800Y0056800D01* 61 | X0019800Y0066800D02* 62 | X0013800Y0066800D01* 63 | X0013800Y0076800D02* 64 | X0019800Y0076800D01* 65 | X0019800Y0086800D02* 66 | X0013800Y0086800D01* 67 | D16* 68 | X0036800Y0076800D03* 69 | X0046800Y0066800D03* 70 | X0046800Y0086800D03* 71 | D17* 72 | X0034100Y0086600D02* 73 | X0017000Y0086600D01* 74 | X0016800Y0086800D01* 75 | X0016800Y0076800D02* 76 | X0017000Y0076700D01* 77 | X0024200Y0069500D01* 78 | X0024200Y0065000D01* 79 | X0017000Y0057800D01* 80 | X0017000Y0052400D01* 81 | X0016800Y0051800D01* 82 | X0026000Y0051500D02* 83 | X0026800Y0051800D01* 84 | X0026900Y0051500D01* 85 | X0031400Y0047000D01* 86 | X0041300Y0047000D01* 87 | X0041800Y0046800D01* 88 | X0046700Y0041600D02* 89 | X0042200Y0037100D01* 90 | X0041800Y0036800D01* 91 | X0042200Y0036200D01* 92 | X0042200Y0027200D01* 93 | X0041800Y0026800D01* 94 | X0042200Y0017300D02* 95 | X0041800Y0016800D01* 96 | X0041300Y0016400D01* 97 | X0036800Y0011900D01* 98 | X0026900Y0011900D01* 99 | X0026800Y0011800D01* 100 | X0017000Y0011900D02* 101 | X0016800Y0011800D01* 102 | X0017000Y0011900D02* 103 | X0017000Y0042500D01* 104 | X0026000Y0051500D01* 105 | X0046700Y0041600D02* 106 | X0061100Y0041600D01* 107 | X0061800Y0041800D01* 108 | X0061800Y0051800D02* 109 | X0061100Y0052400D01* 110 | X0053900Y0052400D01* 111 | X0036800Y0069500D01* 112 | X0036800Y0076800D01* 113 | X0034100Y0086600D02* 114 | X0053000Y0067700D01* 115 | X0062000Y0067700D01* 116 | X0077300Y0052400D01* 117 | X0091700Y0052400D01* 118 | X0091800Y0051800D01* 119 | X0092600Y0042500D02* 120 | X0101600Y0051500D01* 121 | X0101800Y0051800D01* 122 | X0102500Y0051500D01* 123 | X0121400Y0032600D01* 124 | X0126800Y0032600D01* 125 | X0126800Y0031800D01* 126 | X0111800Y0051800D02* 127 | X0116000Y0056000D01* 128 | X0126800Y0056000D01* 129 | X0126800Y0056800D01* 130 | X0106800Y0071800D02* 131 | X0106100Y0071300D01* 132 | X0097100Y0062300D01* 133 | X0092600Y0062300D01* 134 | X0091800Y0061800D01* 135 | X0091800Y0071800D02* 136 | X0091700Y0072200D01* 137 | X0091700Y0081200D01* 138 | X0081800Y0091100D01* 139 | X0081800Y0091800D01* 140 | X0071800Y0091800D02* 141 | X0071000Y0091100D01* 142 | X0062000Y0082100D01* 143 | X0062000Y0072200D01* 144 | X0061800Y0071800D01* 145 | X0061100Y0062300D02* 146 | X0052100Y0062300D01* 147 | X0047600Y0066800D01* 148 | X0046800Y0066800D01* 149 | X0061100Y0062300D02* 150 | X0061800Y0061800D01* 151 | X0091800Y0041800D02* 152 | X0092600Y0042500D01* 153 | X0086800Y0031800D02* 154 | X0086300Y0031700D01* 155 | X0096200Y0021800D01* 156 | X0096800Y0021800D01* 157 | X0071800Y0021800D02* 158 | X0068300Y0021800D01* 159 | X0063800Y0017300D01* 160 | X0042200Y0017300D01* 161 | M02* 162 | -------------------------------------------------------------------------------- /sound.cpp: -------------------------------------------------------------------------------- 1 | #include 2 | #include "sound.h" 3 | 4 | #ifdef ESP32 5 | #include 6 | #define CHANNEL_FOR(p) (p == 25)? DAC_CHANNEL_1: DAC_CHANNEL_2 7 | #endif 8 | 9 | Sound::Sound(int pin) 10 | { 11 | this->pin = pin; 12 | } 13 | 14 | 15 | void Sound::soundOff() 16 | { 17 | 18 | #if defined(__AVR__) 19 | 20 | switch (pin) { 21 | #ifdef TCCR1A 22 | case 10: 23 | TCCR1A &= ~_BV(COM1B1); // Disable PWM 24 | break; 25 | case 9: 26 | TCCR1A &= ~_BV(COM1A1); 27 | break; 28 | #endif 29 | #ifdef TCCR3A 30 | case 5: 31 | TCCR3A = 0;// &= ~_BV(COM3A1); 32 | break; 33 | #endif 34 | #ifdef TCCR2A 35 | case 3: 36 | TCCR2A &= ~_BV(COM2B1); 37 | break; 38 | #endif 39 | #ifdef TCCR5A 40 | case 46: 41 | TCCR5A &= ~_BV(COM5A1); 42 | break; 43 | case 45: 44 | TCCR5A &= ~_BV(COM5B1); 45 | break; 46 | case 44: 47 | TCCR5A &= ~_BV(COM5C1); 48 | break; 49 | #endif 50 | } 51 | 52 | #elif defined(ESP32) 53 | dac_output_disable(CHANNEL_FOR(pin)); 54 | 55 | #else 56 | 57 | analogWrite(pin, 0); 58 | #endif 59 | } 60 | 61 | //https://sites.google.com/site/qeewiki/books/avr-guide/pwm-on-the-atmega328 62 | void Sound::soundOn() 63 | { 64 | 65 | #if defined(__AVR__) 66 | 67 | switch (pin) { 68 | #ifdef TCCR1A 69 | case 10: 70 | TCCR1A = 0; 71 | ICR1 = PWM_TOP; 72 | TCCR1B = _BV(WGM13) | _BV(CS10); 73 | TCNT1 = 0; 74 | TCCR1A |= _BV(COM1B1); 75 | break; 76 | case 9: 77 | TCCR1A = 0; 78 | ICR1 = PWM_TOP; 79 | TCCR1B = _BV(WGM13) | _BV(CS10); 80 | TCNT1 = 0; 81 | TCCR1A |= _BV(COM1A1); 82 | break; 83 | #endif 84 | #ifdef TCCR3A 85 | case 5: 86 | TCCR3A = 0; 87 | ICR3 = PWM_TOP; 88 | TCCR3B = _BV(WGM33) | _BV(CS30); 89 | TCNT3 = 0; 90 | TCCR3A |= _BV(COM3A1); 91 | break; 92 | #endif 93 | #ifdef TCCR2A 94 | case 3: 95 | TCCR2A = _BV(COM2B1) | _BV(WGM20); // Non-inverted, PWM Phase Corrected 96 | TCCR2B = _BV(CS20) | _BV(WGM22); // No prescaling, ditto 97 | OCR2B = PWM_TOP; 98 | TCNT2 = 0; 99 | break; 100 | #endif 101 | #ifdef TCCR5A 102 | case 46: 103 | TCCR5A = 0; 104 | ICR5 = PWM_TOP; 105 | TCCR5B = _BV(WGM13) | _BV(CS10); 106 | TCNT5 = 0; 107 | TCCR5A |= _BV(COM5A1); 108 | break; 109 | case 45: 110 | TCCR5A = 0; 111 | ICR5 = PWM_TOP; 112 | TCCR5B = _BV(WGM13) | _BV(CS10); 113 | TCNT5 = 0; 114 | TCCR5A |= _BV(COM5B1); 115 | break; 116 | case 44: 117 | TCCR5A = 0; 118 | ICR5 = PWM_TOP; 119 | TCCR5B = _BV(WGM13) | _BV(CS10); 120 | TCNT5 = 0; 121 | TCCR5A |= _BV(COM5C1); 122 | break; 123 | #endif 124 | } 125 | #elif defined(ESP8266) 126 | 127 | analogWriteFreq(12000); 128 | analogWriteRange(PWM_TOP); 129 | #elif defined(ESP32) 130 | 131 | dac_output_enable(CHANNEL_FOR(pin)); 132 | #endif 133 | } 134 | 135 | void Sound::sound(byte b) 136 | { 137 | // Update PWM volume 138 | b = (b & 15); 139 | 140 | #if defined(__AVR__) 141 | 142 | // scale volume to PWM_TOP / 2 143 | uint16_t duty = (PWM_TOP * b) / 16 / 2; 144 | switch (pin) { 145 | #ifdef TCCR1A: 146 | case 10: 147 | if (duty != OCR1B) { 148 | TCNT1 = 0; 149 | OCR1B = duty; 150 | } 151 | break; 152 | case 9: 153 | if (duty != OCR1A) { 154 | TCNT1 = 0; 155 | OCR1A = duty; 156 | } 157 | break; 158 | #endif 159 | #ifdef TCCR3A: 160 | case 5: 161 | if (duty != OCR3A) { 162 | TCNT3 = 0; 163 | OCR3A = duty; 164 | } 165 | break; 166 | #endif 167 | #ifdef TCCR2A: 168 | case 3: 169 | duty /= 256; 170 | if (duty != OCR2B) { 171 | TCNT2 = 0; 172 | OCR2B = duty; 173 | } 174 | break; 175 | #endif 176 | #ifdef TCCR5A: 177 | case 46: 178 | if (duty != OCR5B) { 179 | TCNT5 = 0; 180 | OCR5B = duty; 181 | } 182 | break; 183 | case 45: 184 | if (duty != OCR5B) { 185 | TCNT5 = 0; 186 | OCR5B = duty; 187 | } 188 | break; 189 | case 44: 190 | if (duty != OCR5B) { 191 | TCNT5 = 0; 192 | OCR5B = duty; 193 | } 194 | break; 195 | #endif 196 | } 197 | #elif defined(ESP32) 198 | 199 | dac_output_voltage(CHANNEL_FOR(pin), b*8); 200 | #else 201 | 202 | analogWrite(pin, b*8); 203 | #endif 204 | 205 | } 206 | 207 | void SoundCallback::soundOff(){ 208 | (*tts_callback)(tts, current_length, out_data); 209 | memset(out_data,0, current_length); 210 | current_length = 0; 211 | active = false; 212 | } 213 | 214 | void SoundCallback::soundOn() { 215 | active = true; 216 | } 217 | 218 | void SoundCallback::sound(byte b) { 219 | out_data[current_length++] = b ; 220 | if (current_length>=max_length){ 221 | if (tts_callback!=nullptr) { 222 | (*tts_callback)(tts, current_length, out_data); 223 | } 224 | memset(out_data, 0, current_length); 225 | current_length = 0; 226 | } 227 | } -------------------------------------------------------------------------------- /TTS.cpp: -------------------------------------------------------------------------------- 1 | /** 2 | * Text To Speech synthesis library 3 | * Copyright (c) 2008 Clive Webster. All rights reserved. 4 | * 5 | * Nov. 29th 2009 - Modified to work with Arduino by Gabriel Petrut: 6 | * The Text To Speech library uses Timer1 to generate the PWM 7 | * output on digital pin 10. The output signal needs to be fed 8 | * to an RC filter then through an amplifier to the speaker. 9 | * http://www.tehnorama.ro/minieric-modulul-de-control-si-sinteza-vocala/ 10 | * 11 | * Modified to allow use of different PWM pins by Stephen Crane. 12 | * Modified for Timer5 on Arduino Mega2560 by Peter Dambrowsky. 13 | */ 14 | 15 | #include 16 | 17 | #include "TTS.h" 18 | #include "english.h" 19 | 20 | #define NUM_VOCAB sizeof(s_vocab)/sizeof(VOCAB) 21 | #define NUM_PHONEME sizeof(s_phonemes)/sizeof(PHONEME) 22 | 23 | // Random number seed 24 | static byte seed0; 25 | static byte seed1; 26 | static byte seed2; 27 | 28 | static char phonemes[128]; 29 | static char modifier[sizeof(phonemes)]; // must be same size as 'phonemes' 30 | 31 | 32 | // Lookup user specified pitch changes 33 | static const byte PROGMEM PitchesP[] = { 1, 2, 4, 6, 8, 10, 13, 16 }; 34 | 35 | /** 36 | * Find the single character 'token' in 'vocab' 37 | * and append its phonemes to dest[x] 38 | */ 39 | static int copyToken(char token, char *dest, int x, const VOCAB * vocab) 40 | { 41 | for (unsigned int ph = 0; ph < NUM_VOCAB; ph++) { 42 | const byte *txt = (const byte *)pgm_read_ptr(&vocab[ph].txt); 43 | if (pgm_read_byte(txt) == token && pgm_read_byte(txt+1) == 0) { 44 | const byte *src = (const byte *)pgm_read_ptr(&vocab[ph].phoneme); 45 | while (pgm_read_byte(src)) { 46 | dest[x++] = pgm_read_byte(src); 47 | src++; 48 | } 49 | break; 50 | } 51 | } 52 | return x; 53 | } 54 | 55 | static byte whitespace(char c) 56 | { 57 | return (c == 0 || c == ' ' || c == ',' || c == '.' || c == '?' 58 | || c == '\'' || c == '!' || c == ':' || c == '/'); 59 | } 60 | 61 | /** 62 | * Enter: 63 | * src => English text in upper case 64 | * vocab => VOCAB array 65 | * dest => address to return result 66 | * return 1 if ok, or 0 if error 67 | */ 68 | static int textToPhonemes(const char *src, const VOCAB * vocab, char *dest) 69 | { 70 | int outIndex = 0; // Current offset into dest 71 | int inIndex = -1; // Starts at -1 so that a leading space is assumed 72 | 73 | while (inIndex == -1 || src[inIndex]) { // until end of text 74 | int maxMatch = 0; // Max chars matched on input text 75 | int numOut = 0; // Number of characters copied to output stream for the best match 76 | boolean endsInWhiteSpace = false; 77 | int maxWildcardPos = 0; 78 | 79 | // Get next phoneme, P2 80 | for (unsigned int ph = 0; ph < NUM_VOCAB; ph++) { 81 | int y, x; 82 | char wildcard = 0; // modifier 83 | int wildcardInPos = 0; 84 | boolean hasWhiteSpace = false; 85 | const byte *text = (const byte *)pgm_read_ptr(&vocab[ph].txt); 86 | const byte *phon = (const byte *)pgm_read_ptr(&vocab[ph].phoneme); 87 | 88 | for (y = 0;; y++) { 89 | char nextVocabChar = pgm_read_byte(text+y); 90 | char nextCharIn = (y + inIndex == -1) ? ' ' : src[y + inIndex]; 91 | if (nextCharIn >= 'a' && nextCharIn <= 'z') 92 | nextCharIn = nextCharIn - 'a' + 'A'; 93 | 94 | if (nextVocabChar == '#' && nextCharIn >= 'A' && nextCharIn <= 'Z') { 95 | wildcard = nextCharIn; // The character equivalent to the '#' 96 | wildcardInPos = y; 97 | continue; 98 | } 99 | 100 | if (nextVocabChar == '_') { 101 | // try to match against a white space 102 | hasWhiteSpace = true; 103 | if (whitespace(nextCharIn)) 104 | continue; 105 | y--; 106 | break; 107 | } 108 | // check for end of either string 109 | if (nextVocabChar == 0 || nextCharIn == 0) 110 | break; 111 | 112 | if (nextVocabChar != nextCharIn) 113 | break; 114 | } 115 | 116 | // See if it's the longest complete match so far 117 | if (y <= maxMatch || pgm_read_byte(text+y)) 118 | continue; 119 | 120 | // This is the longest complete match 121 | maxMatch = y; 122 | maxWildcardPos = 0; 123 | x = outIndex; // offset into phoneme return data 124 | 125 | // Copy the matching phrase changing any '#' to the phoneme for the wildcard 126 | for (y = 0;; y++) { 127 | char c = pgm_read_byte(phon+y); 128 | if (c == 0) 129 | break; 130 | if (c == '#') { 131 | if (pgm_read_byte(phon+y+1) == 0) { 132 | // replacement ends in wildcard 133 | maxWildcardPos = wildcardInPos; 134 | } else { 135 | x = copyToken(wildcard, dest, x, vocab); // Copy the phonemes for the wildcard character 136 | } 137 | } else { 138 | dest[x++] = c; 139 | } 140 | } 141 | dest[x] = 0; 142 | endsInWhiteSpace = hasWhiteSpace; 143 | 144 | // 14 145 | numOut = x - outIndex; // The number of bytes added 146 | } 147 | // 15 - end of vocab table 148 | 149 | // 16 150 | if (endsInWhiteSpace) 151 | maxMatch--; 152 | 153 | // 17 154 | if (maxMatch == 0) { 155 | //loggerP(PSTR("Mistake in SAY, no token for ")); 156 | //logger(&src[inIndex]); 157 | //loggerCRLF(); 158 | return 0; 159 | } 160 | // 20 161 | outIndex += numOut; 162 | if (outIndex > 128 - 16) { 163 | //loggerP(PSTR("Mistake in SAY, text too long\n")); 164 | return 0; 165 | } 166 | // 21 167 | inIndex += (maxWildcardPos > 0) ? maxWildcardPos : maxMatch; 168 | } 169 | return 1; 170 | } 171 | 172 | /** 173 | * Convert phonemes to data string 174 | * Enter: textp = phonemes string 175 | * Return: phonemes = string of sound data 176 | * modifier = 2 bytes per sound data 177 | */ 178 | static int phonemesToData(const char *textp, const PHONEME * phoneme) 179 | { 180 | unsigned int phonemeOut = 0; // offset into the phonemes array 181 | unsigned int modifierOut = 0; // offset into the modifiers array 182 | unsigned int L81 = 0; // attenuate 183 | unsigned int L80 = 16; 184 | 185 | while (*textp) { 186 | // P20: Get next phoneme 187 | boolean anyMatch = false; 188 | int longestMatch = 0; 189 | int numOut = 0; // The number of bytes copied to the output for the longest match 190 | 191 | // Get next phoneme, P2 192 | for (unsigned int ph = 0; ph < NUM_PHONEME; ph++) { 193 | int numChars; 194 | 195 | // Locate start of next phoneme 196 | const byte *ph_text = (const byte *)pgm_read_ptr(&phoneme[ph].txt); 197 | 198 | // Set 'numChars' to the number of characters 199 | // that we match against this phoneme 200 | for (numChars = 0; textp[numChars]; numChars++) { 201 | 202 | // get next input character and make lower case 203 | char nextChar = textp[numChars]; 204 | if (nextChar >= 'A' && nextChar <= 'Z') 205 | nextChar = nextChar - 'A' + 'a'; 206 | 207 | if (nextChar != pgm_read_byte(ph_text+numChars)) 208 | break; 209 | } 210 | 211 | // if not the longest match so far then ignore 212 | if (numChars <= longestMatch) 213 | continue; 214 | 215 | // partial phoneme match 216 | if (pgm_read_byte(ph_text+numChars)) 217 | continue; 218 | 219 | // P7: we have matched the whole phoneme 220 | longestMatch = numChars; 221 | 222 | // Copy phoneme data to 'phonemes' 223 | const byte *ph_ph = (const byte *)pgm_read_ptr(&phoneme[ph].phoneme); 224 | for (numOut = 0; pgm_read_byte(ph_ph+numOut); numOut++) 225 | phonemes[phonemeOut + numOut] = pgm_read_byte(ph_ph+numOut); 226 | 227 | L81 = pgm_read_byte(&phoneme[ph].attenuate) + '0'; 228 | anyMatch = true; // phoneme match found 229 | 230 | modifier[modifierOut] = -1; 231 | modifier[modifierOut + 1] = 0; 232 | 233 | // Get char from text after the phoneme and test if it is a numeric 234 | if (textp[longestMatch] >= '0' && textp[longestMatch] <= '9') { 235 | // Pitch change requested 236 | modifier[modifierOut] = pgm_read_byte(&PitchesP[textp[longestMatch] - '1']); 237 | modifier[modifierOut + 1] = L81; 238 | longestMatch++; 239 | } 240 | // P10 241 | if (L81 != '0' && L81 != L80 && modifier[modifierOut] >= 0) { 242 | modifier[modifierOut - 2] = modifier[modifierOut]; 243 | modifier[modifierOut - 1] = '0'; 244 | continue; 245 | } 246 | // P11 247 | if ((textp[longestMatch - 1] | 0x20) == 0x20) { 248 | // end of input string or a space 249 | modifier[modifierOut] = (modifierOut == 0) ? 16 : modifier[modifierOut - 2]; 250 | } 251 | } // next phoneme 252 | 253 | // p13 254 | L80 = L81; 255 | if (longestMatch == 0 && !anyMatch) 256 | return 0; 257 | 258 | // Move over the bytes we have copied to the output 259 | phonemeOut += numOut; 260 | 261 | if (phonemeOut > sizeof(phonemes) - 16) 262 | return 0; 263 | 264 | // P16 265 | 266 | // Copy the modifier setting to each sound data element for this phoneme 267 | if (numOut > 2) 268 | for (int count = 0; count != numOut; count += 2) { 269 | modifier[modifierOut + count + 2] = modifier[modifierOut + count]; 270 | modifier[modifierOut + count + 3] = 0; 271 | } 272 | modifierOut += numOut; 273 | 274 | //p21 275 | textp += longestMatch; 276 | } 277 | 278 | phonemes[phonemeOut++] = 'z'; 279 | phonemes[phonemeOut++] = 'z'; 280 | phonemes[phonemeOut++] = 'z'; 281 | phonemes[phonemeOut++] = 'z'; 282 | 283 | while (phonemeOut < sizeof(phonemes)) 284 | phonemes[phonemeOut++] = 0; 285 | 286 | while (modifierOut < sizeof(modifier)) { 287 | modifier[modifierOut++] = -1; 288 | modifier[modifierOut++] = 0; 289 | } 290 | 291 | return 1; 292 | } 293 | 294 | static void pause(byte d) 295 | { 296 | delayMicroseconds(d*6); 297 | } 298 | 299 | static void delay2(byte d) 300 | { 301 | delayMicroseconds(d*3127); 302 | } 303 | 304 | /* 305 | * Generate a random number 306 | */ 307 | static byte random2(void) 308 | { 309 | byte tmp = (seed0 & 0x48) + 0x38; 310 | seed0 <<= 1; 311 | if (seed1 & 0x80) 312 | seed0++; 313 | seed1 <<= 1; 314 | if (seed2 & 0x80) 315 | seed1++; 316 | seed2 <<= 1; 317 | if (tmp & 0x40) 318 | seed2++; 319 | return seed0; 320 | } 321 | 322 | byte TTS::playTone(byte soundNum, byte soundPos, char pitch1, char pitch2, byte count, byte volume) 323 | { 324 | const byte *soundData = &SoundData[soundNum * 0x40]; 325 | while (count-- > 0) { 326 | byte s = pgm_read_byte(&soundData[soundPos & 0x3fu]); 327 | sound_api->sound(s & volume); 328 | pause(pitch1); 329 | sound_api->sound((s >> 4) & volume); 330 | pause(pitch2); 331 | 332 | soundPos++; 333 | } 334 | return soundPos & 0x3fu; 335 | } 336 | 337 | void TTS::play(byte duration, byte soundNumber) 338 | { 339 | while (duration--) 340 | playTone(soundNumber, random2(), 7, 7, 10, 15); 341 | } 342 | 343 | /****************************************************************************** 344 | * User API 345 | ******************************************************************************/ 346 | 347 | 348 | TTS::TTS(int p) 349 | { 350 | sound_api = new Sound(p); 351 | defaultPitch = 7; 352 | stream_ptr = nullptr; 353 | #ifdef __AVR__ 354 | pinMode(pin, OUTPUT); 355 | #endif 356 | } 357 | 358 | TTS::TTS(tts_data_callback_type cb, int len) { 359 | sound_api = new SoundCallback(cb, this, len); 360 | defaultPitch = 7; 361 | stream_ptr = nullptr; 362 | } 363 | 364 | /** 365 | * @brief Construct a new TTS object which outputs the data to an Arduino Stream 366 | * 367 | * @param out 368 | */ 369 | TTS::TTS(Print &out, int bits_per_sample) { 370 | stream_ptr = &out; 371 | sound_api = new SoundCallback((tts_data_callback_type)TTS::stream_data_callback, this, 512); 372 | defaultPitch = 7; 373 | getInfo().bits_per_sample = bits_per_sample; 374 | } 375 | 376 | 377 | /* 378 | * Speak a string of phonemes 379 | */ 380 | void TTS::sayPhonemes(const char *textp) 381 | { 382 | byte phonemeIn, // offset into text 383 | byte2, modifierIn, // offset into stuff in modifier 384 | punctuationPitchDelta; // change in pitch due to fullstop or question mark 385 | char byte1; 386 | char phoneme; 387 | const SOUND_INDEX *soundIndex; 388 | byte sound1Num; // Sound data for the current phoneme 389 | byte sound2Num; // Sound data for the next phoneme 390 | byte sound2Stop; // Where the second sound should stop 391 | char pitch1; // pitch for the first sound 392 | char pitch2; // pitch for the second sound 393 | short i; 394 | byte sound1Duration; // the duration for sound 1 395 | 396 | if (phonemesToData(textp, s_phonemes)) { 397 | // phonemes has list of sound bytes 398 | sound_api->soundOn(); 399 | 400 | // initialise random number seed 401 | seed0 = 0xecu; 402 | seed1 = 7; 403 | seed2 = 0xcfu; 404 | 405 | // _630C 406 | byte1 = 0; 407 | punctuationPitchDelta = 0; 408 | 409 | // Q19 410 | for (phonemeIn = 0, modifierIn = 0; phonemes[phonemeIn]; phonemeIn += 2, modifierIn += 2) { 411 | byte duration; // duration from text line 412 | byte soundPos; // offset into sound data 413 | byte fadeSpeed = 0; 414 | 415 | phoneme = phonemes[phonemeIn]; 416 | if (phoneme == 'z') { 417 | delay2(15); 418 | continue; 419 | } else if (phoneme == '#') { 420 | continue; 421 | } else { 422 | 423 | // Collect info on sound 1 424 | soundIndex = &SoundIndex[phoneme - 'A']; 425 | sound1Num = pgm_read_byte(&soundIndex->SoundNumber); 426 | byte1 = pgm_read_byte(&soundIndex->byte1); 427 | byte2 = pgm_read_byte(&soundIndex->byte2); 428 | 429 | duration = phonemes[phonemeIn + 1] - '0'; // Get duration from the input line 430 | if (duration != 1) 431 | duration <<= 1; 432 | 433 | duration += 6; // scaled duration from the input line (at least 6) 434 | sound2Stop = 0x40 >> 1; 435 | 436 | pitch1 = modifier[modifierIn]; 437 | if (modifier[modifierIn + 1] == 0 || pitch1 == -1) { 438 | pitch1 = 10; 439 | duration -= 6; 440 | } else if (modifier[modifierIn + 1] == '0' || duration == 6) { 441 | duration -= 6; 442 | } 443 | // q8 444 | pitch2 = modifier[modifierIn + 2]; 445 | if (modifier[modifierIn + 3] == 0 || pitch2 == -1) 446 | pitch2 = 10; 447 | 448 | // q10 449 | if (byte1 < 0) { 450 | sound1Num = 0; 451 | random2(); 452 | sound2Stop = (0x40 >> 1) + 2; 453 | } else { 454 | // is positive 455 | if (byte1 == 2) { 456 | // 64A4 457 | // Make a white noise sound! 458 | byte volume = (duration == 6) ? 15 : 1; // volume mask 459 | for (duration <<= 2; duration > 0; duration--) { 460 | playTone(sound1Num, random2(), 8, 12, 11, volume); 461 | // Increase the volume 462 | if (++volume == 16) 463 | volume = 15; // full volume from now on 464 | } 465 | continue; 466 | 467 | } else { 468 | // q11 469 | if (byte1) 470 | delay2(25); 471 | } 472 | } 473 | } 474 | 475 | // 6186 476 | pitch1 += defaultPitch + punctuationPitchDelta; 477 | if (pitch1 < 1) 478 | pitch1 = 1; 479 | 480 | pitch2 += defaultPitch + punctuationPitchDelta; 481 | if (pitch2 < 1) 482 | pitch2 = 1; 483 | 484 | // get next phoneme 485 | phoneme = phonemes[phonemeIn + 2]; 486 | 487 | if (phoneme == 0 || phoneme == 'z') { 488 | if (duration == 1) 489 | delay2(60); 490 | phoneme = 'a'; // change to a pause 491 | } else { 492 | // s6 493 | if (byte2 != 1) 494 | byte2 = (byte2 + pgm_read_byte(&SoundIndex[phoneme - 'A'].byte2)) >> 1; 495 | 496 | if (byte1 < 0 || pgm_read_byte(&SoundIndex[phoneme - 'A'].byte1)) 497 | phoneme = 'a'; // change to a pause 498 | } 499 | 500 | // S10 501 | sound2Num = pgm_read_byte(&SoundIndex[phoneme - 'A'].SoundNumber); 502 | 503 | sound1Duration = 0x80; // play half of sound 1 504 | if (sound2Num == sound1Num) 505 | byte2 = duration; 506 | 507 | // S11 508 | if ((byte2 >> 1) == 0) { 509 | sound1Duration = 0xff; // play all of sound 1 510 | } else { 511 | // The fade speed between the two sounds 512 | fadeSpeed = (sound1Duration + (byte2 >> 1)) / byte2; 513 | 514 | if (duration == 1) { 515 | sound2Stop = 0x40; // dont play sound2 516 | sound1Duration = 0xff; // play all of sound 1 517 | pitch1 = 12; 518 | } 519 | } 520 | 521 | soundPos = 0; 522 | do { 523 | byte sound1Stop = (sound1Duration >> 2) & 0x3fu; 524 | byte sound1End = min(sound1Stop, sound2Stop); 525 | 526 | if (sound1Stop) 527 | soundPos = playTone(sound1Num, soundPos, pitch1, pitch1, sound1End, 15); 528 | 529 | // s18 530 | if (sound2Stop != 0x40) { 531 | soundPos = playTone(sound2Num, soundPos, pitch2, pitch2, sound2Stop - sound1End, 15); 532 | } 533 | // s23 534 | if (sound1Duration != 0xff && duration < byte2) { 535 | // Fade sound1 out 536 | sound1Duration -= fadeSpeed; 537 | if (sound1Duration >= 0xC8) 538 | sound1Duration = 0; // stop playing sound 1 539 | } 540 | // Call any additional sound 541 | if (byte1 == -1) 542 | play(3, 30); // make an 'f' sound 543 | else if (byte1 == -2) 544 | play(3, 29); // make an 's' sound 545 | else if (byte1 == -3) 546 | play(3, 33); // make a 'th' sound 547 | else if (byte1 == -4) 548 | play(3, 27); // make a 'sh' sound 549 | 550 | } while (--duration); 551 | 552 | // Scan ahead to find a '.' or a '?' as this will change the pitch 553 | punctuationPitchDelta = 0; 554 | for (i = 6; i > 0; i--) { 555 | char next = phonemes[phonemeIn + (i * 2)]; 556 | if (next == 'i') 557 | // found a full stop 558 | punctuationPitchDelta = 6 - i; // Lower the pitch 559 | else if (next == 'h') 560 | // found a question mark 561 | punctuationPitchDelta = i - 6; // Raise the pitch 562 | } 563 | 564 | if (byte1 == 1) 565 | delay2(25); 566 | } // next phoneme 567 | } 568 | sound_api->soundOff(); 569 | } 570 | 571 | /* 572 | * Speak an English command line of text 573 | */ 574 | void TTS::sayText(const char *original) 575 | { 576 | static char text[sizeof(phonemes)]; 577 | 578 | if (textToPhonemes(original, s_vocab, text)) 579 | sayPhonemes(text); 580 | } 581 | 582 | 583 | 584 | 585 | -------------------------------------------------------------------------------- /eagle/eagle.epf: -------------------------------------------------------------------------------- 1 | [Eagle] 2 | Version="07 05 00" 3 | Platform="Linux" 4 | Serial="62191E841E-LSR-WLM-1EL" 5 | Globals="Globals" 6 | Desktop="Desktop" 7 | 8 | [Globals] 9 | AutoSaveProject=1 10 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/19inch.lbr" 11 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/40xx.lbr" 12 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/41xx.lbr" 13 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/45xx.lbr" 14 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/74ac-logic.lbr" 15 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/74ttl-din.lbr" 16 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/74xx-eu.lbr" 17 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/74xx-little-de.lbr" 18 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/74xx-little-us.lbr" 19 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/74xx-us.lbr" 20 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/751xx.lbr" 21 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/IQD-Frequency-Products.lbr" 22 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/advanced-test-technologies.lbr" 23 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/agilent-technologies.lbr" 24 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/allegro.lbr" 25 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/altera-cyclone-II.lbr" 26 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/altera-cyclone-III.lbr" 27 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/altera-stratix-iv.lbr" 28 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/altera.lbr" 29 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/am29-memory.lbr" 30 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/amd-mach.lbr" 31 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/amd.lbr" 32 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/amis.lbr" 33 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/analog-devices.lbr" 34 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/aplus.lbr" 35 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ase.lbr" 36 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/atmel.lbr" 37 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/austriamicrosystems.lbr" 38 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/avago.lbr" 39 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/axis.lbr" 40 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/battery.lbr" 41 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/belton-engineering.lbr" 42 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/burr-brown.lbr" 43 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/busbar.lbr" 44 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/buzzer.lbr" 45 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/c-trimm.lbr" 46 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/california-micro-devices.lbr" 47 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/capacitor-wima.lbr" 48 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/chipcard-siemens.lbr" 49 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/cirrus-logic.lbr" 50 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-3m.lbr" 51 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-4ucon.lbr" 52 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp-champ.lbr" 53 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp-micromatch.lbr" 54 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp-mt.lbr" 55 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp-mt6.lbr" 56 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp-quick.lbr" 57 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp-te.lbr" 58 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amp.lbr" 59 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-amphenol.lbr" 60 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-avx.lbr" 61 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-berg.lbr" 62 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-bosch.lbr" 63 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-chipcard-iso7816.lbr" 64 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-coax.lbr" 65 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-commcon.lbr" 66 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-conrad.lbr" 67 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-cpci.lbr" 68 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-cui.lbr" 69 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-cypressindustries.lbr" 70 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-deutsch.lbr" 71 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-dil.lbr" 72 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-ebyelectro.lbr" 73 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-elco.lbr" 74 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-erni.lbr" 75 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-faston.lbr" 76 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-fci.lbr" 77 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-friwo.lbr" 78 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-garry.lbr" 79 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-harting-h.lbr" 80 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-harting-ml.lbr" 81 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-harting-v.lbr" 82 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-harting.lbr" 83 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-hirose.lbr" 84 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-hirschmann.lbr" 85 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-jack.lbr" 86 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-jae.lbr" 87 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-jst.lbr" 88 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-kycon.lbr" 89 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-kyocera-elco.lbr" 90 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-lemo.lbr" 91 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-leotronics.lbr" 92 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-lsta.lbr" 93 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-lstb.lbr" 94 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-lumberg.lbr" 95 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-ml.lbr" 96 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-molex.lbr" 97 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-neutrik_ag.lbr" 98 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-omron.lbr" 99 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-panasonic.lbr" 100 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-panduit.lbr" 101 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-pc.lbr" 102 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-pc104.lbr" 103 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-254.lbr" 104 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-3.81.lbr" 105 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-350.lbr" 106 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-500.lbr" 107 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-508.lbr" 108 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-762.lbr" 109 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-me_max.lbr" 110 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-mkds_5.lbr" 111 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-phoenix-smkdsp.lbr" 112 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-ptr500.lbr" 113 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-pulse.lbr" 114 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-rib.lbr" 115 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-samtec.lbr" 116 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-shallin.lbr" 117 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-shiua-chyuan.lbr" 118 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-stewart.lbr" 119 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-stocko.lbr" 120 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-subd.lbr" 121 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-sullinselectronics.lbr" 122 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-thomas-betts.lbr" 123 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-tyco.lbr" 124 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-tycoelectronics.lbr" 125 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-vg.lbr" 126 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-wago-500.lbr" 127 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-wago-508.lbr" 128 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-wago.lbr" 129 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-wago255.lbr" 130 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-weidmueller-sl35.lbr" 131 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-wenzhou-yihua.lbr" 132 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-xmultiple.lbr" 133 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/con-yamaichi.lbr" 134 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/crystal.lbr" 135 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/csr.lbr" 136 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/cypress.lbr" 137 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/davicom.lbr" 138 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/dc-dc-converter.lbr" 139 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/dimensions.lbr" 140 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/diode.lbr" 141 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/discrete.lbr" 142 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/display-hp.lbr" 143 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/display-kingbright.lbr" 144 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/display-lcd.lbr" 145 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/docu-dummy.lbr" 146 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/dom-key.lbr" 147 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/eagle-ltspice.lbr" 148 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ecl.lbr" 149 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/em-microelectronic.lbr" 150 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/etx-board.lbr" 151 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/exar.lbr" 152 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fairchild-semic.lbr" 153 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/farnell.lbr" 154 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fiber-optic-hp.lbr" 155 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fiber-optic-siemens.lbr" 156 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fifo.lbr" 157 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/flexipanel.lbr" 158 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fox-electronics.lbr" 159 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/frames.lbr" 160 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/freescale.lbr" 161 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ftdichip.lbr" 162 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fujitsu.lbr" 163 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/fuse.lbr" 164 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/gennum.lbr" 165 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/halo-electronics.lbr" 166 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/heatsink.lbr" 167 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/holes.lbr" 168 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/holtek.lbr" 169 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ic-package.lbr" 170 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/inductor-coilcraft.lbr" 171 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/inductor-neosid.lbr" 172 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/inductor-nkl.lbr" 173 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/inductors.lbr" 174 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/infineon-tricore.lbr" 175 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/infineon.lbr" 176 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/intersil-techwell.lbr" 177 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/intersil.lbr" 178 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ir.lbr" 179 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/isd.lbr" 180 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/johanson-technology.lbr" 181 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/jump-0r-smd.lbr" 182 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/jumper.lbr" 183 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lantronix.lbr" 184 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lattice.lbr" 185 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lc-filter.lbr" 186 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/led-7-segment.lbr" 187 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/led-citizen-electronics.lbr" 188 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/led-lumiled.lbr" 189 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/led.lbr" 190 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lem.lbr" 191 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/linear-technology.lbr" 192 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/linear.lbr" 193 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/linx.lbr" 194 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/logo.lbr" 195 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lprs.lbr" 196 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lsi-computer-systems.lbr" 197 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/lumiled.lbr" 198 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/marks.lbr" 199 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/maxim.lbr" 200 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/maxstream.lbr" 201 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/melexis.lbr" 202 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-hitachi.lbr" 203 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-idt.lbr" 204 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-micron.lbr" 205 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-motorola-dram.lbr" 206 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-nec.lbr" 207 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-samsung.lbr" 208 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory-sram.lbr" 209 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/memory.lbr" 210 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/mems.lbr" 211 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micrel.lbr" 212 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-cyrod.lbr" 213 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-fujitsu.lbr" 214 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-harris.lbr" 215 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-hitachi.lbr" 216 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-infineon.lbr" 217 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-intel.lbr" 218 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-mc68000.lbr" 219 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-motorola.lbr" 220 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-philips.lbr" 221 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-renesas.lbr" 222 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-samsung.lbr" 223 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micro-siemens.lbr" 224 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/microchip.lbr" 225 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micron.lbr" 226 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/micronas.lbr" 227 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/microphon.lbr" 228 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/microwave.lbr" 229 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/midori-sensor.lbr" 230 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/minicircuits.lbr" 231 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/mitsubishi-semiconductor.lbr" 232 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/motorola-sensor-driver.lbr" 233 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/murata-filter.lbr" 234 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/murata-sensor.lbr" 235 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/nanotec.lbr" 236 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/national-instruments.lbr" 237 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/national-semiconductor.lbr" 238 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/nec-lqfp100-pack.lbr" 239 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/nec.lbr" 240 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/nrj-semiconductor.lbr" 241 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/omnivision.lbr" 242 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/on-semiconductor.lbr" 243 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-honeywell-3000.lbr" 244 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-honeywell-4000.lbr" 245 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-honeywell.lbr" 246 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-micro-linear.lbr" 247 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-trans-siemens.lbr" 248 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-transmittter-hp.lbr" 249 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/opto-vishay.lbr" 250 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/optocoupler.lbr" 251 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/pal.lbr" 252 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/philips-semiconductors.lbr" 253 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/photo-elements.lbr" 254 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/piher.lbr" 255 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/pinhead.lbr" 256 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/plcc-socket.lbr" 257 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/pld-intel.lbr" 258 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/plxtech.lbr" 259 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/pot-vitrohm.lbr" 260 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/pot-xicor.lbr" 261 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/pot.lbr" 262 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ptc-ntc.lbr" 263 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/quantum-research-group.lbr" 264 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/rcl.lbr" 265 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/recom-international.lbr" 266 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/rectifier.lbr" 267 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ref-packages-longpad.lbr" 268 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/ref-packages.lbr" 269 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/relay.lbr" 270 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/renesas.lbr" 271 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-bourns.lbr" 272 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-dil.lbr" 273 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-net.lbr" 274 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-power.lbr" 275 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-ruf.lbr" 276 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-shunt.lbr" 277 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor-sil.lbr" 278 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/resistor.lbr" 279 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/rf-micro-devices.lbr" 280 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/rf-solutions.lbr" 281 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/rohm.lbr" 282 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/roundsolutions.lbr" 283 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/semicon-smd-ipc.lbr" 284 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/sensor-comus-group.lbr" 285 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/sensor-heraeus.lbr" 286 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/sensor-infratec.lbr" 287 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/sharp.lbr" 288 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/silabs.lbr" 289 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/sim-technology.lbr" 290 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/sipex.lbr" 291 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/smd-ipc.lbr" 292 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/smd-special.lbr" 293 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/solomon-systech.lbr" 294 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/solpad.lbr" 295 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/speaker.lbr" 296 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/special-drill.lbr" 297 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/special.lbr" 298 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/st-microelectronics.lbr" 299 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/stm32xx.lbr" 300 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/supertex.lbr" 301 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/supply1.lbr" 302 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/supply2.lbr" 303 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-alps.lbr" 304 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-coto.lbr" 305 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-dil.lbr" 306 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-misc.lbr" 307 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-omron.lbr" 308 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-raychem.lbr" 309 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch-reed.lbr" 310 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/switch.lbr" 311 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/telcom.lbr" 312 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/telecontrolli.lbr" 313 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/telefunken.lbr" 314 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/testpad.lbr" 315 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/texas-sn55-sn75.lbr" 316 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/texas.lbr" 317 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/toshiba.lbr" 318 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/traco-electronic.lbr" 319 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/trafo-bei.lbr" 320 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/trafo-hammondmfg.lbr" 321 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/trafo-siemens.lbr" 322 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/trafo-xicon.lbr" 323 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/trafo.lbr" 324 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transformer-pulse.lbr" 325 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor-fet.lbr" 326 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor-neu-to92.lbr" 327 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor-npn.lbr" 328 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor-pnp.lbr" 329 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor-power.lbr" 330 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor-small-signal.lbr" 331 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/transistor.lbr" 332 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/triac.lbr" 333 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/trimble.lbr" 334 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/tripas.lbr" 335 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/u-blox.lbr" 336 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/uln-udn.lbr" 337 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/v-reg-micrel.lbr" 338 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/v-reg.lbr" 339 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/varistor.lbr" 340 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/wafer-scale-psd.lbr" 341 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/wirepad.lbr" 342 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/xicor.lbr" 343 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/xilinx-virtex-v5.lbr" 344 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/xilinx-xc18v.lbr" 345 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/xilinx-xc9.lbr" 346 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/xilinx-xcv.lbr" 347 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/zetex.lbr" 348 | UsedLibrary="/usr/local/eagle-7.5.0/lbr/zilog.lbr" 349 | 350 | [Win_1] 351 | Type="Control Panel" 352 | Loc="234 566 833 965" 353 | State=2 354 | Number=0 355 | 356 | [Desktop] 357 | Screen="1680 1050" 358 | Window="Win_1" 359 | -------------------------------------------------------------------------------- /eagle/TTS.GBL: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | %ADD11OC8,0.05200*% 12 | %ADD12OC8,0.06300*% 13 | %ADD13C,0.06300*% 14 | %ADD14C,0.05200*% 15 | %ADD15C,0.06000*% 16 | %ADD16OC8,0.07000*% 17 | %ADD17C,0.01000*% 18 | %ADD18C,0.01600*% 19 | D10* 20 | X0001800Y0001800D02* 21 | X0001800Y0106761D01* 22 | X0140501Y0106761D01* 23 | X0140501Y0001800D01* 24 | X0001800Y0001800D01* 25 | D11* 26 | X0016800Y0011800D03* 27 | X0026800Y0011800D03* 28 | X0041800Y0016800D03* 29 | X0041800Y0026800D03* 30 | X0041800Y0036800D03* 31 | X0041800Y0046800D03* 32 | X0026800Y0051800D03* 33 | X0016800Y0051800D03* 34 | X0086800Y0031800D03* 35 | X0096800Y0021800D03* 36 | X0116800Y0021800D03* 37 | X0126800Y0031800D03* 38 | D12* 39 | X0101800Y0051800D03* 40 | X0071800Y0021800D03* 41 | X0106800Y0081800D03* 42 | X0081800Y0091800D03* 43 | D13* 44 | X0071800Y0091800D03* 45 | X0106800Y0071800D03* 46 | X0111800Y0051800D03* 47 | X0061800Y0021800D03* 48 | D14* 49 | X0061800Y0041800D03* 50 | X0061800Y0051800D03* 51 | X0061800Y0061800D03* 52 | X0061800Y0071800D03* 53 | X0091800Y0071800D03* 54 | X0091800Y0061800D03* 55 | X0091800Y0051800D03* 56 | X0091800Y0041800D03* 57 | D15* 58 | X0123800Y0046800D02* 59 | X0129800Y0046800D01* 60 | X0129800Y0056800D02* 61 | X0123800Y0056800D01* 62 | X0019800Y0066800D02* 63 | X0013800Y0066800D01* 64 | X0013800Y0076800D02* 65 | X0019800Y0076800D01* 66 | X0019800Y0086800D02* 67 | X0013800Y0086800D01* 68 | D16* 69 | X0036800Y0076800D03* 70 | X0046800Y0066800D03* 71 | X0046800Y0086800D03* 72 | D17* 73 | X0047600Y0086600D01* 74 | X0052100Y0082100D01* 75 | X0052100Y0045200D01* 76 | X0061100Y0036200D01* 77 | X0061100Y0021800D01* 78 | X0061800Y0021800D01* 79 | X0061800Y0041800D02* 80 | X0061100Y0042500D01* 81 | X0061100Y0046100D01* 82 | X0057500Y0049700D01* 83 | X0057500Y0057800D01* 84 | X0061100Y0061400D01* 85 | X0061800Y0061800D01* 86 | X0062000Y0062300D01* 87 | X0078200Y0078500D01* 88 | X0107000Y0078500D01* 89 | X0118700Y0066800D01* 90 | X0118700Y0055100D01* 91 | X0126800Y0047000D01* 92 | X0126800Y0046800D01* 93 | X0126800Y0046100D01* 94 | X0116900Y0036200D01* 95 | X0116900Y0021800D01* 96 | X0116800Y0021800D01* 97 | X0046800Y0066800D02* 98 | X0016800Y0066800D01* 99 | X0107000Y0078500D02* 100 | X0107000Y0081200D01* 101 | X0106800Y0081800D01* 102 | D18* 103 | X0106800Y0081800D01* 104 | X0106800Y0086750D01* 105 | X0108850Y0086750D01* 106 | X0111750Y0083850D01* 107 | X0111750Y0081800D01* 108 | X0106800Y0081800D01* 109 | X0106800Y0081800D01* 110 | X0106800Y0081800D01* 111 | X0101850Y0081800D01* 112 | X0101850Y0083850D01* 113 | X0104750Y0086750D01* 114 | X0106800Y0086750D01* 115 | X0106800Y0081800D01* 116 | X0111750Y0081800D01* 117 | X0111750Y0079750D01* 118 | X0108850Y0076850D01* 119 | X0106800Y0076850D01* 120 | X0106800Y0081800D01* 121 | X0106800Y0081800D01* 122 | X0101850Y0081800D01* 123 | X0101850Y0079750D01* 124 | X0104750Y0076850D01* 125 | X0106800Y0076850D01* 126 | X0106800Y0081800D01* 127 | X0106800Y0081818D02* 128 | X0106800Y0081818D01* 129 | X0106800Y0083417D02* 130 | X0106800Y0083417D01* 131 | X0106800Y0085015D02* 132 | X0106800Y0085015D01* 133 | X0106800Y0086614D02* 134 | X0106800Y0086614D01* 135 | X0108986Y0086614D02* 136 | X0135701Y0086614D01* 137 | X0135701Y0085015D02* 138 | X0110585Y0085015D01* 139 | X0111750Y0083417D02* 140 | X0135701Y0083417D01* 141 | X0135701Y0081818D02* 142 | X0111750Y0081818D01* 143 | X0111750Y0080220D02* 144 | X0135701Y0080220D01* 145 | X0135701Y0078621D02* 146 | X0110622Y0078621D01* 147 | X0109023Y0077023D02* 148 | X0135701Y0077023D01* 149 | X0135701Y0075424D02* 150 | X0109893Y0075424D01* 151 | X0109491Y0075827D02* 152 | X0107745Y0076550D01* 153 | X0105855Y0076550D01* 154 | X0104109Y0075827D01* 155 | X0102773Y0074491D01* 156 | X0102050Y0072745D01* 157 | X0102050Y0070855D01* 158 | X0102773Y0069109D01* 159 | X0104109Y0067773D01* 160 | X0105855Y0067050D01* 161 | X0107745Y0067050D01* 162 | X0109491Y0067773D01* 163 | X0110827Y0069109D01* 164 | X0111550Y0070855D01* 165 | X0111550Y0072745D01* 166 | X0110827Y0074491D01* 167 | X0109491Y0075827D01* 168 | X0111102Y0073826D02* 169 | X0135701Y0073826D01* 170 | X0135701Y0072227D02* 171 | X0111550Y0072227D01* 172 | X0111456Y0070629D02* 173 | X0135701Y0070629D01* 174 | X0135701Y0069030D02* 175 | X0110748Y0069030D01* 176 | X0108667Y0067432D02* 177 | X0135701Y0067432D01* 178 | X0135701Y0065833D02* 179 | X0093038Y0065833D01* 180 | X0092635Y0066000D02* 181 | X0090965Y0066000D01* 182 | X0089421Y0065361D01* 183 | X0088239Y0064179D01* 184 | X0087600Y0062635D01* 185 | X0087600Y0060965D01* 186 | X0088239Y0059421D01* 187 | X0089421Y0058239D01* 188 | X0090965Y0057600D01* 189 | X0092635Y0057600D01* 190 | X0094179Y0058239D01* 191 | X0095361Y0059421D01* 192 | X0096000Y0060965D01* 193 | X0096000Y0062635D01* 194 | X0095361Y0064179D01* 195 | X0094179Y0065361D01* 196 | X0092635Y0066000D01* 197 | X0090562Y0065833D02* 198 | X0063576Y0065833D01* 199 | X0063489Y0065878D02* 200 | X0062830Y0066092D01* 201 | X0062146Y0066200D01* 202 | X0061800Y0066200D01* 203 | X0061800Y0061800D01* 204 | X0066200Y0061800D01* 205 | X0066200Y0062146D01* 206 | X0066092Y0062830D01* 207 | X0065878Y0063489D01* 208 | X0065563Y0064106D01* 209 | X0065156Y0064666D01* 210 | X0064666Y0065156D01* 211 | X0064106Y0065563D01* 212 | X0063489Y0065878D01* 213 | X0061800Y0065833D02* 214 | X0061800Y0065833D01* 215 | X0061800Y0066200D02* 216 | X0061454Y0066200D01* 217 | X0060770Y0066092D01* 218 | X0060111Y0065878D01* 219 | X0059494Y0065563D01* 220 | X0058934Y0065156D01* 221 | X0058444Y0064666D01* 222 | X0058037Y0064106D01* 223 | X0057722Y0063489D01* 224 | X0057508Y0062830D01* 225 | X0057400Y0062146D01* 226 | X0057400Y0061800D01* 227 | X0061800Y0061800D01* 228 | X0061800Y0061800D01* 229 | X0061800Y0061800D01* 230 | X0066200Y0061800D01* 231 | X0066200Y0061454D01* 232 | X0066092Y0060770D01* 233 | X0065878Y0060111D01* 234 | X0065563Y0059494D01* 235 | X0065156Y0058934D01* 236 | X0064666Y0058444D01* 237 | X0064106Y0058037D01* 238 | X0063489Y0057722D01* 239 | X0062830Y0057508D01* 240 | X0062146Y0057400D01* 241 | X0061800Y0057400D01* 242 | X0061800Y0061800D01* 243 | X0061800Y0061800D01* 244 | X0061800Y0061800D01* 245 | X0061800Y0066200D01* 246 | X0061800Y0064235D02* 247 | X0061800Y0064235D01* 248 | X0061800Y0062636D02* 249 | X0061800Y0062636D01* 250 | X0061800Y0061800D02* 251 | X0057400Y0061800D01* 252 | X0057400Y0061454D01* 253 | X0057508Y0060770D01* 254 | X0057722Y0060111D01* 255 | X0058037Y0059494D01* 256 | X0058444Y0058934D01* 257 | X0058934Y0058444D01* 258 | X0059494Y0058037D01* 259 | X0060111Y0057722D01* 260 | X0060770Y0057508D01* 261 | X0061454Y0057400D01* 262 | X0061800Y0057400D01* 263 | X0061800Y0061800D01* 264 | X0061800Y0061038D02* 265 | X0061800Y0061038D01* 266 | X0061800Y0059439D02* 267 | X0061800Y0059439D01* 268 | X0061800Y0057841D02* 269 | X0061800Y0057841D01* 270 | X0063721Y0057841D02* 271 | X0090383Y0057841D01* 272 | X0088232Y0059439D02* 273 | X0065523Y0059439D01* 274 | X0066134Y0061038D02* 275 | X0087600Y0061038D01* 276 | X0087600Y0062636D02* 277 | X0066122Y0062636D01* 278 | X0065470Y0064235D02* 279 | X0088295Y0064235D01* 280 | X0089421Y0068239D02* 281 | X0090965Y0067600D01* 282 | X0092635Y0067600D01* 283 | X0094179Y0068239D01* 284 | X0095361Y0069421D01* 285 | X0096000Y0070965D01* 286 | X0096000Y0072635D01* 287 | X0095361Y0074179D01* 288 | X0094179Y0075361D01* 289 | X0092635Y0076000D01* 290 | X0090965Y0076000D01* 291 | X0089421Y0075361D01* 292 | X0088239Y0074179D01* 293 | X0087600Y0072635D01* 294 | X0087600Y0070965D01* 295 | X0088239Y0069421D01* 296 | X0089421Y0068239D01* 297 | X0088630Y0069030D02* 298 | X0064970Y0069030D01* 299 | X0065361Y0069421D02* 300 | X0066000Y0070965D01* 301 | X0066000Y0072635D01* 302 | X0065361Y0074179D01* 303 | X0064179Y0075361D01* 304 | X0062635Y0076000D01* 305 | X0060965Y0076000D01* 306 | X0059421Y0075361D01* 307 | X0058239Y0074179D01* 308 | X0057600Y0072635D01* 309 | X0057600Y0070965D01* 310 | X0058239Y0069421D01* 311 | X0059421Y0068239D01* 312 | X0060965Y0067600D01* 313 | X0062635Y0067600D01* 314 | X0064179Y0068239D01* 315 | X0065361Y0069421D01* 316 | X0065861Y0070629D02* 317 | X0087739Y0070629D01* 318 | X0087600Y0072227D02* 319 | X0066000Y0072227D01* 320 | X0065507Y0073826D02* 321 | X0088093Y0073826D01* 322 | X0089575Y0075424D02* 323 | X0064025Y0075424D01* 324 | X0059575Y0075424D02* 325 | X0054200Y0075424D01* 326 | X0054200Y0077023D02* 327 | X0104577Y0077023D01* 328 | X0103707Y0075424D02* 329 | X0094025Y0075424D01* 330 | X0095507Y0073826D02* 331 | X0102498Y0073826D01* 332 | X0102050Y0072227D02* 333 | X0096000Y0072227D01* 334 | X0095861Y0070629D02* 335 | X0102144Y0070629D01* 336 | X0102852Y0069030D02* 337 | X0094970Y0069030D01* 338 | X0095305Y0064235D02* 339 | X0135701Y0064235D01* 340 | X0135701Y0062636D02* 341 | X0096000Y0062636D01* 342 | X0096000Y0061038D02* 343 | X0122010Y0061038D01* 344 | X0121194Y0060700D02* 345 | X0119900Y0059406D01* 346 | X0119200Y0057715D01* 347 | X0119200Y0055885D01* 348 | X0119900Y0054194D01* 349 | X0121194Y0052900D01* 350 | X0122885Y0052200D01* 351 | X0130715Y0052200D01* 352 | X0132406Y0052900D01* 353 | X0133700Y0054194D01* 354 | X0134400Y0055885D01* 355 | X0134400Y0057715D01* 356 | X0133700Y0059406D01* 357 | X0132406Y0060700D01* 358 | X0130715Y0061400D01* 359 | X0122885Y0061400D01* 360 | X0121194Y0060700D01* 361 | X0119934Y0059439D02* 362 | X0095368Y0059439D01* 363 | X0093217Y0057841D02* 364 | X0119252Y0057841D01* 365 | X0119200Y0056242D02* 366 | X0113488Y0056242D01* 367 | X0112745Y0056550D02* 368 | X0114491Y0055827D01* 369 | X0115827Y0054491D01* 370 | X0116550Y0052745D01* 371 | X0116550Y0050855D01* 372 | X0115827Y0049109D01* 373 | X0114491Y0047773D01* 374 | X0112745Y0047050D01* 375 | X0110855Y0047050D01* 376 | X0109109Y0047773D01* 377 | X0107773Y0049109D01* 378 | X0107050Y0050855D01* 379 | X0107050Y0052745D01* 380 | X0107773Y0054491D01* 381 | X0109109Y0055827D01* 382 | X0110855Y0056550D01* 383 | X0112745Y0056550D01* 384 | X0110112Y0056242D02* 385 | X0104075Y0056242D01* 386 | X0103768Y0056550D02* 387 | X0099832Y0056550D01* 388 | X0097050Y0053768D01* 389 | X0097050Y0049832D01* 390 | X0099832Y0047050D01* 391 | X0103768Y0047050D01* 392 | X0106550Y0049832D01* 393 | X0106550Y0053768D01* 394 | X0103768Y0056550D01* 395 | X0105674Y0054644D02* 396 | X0107926Y0054644D01* 397 | X0107174Y0053045D02* 398 | X0106550Y0053045D01* 399 | X0106550Y0051447D02* 400 | X0107050Y0051447D01* 401 | X0107467Y0049848D02* 402 | X0106550Y0049848D01* 403 | X0104967Y0048250D02* 404 | X0108633Y0048250D01* 405 | X0114967Y0048250D02* 406 | X0119224Y0048250D01* 407 | X0119118Y0047924D02* 408 | X0119352Y0048643D01* 409 | X0119695Y0049316D01* 410 | X0120139Y0049927D01* 411 | X0120673Y0050461D01* 412 | X0121284Y0050905D01* 413 | X0121957Y0051248D01* 414 | X0122676Y0051482D01* 415 | X0123422Y0051600D01* 416 | X0126600Y0051600D01* 417 | X0126600Y0047000D01* 418 | X0127000Y0047000D01* 419 | X0127000Y0051600D01* 420 | X0130178Y0051600D01* 421 | X0130924Y0051482D01* 422 | X0131643Y0051248D01* 423 | X0132316Y0050905D01* 424 | X0132927Y0050461D01* 425 | X0133461Y0049927D01* 426 | X0133905Y0049316D01* 427 | X0134248Y0048643D01* 428 | X0134482Y0047924D01* 429 | X0134600Y0047178D01* 430 | X0134600Y0047000D01* 431 | X0127000Y0047000D01* 432 | X0127000Y0046600D01* 433 | X0134600Y0046600D01* 434 | X0134600Y0046422D01* 435 | X0134482Y0045676D01* 436 | X0134248Y0044957D01* 437 | X0133905Y0044284D01* 438 | X0133461Y0043673D01* 439 | X0132927Y0043139D01* 440 | X0132316Y0042695D01* 441 | X0131643Y0042352D01* 442 | X0130924Y0042118D01* 443 | X0130178Y0042000D01* 444 | X0127000Y0042000D01* 445 | X0127000Y0046600D01* 446 | X0126600Y0046600D01* 447 | X0126600Y0042000D01* 448 | X0123422Y0042000D01* 449 | X0122676Y0042118D01* 450 | X0121957Y0042352D01* 451 | X0121284Y0042695D01* 452 | X0120673Y0043139D01* 453 | X0120139Y0043673D01* 454 | X0119695Y0044284D01* 455 | X0119352Y0044957D01* 456 | X0119118Y0045676D01* 457 | X0119000Y0046422D01* 458 | X0119000Y0046600D01* 459 | X0126600Y0046600D01* 460 | X0126600Y0047000D01* 461 | X0119000Y0047000D01* 462 | X0119000Y0047178D01* 463 | X0119118Y0047924D01* 464 | X0120082Y0049848D02* 465 | X0116133Y0049848D01* 466 | X0116550Y0051447D02* 467 | X0122568Y0051447D01* 468 | X0121049Y0053045D02* 469 | X0116426Y0053045D01* 470 | X0115674Y0054644D02* 471 | X0119714Y0054644D01* 472 | X0126600Y0051447D02* 473 | X0127000Y0051447D01* 474 | X0127000Y0049848D02* 475 | X0126600Y0049848D01* 476 | X0126600Y0048250D02* 477 | X0127000Y0048250D01* 478 | X0127000Y0046651D02* 479 | X0135701Y0046651D01* 480 | X0135701Y0045053D02* 481 | X0134279Y0045053D01* 482 | X0133242Y0043454D02* 483 | X0135701Y0043454D01* 484 | X0135701Y0041856D02* 485 | X0096000Y0041856D01* 486 | X0096000Y0042635D02* 487 | X0096000Y0040965D01* 488 | X0095361Y0039421D01* 489 | X0094179Y0038239D01* 490 | X0092635Y0037600D01* 491 | X0090965Y0037600D01* 492 | X0089421Y0038239D01* 493 | X0088239Y0039421D01* 494 | X0087600Y0040965D01* 495 | X0087600Y0042635D01* 496 | X0088239Y0044179D01* 497 | X0089421Y0045361D01* 498 | X0090965Y0046000D01* 499 | X0092635Y0046000D01* 500 | X0094179Y0045361D01* 501 | X0095361Y0044179D01* 502 | X0096000Y0042635D01* 503 | X0095661Y0043454D02* 504 | X0120358Y0043454D01* 505 | X0119321Y0045053D02* 506 | X0094487Y0045053D01* 507 | X0092635Y0047600D02* 508 | X0090965Y0047600D01* 509 | X0089421Y0048239D01* 510 | X0088239Y0049421D01* 511 | X0087600Y0050965D01* 512 | X0087600Y0052635D01* 513 | X0088239Y0054179D01* 514 | X0089421Y0055361D01* 515 | X0090965Y0056000D01* 516 | X0092635Y0056000D01* 517 | X0094179Y0055361D01* 518 | X0095361Y0054179D01* 519 | X0096000Y0052635D01* 520 | X0096000Y0050965D01* 521 | X0095361Y0049421D01* 522 | X0094179Y0048239D01* 523 | X0092635Y0047600D01* 524 | X0094189Y0048250D02* 525 | X0098633Y0048250D01* 526 | X0097050Y0049848D02* 527 | X0095538Y0049848D01* 528 | X0096000Y0051447D02* 529 | X0097050Y0051447D01* 530 | X0097050Y0053045D02* 531 | X0095830Y0053045D01* 532 | X0094896Y0054644D02* 533 | X0097926Y0054644D01* 534 | X0099525Y0056242D02* 535 | X0054200Y0056242D01* 536 | X0054200Y0054644D02* 537 | X0058704Y0054644D01* 538 | X0058239Y0054179D02* 539 | X0057600Y0052635D01* 540 | X0057600Y0050965D01* 541 | X0058239Y0049421D01* 542 | X0059421Y0048239D01* 543 | X0060965Y0047600D01* 544 | X0062635Y0047600D01* 545 | X0064179Y0048239D01* 546 | X0065361Y0049421D01* 547 | X0066000Y0050965D01* 548 | X0066000Y0052635D01* 549 | X0065361Y0054179D01* 550 | X0064179Y0055361D01* 551 | X0062635Y0056000D01* 552 | X0060965Y0056000D01* 553 | X0059421Y0055361D01* 554 | X0058239Y0054179D01* 555 | X0057770Y0053045D02* 556 | X0054200Y0053045D01* 557 | X0054200Y0051447D02* 558 | X0057600Y0051447D01* 559 | X0058062Y0049848D02* 560 | X0054200Y0049848D01* 561 | X0054200Y0048250D02* 562 | X0059411Y0048250D01* 563 | X0060111Y0045878D02* 564 | X0059494Y0045563D01* 565 | X0058934Y0045156D01* 566 | X0058444Y0044666D01* 567 | X0058037Y0044106D01* 568 | X0057722Y0043489D01* 569 | X0057508Y0042830D01* 570 | X0057499Y0042771D01* 571 | X0054200Y0046070D01* 572 | X0054200Y0082970D01* 573 | X0051900Y0085270D01* 574 | X0051900Y0088912D01* 575 | X0048912Y0091900D01* 576 | X0044688Y0091900D01* 577 | X0041700Y0088912D01* 578 | X0041700Y0084688D01* 579 | X0044688Y0081700D01* 580 | X0048912Y0081700D01* 581 | X0049221Y0082009D01* 582 | X0050000Y0081230D01* 583 | X0050000Y0071095D01* 584 | X0048995Y0072100D01* 585 | X0047000Y0072100D01* 586 | X0047000Y0067000D01* 587 | X0046600Y0067000D01* 588 | X0046600Y0072100D01* 589 | X0044605Y0072100D01* 590 | X0041500Y0068995D01* 591 | X0041500Y0067000D01* 592 | X0046600Y0067000D01* 593 | X0046600Y0066600D01* 594 | X0041500Y0066600D01* 595 | X0041500Y0064605D01* 596 | X0044605Y0061500D01* 597 | X0046600Y0061500D01* 598 | X0046600Y0066600D01* 599 | X0047000Y0066600D01* 600 | X0047000Y0061500D01* 601 | X0048995Y0061500D01* 602 | X0050000Y0062505D01* 603 | X0050000Y0044330D01* 604 | X0051230Y0043100D01* 605 | X0059000Y0035330D01* 606 | X0059000Y0025718D01* 607 | X0057773Y0024491D01* 608 | X0057050Y0022745D01* 609 | X0057050Y0020855D01* 610 | X0057773Y0019109D01* 611 | X0059109Y0017773D01* 612 | X0060855Y0017050D01* 613 | X0062745Y0017050D01* 614 | X0064491Y0017773D01* 615 | X0065827Y0019109D01* 616 | X0066550Y0020855D01* 617 | X0066550Y0022745D01* 618 | X0065827Y0024491D01* 619 | X0064491Y0025827D01* 620 | X0063200Y0026361D01* 621 | X0063200Y0037070D01* 622 | X0062771Y0037499D01* 623 | X0062830Y0037508D01* 624 | X0063489Y0037722D01* 625 | X0064106Y0038037D01* 626 | X0064666Y0038444D01* 627 | X0065156Y0038934D01* 628 | X0065563Y0039494D01* 629 | X0065878Y0040111D01* 630 | X0066092Y0040770D01* 631 | X0066200Y0041454D01* 632 | X0066200Y0041800D01* 633 | X0066200Y0042146D01* 634 | X0066092Y0042830D01* 635 | X0065878Y0043489D01* 636 | X0065563Y0044106D01* 637 | X0065156Y0044666D01* 638 | X0064666Y0045156D01* 639 | X0064106Y0045563D01* 640 | X0063489Y0045878D01* 641 | X0062830Y0046092D01* 642 | X0062146Y0046200D01* 643 | X0061800Y0046200D01* 644 | X0061800Y0041800D01* 645 | X0061800Y0041800D01* 646 | X0066200Y0041800D01* 647 | X0061800Y0041800D01* 648 | X0061800Y0041800D01* 649 | X0061800Y0046200D01* 650 | X0061454Y0046200D01* 651 | X0060770Y0046092D01* 652 | X0060111Y0045878D01* 653 | X0058830Y0045053D02* 654 | X0055217Y0045053D01* 655 | X0054200Y0046651D02* 656 | X0126600Y0046651D01* 657 | X0126600Y0045053D02* 658 | X0127000Y0045053D01* 659 | X0127000Y0043454D02* 660 | X0126600Y0043454D01* 661 | X0134376Y0048250D02* 662 | X0135701Y0048250D01* 663 | X0135701Y0049848D02* 664 | X0133518Y0049848D01* 665 | X0135701Y0051447D02* 666 | X0131032Y0051447D01* 667 | X0132551Y0053045D02* 668 | X0135701Y0053045D01* 669 | X0135701Y0054644D02* 670 | X0133886Y0054644D01* 671 | X0134400Y0056242D02* 672 | X0135701Y0056242D01* 673 | X0135701Y0057841D02* 674 | X0134348Y0057841D01* 675 | X0133666Y0059439D02* 676 | X0135701Y0059439D01* 677 | X0135701Y0061038D02* 678 | X0131590Y0061038D01* 679 | X0106800Y0077023D02* 680 | X0106800Y0077023D01* 681 | X0106800Y0078621D02* 682 | X0106800Y0078621D01* 683 | X0106800Y0080220D02* 684 | X0106800Y0080220D01* 685 | X0102978Y0078621D02* 686 | X0054200Y0078621D01* 687 | X0054200Y0080220D02* 688 | X0101850Y0080220D01* 689 | X0101850Y0081818D02* 690 | X0054200Y0081818D01* 691 | X0053753Y0083417D02* 692 | X0101850Y0083417D01* 693 | X0103015Y0085015D02* 694 | X0052154Y0085015D01* 695 | X0051900Y0086614D02* 696 | X0104614Y0086614D01* 697 | X0086550Y0089832D02* 698 | X0083768Y0087050D01* 699 | X0079832Y0087050D01* 700 | X0077050Y0089832D01* 701 | X0077050Y0093768D01* 702 | X0079832Y0096550D01* 703 | X0083768Y0096550D01* 704 | X0086550Y0093768D01* 705 | X0086550Y0089832D01* 706 | X0086528Y0089811D02* 707 | X0135701Y0089811D01* 708 | X0135701Y0088212D02* 709 | X0084930Y0088212D01* 710 | X0086550Y0091409D02* 711 | X0135701Y0091409D01* 712 | X0135701Y0093008D02* 713 | X0086550Y0093008D01* 714 | X0085711Y0094606D02* 715 | X0135701Y0094606D01* 716 | X0135701Y0096205D02* 717 | X0084113Y0096205D01* 718 | X0079487Y0096205D02* 719 | X0073578Y0096205D01* 720 | X0072745Y0096550D02* 721 | X0074491Y0095827D01* 722 | X0075827Y0094491D01* 723 | X0076550Y0092745D01* 724 | X0076550Y0090855D01* 725 | X0075827Y0089109D01* 726 | X0074491Y0087773D01* 727 | X0072745Y0087050D01* 728 | X0070855Y0087050D01* 729 | X0069109Y0087773D01* 730 | X0067773Y0089109D01* 731 | X0067050Y0090855D01* 732 | X0067050Y0092745D01* 733 | X0067773Y0094491D01* 734 | X0069109Y0095827D01* 735 | X0070855Y0096550D01* 736 | X0072745Y0096550D01* 737 | X0070022Y0096205D02* 738 | X0006600Y0096205D01* 739 | X0006600Y0094606D02* 740 | X0067889Y0094606D01* 741 | X0067159Y0093008D02* 742 | X0006600Y0093008D01* 743 | X0006600Y0091409D02* 744 | X0044197Y0091409D01* 745 | X0042598Y0089811D02* 746 | X0023294Y0089811D01* 747 | X0023700Y0089406D02* 748 | X0022406Y0090700D01* 749 | X0020715Y0091400D01* 750 | X0012885Y0091400D01* 751 | X0011194Y0090700D01* 752 | X0009900Y0089406D01* 753 | X0009200Y0087715D01* 754 | X0009200Y0085885D01* 755 | X0009900Y0084194D01* 756 | X0011194Y0082900D01* 757 | X0012885Y0082200D01* 758 | X0020715Y0082200D01* 759 | X0022406Y0082900D01* 760 | X0023700Y0084194D01* 761 | X0024400Y0085885D01* 762 | X0024400Y0087715D01* 763 | X0023700Y0089406D01* 764 | X0024194Y0088212D02* 765 | X0041700Y0088212D01* 766 | X0041700Y0086614D02* 767 | X0024400Y0086614D01* 768 | X0024040Y0085015D02* 769 | X0041700Y0085015D01* 770 | X0042971Y0083417D02* 771 | X0022922Y0083417D01* 772 | X0022406Y0080700D02* 773 | X0020715Y0081400D01* 774 | X0012885Y0081400D01* 775 | X0011194Y0080700D01* 776 | X0009900Y0079406D01* 777 | X0009200Y0077715D01* 778 | X0009200Y0075885D01* 779 | X0009900Y0074194D01* 780 | X0011194Y0072900D01* 781 | X0012885Y0072200D01* 782 | X0020715Y0072200D01* 783 | X0022406Y0072900D01* 784 | X0023700Y0074194D01* 785 | X0024400Y0075885D01* 786 | X0024400Y0077715D01* 787 | X0023700Y0079406D01* 788 | X0022406Y0080700D01* 789 | X0022885Y0080220D02* 790 | X0033007Y0080220D01* 791 | X0031700Y0078912D02* 792 | X0031700Y0074688D01* 793 | X0034688Y0071700D01* 794 | X0038912Y0071700D01* 795 | X0041900Y0074688D01* 796 | X0041900Y0078912D01* 797 | X0038912Y0081900D01* 798 | X0034688Y0081900D01* 799 | X0031700Y0078912D01* 800 | X0031700Y0078621D02* 801 | X0024025Y0078621D01* 802 | X0024400Y0077023D02* 803 | X0031700Y0077023D01* 804 | X0031700Y0075424D02* 805 | X0024209Y0075424D01* 806 | X0023331Y0073826D02* 807 | X0032562Y0073826D01* 808 | X0034160Y0072227D02* 809 | X0020781Y0072227D01* 810 | X0020924Y0071482D02* 811 | X0020178Y0071600D01* 812 | X0017000Y0071600D01* 813 | X0017000Y0067000D01* 814 | X0016600Y0067000D01* 815 | X0016600Y0071600D01* 816 | X0013422Y0071600D01* 817 | X0012676Y0071482D01* 818 | X0011957Y0071248D01* 819 | X0011284Y0070905D01* 820 | X0010673Y0070461D01* 821 | X0010139Y0069927D01* 822 | X0009695Y0069316D01* 823 | X0009352Y0068643D01* 824 | X0009118Y0067924D01* 825 | X0009000Y0067178D01* 826 | X0009000Y0067000D01* 827 | X0016600Y0067000D01* 828 | X0016600Y0066600D01* 829 | X0017000Y0066600D01* 830 | X0017000Y0067000D01* 831 | X0024600Y0067000D01* 832 | X0024600Y0067178D01* 833 | X0024482Y0067924D01* 834 | X0024248Y0068643D01* 835 | X0023905Y0069316D01* 836 | X0023461Y0069927D01* 837 | X0022927Y0070461D01* 838 | X0022316Y0070905D01* 839 | X0021643Y0071248D01* 840 | X0020924Y0071482D01* 841 | X0022696Y0070629D02* 842 | X0043133Y0070629D01* 843 | X0041535Y0069030D02* 844 | X0024051Y0069030D01* 845 | X0024560Y0067432D02* 846 | X0041500Y0067432D01* 847 | X0041500Y0065833D02* 848 | X0024507Y0065833D01* 849 | X0024482Y0065676D02* 850 | X0024600Y0066422D01* 851 | X0024600Y0066600D01* 852 | X0017000Y0066600D01* 853 | X0017000Y0062000D01* 854 | X0020178Y0062000D01* 855 | X0020924Y0062118D01* 856 | X0021643Y0062352D01* 857 | X0022316Y0062695D01* 858 | X0022927Y0063139D01* 859 | X0023461Y0063673D01* 860 | X0023905Y0064284D01* 861 | X0024248Y0064957D01* 862 | X0024482Y0065676D01* 863 | X0023869Y0064235D02* 864 | X0041870Y0064235D01* 865 | X0043468Y0062636D02* 866 | X0022201Y0062636D01* 867 | X0017000Y0062636D02* 868 | X0016600Y0062636D01* 869 | X0016600Y0062000D02* 870 | X0016600Y0066600D01* 871 | X0009000Y0066600D01* 872 | X0009000Y0066422D01* 873 | X0009118Y0065676D01* 874 | X0009352Y0064957D01* 875 | X0009695Y0064284D01* 876 | X0010139Y0063673D01* 877 | X0010673Y0063139D01* 878 | X0011284Y0062695D01* 879 | X0011957Y0062352D01* 880 | X0012676Y0062118D01* 881 | X0013422Y0062000D01* 882 | X0016600Y0062000D01* 883 | X0016600Y0064235D02* 884 | X0017000Y0064235D01* 885 | X0017000Y0065833D02* 886 | X0016600Y0065833D01* 887 | X0016600Y0067432D02* 888 | X0017000Y0067432D01* 889 | X0017000Y0069030D02* 890 | X0016600Y0069030D01* 891 | X0016600Y0070629D02* 892 | X0017000Y0070629D01* 893 | X0012819Y0072227D02* 894 | X0006600Y0072227D01* 895 | X0006600Y0070629D02* 896 | X0010904Y0070629D01* 897 | X0009549Y0069030D02* 898 | X0006600Y0069030D01* 899 | X0006600Y0067432D02* 900 | X0009040Y0067432D01* 901 | X0009093Y0065833D02* 902 | X0006600Y0065833D01* 903 | X0006600Y0064235D02* 904 | X0009731Y0064235D01* 905 | X0011399Y0062636D02* 906 | X0006600Y0062636D01* 907 | X0006600Y0061038D02* 908 | X0050000Y0061038D01* 909 | X0050000Y0059439D02* 910 | X0006600Y0059439D01* 911 | X0006600Y0057841D02* 912 | X0050000Y0057841D01* 913 | X0050000Y0056242D02* 914 | X0006600Y0056242D01* 915 | X0006600Y0054644D02* 916 | X0013704Y0054644D01* 917 | X0012600Y0053540D02* 918 | X0012600Y0050060D01* 919 | X0015060Y0047600D01* 920 | X0018540Y0047600D01* 921 | X0021000Y0050060D01* 922 | X0021000Y0053540D01* 923 | X0018540Y0056000D01* 924 | X0015060Y0056000D01* 925 | X0012600Y0053540D01* 926 | X0012600Y0053045D02* 927 | X0006600Y0053045D01* 928 | X0006600Y0051447D02* 929 | X0012600Y0051447D01* 930 | X0012812Y0049848D02* 931 | X0006600Y0049848D01* 932 | X0006600Y0048250D02* 933 | X0014411Y0048250D01* 934 | X0019189Y0048250D02* 935 | X0024411Y0048250D01* 936 | X0025060Y0047600D02* 937 | X0028540Y0047600D01* 938 | X0031000Y0050060D01* 939 | X0031000Y0053540D01* 940 | X0028540Y0056000D01* 941 | X0025060Y0056000D01* 942 | X0022600Y0053540D01* 943 | X0022600Y0050060D01* 944 | X0025060Y0047600D01* 945 | X0022812Y0049848D02* 946 | X0020788Y0049848D01* 947 | X0021000Y0051447D02* 948 | X0022600Y0051447D01* 949 | X0022600Y0053045D02* 950 | X0021000Y0053045D01* 951 | X0019896Y0054644D02* 952 | X0023704Y0054644D01* 953 | X0029896Y0054644D02* 954 | X0050000Y0054644D01* 955 | X0050000Y0053045D02* 956 | X0031000Y0053045D01* 957 | X0031000Y0051447D02* 958 | X0050000Y0051447D01* 959 | X0050000Y0049848D02* 960 | X0044692Y0049848D01* 961 | X0043540Y0051000D02* 962 | X0040060Y0051000D01* 963 | X0037600Y0048540D01* 964 | X0037600Y0045060D01* 965 | X0040060Y0042600D01* 966 | X0043540Y0042600D01* 967 | X0046000Y0045060D01* 968 | X0046000Y0048540D01* 969 | X0043540Y0051000D01* 970 | X0046000Y0048250D02* 971 | X0050000Y0048250D01* 972 | X0050000Y0046651D02* 973 | X0046000Y0046651D01* 974 | X0045992Y0045053D02* 975 | X0050000Y0045053D01* 976 | X0050876Y0043454D02* 977 | X0044394Y0043454D01* 978 | X0043623Y0041200D02* 979 | X0041800Y0041200D01* 980 | X0041800Y0036800D01* 981 | X0041800Y0036800D01* 982 | X0046200Y0036800D01* 983 | X0046200Y0038623D01* 984 | X0043623Y0041200D01* 985 | X0044565Y0040257D02* 986 | X0054073Y0040257D01* 987 | X0052475Y0041856D02* 988 | X0006600Y0041856D01* 989 | X0006600Y0040257D02* 990 | X0039035Y0040257D01* 991 | X0039977Y0041200D02* 992 | X0037400Y0038623D01* 993 | X0037400Y0036800D01* 994 | X0041800Y0036800D01* 995 | X0041800Y0036800D01* 996 | X0041800Y0036800D01* 997 | X0041800Y0041200D01* 998 | X0039977Y0041200D01* 999 | X0041800Y0040257D02* 1000 | X0041800Y0040257D01* 1001 | X0041800Y0038659D02* 1002 | X0041800Y0038659D01* 1003 | X0041800Y0037060D02* 1004 | X0041800Y0037060D01* 1005 | X0041800Y0036800D02* 1006 | X0037400Y0036800D01* 1007 | X0037400Y0034977D01* 1008 | X0039977Y0032400D01* 1009 | X0041800Y0032400D01* 1010 | X0043623Y0032400D01* 1011 | X0046200Y0034977D01* 1012 | X0046200Y0036800D01* 1013 | X0041800Y0036800D01* 1014 | X0041800Y0032400D01* 1015 | X0041800Y0036800D01* 1016 | X0041800Y0036800D01* 1017 | X0041800Y0035462D02* 1018 | X0041800Y0035462D01* 1019 | X0041800Y0033863D02* 1020 | X0041800Y0033863D01* 1021 | X0045086Y0033863D02* 1022 | X0059000Y0033863D01* 1023 | X0058869Y0035462D02* 1024 | X0046200Y0035462D01* 1025 | X0046200Y0037060D02* 1026 | X0057270Y0037060D01* 1027 | X0055672Y0038659D02* 1028 | X0046164Y0038659D01* 1029 | X0039206Y0043454D02* 1030 | X0006600Y0043454D01* 1031 | X0006600Y0045053D02* 1032 | X0037608Y0045053D01* 1033 | X0037600Y0046651D02* 1034 | X0006600Y0046651D01* 1035 | X0006600Y0038659D02* 1036 | X0037436Y0038659D01* 1037 | X0037400Y0037060D02* 1038 | X0006600Y0037060D01* 1039 | X0006600Y0035462D02* 1040 | X0037400Y0035462D01* 1041 | X0038514Y0033863D02* 1042 | X0006600Y0033863D01* 1043 | X0006600Y0032265D02* 1044 | X0059000Y0032265D01* 1045 | X0059000Y0030666D02* 1046 | X0044156Y0030666D01* 1047 | X0043623Y0031200D02* 1048 | X0041800Y0031200D01* 1049 | X0041800Y0026800D01* 1050 | X0041800Y0026800D01* 1051 | X0046200Y0026800D01* 1052 | X0046200Y0028623D01* 1053 | X0043623Y0031200D01* 1054 | X0041800Y0031200D02* 1055 | X0039977Y0031200D01* 1056 | X0037400Y0028623D01* 1057 | X0037400Y0026800D01* 1058 | X0041800Y0026800D01* 1059 | X0041800Y0026800D01* 1060 | X0041800Y0026800D01* 1061 | X0041800Y0031200D01* 1062 | X0041800Y0030666D02* 1063 | X0041800Y0030666D01* 1064 | X0041800Y0029068D02* 1065 | X0041800Y0029068D01* 1066 | X0041800Y0027469D02* 1067 | X0041800Y0027469D01* 1068 | X0041800Y0026800D02* 1069 | X0037400Y0026800D01* 1070 | X0037400Y0024977D01* 1071 | X0039977Y0022400D01* 1072 | X0041800Y0022400D01* 1073 | X0043623Y0022400D01* 1074 | X0046200Y0024977D01* 1075 | X0046200Y0026800D01* 1076 | X0041800Y0026800D01* 1077 | X0041800Y0022400D01* 1078 | X0041800Y0026800D01* 1079 | X0041800Y0026800D01* 1080 | X0041800Y0025870D02* 1081 | X0041800Y0025870D01* 1082 | X0041800Y0024272D02* 1083 | X0041800Y0024272D01* 1084 | X0041800Y0022673D02* 1085 | X0041800Y0022673D01* 1086 | X0043896Y0022673D02* 1087 | X0057050Y0022673D01* 1088 | X0057050Y0021075D02* 1089 | X0006600Y0021075D01* 1090 | X0006600Y0022673D02* 1091 | X0039704Y0022673D01* 1092 | X0040060Y0021000D02* 1093 | X0037600Y0018540D01* 1094 | X0037600Y0015060D01* 1095 | X0040060Y0012600D01* 1096 | X0043540Y0012600D01* 1097 | X0046000Y0015060D01* 1098 | X0046000Y0018540D01* 1099 | X0043540Y0021000D01* 1100 | X0040060Y0021000D01* 1101 | X0038537Y0019476D02* 1102 | X0006600Y0019476D01* 1103 | X0006600Y0017878D02* 1104 | X0037600Y0017878D01* 1105 | X0037600Y0016279D02* 1106 | X0006600Y0016279D01* 1107 | X0006600Y0014681D02* 1108 | X0013741Y0014681D01* 1109 | X0012600Y0013540D02* 1110 | X0012600Y0010060D01* 1111 | X0015060Y0007600D01* 1112 | X0018540Y0007600D01* 1113 | X0021000Y0010060D01* 1114 | X0021000Y0013540D01* 1115 | X0018540Y0016000D01* 1116 | X0015060Y0016000D01* 1117 | X0012600Y0013540D01* 1118 | X0012600Y0013082D02* 1119 | X0006600Y0013082D01* 1120 | X0006600Y0011484D02* 1121 | X0012600Y0011484D01* 1122 | X0012775Y0009885D02* 1123 | X0006600Y0009885D01* 1124 | X0006600Y0008287D02* 1125 | X0014373Y0008287D01* 1126 | X0019227Y0008287D02* 1127 | X0024373Y0008287D01* 1128 | X0025060Y0007600D02* 1129 | X0028540Y0007600D01* 1130 | X0031000Y0010060D01* 1131 | X0031000Y0013540D01* 1132 | X0028540Y0016000D01* 1133 | X0025060Y0016000D01* 1134 | X0022600Y0013540D01* 1135 | X0022600Y0010060D01* 1136 | X0025060Y0007600D01* 1137 | X0022775Y0009885D02* 1138 | X0020825Y0009885D01* 1139 | X0021000Y0011484D02* 1140 | X0022600Y0011484D01* 1141 | X0022600Y0013082D02* 1142 | X0021000Y0013082D01* 1143 | X0019859Y0014681D02* 1144 | X0023741Y0014681D01* 1145 | X0029859Y0014681D02* 1146 | X0037979Y0014681D01* 1147 | X0039578Y0013082D02* 1148 | X0031000Y0013082D01* 1149 | X0031000Y0011484D02* 1150 | X0135701Y0011484D01* 1151 | X0135701Y0009885D02* 1152 | X0030825Y0009885D01* 1153 | X0029227Y0008287D02* 1154 | X0135701Y0008287D01* 1155 | X0135701Y0006688D02* 1156 | X0006600Y0006688D01* 1157 | X0006600Y0006600D02* 1158 | X0006600Y0101961D01* 1159 | X0135701Y0101961D01* 1160 | X0135701Y0006600D01* 1161 | X0006600Y0006600D01* 1162 | X0006600Y0024272D02* 1163 | X0038105Y0024272D01* 1164 | X0037400Y0025870D02* 1165 | X0006600Y0025870D01* 1166 | X0006600Y0027469D02* 1167 | X0037400Y0027469D01* 1168 | X0037845Y0029068D02* 1169 | X0006600Y0029068D01* 1170 | X0006600Y0030666D02* 1171 | X0039443Y0030666D01* 1172 | X0045755Y0029068D02* 1173 | X0059000Y0029068D01* 1174 | X0059000Y0027469D02* 1175 | X0046200Y0027469D01* 1176 | X0046200Y0025870D02* 1177 | X0059000Y0025870D01* 1178 | X0057683Y0024272D02* 1179 | X0045495Y0024272D01* 1180 | X0045063Y0019476D02* 1181 | X0057621Y0019476D01* 1182 | X0059005Y0017878D02* 1183 | X0046000Y0017878D01* 1184 | X0046000Y0016279D02* 1185 | X0135701Y0016279D01* 1186 | X0135701Y0014681D02* 1187 | X0045621Y0014681D01* 1188 | X0044022Y0013082D02* 1189 | X0135701Y0013082D01* 1190 | X0135701Y0017878D02* 1191 | X0119100Y0017878D01* 1192 | X0118623Y0017400D02* 1193 | X0121200Y0019977D01* 1194 | X0121200Y0021800D01* 1195 | X0121200Y0023623D01* 1196 | X0118623Y0026200D01* 1197 | X0116800Y0026200D01* 1198 | X0116800Y0021800D01* 1199 | X0121200Y0021800D01* 1200 | X0116800Y0021800D01* 1201 | X0116800Y0021800D01* 1202 | X0116800Y0021800D01* 1203 | X0116800Y0017400D01* 1204 | X0118623Y0017400D01* 1205 | X0116800Y0017400D02* 1206 | X0116800Y0021800D01* 1207 | X0116800Y0021800D01* 1208 | X0116800Y0021800D01* 1209 | X0112400Y0021800D01* 1210 | X0112400Y0023623D01* 1211 | X0114977Y0026200D01* 1212 | X0116800Y0026200D01* 1213 | X0116800Y0021800D01* 1214 | X0112400Y0021800D01* 1215 | X0112400Y0019977D01* 1216 | X0114977Y0017400D01* 1217 | X0116800Y0017400D01* 1218 | X0116800Y0017878D02* 1219 | X0116800Y0017878D01* 1220 | X0116800Y0019476D02* 1221 | X0116800Y0019476D01* 1222 | X0116800Y0021075D02* 1223 | X0116800Y0021075D01* 1224 | X0116800Y0022673D02* 1225 | X0116800Y0022673D01* 1226 | X0116800Y0024272D02* 1227 | X0116800Y0024272D01* 1228 | X0116800Y0025870D02* 1229 | X0116800Y0025870D01* 1230 | X0118952Y0025870D02* 1231 | X0135701Y0025870D01* 1232 | X0135701Y0024272D02* 1233 | X0120551Y0024272D01* 1234 | X0121200Y0022673D02* 1235 | X0135701Y0022673D01* 1236 | X0135701Y0021075D02* 1237 | X0121200Y0021075D01* 1238 | X0120699Y0019476D02* 1239 | X0135701Y0019476D01* 1240 | X0135701Y0027469D02* 1241 | X0063200Y0027469D01* 1242 | X0063200Y0029068D02* 1243 | X0083593Y0029068D01* 1244 | X0082600Y0030060D02* 1245 | X0085060Y0027600D01* 1246 | X0088540Y0027600D01* 1247 | X0091000Y0030060D01* 1248 | X0091000Y0033540D01* 1249 | X0088540Y0036000D01* 1250 | X0085060Y0036000D01* 1251 | X0082600Y0033540D01* 1252 | X0082600Y0030060D01* 1253 | X0082600Y0030666D02* 1254 | X0063200Y0030666D01* 1255 | X0063200Y0032265D02* 1256 | X0082600Y0032265D01* 1257 | X0082923Y0033863D02* 1258 | X0063200Y0033863D01* 1259 | X0063200Y0035462D02* 1260 | X0084522Y0035462D01* 1261 | X0089002Y0038659D02* 1262 | X0064881Y0038659D01* 1263 | X0063200Y0037060D02* 1264 | X0135701Y0037060D01* 1265 | X0135701Y0038659D02* 1266 | X0094598Y0038659D01* 1267 | X0095707Y0040257D02* 1268 | X0135701Y0040257D01* 1269 | X0135701Y0035462D02* 1270 | X0129078Y0035462D01* 1271 | X0128540Y0036000D02* 1272 | X0125060Y0036000D01* 1273 | X0122600Y0033540D01* 1274 | X0122600Y0030060D01* 1275 | X0125060Y0027600D01* 1276 | X0128540Y0027600D01* 1277 | X0131000Y0030060D01* 1278 | X0131000Y0033540D01* 1279 | X0128540Y0036000D01* 1280 | X0130677Y0033863D02* 1281 | X0135701Y0033863D01* 1282 | X0135701Y0032265D02* 1283 | X0131000Y0032265D01* 1284 | X0131000Y0030666D02* 1285 | X0135701Y0030666D01* 1286 | X0135701Y0029068D02* 1287 | X0130007Y0029068D01* 1288 | X0123593Y0029068D02* 1289 | X0090007Y0029068D01* 1290 | X0091000Y0030666D02* 1291 | X0122600Y0030666D01* 1292 | X0122600Y0032265D02* 1293 | X0091000Y0032265D01* 1294 | X0090677Y0033863D02* 1295 | X0122923Y0033863D01* 1296 | X0124522Y0035462D02* 1297 | X0089078Y0035462D01* 1298 | X0087893Y0040257D02* 1299 | X0065925Y0040257D01* 1300 | X0066200Y0041856D02* 1301 | X0087600Y0041856D01* 1302 | X0087939Y0043454D02* 1303 | X0065889Y0043454D01* 1304 | X0064770Y0045053D02* 1305 | X0089113Y0045053D01* 1306 | X0089411Y0048250D02* 1307 | X0064189Y0048250D01* 1308 | X0065538Y0049848D02* 1309 | X0088062Y0049848D01* 1310 | X0087600Y0051447D02* 1311 | X0066000Y0051447D01* 1312 | X0065830Y0053045D02* 1313 | X0087770Y0053045D01* 1314 | X0088704Y0054644D02* 1315 | X0064896Y0054644D01* 1316 | X0059879Y0057841D02* 1317 | X0054200Y0057841D01* 1318 | X0054200Y0059439D02* 1319 | X0058077Y0059439D01* 1320 | X0057466Y0061038D02* 1321 | X0054200Y0061038D01* 1322 | X0054200Y0062636D02* 1323 | X0057478Y0062636D01* 1324 | X0058130Y0064235D02* 1325 | X0054200Y0064235D01* 1326 | X0054200Y0065833D02* 1327 | X0060024Y0065833D01* 1328 | X0058630Y0069030D02* 1329 | X0054200Y0069030D01* 1330 | X0054200Y0067432D02* 1331 | X0104933Y0067432D01* 1332 | X0078670Y0088212D02* 1333 | X0074930Y0088212D01* 1334 | X0076117Y0089811D02* 1335 | X0077072Y0089811D01* 1336 | X0077050Y0091409D02* 1337 | X0076550Y0091409D01* 1338 | X0076441Y0093008D02* 1339 | X0077050Y0093008D01* 1340 | X0077889Y0094606D02* 1341 | X0075711Y0094606D01* 1342 | X0067050Y0091409D02* 1343 | X0049403Y0091409D01* 1344 | X0051002Y0089811D02* 1345 | X0067483Y0089811D01* 1346 | X0068670Y0088212D02* 1347 | X0051900Y0088212D01* 1348 | X0049412Y0081818D02* 1349 | X0049031Y0081818D01* 1350 | X0050000Y0080220D02* 1351 | X0040593Y0080220D01* 1352 | X0041900Y0078621D02* 1353 | X0050000Y0078621D01* 1354 | X0050000Y0077023D02* 1355 | X0041900Y0077023D01* 1356 | X0041900Y0075424D02* 1357 | X0050000Y0075424D01* 1358 | X0050000Y0073826D02* 1359 | X0041038Y0073826D01* 1360 | X0039440Y0072227D02* 1361 | X0050000Y0072227D01* 1362 | X0047000Y0070629D02* 1363 | X0046600Y0070629D01* 1364 | X0046600Y0069030D02* 1365 | X0047000Y0069030D01* 1366 | X0047000Y0067432D02* 1367 | X0046600Y0067432D01* 1368 | X0046600Y0065833D02* 1369 | X0047000Y0065833D01* 1370 | X0047000Y0064235D02* 1371 | X0046600Y0064235D01* 1372 | X0046600Y0062636D02* 1373 | X0047000Y0062636D01* 1374 | X0054200Y0070629D02* 1375 | X0057739Y0070629D01* 1376 | X0057600Y0072227D02* 1377 | X0054200Y0072227D01* 1378 | X0054200Y0073826D02* 1379 | X0058093Y0073826D01* 1380 | X0044569Y0081818D02* 1381 | X0038994Y0081818D01* 1382 | X0034606Y0081818D02* 1383 | X0006600Y0081818D01* 1384 | X0006600Y0083417D02* 1385 | X0010678Y0083417D01* 1386 | X0009560Y0085015D02* 1387 | X0006600Y0085015D01* 1388 | X0006600Y0086614D02* 1389 | X0009200Y0086614D01* 1390 | X0009406Y0088212D02* 1391 | X0006600Y0088212D01* 1392 | X0006600Y0089811D02* 1393 | X0010306Y0089811D01* 1394 | X0006600Y0097803D02* 1395 | X0135701Y0097803D01* 1396 | X0135701Y0099402D02* 1397 | X0006600Y0099402D01* 1398 | X0006600Y0101001D02* 1399 | X0135701Y0101001D01* 1400 | X0061800Y0045053D02* 1401 | X0061800Y0045053D01* 1402 | X0061800Y0043454D02* 1403 | X0061800Y0043454D01* 1404 | X0061800Y0041856D02* 1405 | X0061800Y0041856D01* 1406 | X0057711Y0043454D02* 1407 | X0056816Y0043454D01* 1408 | X0038908Y0049848D02* 1409 | X0030788Y0049848D01* 1410 | X0029189Y0048250D02* 1411 | X0037600Y0048250D01* 1412 | X0064385Y0025870D02* 1413 | X0069153Y0025870D01* 1414 | X0069832Y0026550D02* 1415 | X0067050Y0023768D01* 1416 | X0067050Y0019832D01* 1417 | X0069832Y0017050D01* 1418 | X0073768Y0017050D01* 1419 | X0076550Y0019832D01* 1420 | X0076550Y0023768D01* 1421 | X0073768Y0026550D01* 1422 | X0069832Y0026550D01* 1423 | X0067554Y0024272D02* 1424 | X0065917Y0024272D01* 1425 | X0066550Y0022673D02* 1426 | X0067050Y0022673D01* 1427 | X0067050Y0021075D02* 1428 | X0066550Y0021075D01* 1429 | X0065979Y0019476D02* 1430 | X0067406Y0019476D01* 1431 | X0069005Y0017878D02* 1432 | X0064595Y0017878D01* 1433 | X0074595Y0017878D02* 1434 | X0094782Y0017878D01* 1435 | X0095060Y0017600D02* 1436 | X0098540Y0017600D01* 1437 | X0101000Y0020060D01* 1438 | X0101000Y0023540D01* 1439 | X0098540Y0026000D01* 1440 | X0095060Y0026000D01* 1441 | X0092600Y0023540D01* 1442 | X0092600Y0020060D01* 1443 | X0095060Y0017600D01* 1444 | X0093184Y0019476D02* 1445 | X0076194Y0019476D01* 1446 | X0076550Y0021075D02* 1447 | X0092600Y0021075D01* 1448 | X0092600Y0022673D02* 1449 | X0076550Y0022673D01* 1450 | X0076046Y0024272D02* 1451 | X0093332Y0024272D01* 1452 | X0094931Y0025870D02* 1453 | X0074447Y0025870D01* 1454 | X0098669Y0025870D02* 1455 | X0114648Y0025870D01* 1456 | X0113049Y0024272D02* 1457 | X0100268Y0024272D01* 1458 | X0101000Y0022673D02* 1459 | X0112400Y0022673D01* 1460 | X0112400Y0021075D02* 1461 | X0101000Y0021075D01* 1462 | X0100416Y0019476D02* 1463 | X0112901Y0019476D01* 1464 | X0114500Y0017878D02* 1465 | X0098818Y0017878D01* 1466 | X0010269Y0073826D02* 1467 | X0006600Y0073826D01* 1468 | X0006600Y0075424D02* 1469 | X0009391Y0075424D01* 1470 | X0009200Y0077023D02* 1471 | X0006600Y0077023D01* 1472 | X0006600Y0078621D02* 1473 | X0009575Y0078621D01* 1474 | X0010714Y0080220D02* 1475 | X0006600Y0080220D01* 1476 | M02* 1477 | -------------------------------------------------------------------------------- /english.h: -------------------------------------------------------------------------------- 1 | #ifndef _ENGLISH_H_ 2 | #define _ENGLISH_H_ 3 | 4 | typedef struct Vocab { 5 | const char *txt; 6 | const char *phoneme; 7 | } VOCAB; 8 | 9 | typedef struct Phoneme { 10 | const char *txt; 11 | const char *phoneme; 12 | uint8_t attenuate; 13 | } PHONEME; 14 | 15 | typedef struct strSoundIndex{ 16 | uint8_t SoundNumber; 17 | int8_t byte1; 18 | uint8_t byte2; 19 | } SOUND_INDEX; 20 | 21 | /* 22 | * vocabulary and phonemes for English 23 | */ 24 | 25 | static const char v1a[] PROGMEM="OUS_"; 26 | static const char v1b[] PROGMEM="/U5S"; 27 | 28 | static const char v2a[] PROGMEM="I#Y"; 29 | static const char v2b[] PROGMEM="IY#EE"; 30 | 31 | static const char v3a[] PROGMEM=" #ERE"; 32 | static const char v3b[] PROGMEM=" #EE5ER"; 33 | 34 | static const char v4a[] PROGMEM="GTH_"; 35 | static const char v4b[] PROGMEM="TH"; 36 | 37 | static const char v5a[] PROGMEM="NGER"; 38 | static const char v5b[] PROGMEM="NXGER"; 39 | 40 | static const char v6a[] PROGMEM="AGE_"; 41 | static const char v6b[] PROGMEM="AYJ"; 42 | 43 | static const char v7a[] PROGMEM="BBC"; 44 | static const char v7b[] PROGMEM="BEE5%%BEESEE"; 45 | 46 | static const char v8a[] PROGMEM="MICRO"; 47 | static const char v8b[] PROGMEM="MIY5KROW"; 48 | 49 | static const char v9a[] PROGMEM="O#U"; 50 | static const char v9b[] PROGMEM="OW5#"; 51 | 52 | static const char v10a[] PROGMEM="AUGH"; 53 | static const char v10b[] PROGMEM="AA5F"; 54 | 55 | static const char v11a[] PROGMEM="KN"; 56 | static const char v11b[] PROGMEM="N"; 57 | 58 | static const char v12a[] PROGMEM="#EY_"; 59 | static const char v12b[] PROGMEM="#EEY"; 60 | 61 | static const char v13a[] PROGMEM=" OUGHT"; 62 | static const char v13b[] PROGMEM="AO4T"; 63 | 64 | static const char v14a[] PROGMEM="XC"; 65 | static const char v14b[] PROGMEM="KS"; 66 | 67 | static const char v15a[] PROGMEM="YS"; 68 | static const char v15b[] PROGMEM="IH4S"; 69 | 70 | static const char v16a[] PROGMEM=" #OUGH_"; 71 | static const char v16b[] PROGMEM=" #AHF"; 72 | 73 | static const char v17a[] PROGMEM="ERY_"; 74 | static const char v17b[] PROGMEM="EH4REE"; 75 | 76 | static const char v18a[] PROGMEM="OUGH_"; 77 | static const char v18b[] PROGMEM="OH5W"; 78 | 79 | static const char v19a[] PROGMEM=" SCI"; 80 | static const char v19b[] PROGMEM=" SIY"; 81 | 82 | static const char v20a[] PROGMEM="CHN"; 83 | static const char v20b[] PROGMEM="KN"; 84 | 85 | static const char v21a[] PROGMEM="OGY"; 86 | static const char v21b[] PROGMEM="OJEE"; 87 | 88 | static const char v22a[] PROGMEM="IRO"; 89 | static const char v22b[] PROGMEM="IYRO"; 90 | 91 | static const char v23a[] PROGMEM="SUPERIOR"; 92 | static const char v23b[] PROGMEM="SUX4PEE5RIHAOR"; 93 | 94 | static const char v24a[] PROGMEM="CI"; 95 | static const char v24b[] PROGMEM="SIH"; 96 | 97 | static const char v25a[] PROGMEM="TCH"; 98 | static const char v25b[] PROGMEM="CH"; 99 | 100 | static const char v26a[] PROGMEM="GHOTI"; 101 | static const char v26b[] PROGMEM="FIH4SH"; 102 | 103 | static const char v27a[] PROGMEM="UE_"; 104 | static const char v27b[] PROGMEM="UW6"; 105 | 106 | static const char v28a[] PROGMEM=" YES_"; 107 | static const char v28b[] PROGMEM=" YEH5S"; 108 | 109 | static const char v29a[] PROGMEM="GUE_"; 110 | static const char v29b[] PROGMEM="G"; 111 | 112 | static const char v30a[] PROGMEM="URE_"; 113 | static const char v30b[] PROGMEM="UH5R"; 114 | 115 | static const char v31a[] PROGMEM="UY"; 116 | static const char v31b[] PROGMEM="IY5"; 117 | 118 | static const char v32a[] PROGMEM="OUGH"; 119 | static const char v32b[] PROGMEM="AH"; 120 | 121 | static const char v33a[] PROGMEM=" #IE"; 122 | static const char v33b[] PROGMEM=" #IY"; 123 | 124 | static const char v34a[] PROGMEM="OLE_"; 125 | static const char v34b[] PROGMEM="OW4L"; 126 | 127 | static const char v35a[] PROGMEM=" ABLE"; 128 | static const char v35b[] PROGMEM=" AY5BL"; 129 | 130 | static const char v36[] PROGMEM="IY"; 131 | 132 | static const char v37a[] PROGMEM="AIGH"; 133 | static const char v37b[] PROGMEM="AY"; 134 | 135 | static const char v38a[] PROGMEM="ABLE"; 136 | static const char v38b[] PROGMEM="AHB/UL"; 137 | 138 | static const char v39a[] PROGMEM="CHR"; 139 | static const char v39b[] PROGMEM="KR"; 140 | 141 | static const char v40a[] PROGMEM="ITLE"; 142 | static const char v40b[] PROGMEM="IYT/UL"; 143 | 144 | static const char v41a[] PROGMEM="A#I"; 145 | static const char v41b[] PROGMEM="AY5#"; 146 | 147 | static const char v42a[] PROGMEM="SHALL"; 148 | static const char v42b[] PROGMEM="SHAEL"; 149 | 150 | static const char v43a[] PROGMEM="ARE"; 151 | static const char v43b[] PROGMEM="AI5R"; 152 | 153 | static const char v44a[] PROGMEM="A_"; 154 | static const char v44b[] PROGMEM="AH"; 155 | 156 | static const char v45a[] PROGMEM="OE"; 157 | static const char v45b[] PROGMEM="OW5"; 158 | 159 | static const char v46a[] PROGMEM="ANGE_"; 160 | static const char v46b[] PROGMEM="AY4NJ"; 161 | 162 | static const char v47a[] PROGMEM="ANGE"; 163 | static const char v47b[] PROGMEM="AY4NJ/U"; 164 | 165 | static const char v48[] PROGMEM="/U"; 166 | 167 | static const char v49a[] PROGMEM=" GET"; 168 | static const char v49b[] PROGMEM=" GEHT"; 169 | 170 | static const char v50a[] PROGMEM="IED"; 171 | static const char v50b[] PROGMEM="AY5D"; 172 | 173 | static const char v51a[] PROGMEM="ALLY"; 174 | static const char v51b[] PROGMEM="AE4LEE"; 175 | 176 | static const char v52a[] PROGMEM="A#A"; 177 | static const char v52b[] PROGMEM="AY#"; 178 | 179 | static const char v53a[] PROGMEM="REAT"; 180 | static const char v53b[] PROGMEM="RAY5T"; 181 | 182 | static const char v54a[] PROGMEM="COME_"; 183 | static const char v54b[] PROGMEM="KAHM"; 184 | 185 | static const char v55a[] PROGMEM="OULD_"; 186 | static const char v55b[] PROGMEM="UH5D"; 187 | 188 | static const char v56a[] PROGMEM=" ANY"; 189 | static const char v56b[] PROGMEM=" EH4NEE"; 190 | 191 | static const char v57a[] PROGMEM="O#O"; 192 | static const char v57b[] PROGMEM="OW4#"; 193 | 194 | static const char v58a[] PROGMEM="O#A"; 195 | static const char v58b[] PROGMEM="OW4#"; 196 | 197 | static const char v59a[] PROGMEM="A#E"; 198 | static const char v59b[] PROGMEM="AY6#"; 199 | 200 | static const char v60a[] PROGMEM="I#E"; 201 | static const char v60b[] PROGMEM="IY5#"; 202 | 203 | static const char v61a[] PROGMEM="A#O"; 204 | static const char v61b[] PROGMEM="AY#"; 205 | 206 | static const char v62a[] PROGMEM="O#E"; 207 | static const char v62b[] PROGMEM="OW5#"; 208 | 209 | static const char v63a[] PROGMEM="U#E"; 210 | static const char v63b[] PROGMEM="IHUW5#"; 211 | 212 | static const char v64a[] PROGMEM="U#A"; 213 | static const char v64b[] PROGMEM="UXW#"; 214 | 215 | static const char v65a[] PROGMEM="TU#E"; 216 | static const char v65b[] PROGMEM="CHUW#"; 217 | 218 | static const char v66a[] PROGMEM=" U#E"; 219 | static const char v66b[] PROGMEM=" YUXW#"; 220 | 221 | static const char v67a[] PROGMEM="IE"; 222 | static const char v67b[] PROGMEM="EE"; 223 | 224 | static const char v68a[] PROGMEM="U#I"; 225 | static const char v68b[] PROGMEM="YUXW#"; 226 | 227 | static const char v69a[] PROGMEM="OOK"; 228 | static const char v69b[] PROGMEM="UH5K"; 229 | 230 | static const char v70a[] PROGMEM="COW"; 231 | static const char v70b[] PROGMEM="KAW"; 232 | 233 | static const char v71a[] PROGMEM="NGS_"; 234 | static const char v71b[] PROGMEM="NXZ"; 235 | 236 | static const char v72a[] PROGMEM="STION"; 237 | static const char v72b[] PROGMEM="S%CH/UN"; 238 | 239 | static const char v73a[] PROGMEM="GOO"; 240 | static const char v73b[] PROGMEM="GUH4"; 241 | 242 | static const char v74a[] PROGMEM="HOW"; 243 | static const char v74b[] PROGMEM="/HAW4"; 244 | 245 | static const char v75a[] PROGMEM="NOW"; 246 | static const char v75b[] PROGMEM="NAW"; 247 | 248 | static const char v76a[] PROGMEM="POW"; 249 | static const char v76b[] PROGMEM="PAW5"; 250 | 251 | static const char v77a[] PROGMEM="ERR"; 252 | static const char v77b[] PROGMEM="EH4R"; 253 | 254 | static const char v78a[] PROGMEM="DOW"; 255 | static const char v78b[] PROGMEM="DAW4"; 256 | 257 | static const char v79a[] PROGMEM="SES_"; 258 | static const char v79b[] PROGMEM="SIXZ"; 259 | 260 | static const char v80a[] PROGMEM="PROG"; 261 | static const char v80b[] PROGMEM="PROW4G"; 262 | 263 | static const char v81a[] PROGMEM="NGE"; 264 | static const char v81b[] PROGMEM="NJ"; 265 | 266 | static const char v82a[] PROGMEM="DO_"; 267 | static const char v82b[] PROGMEM="DUH4W"; 268 | 269 | static const char v83a[] PROGMEM="OU"; 270 | static const char v83b[] PROGMEM="AE4UX"; 271 | 272 | static const char v84a[] PROGMEM=" OUR"; 273 | static const char v84b[] PROGMEM=" AW5R"; 274 | 275 | static const char v85a[] PROGMEM="OUR"; 276 | static const char v85b[] PROGMEM="AO5R"; 277 | 278 | static const char v86a[] PROGMEM=" ONE"; 279 | static const char v86b[] PROGMEM=" WO4N"; 280 | 281 | static const char v87a[] PROGMEM="AU"; 282 | static const char v87b[] PROGMEM="AO5"; 283 | 284 | static const char v88a[] PROGMEM="OIC"; 285 | static const char v88b[] PROGMEM="OYS"; 286 | 287 | static const char v89a[] PROGMEM="O_"; 288 | static const char v89b[] PROGMEM="OW"; 289 | 290 | static const char v90a[] PROGMEM="AVI"; 291 | static const char v90b[] PROGMEM="AY4VIX"; 292 | 293 | static const char v91a[] PROGMEM="ES_"; 294 | static const char v91b[] PROGMEM="S"; 295 | 296 | static const char v92a[] PROGMEM="ULL"; 297 | static const char v92b[] PROGMEM="UH5L"; 298 | 299 | static const char v93[] PROGMEM="UH"; 300 | 301 | static const char v94a[] PROGMEM="FOOT"; 302 | static const char v94b[] PROGMEM="FUH4T"; 303 | 304 | static const char v95a[] PROGMEM="UL_"; 305 | static const char v95b[] PROGMEM="/UL"; 306 | 307 | static const char v96a[] PROGMEM="EFUL_"; 308 | static const char v96b[] PROGMEM="F/UL"; 309 | 310 | static const char v97a[] PROGMEM="EASE_"; 311 | static const char v97b[] PROGMEM="EEZ"; 312 | 313 | static const char v98a[] PROGMEM="DG"; 314 | static const char v98b[] PROGMEM="J"; 315 | 316 | static const char v99a[] PROGMEM="OA"; 317 | static const char v99b[] PROGMEM="OH5W"; 318 | 319 | static const char v100a[] PROGMEM="GEN"; 320 | static const char v100b[] PROGMEM="JEH5N"; 321 | 322 | static const char v101a[] PROGMEM="LE_"; 323 | static const char v101b[] PROGMEM="/UL"; 324 | 325 | static const char v102a[] PROGMEM="YPE"; 326 | static const char v102b[] PROGMEM="IY4P"; 327 | 328 | static const char v103a[] PROGMEM="TLE"; 329 | static const char v103b[] PROGMEM="TL"; 330 | 331 | static const char v104a[] PROGMEM="IGI"; 332 | static const char v104b[] PROGMEM="IX4JIH"; 333 | 334 | static const char v105a[] PROGMEM="WHO"; 335 | static const char v105b[] PROGMEM="/HUHW"; 336 | 337 | static const char v106a[] PROGMEM="NION"; 338 | static const char v106b[] PROGMEM="NIX/UN"; 339 | 340 | static const char v107a[] PROGMEM="WAS_"; 341 | static const char v107b[] PROGMEM="WOZ"; 342 | 343 | static const char v108a[] PROGMEM="ORE_"; 344 | static const char v108b[] PROGMEM="AO4R"; 345 | 346 | static const char v109a[] PROGMEM=" TO_"; 347 | static const char v109b[] PROGMEM=" TUX5"; 348 | 349 | static const char v110a[] PROGMEM="ALK"; 350 | static const char v110b[] PROGMEM="AORK"; 351 | 352 | static const char v111a[] PROGMEM=" BE_"; 353 | static const char v111b[] PROGMEM="BEE5"; 354 | 355 | static const char v112a[] PROGMEM="TIO"; 356 | static const char v112b[] PROGMEM="SHAH"; 357 | 358 | static const char v113a[] PROGMEM="YE_"; 359 | static const char v113b[] PROGMEM="IY"; 360 | 361 | static const char v114a[] PROGMEM="AR"; 362 | static const char v114b[] PROGMEM="AA5"; 363 | 364 | static const char v115a[] PROGMEM="AF"; 365 | static const char v115b[] PROGMEM="AA4F"; 366 | 367 | static const char v116a[] PROGMEM="AST"; 368 | static const char v116b[] PROGMEM="AA6ST"; 369 | 370 | static const char v117a[] PROGMEM="E_"; 371 | static const char v117b[] PROGMEM="%"; 372 | 373 | static const char v118a[] PROGMEM="GHO"; 374 | static const char v118b[] PROGMEM="GOH4W"; 375 | 376 | static const char v119a[] PROGMEM="AZY"; 377 | static const char v119b[] PROGMEM="AY5ZEE"; 378 | 379 | static const char v120a[] PROGMEM="WHA"; 380 | static const char v120b[] PROGMEM="WO5"; 381 | 382 | static const char v121a[] PROGMEM="WAT"; 383 | static const char v121b[] PROGMEM="WAO6T"; 384 | 385 | static const char v122a[] PROGMEM="ALL"; 386 | static const char v122b[] PROGMEM="AO4L"; 387 | 388 | static const char v123a[] PROGMEM=" OF_"; 389 | static const char v123b[] PROGMEM=" O5V"; 390 | 391 | static const char v124a[] PROGMEM="SS"; 392 | static const char v124b[] PROGMEM="S"; 393 | 394 | static const char v125a[] PROGMEM="FF"; 395 | static const char v125b[] PROGMEM="F"; 396 | 397 | static const char v126a[] PROGMEM="CE_"; 398 | static const char v126b[] PROGMEM="S"; 399 | 400 | static const char v127a[] PROGMEM="CE"; 401 | static const char v127b[] PROGMEM="SEH4"; 402 | 403 | static const char v128a[] PROGMEM="TIA"; 404 | static const char v128b[] PROGMEM="SHIX/U"; 405 | 406 | static const char v129a[] PROGMEM=" A_"; 407 | static const char v129b[] PROGMEM=" AY"; 408 | 409 | static const char v130a[] PROGMEM="MB_"; 410 | static const char v130b[] PROGMEM="M"; 411 | 412 | static const char v131a[] PROGMEM="A#Y"; 413 | static const char v131b[] PROGMEM="AIIX#EE"; 414 | 415 | static const char v132a[] PROGMEM="THE_"; 416 | static const char v132b[] PROGMEM="DH/U%"; 417 | 418 | static const char v133a[] PROGMEM=" ARE_"; 419 | static const char v133b[] PROGMEM=" AA5R"; 420 | 421 | static const char v134a[] PROGMEM="Y_"; 422 | static const char v134b[] PROGMEM="EE"; 423 | 424 | static const char v135a[] PROGMEM="SIO"; 425 | static const char v135b[] PROGMEM="ZH/U"; 426 | 427 | static const char v136a[] PROGMEM=" I_"; 428 | static const char v136b[] PROGMEM=" IY6"; 429 | 430 | static const char v137[] PROGMEM="OW"; 431 | 432 | static const char v138[] PROGMEM="AW"; 433 | 434 | static const char v139a[] PROGMEM="WH"; 435 | static const char v139b[] PROGMEM="W"; 436 | 437 | static const char v140[] PROGMEM="T"; 438 | 439 | static const char v141a[] PROGMEM=" WOR"; 440 | static const char v141b[] PROGMEM=" WER5"; 441 | 442 | static const char v142a[] PROGMEM="WR"; 443 | static const char v142b[] PROGMEM="R"; 444 | 445 | static const char v143a[] PROGMEM="ISM"; 446 | static const char v143b[] PROGMEM="IX5Z/UM"; 447 | 448 | static const char v144a[] PROGMEM=" ME_"; 449 | static const char v144b[] PROGMEM=" MEE5"; 450 | 451 | static const char v145[] PROGMEM="G"; 452 | 453 | static const char v146[] PROGMEM="D"; 454 | 455 | static const char v147[] PROGMEM="P"; 456 | 457 | static const char v148[] PROGMEM="B"; 458 | 459 | static const char v149a[] PROGMEM="WOO"; 460 | static const char v149b[] PROGMEM="WUH"; 461 | 462 | static const char v150a[] PROGMEM=" GI"; 463 | static const char v150b[] PROGMEM=" JIY"; 464 | 465 | static const char v151a[] PROGMEM="YOU_"; 466 | static const char v151b[] PROGMEM="YUW"; 467 | 468 | static const char v152a[] PROGMEM="AI"; 469 | static const char v152b[] PROGMEM="AY4"; 470 | 471 | static const char v153a[] PROGMEM="IGH"; 472 | static const char v153b[] PROGMEM="IY4"; 473 | 474 | static const char v154a[] PROGMEM="IR"; 475 | static const char v154b[] PROGMEM="ER6"; 476 | 477 | static const char v155a[] PROGMEM="UAL"; 478 | static const char v155b[] PROGMEM="Y/UL"; 479 | 480 | static const char v156a[] PROGMEM="EW"; 481 | static const char v156b[] PROGMEM="IHUW"; 482 | 483 | static const char v157a[] PROGMEM="UR"; 484 | static const char v157b[] PROGMEM="ER5R"; 485 | 486 | static const char v158a[] PROGMEM=" MY_"; 487 | static const char v158b[] PROGMEM=" MIY"; 488 | 489 | static const char v159a[] PROGMEM="A"; 490 | static const char v159b[] PROGMEM="AE"; 491 | 492 | static const char v160a[] PROGMEM="I"; 493 | static const char v160b[] PROGMEM="IH"; 494 | 495 | static const char v161[] PROGMEM="K"; 496 | 497 | static const char v162a[] PROGMEM="C"; 498 | static const char v162b[] PROGMEM="K"; 499 | 500 | static const char v163[] PROGMEM="W"; 501 | 502 | static const char v164[] PROGMEM="F"; 503 | 504 | static const char v165a[] PROGMEM="ZZ"; 505 | static const char v165b[] PROGMEM="Z"; 506 | 507 | static const char v166a[] PROGMEM="ORI"; 508 | static const char v166b[] PROGMEM="AORIX4"; 509 | 510 | static const char v167[] PROGMEM="S"; 511 | 512 | static const char v168[] PROGMEM="Z"; 513 | 514 | static const char v169[] PROGMEM="V"; 515 | 516 | static const char v170[] PROGMEM="L"; 517 | 518 | static const char v171[] PROGMEM="Y"; 519 | 520 | static const char v172[] PROGMEM="R"; 521 | 522 | static const char v173[] PROGMEM="M"; 523 | 524 | static const char v174[] PROGMEM="N"; 525 | 526 | static const char v175a[] PROGMEM="U"; 527 | static const char v175b[] PROGMEM="AH"; 528 | 529 | static const char v176[] PROGMEM="O"; 530 | 531 | static const char v177[] PROGMEM="J"; 532 | 533 | static const char v178a[] PROGMEM="H"; 534 | static const char v178b[] PROGMEM="/H"; 535 | 536 | static const char v179a[] PROGMEM="PH"; 537 | static const char v179b[] PROGMEM="F"; 538 | 539 | static const char v180a[] PROGMEM="EU"; 540 | static const char v180b[] PROGMEM="IHUH4"; 541 | 542 | static const char v181a[] PROGMEM="OO"; 543 | static const char v181b[] PROGMEM="UX"; 544 | 545 | static const char v182a[] PROGMEM="EE"; 546 | static const char v182b[] PROGMEM="EE6"; 547 | 548 | static const char v183a[] PROGMEM="MM"; 549 | static const char v183b[] PROGMEM="M"; 550 | 551 | static const char v184a[] PROGMEM="NN"; 552 | static const char v184b[] PROGMEM="N"; 553 | 554 | static const char v185[] PROGMEM="AIR"; 555 | 556 | static const char v186a[] PROGMEM="ERE"; 557 | static const char v186b[] PROGMEM="AIR"; 558 | 559 | static const char v187[] PROGMEM="ER"; 560 | 561 | static const char v188a[] PROGMEM="OR"; 562 | static const char v188b[] PROGMEM="AOR"; 563 | 564 | static const char v189a[] PROGMEM="LL"; 565 | static const char v189b[] PROGMEM="L"; 566 | 567 | static const char v190a[] PROGMEM="CK"; 568 | static const char v190b[] PROGMEM="K"; 569 | 570 | static const char v191a[] PROGMEM="E"; 571 | static const char v191b[] PROGMEM="EH"; 572 | 573 | static const char v192[] PROGMEM="TH"; 574 | 575 | static const char v193a[] PROGMEM="TT"; 576 | static const char v193b[] PROGMEM="T"; 577 | 578 | static const char v194[] PROGMEM="DH"; 579 | 580 | static const char v195a[] PROGMEM="NG_"; 581 | static const char v195b[] PROGMEM="NX"; 582 | 583 | static const char v196a[] PROGMEM="NG"; 584 | static const char v196b[] PROGMEM="NXG"; 585 | 586 | static const char v197a[] PROGMEM="QU"; 587 | static const char v197b[] PROGMEM="KW"; 588 | 589 | static const char v198[] PROGMEM="SH"; 590 | 591 | static const char v199[] PROGMEM="ZH"; 592 | 593 | static const char v200[] PROGMEM="OH"; 594 | 595 | static const char v201a[] PROGMEM="X"; 596 | static const char v201b[] PROGMEM="KS"; 597 | 598 | static const char v202[] PROGMEM="CH"; 599 | 600 | static const char v203a[] PROGMEM="PP"; 601 | static const char v203b[] PROGMEM="P"; 602 | 603 | static const char v204[] PROGMEM="AY"; 604 | 605 | static const char v205a[] PROGMEM=" IS_"; 606 | static const char v205b[] PROGMEM=" IX6Z"; 607 | 608 | static const char v206a[] PROGMEM=" SC"; 609 | static const char v206b[] PROGMEM=" S"; 610 | 611 | static const char v207a[] PROGMEM="OOR"; 612 | static const char v207b[] PROGMEM="AO5R"; 613 | 614 | static const char v208a[] PROGMEM="RR"; 615 | static const char v208b[] PROGMEM="R"; 616 | 617 | static const char v209a[] PROGMEM="OI"; 618 | static const char v209b[] PROGMEM="OY5"; 619 | 620 | static const char v210[] PROGMEM="OY"; 621 | 622 | static const char v211a[] PROGMEM=" AS_"; 623 | static const char v211b[] PROGMEM=" AEZ"; 624 | 625 | static const char v212a[] PROGMEM=" WITH_"; 626 | static const char v212b[] PROGMEM=" WIX5DH"; 627 | 628 | static const char v213a[] PROGMEM="HE_"; 629 | static const char v213b[] PROGMEM="/HEE6"; 630 | 631 | static const char v214a[] PROGMEM=" HAVE_"; 632 | static const char v214b[] PROGMEM=" /HAE5V"; 633 | 634 | static const char v215a[] PROGMEM=" BY"; 635 | static const char v215b[] PROGMEM=" BIY3"; 636 | 637 | static const char v216a[] PROGMEM=" THIS"; 638 | static const char v216b[] PROGMEM=" DHIXS"; 639 | 640 | static const char v217a[] PROGMEM=" WE_"; 641 | static const char v217b[] PROGMEM=" WEE5"; 642 | 643 | static const char v218a[] PROGMEM=" THEY_"; 644 | static const char v218b[] PROGMEM=" DHAY4"; 645 | 646 | static const char v219a[] PROGMEM=" HAS_"; 647 | static const char v219b[] PROGMEM=" /HAEZ"; 648 | 649 | static const char v220a[] PROGMEM=" THEIR_"; 650 | static const char v220b[] PROGMEM=" DHAI4R"; 651 | 652 | static const char v221a[] PROGMEM="DD"; 653 | static const char v221b[] PROGMEM="D"; 654 | 655 | static const char v222a[] PROGMEM=" THAN_"; 656 | static const char v222b[] PROGMEM=" DHAE6N"; 657 | 658 | static const char v223a[] PROGMEM="BB"; 659 | static const char v223b[] PROGMEM="B"; 660 | 661 | static const char v224a[] PROGMEM="GG"; 662 | static const char v224b[] PROGMEM="G"; 663 | 664 | static const char v225a[] PROGMEM=" ONLY_"; 665 | static const char v225b[] PROGMEM=" OW5NLEE"; 666 | 667 | static const char v226a[] PROGMEM=" PEO"; 668 | static const char v226b[] PROGMEM=" PEE4"; 669 | 670 | static const char v227a[] PROGMEM=" SHE_"; 671 | static const char v227b[] PROGMEM=" SHEE5"; 672 | 673 | static const char v228a[] PROGMEM="OTHER"; 674 | static const char v228b[] PROGMEM="AHDHER"; 675 | 676 | static const char v229a[] PROGMEM=" SAID_"; 677 | static const char v229b[] PROGMEM=" SAI6D"; 678 | 679 | static const char v230a[] PROGMEM="Q"; 680 | static const char v230b[] PROGMEM="K"; 681 | 682 | static const char v231a[] PROGMEM=" SOME"; 683 | static const char v231b[] PROGMEM=" SAH5M"; 684 | 685 | static const char v232a[] PROGMEM=" THEN_"; 686 | static const char v232b[] PROGMEM=" DHEH5N"; 687 | 688 | static const char v233a[] PROGMEM="AR_"; 689 | static const char v233b[] PROGMEM="AA5R"; 690 | 691 | static const char v234a[] PROGMEM=" MOST_"; 692 | static const char v234b[] PROGMEM=" MOW4ST"; 693 | 694 | static const char v235a[] PROGMEM="ARR"; 695 | static const char v235b[] PROGMEM="AE5R"; 696 | 697 | static const char v236a[] PROGMEM="URR"; 698 | static const char v236b[] PROGMEM="AHR"; 699 | 700 | static const char v237a[] PROGMEM="ORR"; 701 | static const char v237b[] PROGMEM="OR"; 702 | 703 | static const char v238a[] PROGMEM="PLY"; 704 | static const char v238b[] PROGMEM="PLIY"; 705 | 706 | static const char v239a[] PROGMEM="EY"; 707 | static const char v239b[] PROGMEM="AY"; 708 | 709 | static const char v240a[] PROGMEM="EA"; 710 | static const char v240b[] PROGMEM="EE5"; 711 | 712 | static const char v241a[] PROGMEM="SCR"; 713 | static const char v241b[] PROGMEM="SKR"; 714 | 715 | static const char v242a[] PROGMEM="0"; 716 | static const char v242b[] PROGMEM="ZIH5R4OW"; 717 | 718 | static const char v243a[] PROGMEM="1"; 719 | static const char v243b[] PROGMEM="WO5N"; 720 | 721 | static const char v244a[] PROGMEM="2"; 722 | static const char v244b[] PROGMEM="TUH4W"; 723 | 724 | static const char v245a[] PROGMEM="3"; 725 | static const char v245b[] PROGMEM="THREE5"; 726 | 727 | static const char v246a[] PROGMEM="4"; 728 | static const char v246b[] PROGMEM="FAO5R"; 729 | 730 | static const char v247a[] PROGMEM="5"; 731 | static const char v247b[] PROGMEM="FIY5V"; 732 | 733 | static const char v248a[] PROGMEM="6"; 734 | static const char v248b[] PROGMEM="SIH6KS"; 735 | 736 | static const char v249a[] PROGMEM="7"; 737 | static const char v249b[] PROGMEM="SEH5V/UN"; 738 | 739 | static const char v250a[] PROGMEM="8"; 740 | static const char v250b[] PROGMEM="AY5T"; 741 | 742 | static const char v251a[] PROGMEM="9"; 743 | static const char v251b[] PROGMEM="NIY5N"; 744 | 745 | static const char v252a[] PROGMEM=":"; 746 | static const char v252b[] PROGMEM="."; 747 | 748 | static const char v253a[] PROGMEM=";"; 749 | static const char v253b[] PROGMEM="?"; 750 | 751 | static const char v254a[] PROGMEM="-"; 752 | static const char v254b[] PROGMEM="/"; 753 | 754 | static const char v255[] PROGMEM=" "; 755 | 756 | static const char v256[] PROGMEM=","; 757 | 758 | static const char v257[] PROGMEM="."; 759 | 760 | static const char v258[] PROGMEM="?"; 761 | 762 | static const char v259a[] PROGMEM="'"; 763 | static const char v259b[] PROGMEM=""; 764 | 765 | static const char v260a[] PROGMEM="!"; 766 | static const char v260b[] PROGMEM=","; 767 | 768 | static const char v261a[] PROGMEM="/"; 769 | static const char v261b[] PROGMEM=","; 770 | 771 | // stand alone characters 772 | static const char v262a[] PROGMEM=" B_"; 773 | static const char v262b[] PROGMEM=" BEE5"; 774 | 775 | static const char v263a[] PROGMEM=" C_"; 776 | static const char v263b[] PROGMEM=" SEE5"; 777 | 778 | static const char v264a[] PROGMEM=" H_"; 779 | static const char v264b[] PROGMEM=" AYCH"; 780 | 781 | static const char v265a[] PROGMEM=" I_"; 782 | static const char v265b[] PROGMEM=" IY5"; 783 | 784 | static const char v266a[] PROGMEM=" F_"; 785 | static const char v266b[] PROGMEM=" EHF"; 786 | 787 | static const char v267a[] PROGMEM=" R_"; 788 | static const char v267b[] PROGMEM=" AA5R"; 789 | 790 | static const char v268a[] PROGMEM=" M_"; 791 | static const char v268b[] PROGMEM=" EHM"; 792 | 793 | static const char v269a[] PROGMEM=" N_"; 794 | static const char v269b[] PROGMEM=" EHN"; 795 | 796 | static const char v270a[] PROGMEM=" J_"; 797 | static const char v270b[] PROGMEM=" JAY"; 798 | 799 | 800 | static const VOCAB s_vocab[] PROGMEM={ 801 | { v1a, v1b} ,{ v2a, v2b}, { v3a, v3b},{ v4a, v4b},{ v5a, v5b},{ v6a, v6b},{ v7a, v7b},{ v8a, v8b},{ v9a, v9b},{ v10a, v10b}, 802 | { v11a, v11b},{ v12a, v12b},{ v13a, v13b},{ v14a, v14b},{ v15a, v15b},{ v16a, v16b},{ v17a, v17b},{ v18a, v18b},{ v19a, v19b},{ v20a, v20b}, 803 | { v21a, v21b},{ v22a, v22b},{ v23a, v23b},{ v24a, v24b},{ v25a, v25b},{ v26a, v26b},{ v27a, v27b},{ v28a, v28b},{ v29a, v29b},{ v30a, v30b}, 804 | { v31a, v31b},{ v32a, v32b},{ v33a, v33b},{ v34a, v34b},{ v35a, v35b},{ v36 , v36 },{ v37a, v37b},{ v38a, v38b},{ v39a, v39b},{ v40a, v40b}, 805 | { v41a, v41b},{ v42a, v42b},{ v43a, v43b},{ v44a, v44b},{ v45a, v45b},{ v46a, v46b},{ v47a, v47b},{ v48 , v48 },{ v49a, v49b},{ v50a, v50b}, 806 | { v51a, v51b},{ v52a, v52b},{ v53a, v53b},{ v54a, v54b},{ v55a, v55b},{ v56a, v56b},{ v57a, v57b},{ v58a, v58b},{ v59a, v59b},{ v60a, v60b}, 807 | { v61a, v61b},{ v62a, v62b},{ v63a, v63b},{ v64a, v64b},{ v65a, v65b},{ v66a, v66b},{ v67a, v67b},{ v68a, v68b},{ v69a, v69b},{ v70a, v70b}, 808 | { v71a, v71b},{ v72a, v72b},{ v73a, v73b},{ v74a, v74b},{ v75a, v75b},{ v76a, v76b},{ v77a, v77b},{ v78a, v78b},{ v79a, v79b},{ v80a, v80b}, 809 | { v81a, v81b},{ v82a, v82b},{ v83a, v83b},{ v84a, v84b},{ v85a, v85b},{ v86a, v86b},{ v87a, v87b},{ v88a, v88b},{ v89a, v89b},{ v90a, v90b}, 810 | { v91a, v91b},{ v92a, v92b},{ v93 , v93 },{ v94a, v94b},{ v95a, v95b},{ v96a, v96b},{ v97a, v97b},{ v98a, v98b},{ v99a, v99b},{v100a,v100b}, 811 | {v101a,v101b},{v102a,v102b},{v103a,v103b},{v104a,v104b},{v105a,v105b},{v106a,v106b},{v107a,v107b},{v108a,v108b},{v109a,v109b},{v110a,v110b}, 812 | {v111a,v111b},{v112a,v112b},{v113a,v113b},{v114a,v114b},{v115a,v115b},{v116a,v116b},{v117a,v117b},{v118a,v118b},{v119a,v119b},{v120a,v120b}, 813 | {v121a,v121b},{v122a,v122b},{v123a,v123b},{v124a,v124b},{v125a,v125b},{v126a,v126b},{v127a,v127b},{v128a,v128b},{v129a,v129b},{v130a,v130b}, 814 | {v131a,v131b},{v132a,v132b},{v133a,v133b},{v134a,v134b},{v135a,v135b},{v136a,v136b},{v137 ,v137 },{v138 ,v138 },{v139a,v139b},{v140 ,v140 }, 815 | {v141a,v141b},{v142a,v142b},{v143a,v143b},{v144a,v144b},{v145 ,v145 },{v146 ,v146 },{v147 ,v147 },{v148 ,v148 },{v149a,v149b},{v150a,v150b}, 816 | {v151a,v151b},{v152a,v152b},{v153a,v153b},{v154a,v154b},{v155a,v155b},{v156a,v156b},{v157a,v157b},{v158a,v158b},{v159a,v159b},{v160a,v160b}, 817 | {v161 ,v161 },{v162a,v162b},{v163 ,v163 },{v164 ,v164 },{v165a,v165b},{v166a,v166b},{v167 ,v167 },{v168 ,v168 },{v169 ,v169 },{v170 ,v170 }, 818 | {v171 ,v171 },{v172 ,v172 },{v173 ,v173 },{v174 ,v174 },{v175a,v175b},{v176 ,v176 },{v177 ,v177 },{v178a,v178b},{v179a,v179b},{v180a,v180b}, 819 | {v181a,v181b},{v182a,v182b},{v183a,v183b},{v184a,v184b},{v185 ,v185 },{v186a,v186b},{v187 ,v187 },{v188a,v188b},{v189a,v189b},{v190a,v190b}, 820 | {v191a,v191b},{v192 ,v192 },{v193a,v193b},{v194 ,v194 },{v195a,v195b},{v196a,v196b},{v197a,v197b},{v198 ,v198 },{v199 ,v199 },{v200 ,v200 }, 821 | {v201a,v201b},{v202 ,v202 },{v203a,v203b},{v204 ,v204 },{v205a,v205b},{v206a,v206b},{v207a,v207b},{v208a,v208b},{v209a,v209b},{v210 ,v210 }, 822 | {v211a,v211b},{v212a,v212b},{v213a,v213b},{v214a,v214b},{v215a,v215b},{v216a,v216b},{v217a,v217b},{v218a,v218b},{v219a,v219b},{v220a,v220b}, 823 | {v221a,v221b},{v222a,v222b},{v223a,v223b},{v224a,v224b},{v225a,v225b},{v226a,v226b},{v227a,v227b},{v228a,v228b},{v229a,v229b},{v230a,v230b}, 824 | {v231a,v231b},{v232a,v232b},{v233a,v233b},{v234a,v234b},{v235a,v235b},{v236a,v236b},{v237a,v237b},{v238a,v238b},{v239a,v239b},{v240a,v240b}, 825 | {v241a,v241b},{v242a,v242b},{v243a,v243b},{v244a,v244b},{v245a,v245b},{v246a,v246b},{v247a,v247b},{v248a,v248b},{v249a,v249b},{v250a,v250b}, 826 | {v251a,v251b},{v252a,v252b},{v253a,v253b},{v254a,v254b},{v255 ,v255 },{v256 ,v256 },{v257 ,v257 },{v258 ,v258 },{v259a,v259b},{v260a,v260b}, 827 | {v261a,v261b}, 828 | {v262a,v262b},{v263a,v263b},{v264a,v264b},{v265a,v265b},{v266a,v266b},{v267a,v267b},{v268a,v268b},{v269a,v269b},{v270a,v270b} 829 | 830 | }; 831 | 832 | static const char p1a[] PROGMEM="dux"; 833 | static const char p1b[] PROGMEM="a5V2E8"; 834 | 835 | static const char p2a[] PROGMEM="ae"; 836 | static const char p2b[] PROGMEM="A7"; 837 | 838 | static const char p3a[] PROGMEM="aa"; 839 | static const char p3b[] PROGMEM="B9"; 840 | 841 | static const char p4a[] PROGMEM="aw"; 842 | static const char p4b[] PROGMEM="A9R6"; 843 | 844 | static const char p5a[] PROGMEM="r"; 845 | static const char p5b[] PROGMEM="D7"; 846 | 847 | static const char p6a[] PROGMEM="ux"; 848 | static const char p6b[] PROGMEM="E8"; 849 | 850 | static const char p7a[] PROGMEM="uw"; 851 | static const char p7b[] PROGMEM="E7R6"; 852 | 853 | static const char p8a[] PROGMEM="ao"; 854 | static const char p8b[] PROGMEM="F9"; 855 | 856 | static const char p9a[] PROGMEM="ee"; 857 | static const char p9b[] PROGMEM="G7"; 858 | 859 | static const char p10a[] PROGMEM="l"; 860 | static const char p10b[] PROGMEM="H7"; 861 | 862 | static const char p11a[] PROGMEM="m"; 863 | static const char p11b[] PROGMEM="J7"; 864 | 865 | static const char p12a[] PROGMEM="ah"; 866 | static const char p12b[] PROGMEM="K7"; 867 | 868 | static const char p13a[] PROGMEM="v"; 869 | static const char p13b[] PROGMEM="L5"; 870 | 871 | static const char p14a[] PROGMEM="/h"; 872 | static const char p14b[] PROGMEM="N4"; 873 | 874 | static const char p15a[] PROGMEM="t"; 875 | static const char p15b[] PROGMEM="O1"; 876 | 877 | static const char p16a[] PROGMEM="p"; 878 | static const char p16b[] PROGMEM="P1"; 879 | 880 | static const char p17a[] PROGMEM="n"; 881 | static const char p17b[] PROGMEM="I7"; 882 | 883 | static const char p18a[] PROGMEM="b"; 884 | static const char p18b[] PROGMEM="M1"; 885 | 886 | static const char p19a[] PROGMEM="k"; 887 | static const char p19b[] PROGMEM="Q1"; 888 | 889 | static const char p20a[] PROGMEM="w"; 890 | static const char p20b[] PROGMEM="R7"; 891 | 892 | static const char p21a[] PROGMEM="ay"; 893 | static const char p21b[] PROGMEM="S9U5T2"; 894 | 895 | static const char p22a[] PROGMEM="y"; 896 | static const char p22b[] PROGMEM="T7"; 897 | 898 | static const char p23a[] PROGMEM="ih"; 899 | static const char p23b[] PROGMEM="U7"; 900 | 901 | static const char p24a[] PROGMEM="ix"; 902 | static const char p24b[] PROGMEM="U5"; 903 | 904 | static const char p25a[] PROGMEM="j"; 905 | static const char p25b[] PROGMEM="a3V3a2"; 906 | 907 | static const char p26a[] PROGMEM="d"; 908 | static const char p26b[] PROGMEM="W1"; 909 | 910 | static const char p27a[] PROGMEM="nx"; 911 | static const char p27b[] PROGMEM="X7"; 912 | 913 | static const char p28a[] PROGMEM="oh"; 914 | static const char p28b[] PROGMEM="Y8"; 915 | 916 | static const char p29a[] PROGMEM="o"; 917 | static const char p29b[] PROGMEM="Z8"; 918 | 919 | static const char p30a[] PROGMEM="er"; 920 | static const char p30b[] PROGMEM="[9"; 921 | 922 | static const char p31a[] PROGMEM="sh"; 923 | static const char p31b[] PROGMEM="\\6"; 924 | 925 | static const char p32a[] PROGMEM="ow"; 926 | static const char p32b[] PROGMEM="Y9R5"; 927 | 928 | static const char p33a[] PROGMEM="oy"; 929 | static const char p33b[] PROGMEM="F9U4T2"; 930 | 931 | static const char p34a[] PROGMEM="ch"; 932 | static const char p34b[] PROGMEM="a6\\3a1"; 933 | 934 | static const char p35a[] PROGMEM="g"; 935 | static const char p35b[] PROGMEM="]1"; 936 | 937 | static const char p36a[] PROGMEM="s"; 938 | static const char p36b[] PROGMEM="^5"; 939 | 940 | static const char p37a[] PROGMEM="f"; 941 | static const char p37b[] PROGMEM="_5"; 942 | 943 | static const char p38a[] PROGMEM="z"; 944 | static const char p38b[] PROGMEM="`5"; 945 | 946 | static const char p39a[] PROGMEM="/"; 947 | static const char p39b[] PROGMEM="a9"; 948 | 949 | static const char p40a[] PROGMEM="th"; 950 | static const char p40b[] PROGMEM="b5"; 951 | 952 | static const char p41a[] PROGMEM="dh"; 953 | static const char p41b[] PROGMEM="c4"; 954 | 955 | static const char p42a[] PROGMEM="/u"; 956 | static const char p42b[] PROGMEM="d8"; 957 | 958 | static const char p43a[] PROGMEM="zh"; 959 | static const char p43b[] PROGMEM="e5"; 960 | 961 | static const char p44a[] PROGMEM="dr"; 962 | static const char p44b[] PROGMEM="a2V3D7"; 963 | 964 | static const char p45a[] PROGMEM="tr"; 965 | static const char p45b[] PROGMEM="a4V3D7"; 966 | 967 | static const char p46a[] PROGMEM="ct"; 968 | static const char p46b[] PROGMEM="a2Q1a1O1"; 969 | 970 | static const char p47a[] PROGMEM="eh"; 971 | static const char p47b[] PROGMEM="f7"; 972 | 973 | static const char p48a[] PROGMEM="uh"; 974 | static const char p48b[] PROGMEM="g7"; 975 | 976 | static const char p49a[] PROGMEM="iy"; 977 | static const char p49b[] PROGMEM="B9U6"; 978 | 979 | static const char p50a[] PROGMEM="ai"; 980 | static const char p50b[] PROGMEM="C9"; 981 | 982 | static const char p51a[] PROGMEM="%"; 983 | static const char p51b[] PROGMEM="a1"; 984 | 985 | static const char p52a[] PROGMEM="j_"; 986 | static const char p52b[] PROGMEM="a4V3"; 987 | 988 | static const char p53a[] PROGMEM=" "; 989 | static const char p53b[] PROGMEM="zz"; 990 | 991 | static const char p54a[] PROGMEM=","; 992 | static const char p54b[] PROGMEM="a9a2"; 993 | 994 | static const char p55a[] PROGMEM="."; 995 | static const char p55b[] PROGMEM="i9a5"; 996 | 997 | static const char p56a[] PROGMEM="?"; 998 | static const char p56b[] PROGMEM="h9a5"; 999 | 1000 | 1001 | static const PHONEME s_phonemes[] PROGMEM= { 1002 | { p1a, p1b,1},{ p2a, p2b,1},{ p3a, p3b,1},{ p4a, p4b,1},{ p5a, p5b,0},{ p6a, p6b,1},{ p7a, p7b,1},{ p8a, p8b,1}, 1003 | { p9a, p9b,1},{p10a,p10b,0},{p11a,p11b,0},{p12a,p12b,1},{p13a,p13b,0},{p14a,p14b,1},{p15a,p15b,0},{p16a,p16b,0}, 1004 | {p17a,p17b,0},{p18a,p18b,0},{p19a,p19b,0},{p20a,p20b,0},{p21a,p21b,1},{p22a,p22b,0},{p23a,p23b,1},{p24a,p24b,1}, 1005 | {p25a,p25b,0},{p26a,p26b,0},{p27a,p27b,0},{p28a,p28b,1},{p29a,p29b,1},{p30a,p30b,1},{p31a,p31b,0},{p32a,p32b,1}, 1006 | {p33a,p33b,1},{p34a,p34b,1},{p35a,p35b,0},{p36a,p36b,0},{p37a,p37b,1},{p38a,p38b,0},{p39a,p39b,1},{p40a,p40b,1}, 1007 | {p41a,p41b,0},{p42a,p42b,1},{p43a,p43b,0},{p44a,p44b,0},{p45a,p45b,0},{p46a,p46b,0},{p47a,p47b,1},{p48a,p48b,1}, 1008 | {p49a,p49b,1},{p50a,p50b,1},{p51a,p51b,0},{p52a,p52b,0},{p53a,p53b,1},{p54a,p54b,0},{p55a,p55b,0},{p56a,p56b,0} 1009 | }; 1010 | 1011 | static const uint8_t SoundData[] PROGMEM= { 1012 | // A - phoneme 'ae' 1013 | 0x74,0xFF,0xFF,0x04,0x30,0xFB,0xCF,0x88,0x88,0x78,0x45,0x95,0xCD,0x6A,0x44,0x85, 1014 | 0xAA,0x68,0x65,0x76,0x88,0x88,0x88,0x68,0x55,0x86,0xA9,0x8A,0x56,0x65,0x87,0xA8, 1015 | 0xCB,0x8A,0x56,0x85,0xBA,0x8A,0x78,0x87,0x88,0x88,0x88,0x66,0x55,0x76,0x88,0x56, 1016 | 0x54,0x65,0x66,0x56,0x55,0x44,0x54,0x66,0x56,0x55,0x65,0x56,0x54,0x86,0x46,0x44, 1017 | 1018 | // B - phoneme 'aa' 1019 | 0x96,0xEE,0xFF,0xED,0x44,0x10,0x52,0xD9,0xEF,0xBD,0x58,0x45,0x66,0x86,0x88,0x77, 1020 | 0xA8,0xBA,0x9B,0x48,0x44,0x53,0xA7,0xCB,0xAB,0x68,0x55,0x65,0x87,0x99,0x89,0x88, 1021 | 0x88,0xA9,0x99,0x88,0x78,0x98,0xA9,0x99,0x78,0x66,0x87,0x98,0x88,0x68,0x66,0x76, 1022 | 0x88,0x88,0x78,0x67,0x66,0x66,0x66,0x66,0x66,0x76,0x77,0x66,0x67,0x67,0x87,0x77, 1023 | 1024 | //C - phoneme 'ai' 1025 | 0x66,0x96,0xB8,0xFF,0xCB,0xFB,0x9A,0x85,0x73,0x78,0x58,0xBA,0x9D,0x99,0x89,0x88, 1026 | 0x44,0x64,0x58,0x86,0xA9,0xAA,0x88,0x86,0x58,0x54,0x76,0x87,0x88,0x99,0x9A,0x78, 1027 | 0x88,0x67,0x66,0x86,0x88,0x9A,0xCA,0xAA,0xA8,0x88,0x86,0x76,0x88,0x89,0x88,0x89, 1028 | 0x67,0x66,0x65,0x65,0x65,0x66,0x66,0x66,0x56,0x55,0x55,0x55,0x44,0x77,0x68,0x2B, 1029 | 1030 | //D - phoneme 'r' 1031 | 0x44,0x75,0xEA,0xFF,0xAC,0xDA,0xEE,0x5A,0x32,0x65,0x56,0x55,0x76,0xBA,0xCD,0x8B, 1032 | 0x87,0x99,0x48,0x22,0x53,0x77,0x66,0x97,0xAA,0xAB,0x8A,0x66,0x76,0x57,0x44,0x75, 1033 | 0x98,0x88,0x98,0xAA,0xBB,0xAB,0x89,0x87,0x88,0x56,0x75,0x88,0x88,0x88,0x88,0x68, 1034 | 0x56,0x55,0x55,0x55,0x55,0x55,0x66,0x56,0x66,0x56,0x55,0x55,0x44,0x65,0x66,0x55, 1035 | 1036 | //E - phoneme 'ux' 1037 | 0x44,0x54,0x55,0x55,0x76,0xB9,0xFD,0xFF,0xFF,0xEE,0xDE,0xCD,0xAB,0x68,0x45,0x23, 1038 | 0x32,0x44,0x44,0x55,0x76,0xA9,0xBA,0xBB,0xAB,0xAA,0x9A,0x89,0x68,0x55,0x44,0x44, 1039 | 0x54,0x65,0x66,0x87,0x98,0xA9,0xAA,0xAA,0x9A,0xA9,0xAA,0xAA,0x9A,0x89,0x88,0x88, 1040 | 0x88,0x88,0x66,0x55,0x55,0x55,0x55,0x45,0x44,0x54,0x55,0x55,0x45,0x44,0x44,0x54, 1041 | 1042 | //F - phoneme 'ao' 1043 | 0x55,0x65,0x66,0x67,0x87,0xB9,0xEC,0xFF,0xFF,0xCF,0x8A,0x24,0x01,0x31,0x75,0xDA, 1044 | 0xFE,0xFF,0xCE,0x8A,0x56,0x44,0x54,0x65,0x88,0x99,0xAA,0xAA,0xBB,0xBB,0xAA,0x89, 1045 | 0x57,0x45,0x54,0x75,0xA8,0xCB,0xDD,0xDD,0xBC,0x9A,0x68,0x56,0x55,0x65,0x87,0xA9, 1046 | 0xBB,0xBB,0x9A,0x88,0x66,0x55,0x55,0x66,0x87,0x98,0x99,0x99,0x88,0x67,0x56,0x55, 1047 | 1048 | //G - phoneme 'ee' 1049 | 0x35,0x43,0x07,0xE1,0xA4,0x79,0xBD,0xE8,0xFD,0xDA,0xCF,0xDB,0xFB,0x9A,0xAB,0x68, 1050 | 0x96,0x45,0x54,0x25,0x52,0x44,0x54,0x56,0x65,0x87,0x76,0x9A,0x98,0xAA,0x99,0xAA, 1051 | 0x89,0xA9,0x89,0x88,0x68,0x86,0x68,0x65,0x67,0x85,0x77,0x79,0xA9,0x87,0xAA,0xAA, 1052 | 0x9A,0xA9,0x98,0x88,0x88,0x67,0x66,0x55,0x55,0x55,0x54,0x55,0x44,0x45,0x54,0x34, 1053 | 1054 | //H - phoneme 'l' 1055 | 0x55,0x55,0x75,0xA8,0xDB,0xFE,0xEF,0xBE,0x8B,0x68,0x55,0x54,0x54,0x55,0x55,0x66, 1056 | 0x87,0x99,0xAA,0xAB,0xAA,0x89,0x66,0x55,0x55,0x55,0x65,0x76,0x87,0x88,0x99,0x99, 1057 | 0x99,0x9A,0x99,0x99,0x98,0x88,0x88,0x68,0x67,0x67,0x77,0x76,0x66,0x66,0x66,0x66, 1058 | 0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x66,0x55, 1059 | 1060 | //I - phoneme 'n' 1061 | 0x55,0x66,0x66,0x76,0x9A,0xA6,0xBB,0xCB,0xBB,0xDE,0xED,0xDD,0xDD,0xBC,0xBC,0xBA, 1062 | 0x9A,0x99,0x78,0x68,0x66,0x56,0x55,0x55,0x55,0x55,0x55,0x66,0x65,0x66,0x76,0x77, 1063 | 0x88,0x88,0x88,0x98,0x99,0xAA,0xAA,0xAA,0xBA,0xBA,0xAB,0xAA,0xAA,0x99,0x89,0x88, 1064 | 0x68,0x66,0x55,0x55,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x44,0x54,0x45,0x55,0x65, 1065 | 1066 | //J - phoneme 'm' 1067 | 0x32,0x43,0x34,0x43,0x44,0x55,0x55,0x65,0x76,0xB9,0xA8,0x9A,0xBB,0xCD,0xDD,0xDD, 1068 | 0xEE,0xED,0xDD,0xDC,0xBB,0xAB,0x99,0x89,0x88,0x66,0x56,0x55,0x45,0x44,0x54,0x55, 1069 | 0x55,0x55,0x65,0x66,0x87,0x88,0x88,0x99,0x99,0xAA,0xAA,0xBA,0xAB,0xBB,0xAB,0xBB, 1070 | 0xBB,0xAA,0x9A,0x89,0x88,0x78,0x66,0x56,0x55,0x44,0x44,0x34,0x33,0x33,0x34,0x43, 1071 | 1072 | //K - phoneme 'ah' 1073 | 0x55,0xD7,0xFF,0xBF,0x49,0x33,0x67,0x68,0x89,0xA9,0xDD,0x8B,0x24,0x22,0x95,0xAA, 1074 | 0x9A,0x89,0x99,0x58,0x34,0x54,0xA7,0xBB,0x8A,0x68,0x66,0x66,0x65,0x97,0xBA,0xAB, 1075 | 0x68,0x55,0x76,0x98,0x89,0x98,0x88,0x68,0x56,0x75,0x88,0x89,0x68,0x66,0x66,0x66, 1076 | 0x66,0x76,0x88,0x67,0x56,0x55,0x76,0x67,0x76,0x66,0x77,0x66,0x66,0x56,0x66,0x67, 1077 | 1078 | //L - phoneme 'v' 1079 | 0x99,0x99,0x99,0x78,0x77,0x77,0x67,0x66,0x77,0x77,0x77,0x98,0x99,0x99,0xA9,0xAA, 1080 | 0x99,0x99,0x99,0x78,0x77,0x77,0x67,0x66,0x77,0x77,0x77,0x98,0x99,0x99,0xA9,0xAA, 1081 | 0x89,0x99,0x99,0x99,0xAA,0x9A,0x99,0x99,0x89,0x77,0x77,0x77,0x66,0x76,0x77,0x77, 1082 | 0x87,0x99,0x99,0x99,0xAA,0x9A,0x99,0x99,0x89,0x77,0x77,0x77,0x66,0x76,0x77,0x77, 1083 | 1084 | //M - phoneme 'b' 1085 | 0x86,0x88,0x98,0x88,0x88,0x88,0x99,0x89,0x88,0x88,0x88,0x99,0x88,0x88,0x98,0x99, 1086 | 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x78,0x88,0x87,0x77,0x77, 1087 | 0x88,0x88,0x77,0x87,0x88,0x88,0x77,0x66,0x66,0x66,0x56,0x55,0x55,0x55,0x66,0xB8, 1088 | 0xFE,0xFF,0xCE,0x9A,0x89,0x48,0x24,0x01,0x20,0x55,0x66,0x56,0x55,0x55,0x24,0x00, 1089 | 1090 | //N - phoneme '/h' 1091 | 0x88,0x88,0x68,0x86,0x78,0x97,0x89,0x88,0x76,0x76,0x88,0x89,0x99,0x88,0x68,0x56, 1092 | 0x87,0x99,0xA9,0x89,0x66,0x56,0x76,0x88,0x88,0x89,0x78,0x77,0x88,0x88,0x99,0x88, 1093 | 0x68,0x55,0x75,0xA9,0x9A,0x89,0x68,0x55,0x66,0x86,0xA9,0x9A,0x88,0x56,0x86,0x88, 1094 | 0x88,0x68,0x75,0x77,0x98,0xAA,0x98,0x89,0x58,0x55,0x66,0xB9,0xAB,0x8A,0x58,0x65, 1095 | 1096 | //O - phoneme 't' 1097 | 0x96,0x78,0x78,0xB9,0xB8,0x78,0x89,0x76,0x65,0x78,0x4B,0x87,0x75,0x8B,0xB5,0x76, 1098 | 0xA8,0xA9,0x44,0x5D,0x49,0x8B,0x83,0x95,0x78,0x1A,0x6C,0x7A,0xC2,0xB4,0x55,0x7B, 1099 | 0x85,0xA8,0x78,0x98,0x85,0x87,0xC4,0x85,0x85,0x3B,0xB8,0x47,0x78,0xA4,0x94,0x68, 1100 | 0x87,0x66,0x7A,0x7A,0x89,0x67,0xC8,0xA6,0x83,0x7B,0xC5,0xC1,0xB4,0x98,0x87,0xB3, 1101 | 1102 | //P - phoneme 'p' 1103 | 0x88,0x99,0x99,0xA9,0xDA,0xBC,0xED,0xCD,0xBB,0xCC,0xDC,0xFD,0xFF,0xFF,0xFF,0xFF, 1104 | 0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x8C,0x04,0x00,0x00,0x00,0x00, 1105 | 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x32,0x45,0x13,0x00,0x00,0x00,0x00,0x00,0x00, 1106 | 0x00,0x00,0x00,0x00,0x00,0x00,0x10,0x11,0x10,0x11,0x11,0x32,0x54,0x55,0x76,0x76, 1107 | 1108 | //Q - phoneme 'k' 1109 | 0x99,0x58,0x65,0x88,0x48,0xA3,0xAB,0x76,0xC9,0x4A,0x21,0x84,0x69,0x44,0xC7,0x4A, 1110 | 0x52,0xA9,0x48,0x72,0xED,0x8B,0x78,0x55,0x24,0x32,0xF4,0xCF,0x10,0xFB,0x4F,0x54, 1111 | 0x98,0x68,0x74,0x88,0x56,0x85,0x89,0x56,0x87,0x78,0x76,0x98,0x99,0x99,0x89,0x68, 1112 | 0x76,0x67,0x65,0x98,0x78,0x44,0x54,0xB8,0xAB,0x69,0x55,0x76,0x88,0x56,0x65,0x98, 1113 | 1114 | //R - phoneme 'w' 1115 | 0x44,0x55,0x76,0xB9,0xDC,0xFE,0xFF,0xDE,0xCD,0xAB,0x9A,0x88,0x56,0x45,0x23,0x22, 1116 | 0x43,0x54,0x86,0x98,0xA9,0xAA,0x9A,0x99,0x99,0x89,0x88,0x56,0x45,0x44,0x54,0x55, 1117 | 0x66,0x76,0x87,0x88,0x98,0x99,0x99,0xA9,0x99,0xAA,0xAA,0xAA,0x9A,0x89,0x78,0x66, 1118 | 0x66,0x66,0x66,0x56,0x55,0x55,0x55,0x66,0x66,0x66,0x56,0x55,0x55,0x55,0x55,0x55, 1119 | 1120 | //S - phonene 1121 | 0x45,0xB6,0xFF,0xA5,0xFB,0x6A,0x84,0x95,0x56,0x73,0xD9,0x69,0xB8,0x8C,0x56,0x66, 1122 | 0x67,0x44,0xA6,0x8A,0x96,0xAA,0x68,0x65,0x76,0x46,0x75,0x99,0x88,0xA9,0x8A,0x67, 1123 | 0x76,0x67,0x65,0x97,0x88,0xC9,0x9A,0xA9,0xA9,0x59,0x65,0x89,0x55,0x98,0x88,0x67, 1124 | 0x66,0x46,0x54,0x66,0x55,0x86,0x56,0x76,0x56,0x55,0x56,0x65,0x45,0x87,0x58,0x75, 1125 | 1126 | //T - phoneme 'y' 1127 | 0x55,0x95,0x54,0x5C,0x87,0xA9,0xA8,0xAD,0xBB,0xBD,0x9D,0x9F,0xAB,0xAB,0x8A,0x8B, 1128 | 0x88,0x88,0x46,0x47,0x44,0x55,0x44,0x55,0x54,0x65,0x55,0x87,0x86,0x97,0x88,0x99, 1129 | 0x98,0xA9,0x99,0x9A,0x98,0x99,0x98,0x9A,0x99,0x99,0x98,0x8A,0x88,0x88,0x78,0x68, 1130 | 0x66,0x56,0x55,0x45,0x54,0x44,0x54,0x44,0x55,0x54,0x55,0x44,0x45,0x64,0x54,0x47, 1131 | 1132 | //U - phoneme 'ih' 1133 | 0xA4,0x58,0xD5,0x1F,0xD7,0x8F,0xD5,0x8F,0xA5,0x88,0x84,0x34,0x95,0x34,0xB6,0x5A, 1134 | 0xB7,0x6C,0x89,0x89,0x87,0x55,0x67,0x44,0x87,0x58,0x99,0x89,0x99,0x99,0x88,0x86, 1135 | 0x88,0x65,0x88,0x98,0x89,0xAB,0x9B,0xB9,0x89,0x86,0x58,0x65,0x55,0x54,0x55,0x67, 1136 | 0x66,0x88,0x66,0x87,0x55,0x56,0x64,0x46,0x75,0x46,0x84,0x59,0x75,0x89,0x74,0x67, 1137 | 1138 | //V - phoneme 'j' 1139 | 0x76,0x66,0x67,0x66,0x77,0x87,0x77,0x89,0x88,0x89,0x89,0x89,0xA8,0x99,0x9A,0xA9, 1140 | 0x9A,0xBA,0x9A,0x9A,0xA9,0x89,0x89,0x88,0x79,0x87,0x77,0x67,0x66,0x67,0x76,0x76, 1141 | 0x67,0x77,0x77,0x88,0x97,0x89,0x99,0x99,0xAA,0xA9,0x9A,0xAA,0xA9,0x9A,0x99,0x89, 1142 | 0x99,0x87,0x78,0x77,0x67,0x77,0x76,0x66,0x67,0x66,0x77,0x87,0x77,0x89,0x88,0x89, 1143 | 1144 | //W - phoneme 'd' 1145 | 0x3A,0xFB,0x98,0x6C,0xA9,0xA5,0x5A,0x89,0xA8,0x58,0x67,0x67,0x55,0x55,0x66,0x56, 1146 | 0x76,0x88,0x76,0x86,0x87,0x54,0x55,0x47,0x55,0x85,0x65,0x66,0x88,0x8A,0xA8,0xAA, 1147 | 0x89,0x98,0x89,0x67,0x88,0x89,0x98,0xBA,0xAB,0xBA,0xBC,0xAB,0xAA,0xAA,0x78,0x87, 1148 | 0x78,0x66,0x86,0x88,0x87,0x98,0x88,0x77,0x78,0x56,0x55,0x56,0x44,0x54,0x45,0x44, 1149 | 1150 | //X - phoneme 'nx' 1151 | 0x44,0xA6,0xAA,0xBB,0xCB,0xBD,0xBD,0xAB,0xAA,0xBA,0x9A,0x89,0x88,0x88,0x88,0x66, 1152 | 0x66,0x66,0x66,0x67,0x87,0x78,0x88,0x88,0x88,0x87,0x77,0x77,0x77,0x77,0x88,0x88, 1153 | 0x88,0x99,0xAA,0xAA,0xAA,0xAA,0x99,0x99,0x99,0x88,0x88,0x66,0x66,0x55,0x55,0x55, 1154 | 0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x55,0x65,0x56,0x55,0x55,0x55,0x55,0x45, 1155 | 1156 | //Y - phoneme 'oh' 1157 | 0x66,0x66,0xF7,0xFF,0x9E,0x5B,0x74,0x88,0x56,0x54,0x75,0xDB,0xBD,0x88,0x46,0x75, 1158 | 0x58,0x45,0x65,0xB7,0xCB,0x8A,0x68,0x56,0x76,0x56,0x54,0x87,0xBA,0xAB,0x78,0x77, 1159 | 0x66,0x66,0x56,0x96,0xDA,0xBD,0x8B,0x56,0x75,0x67,0x76,0x76,0x98,0x9A,0x88,0x66, 1160 | 0x65,0x77,0x66,0x56,0x66,0x87,0x66,0x55,0x65,0x66,0x56,0x65,0x66,0x77,0x88,0x67, 1161 | 1162 | //Z - phoneme 'o' 1163 | 0x95,0xDB,0xFF,0xFF,0x4A,0x02,0x00,0x73,0xFB,0xFF,0xAF,0x48,0x23,0x42,0x75,0x88, 1164 | 0x99,0x98,0xAA,0xAA,0x68,0x25,0x22,0x53,0xB8,0xED,0xBD,0x69,0x24,0x32,0x75,0xA9, 1165 | 0xAB,0x9A,0x88,0x88,0xA9,0x89,0x67,0x66,0x87,0x89,0x89,0x69,0x67,0x66,0x66,0x66, 1166 | 0x55,0x66,0x86,0x78,0x66,0x55,0x55,0x55,0x66,0x66,0x66,0x66,0x66,0x66,0x56,0x45, 1167 | 1168 | //[ - phoneme 'er' 1169 | 0x67,0xD7,0xFF,0xAB,0xCB,0xAC,0x89,0x26,0x52,0x87,0x56,0x86,0xBA,0xCB,0x8B,0x76, 1170 | 0x88,0x48,0x44,0x55,0x76,0x89,0x88,0xB9,0xAB,0x88,0x67,0x66,0x66,0x45,0x75,0x98, 1171 | 0x99,0x99,0x99,0xBA,0x8A,0x87,0x88,0x78,0x77,0x76,0x98,0x89,0x87,0x88,0x78,0x66, 1172 | 0x55,0x65,0x66,0x65,0x66,0x66,0x66,0x56,0x65,0x56,0x55,0x65,0x56,0x66,0x66,0x66, 1173 | 1174 | // phoneme - 'sh' 1175 | 0x8B,0x43,0x97,0x3B,0x93,0x4C,0x55,0x3F,0x74,0x59,0x58,0xC8,0x03,0xC7,0x26,0xC3, 1176 | 0x18,0x77,0x7A,0x34,0xC9,0x82,0xA1,0x2B,0x81,0x2D,0x76,0xA8,0x38,0x78,0x7A,0xE0, 1177 | 0x48,0xA6,0x83,0x47,0x3B,0xA5,0x3A,0x85,0x3B,0x98,0x64,0x89,0x56,0xB8,0x88,0x83, 1178 | 0x67,0x87,0x27,0x77,0x0D,0x73,0x5E,0x72,0xCC,0x70,0xD8,0x44,0x47,0x59,0x98,0x58, 1179 | 1180 | //] - phoneme 'g' 1181 | 0x76,0x87,0x88,0x98,0x99,0xAA,0xAA,0xAA,0xAA,0x99,0x89,0x88,0x88,0x77,0x66,0x66, 1182 | 0x55,0x45,0x41,0xB7,0xDC,0xBE,0x99,0xB9,0xBB,0x8A,0x45,0x43,0x54,0x55,0x24,0x42, 1183 | 0x65,0x76,0x56,0x54,0x65,0x77,0x66,0x86,0xCB,0xED,0xCE,0xBB,0xBA,0xAB,0x99,0x68, 1184 | 0x65,0x66,0x76,0x86,0x77,0x87,0x88,0x89,0x88,0x78,0x99,0x99,0x99,0x98,0x99,0x9A, 1185 | 1186 | // ^ - phoneme 's' 1187 | 0xB6,0x75,0x5A,0x4B,0x99,0xB5,0x58,0x5B,0x89,0xA6,0x96,0x68,0x88,0xA6,0x78,0x4A, 1188 | 0x8B,0xA5,0xA5,0x4A,0x4B,0xB7,0xB4,0x7A,0x4C,0x87,0xC3,0x78,0x2C,0x4B,0xC5,0xA4, 1189 | 0x3A,0x5B,0x99,0x95,0x88,0x49,0xB7,0xB4,0x68,0x8A,0xA7,0xB5,0x78,0x4C,0x9A,0xA5, 1190 | 0x78,0x5A,0x87,0xB5,0x78,0x5C,0x6B,0xA6,0x78,0x5A,0xA7,0xB3,0x58,0x2D,0x89,0xD5, 1191 | 1192 | // _ - phomeme 'f' 1193 | 0x65,0x66,0x6A,0x66,0xA7,0x98,0x66,0x6A,0x66,0xA7,0xA6,0x67,0x66,0x68,0xA6,0x6A, 1194 | 0x67,0xA7,0x98,0x66,0x66,0xA7,0x9A,0xA5,0x86,0x66,0x77,0x68,0xA6,0x9A,0x59,0x66, 1195 | 0x89,0xA7,0x89,0x65,0x68,0x86,0xA6,0x76,0x68,0x86,0x66,0xAA,0x68,0x66,0x6A,0x76, 1196 | 0x86,0x76,0x7A,0x66,0xA6,0x6A,0x7A,0x66,0xA6,0x8A,0x76,0x7A,0x8A,0x95,0x6A,0xA6, 1197 | 1198 | // ` - phoneme 'z' 1199 | 0x89,0x89,0x89,0xA8,0x99,0x9A,0xA9,0x9A,0xBA,0x9A,0x9A,0xA9,0x89,0x89,0x88,0x79, 1200 | 0x87,0x77,0x67,0x66,0x67,0x76,0x76,0x67,0x77,0x77,0x88,0x97,0x89,0x99,0x99,0xAA, 1201 | 0xA9,0x9A,0xAA,0xA9,0x9A,0x99,0x89,0x99,0x87,0x78,0x77,0x67,0x77,0x76,0x66,0x67, 1202 | 0x66,0x77,0x87,0x77,0x89,0x88,0x89,0x89,0x89,0xA8,0x99,0x9A,0xA9,0x9A,0xBA,0x9A, 1203 | 1204 | //a - pause 1205 | 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88, 1206 | 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88, 1207 | 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88, 1208 | 0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88,0x88, 1209 | 1210 | // b - phoneme 'th' 1211 | 0x88,0x88,0x87,0x88,0x79,0x86,0x88,0x76,0x86,0x86,0x66,0x66,0x76,0x78,0x98,0x88, 1212 | 0x8A,0x99,0x88,0x89,0x79,0x7A,0x8A,0x99,0x89,0xA8,0x98,0x98,0x68,0x88,0x89,0x79, 1213 | 0x78,0x78,0x88,0x86,0x88,0x67,0x68,0x87,0x87,0x85,0x67,0x7A,0x88,0x8A,0x8B,0x9A, 1214 | 0xA9,0x99,0xA9,0x98,0xA9,0xA9,0xA8,0x98,0xA8,0x96,0x86,0x76,0x76,0x78,0x76,0x66, 1215 | 1216 | // c - phoneme 'dh' 1217 | 0x67,0x98,0x99,0xA9,0xAA,0x9A,0xAA,0x89,0x88,0x78,0x67,0x76,0x67,0x76,0x87,0x88, 1218 | 0x99,0x9A,0xA9,0xAA,0x99,0x99,0x89,0x77,0x77,0x66,0x76,0x77,0x77,0x88,0x88,0xA9, 1219 | 0xAA,0xA9,0xAA,0x89,0x88,0x78,0x77,0x77,0x66,0x76,0x77,0x87,0x99,0x99,0xA9,0xAA, 1220 | 0x99,0x9A,0x89,0x88,0x77,0x66,0x87,0x99,0x99,0xAA,0xAA,0xA9,0x9A,0x88,0x88,0x77, 1221 | 1222 | // d - phoneme '/u`' 1223 | 0xD6,0xFC,0xCD,0x9C,0x88,0x88,0x56,0x44,0x76,0xBA,0xAB,0x99,0x89,0x78,0x56,0x44, 1224 | 0x65,0x98,0x99,0x99,0x99,0x89,0x56,0x45,0x64,0x87,0x88,0x98,0x99,0x99,0x68,0x55, 1225 | 0x65,0x86,0xA9,0xBB,0xAB,0x8A,0x68,0x56,0x66,0x87,0x88,0x88,0x78,0x56,0x55,0x55, 1226 | 0x55,0x65,0x66,0x66,0x56,0x66,0x55,0x55,0x56,0x45,0x65,0x87,0x88,0x66,0x55,0x55, 1227 | 1228 | // e - phoneme 'zh' 1229 | 0x98,0x89,0xAA,0x99,0xAA,0x89,0x89,0x67,0x77,0x66,0x77,0x76,0x88,0x97,0xA9,0xA9, 1230 | 0xAB,0x99,0x99,0x87,0x78,0x76,0x67,0x76,0x77,0x97,0x89,0xA9,0x9A,0xB9,0x99,0x99, 1231 | 0x78,0x88,0x66,0x76,0x66,0x87,0x88,0xA9,0x99,0xAA,0x99,0x9A,0x88,0x88,0x76,0x67, 1232 | 0x66,0x77,0x86,0x88,0x98,0x98,0x89,0xAA,0x99,0xAA,0x89,0x89,0x67,0x77,0x66,0x77, 1233 | 1234 | // f - phoneme 'eh' 1235 | 0x55,0x87,0xF4,0x8F,0x95,0x8F,0x23,0x67,0x86,0x75,0xFB,0x79,0xB8,0x29,0x53,0x76, 1236 | 0x66,0xB8,0x9C,0x78,0x88,0x45,0x65,0x87,0x97,0xAA,0x89,0x87,0x56,0x55,0x76,0x88, 1237 | 0x99,0x8A,0x68,0x66,0x55,0x76,0xAB,0x98,0xBA,0x58,0x65,0x56,0x76,0x99,0x89,0x88, 1238 | 0x68,0x55,0x66,0x66,0x98,0x88,0x77,0x66,0x55,0x56,0x66,0x66,0x86,0x57,0x87,0x56, 1239 | 1240 | // g - phonemem 'uh' 1241 | 0x21,0x32,0x44,0x44,0x64,0x86,0xAA,0x9A,0x77,0xB9,0xFD,0xFF,0xCD,0xBA,0xCB,0xCB, 1242 | 0x8A,0x55,0x65,0xA7,0xAA,0x89,0x98,0xB9,0xCC,0xAB,0x68,0x66,0x88,0x78,0x57,0x55, 1243 | 0x97,0xBA,0xAB,0x9A,0x99,0xAA,0x9A,0x68,0x66,0x86,0x98,0x99,0xDB,0xFD,0xFF,0xDF, 1244 | 0xAB,0x89,0x88,0x68,0x55,0x55,0x76,0x88,0x78,0x56,0x66,0x66,0x56,0x34,0x22,0x32, 1245 | 1246 | //UNUSED 1247 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 1248 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 1249 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00, 1250 | 0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00 1251 | }; 1252 | 1253 | static const SOUND_INDEX SoundIndex[41] PROGMEM= { 1254 | // Sound Phoneme 1255 | { 0, 0,10}, // A 1256 | { 1, 0,10}, // B 1257 | { 2, 0,10}, // C 1258 | { 3, 0,10}, // D 1259 | { 4, 0, 8}, // E 1260 | { 5, 0,12}, // F 1261 | { 6, 0, 8}, // G 1262 | { 7, 0, 1}, // H 1263 | { 8, 0, 1}, // I 1264 | { 9, 0, 1}, // J 1265 | {10, 0, 6}, // K 1266 | {11,-1, 0}, // L v (add 'f') 1267 | {12, 1,12}, // M 1268 | {13, 2, 0}, // N 1269 | {14, 1,12}, // O 1270 | {15, 1,12}, // P 1271 | {16, 1,12}, // Q 1272 | {17, 0, 6}, // R 1273 | {18, 0, 6}, // S 1274 | {19, 0, 6}, // T 1275 | {20, 0, 6}, // U 1276 | {21,-4, 0}, // V j (add 'sh') 1277 | {22, 1,12}, // W 1278 | {23, 0, 4}, // X 1279 | {24, 0, 8}, // Y 1280 | {25, 0, 6}, // Z 1281 | {26, 0,10}, // [ 1282 | {27, 2, 0}, // '\\' 1283 | {28, 1,12}, // ] 1284 | {29, 2, 0}, // ^ s 1285 | {30, 2, 0}, // _ f 1286 | {31,-2, 0}, // ` z (add 's') 1287 | {32, 0,10}, // a 1288 | {33, 2, 0}, // b th 1289 | {34,-3, 0}, // c dh (add 'th') 1290 | {35, 0, 6}, // d 1291 | {36,-4, 0}, // e zh (add 'sh') 1292 | {37, 0, 8}, // f 1293 | {38, 0, 8}, // g 1294 | {32, 0,10}, // h 1295 | {32, 0,10} // i 1296 | }; 1297 | 1298 | 1299 | #endif 1300 | -------------------------------------------------------------------------------- /eagle/TTS.GTO: -------------------------------------------------------------------------------- 1 | G75* 2 | %MOIN*% 3 | %OFA0B0*% 4 | %FSLAX25Y25*% 5 | %IPPOS*% 6 | %LPD*% 7 | %AMOC8* 8 | 5,1,8,0,0,1.08239X$1,22.5* 9 | % 10 | %ADD10C,0.00000*% 11 | %ADD11C,0.00400*% 12 | %ADD12C,0.00600*% 13 | %ADD13C,0.01200*% 14 | %ADD14C,0.00500*% 15 | %ADD15C,0.01000*% 16 | %ADD16R,0.02400X0.03400*% 17 | %ADD17R,0.03400X0.02400*% 18 | D10* 19 | X0001800Y0001800D02* 20 | X0001800Y0106761D01* 21 | X0140501Y0106761D01* 22 | X0140501Y0001800D01* 23 | X0001800Y0001800D01* 24 | D11* 25 | X0008535Y0097000D02* 26 | X0008535Y0101604D01* 27 | X0010069Y0101604D02* 28 | X0007000Y0101604D01* 29 | X0011604Y0101604D02* 30 | X0014673Y0101604D01* 31 | X0013139Y0101604D02* 32 | X0013139Y0097000D01* 33 | X0016208Y0097767D02* 34 | X0016975Y0097000D01* 35 | X0018510Y0097000D01* 36 | X0019277Y0097767D01* 37 | X0019277Y0098535D01* 38 | X0018510Y0099302D01* 39 | X0016975Y0099302D01* 40 | X0016208Y0100069D01* 41 | X0016208Y0100837D01* 42 | X0016975Y0101604D01* 43 | X0018510Y0101604D01* 44 | X0019277Y0100837D01* 45 | X0025416Y0100069D02* 46 | X0027718Y0100069D01* 47 | X0028485Y0100069D01* 48 | X0030020Y0100069D02* 49 | X0031554Y0101604D01* 50 | X0031554Y0097000D01* 51 | X0030020Y0097000D02* 52 | X0033089Y0097000D01* 53 | X0028485Y0098535D02* 54 | X0025416Y0098535D01* 55 | X0026183Y0097000D02* 56 | X0026183Y0101604D01* 57 | X0027718Y0101604D02* 58 | X0027718Y0097000D01* 59 | D12* 60 | X0021800Y0089300D02* 61 | X0019300Y0091800D01* 62 | X0014300Y0091800D01* 63 | X0011800Y0089300D01* 64 | X0011800Y0084300D01* 65 | X0014300Y0081800D01* 66 | X0019300Y0081800D01* 67 | X0021800Y0084300D01* 68 | X0021800Y0089300D01* 69 | X0019300Y0081800D02* 70 | X0021800Y0079300D01* 71 | X0021800Y0074300D01* 72 | X0019300Y0071800D01* 73 | X0021800Y0069300D01* 74 | X0021800Y0064300D01* 75 | X0019300Y0061800D01* 76 | X0014300Y0061800D01* 77 | X0011800Y0064300D01* 78 | X0011800Y0069300D01* 79 | X0014300Y0071800D01* 80 | X0011800Y0074300D01* 81 | X0011800Y0079300D01* 82 | X0014300Y0081800D01* 83 | X0014300Y0071800D02* 84 | X0019300Y0071800D01* 85 | X0037800Y0051300D02* 86 | X0045800Y0051300D01* 87 | X0045860Y0051298D01* 88 | X0045921Y0051293D01* 89 | X0045980Y0051284D01* 90 | X0046039Y0051271D01* 91 | X0046098Y0051255D01* 92 | X0046155Y0051235D01* 93 | X0046210Y0051212D01* 94 | X0046265Y0051185D01* 95 | X0046317Y0051156D01* 96 | X0046368Y0051123D01* 97 | X0046417Y0051087D01* 98 | X0046463Y0051049D01* 99 | X0046507Y0051007D01* 100 | X0046549Y0050963D01* 101 | X0046587Y0050917D01* 102 | X0046623Y0050868D01* 103 | X0046656Y0050817D01* 104 | X0046685Y0050765D01* 105 | X0046712Y0050710D01* 106 | X0046735Y0050655D01* 107 | X0046755Y0050598D01* 108 | X0046771Y0050539D01* 109 | X0046784Y0050480D01* 110 | X0046793Y0050421D01* 111 | X0046798Y0050360D01* 112 | X0046800Y0050300D01* 113 | X0046800Y0033300D01* 114 | X0046798Y0033240D01* 115 | X0046793Y0033179D01* 116 | X0046784Y0033120D01* 117 | X0046771Y0033061D01* 118 | X0046755Y0033002D01* 119 | X0046735Y0032945D01* 120 | X0046712Y0032890D01* 121 | X0046685Y0032835D01* 122 | X0046656Y0032783D01* 123 | X0046623Y0032732D01* 124 | X0046587Y0032683D01* 125 | X0046549Y0032637D01* 126 | X0046507Y0032593D01* 127 | X0046463Y0032551D01* 128 | X0046417Y0032513D01* 129 | X0046368Y0032477D01* 130 | X0046317Y0032444D01* 131 | X0046265Y0032415D01* 132 | X0046210Y0032388D01* 133 | X0046155Y0032365D01* 134 | X0046098Y0032345D01* 135 | X0046039Y0032329D01* 136 | X0045980Y0032316D01* 137 | X0045921Y0032307D01* 138 | X0045860Y0032302D01* 139 | X0045800Y0032300D01* 140 | X0037800Y0032300D01* 141 | X0037800Y0031300D02* 142 | X0045800Y0031300D01* 143 | X0045860Y0031298D01* 144 | X0045921Y0031293D01* 145 | X0045980Y0031284D01* 146 | X0046039Y0031271D01* 147 | X0046098Y0031255D01* 148 | X0046155Y0031235D01* 149 | X0046210Y0031212D01* 150 | X0046265Y0031185D01* 151 | X0046317Y0031156D01* 152 | X0046368Y0031123D01* 153 | X0046417Y0031087D01* 154 | X0046463Y0031049D01* 155 | X0046507Y0031007D01* 156 | X0046549Y0030963D01* 157 | X0046587Y0030917D01* 158 | X0046623Y0030868D01* 159 | X0046656Y0030817D01* 160 | X0046685Y0030765D01* 161 | X0046712Y0030710D01* 162 | X0046735Y0030655D01* 163 | X0046755Y0030598D01* 164 | X0046771Y0030539D01* 165 | X0046784Y0030480D01* 166 | X0046793Y0030421D01* 167 | X0046798Y0030360D01* 168 | X0046800Y0030300D01* 169 | X0046800Y0013300D01* 170 | X0046798Y0013240D01* 171 | X0046793Y0013179D01* 172 | X0046784Y0013120D01* 173 | X0046771Y0013061D01* 174 | X0046755Y0013002D01* 175 | X0046735Y0012945D01* 176 | X0046712Y0012890D01* 177 | X0046685Y0012835D01* 178 | X0046656Y0012783D01* 179 | X0046623Y0012732D01* 180 | X0046587Y0012683D01* 181 | X0046549Y0012637D01* 182 | X0046507Y0012593D01* 183 | X0046463Y0012551D01* 184 | X0046417Y0012513D01* 185 | X0046368Y0012477D01* 186 | X0046317Y0012444D01* 187 | X0046265Y0012415D01* 188 | X0046210Y0012388D01* 189 | X0046155Y0012365D01* 190 | X0046098Y0012345D01* 191 | X0046039Y0012329D01* 192 | X0045980Y0012316D01* 193 | X0045921Y0012307D01* 194 | X0045860Y0012302D01* 195 | X0045800Y0012300D01* 196 | X0037800Y0012300D01* 197 | X0037740Y0012302D01* 198 | X0037679Y0012307D01* 199 | X0037620Y0012316D01* 200 | X0037561Y0012329D01* 201 | X0037502Y0012345D01* 202 | X0037445Y0012365D01* 203 | X0037390Y0012388D01* 204 | X0037335Y0012415D01* 205 | X0037283Y0012444D01* 206 | X0037232Y0012477D01* 207 | X0037183Y0012513D01* 208 | X0037137Y0012551D01* 209 | X0037093Y0012593D01* 210 | X0037051Y0012637D01* 211 | X0037013Y0012683D01* 212 | X0036977Y0012732D01* 213 | X0036944Y0012783D01* 214 | X0036915Y0012835D01* 215 | X0036888Y0012890D01* 216 | X0036865Y0012945D01* 217 | X0036845Y0013002D01* 218 | X0036829Y0013061D01* 219 | X0036816Y0013120D01* 220 | X0036807Y0013179D01* 221 | X0036802Y0013240D01* 222 | X0036800Y0013300D01* 223 | X0036800Y0030300D01* 224 | X0036802Y0030360D01* 225 | X0036807Y0030421D01* 226 | X0036816Y0030480D01* 227 | X0036829Y0030539D01* 228 | X0036845Y0030598D01* 229 | X0036865Y0030655D01* 230 | X0036888Y0030710D01* 231 | X0036915Y0030765D01* 232 | X0036944Y0030817D01* 233 | X0036977Y0030868D01* 234 | X0037013Y0030917D01* 235 | X0037051Y0030963D01* 236 | X0037093Y0031007D01* 237 | X0037137Y0031049D01* 238 | X0037183Y0031087D01* 239 | X0037232Y0031123D01* 240 | X0037283Y0031156D01* 241 | X0037335Y0031185D01* 242 | X0037390Y0031212D01* 243 | X0037445Y0031235D01* 244 | X0037502Y0031255D01* 245 | X0037561Y0031271D01* 246 | X0037620Y0031284D01* 247 | X0037679Y0031293D01* 248 | X0037740Y0031298D01* 249 | X0037800Y0031300D01* 250 | X0037800Y0032300D02* 251 | X0037740Y0032302D01* 252 | X0037679Y0032307D01* 253 | X0037620Y0032316D01* 254 | X0037561Y0032329D01* 255 | X0037502Y0032345D01* 256 | X0037445Y0032365D01* 257 | X0037390Y0032388D01* 258 | X0037335Y0032415D01* 259 | X0037283Y0032444D01* 260 | X0037232Y0032477D01* 261 | X0037183Y0032513D01* 262 | X0037137Y0032551D01* 263 | X0037093Y0032593D01* 264 | X0037051Y0032637D01* 265 | X0037013Y0032683D01* 266 | X0036977Y0032732D01* 267 | X0036944Y0032783D01* 268 | X0036915Y0032835D01* 269 | X0036888Y0032890D01* 270 | X0036865Y0032945D01* 271 | X0036845Y0033002D01* 272 | X0036829Y0033061D01* 273 | X0036816Y0033120D01* 274 | X0036807Y0033179D01* 275 | X0036802Y0033240D01* 276 | X0036800Y0033300D01* 277 | X0036800Y0050300D01* 278 | X0036802Y0050360D01* 279 | X0036807Y0050421D01* 280 | X0036816Y0050480D01* 281 | X0036829Y0050539D01* 282 | X0036845Y0050598D01* 283 | X0036865Y0050655D01* 284 | X0036888Y0050710D01* 285 | X0036915Y0050765D01* 286 | X0036944Y0050817D01* 287 | X0036977Y0050868D01* 288 | X0037013Y0050917D01* 289 | X0037051Y0050963D01* 290 | X0037093Y0051007D01* 291 | X0037137Y0051049D01* 292 | X0037183Y0051087D01* 293 | X0037232Y0051123D01* 294 | X0037283Y0051156D01* 295 | X0037335Y0051185D01* 296 | X0037390Y0051212D01* 297 | X0037445Y0051235D01* 298 | X0037502Y0051255D01* 299 | X0037561Y0051271D01* 300 | X0037620Y0051284D01* 301 | X0037679Y0051293D01* 302 | X0037740Y0051298D01* 303 | X0037800Y0051300D01* 304 | X0030300Y0044300D02* 305 | X0023300Y0044300D01* 306 | X0023240Y0044298D01* 307 | X0023179Y0044293D01* 308 | X0023120Y0044284D01* 309 | X0023061Y0044271D01* 310 | X0023002Y0044255D01* 311 | X0022945Y0044235D01* 312 | X0022890Y0044212D01* 313 | X0022835Y0044185D01* 314 | X0022783Y0044156D01* 315 | X0022732Y0044123D01* 316 | X0022683Y0044087D01* 317 | X0022637Y0044049D01* 318 | X0022593Y0044007D01* 319 | X0022551Y0043963D01* 320 | X0022513Y0043917D01* 321 | X0022477Y0043868D01* 322 | X0022444Y0043817D01* 323 | X0022415Y0043765D01* 324 | X0022388Y0043710D01* 325 | X0022365Y0043655D01* 326 | X0022345Y0043598D01* 327 | X0022329Y0043539D01* 328 | X0022316Y0043480D01* 329 | X0022307Y0043421D01* 330 | X0022302Y0043360D01* 331 | X0022300Y0043300D01* 332 | X0022300Y0041800D01* 333 | X0022800Y0041300D01* 334 | X0022800Y0022300D01* 335 | X0022300Y0021800D01* 336 | X0022300Y0020300D01* 337 | X0021300Y0020300D02* 338 | X0021300Y0021800D01* 339 | X0020800Y0022300D01* 340 | X0020800Y0041300D01* 341 | X0021300Y0041800D01* 342 | X0021300Y0043300D01* 343 | X0021298Y0043360D01* 344 | X0021293Y0043421D01* 345 | X0021284Y0043480D01* 346 | X0021271Y0043539D01* 347 | X0021255Y0043598D01* 348 | X0021235Y0043655D01* 349 | X0021212Y0043710D01* 350 | X0021185Y0043765D01* 351 | X0021156Y0043817D01* 352 | X0021123Y0043868D01* 353 | X0021087Y0043917D01* 354 | X0021049Y0043963D01* 355 | X0021007Y0044007D01* 356 | X0020963Y0044049D01* 357 | X0020917Y0044087D01* 358 | X0020868Y0044123D01* 359 | X0020817Y0044156D01* 360 | X0020765Y0044185D01* 361 | X0020710Y0044212D01* 362 | X0020655Y0044235D01* 363 | X0020598Y0044255D01* 364 | X0020539Y0044271D01* 365 | X0020480Y0044284D01* 366 | X0020421Y0044293D01* 367 | X0020360Y0044298D01* 368 | X0020300Y0044300D01* 369 | X0013300Y0044300D01* 370 | X0013240Y0044298D01* 371 | X0013179Y0044293D01* 372 | X0013120Y0044284D01* 373 | X0013061Y0044271D01* 374 | X0013002Y0044255D01* 375 | X0012945Y0044235D01* 376 | X0012890Y0044212D01* 377 | X0012835Y0044185D01* 378 | X0012783Y0044156D01* 379 | X0012732Y0044123D01* 380 | X0012683Y0044087D01* 381 | X0012637Y0044049D01* 382 | X0012593Y0044007D01* 383 | X0012551Y0043963D01* 384 | X0012513Y0043917D01* 385 | X0012477Y0043868D01* 386 | X0012444Y0043817D01* 387 | X0012415Y0043765D01* 388 | X0012388Y0043710D01* 389 | X0012365Y0043655D01* 390 | X0012345Y0043598D01* 391 | X0012329Y0043539D01* 392 | X0012316Y0043480D01* 393 | X0012307Y0043421D01* 394 | X0012302Y0043360D01* 395 | X0012300Y0043300D01* 396 | X0012300Y0041800D01* 397 | X0012800Y0041300D01* 398 | X0012800Y0022300D01* 399 | X0012300Y0021800D01* 400 | X0012300Y0020300D01* 401 | X0012302Y0020240D01* 402 | X0012307Y0020179D01* 403 | X0012316Y0020120D01* 404 | X0012329Y0020061D01* 405 | X0012345Y0020002D01* 406 | X0012365Y0019945D01* 407 | X0012388Y0019890D01* 408 | X0012415Y0019835D01* 409 | X0012444Y0019783D01* 410 | X0012477Y0019732D01* 411 | X0012513Y0019683D01* 412 | X0012551Y0019637D01* 413 | X0012593Y0019593D01* 414 | X0012637Y0019551D01* 415 | X0012683Y0019513D01* 416 | X0012732Y0019477D01* 417 | X0012783Y0019444D01* 418 | X0012835Y0019415D01* 419 | X0012890Y0019388D01* 420 | X0012945Y0019365D01* 421 | X0013002Y0019345D01* 422 | X0013061Y0019329D01* 423 | X0013120Y0019316D01* 424 | X0013179Y0019307D01* 425 | X0013240Y0019302D01* 426 | X0013300Y0019300D01* 427 | X0020300Y0019300D01* 428 | X0020360Y0019302D01* 429 | X0020421Y0019307D01* 430 | X0020480Y0019316D01* 431 | X0020539Y0019329D01* 432 | X0020598Y0019345D01* 433 | X0020655Y0019365D01* 434 | X0020710Y0019388D01* 435 | X0020765Y0019415D01* 436 | X0020817Y0019444D01* 437 | X0020868Y0019477D01* 438 | X0020917Y0019513D01* 439 | X0020963Y0019551D01* 440 | X0021007Y0019593D01* 441 | X0021049Y0019637D01* 442 | X0021087Y0019683D01* 443 | X0021123Y0019732D01* 444 | X0021156Y0019783D01* 445 | X0021185Y0019835D01* 446 | X0021212Y0019890D01* 447 | X0021235Y0019945D01* 448 | X0021255Y0020002D01* 449 | X0021271Y0020061D01* 450 | X0021284Y0020120D01* 451 | X0021293Y0020179D01* 452 | X0021298Y0020240D01* 453 | X0021300Y0020300D01* 454 | X0022300Y0020300D02* 455 | X0022302Y0020240D01* 456 | X0022307Y0020179D01* 457 | X0022316Y0020120D01* 458 | X0022329Y0020061D01* 459 | X0022345Y0020002D01* 460 | X0022365Y0019945D01* 461 | X0022388Y0019890D01* 462 | X0022415Y0019835D01* 463 | X0022444Y0019783D01* 464 | X0022477Y0019732D01* 465 | X0022513Y0019683D01* 466 | X0022551Y0019637D01* 467 | X0022593Y0019593D01* 468 | X0022637Y0019551D01* 469 | X0022683Y0019513D01* 470 | X0022732Y0019477D01* 471 | X0022783Y0019444D01* 472 | X0022835Y0019415D01* 473 | X0022890Y0019388D01* 474 | X0022945Y0019365D01* 475 | X0023002Y0019345D01* 476 | X0023061Y0019329D01* 477 | X0023120Y0019316D01* 478 | X0023179Y0019307D01* 479 | X0023240Y0019302D01* 480 | X0023300Y0019300D01* 481 | X0030300Y0019300D01* 482 | X0030360Y0019302D01* 483 | X0030421Y0019307D01* 484 | X0030480Y0019316D01* 485 | X0030539Y0019329D01* 486 | X0030598Y0019345D01* 487 | X0030655Y0019365D01* 488 | X0030710Y0019388D01* 489 | X0030765Y0019415D01* 490 | X0030817Y0019444D01* 491 | X0030868Y0019477D01* 492 | X0030917Y0019513D01* 493 | X0030963Y0019551D01* 494 | X0031007Y0019593D01* 495 | X0031049Y0019637D01* 496 | X0031087Y0019683D01* 497 | X0031123Y0019732D01* 498 | X0031156Y0019783D01* 499 | X0031185Y0019835D01* 500 | X0031212Y0019890D01* 501 | X0031235Y0019945D01* 502 | X0031255Y0020002D01* 503 | X0031271Y0020061D01* 504 | X0031284Y0020120D01* 505 | X0031293Y0020179D01* 506 | X0031298Y0020240D01* 507 | X0031300Y0020300D01* 508 | X0031300Y0021800D01* 509 | X0030800Y0022300D01* 510 | X0030800Y0041300D01* 511 | X0031300Y0041800D01* 512 | X0031300Y0043300D01* 513 | X0031298Y0043360D01* 514 | X0031293Y0043421D01* 515 | X0031284Y0043480D01* 516 | X0031271Y0043539D01* 517 | X0031255Y0043598D01* 518 | X0031235Y0043655D01* 519 | X0031212Y0043710D01* 520 | X0031185Y0043765D01* 521 | X0031156Y0043817D01* 522 | X0031123Y0043868D01* 523 | X0031087Y0043917D01* 524 | X0031049Y0043963D01* 525 | X0031007Y0044007D01* 526 | X0030963Y0044049D01* 527 | X0030917Y0044087D01* 528 | X0030868Y0044123D01* 529 | X0030817Y0044156D01* 530 | X0030765Y0044185D01* 531 | X0030710Y0044212D01* 532 | X0030655Y0044235D01* 533 | X0030598Y0044255D01* 534 | X0030539Y0044271D01* 535 | X0030480Y0044284D01* 536 | X0030421Y0044293D01* 537 | X0030360Y0044298D01* 538 | X0030300Y0044300D01* 539 | X0041800Y0043300D02* 540 | X0041800Y0042800D01* 541 | X0041800Y0040800D02* 542 | X0041800Y0040300D01* 543 | X0060300Y0026800D02* 544 | X0061300Y0026800D01* 545 | X0061300Y0027800D01* 546 | X0061300Y0026800D02* 547 | X0062300Y0026800D01* 548 | X0061300Y0026800D02* 549 | X0061300Y0025800D01* 550 | X0056800Y0021800D02* 551 | X0056803Y0022045D01* 552 | X0056812Y0022291D01* 553 | X0056827Y0022536D01* 554 | X0056848Y0022780D01* 555 | X0056875Y0023024D01* 556 | X0056908Y0023267D01* 557 | X0056947Y0023510D01* 558 | X0056992Y0023751D01* 559 | X0057043Y0023991D01* 560 | X0057100Y0024230D01* 561 | X0057162Y0024467D01* 562 | X0057231Y0024703D01* 563 | X0057305Y0024937D01* 564 | X0057385Y0025169D01* 565 | X0057470Y0025399D01* 566 | X0057561Y0025627D01* 567 | X0057658Y0025852D01* 568 | X0057760Y0026076D01* 569 | X0057868Y0026296D01* 570 | X0057981Y0026514D01* 571 | X0058099Y0026729D01* 572 | X0058223Y0026941D01* 573 | X0058351Y0027150D01* 574 | X0058485Y0027356D01* 575 | X0058624Y0027558D01* 576 | X0058768Y0027757D01* 577 | X0058917Y0027952D01* 578 | X0059070Y0028144D01* 579 | X0059228Y0028332D01* 580 | X0059390Y0028516D01* 581 | X0059558Y0028695D01* 582 | X0059729Y0028871D01* 583 | X0059905Y0029042D01* 584 | X0060084Y0029210D01* 585 | X0060268Y0029372D01* 586 | X0060456Y0029530D01* 587 | X0060648Y0029683D01* 588 | X0060843Y0029832D01* 589 | X0061042Y0029976D01* 590 | X0061244Y0030115D01* 591 | X0061450Y0030249D01* 592 | X0061659Y0030377D01* 593 | X0061871Y0030501D01* 594 | X0062086Y0030619D01* 595 | X0062304Y0030732D01* 596 | X0062524Y0030840D01* 597 | X0062748Y0030942D01* 598 | X0062973Y0031039D01* 599 | X0063201Y0031130D01* 600 | X0063431Y0031215D01* 601 | X0063663Y0031295D01* 602 | X0063897Y0031369D01* 603 | X0064133Y0031438D01* 604 | X0064370Y0031500D01* 605 | X0064609Y0031557D01* 606 | X0064849Y0031608D01* 607 | X0065090Y0031653D01* 608 | X0065333Y0031692D01* 609 | X0065576Y0031725D01* 610 | X0065820Y0031752D01* 611 | X0066064Y0031773D01* 612 | X0066309Y0031788D01* 613 | X0066555Y0031797D01* 614 | X0066800Y0031800D01* 615 | X0067045Y0031797D01* 616 | X0067291Y0031788D01* 617 | X0067536Y0031773D01* 618 | X0067780Y0031752D01* 619 | X0068024Y0031725D01* 620 | X0068267Y0031692D01* 621 | X0068510Y0031653D01* 622 | X0068751Y0031608D01* 623 | X0068991Y0031557D01* 624 | X0069230Y0031500D01* 625 | X0069467Y0031438D01* 626 | X0069703Y0031369D01* 627 | X0069937Y0031295D01* 628 | X0070169Y0031215D01* 629 | X0070399Y0031130D01* 630 | X0070627Y0031039D01* 631 | X0070852Y0030942D01* 632 | X0071076Y0030840D01* 633 | X0071296Y0030732D01* 634 | X0071514Y0030619D01* 635 | X0071729Y0030501D01* 636 | X0071941Y0030377D01* 637 | X0072150Y0030249D01* 638 | X0072356Y0030115D01* 639 | X0072558Y0029976D01* 640 | X0072757Y0029832D01* 641 | X0072952Y0029683D01* 642 | X0073144Y0029530D01* 643 | X0073332Y0029372D01* 644 | X0073516Y0029210D01* 645 | X0073695Y0029042D01* 646 | X0073871Y0028871D01* 647 | X0074042Y0028695D01* 648 | X0074210Y0028516D01* 649 | X0074372Y0028332D01* 650 | X0074530Y0028144D01* 651 | X0074683Y0027952D01* 652 | X0074832Y0027757D01* 653 | X0074976Y0027558D01* 654 | X0075115Y0027356D01* 655 | X0075249Y0027150D01* 656 | X0075377Y0026941D01* 657 | X0075501Y0026729D01* 658 | X0075619Y0026514D01* 659 | X0075732Y0026296D01* 660 | X0075840Y0026076D01* 661 | X0075942Y0025852D01* 662 | X0076039Y0025627D01* 663 | X0076130Y0025399D01* 664 | X0076215Y0025169D01* 665 | X0076295Y0024937D01* 666 | X0076369Y0024703D01* 667 | X0076438Y0024467D01* 668 | X0076500Y0024230D01* 669 | X0076557Y0023991D01* 670 | X0076608Y0023751D01* 671 | X0076653Y0023510D01* 672 | X0076692Y0023267D01* 673 | X0076725Y0023024D01* 674 | X0076752Y0022780D01* 675 | X0076773Y0022536D01* 676 | X0076788Y0022291D01* 677 | X0076797Y0022045D01* 678 | X0076800Y0021800D01* 679 | X0076797Y0021555D01* 680 | X0076788Y0021309D01* 681 | X0076773Y0021064D01* 682 | X0076752Y0020820D01* 683 | X0076725Y0020576D01* 684 | X0076692Y0020333D01* 685 | X0076653Y0020090D01* 686 | X0076608Y0019849D01* 687 | X0076557Y0019609D01* 688 | X0076500Y0019370D01* 689 | X0076438Y0019133D01* 690 | X0076369Y0018897D01* 691 | X0076295Y0018663D01* 692 | X0076215Y0018431D01* 693 | X0076130Y0018201D01* 694 | X0076039Y0017973D01* 695 | X0075942Y0017748D01* 696 | X0075840Y0017524D01* 697 | X0075732Y0017304D01* 698 | X0075619Y0017086D01* 699 | X0075501Y0016871D01* 700 | X0075377Y0016659D01* 701 | X0075249Y0016450D01* 702 | X0075115Y0016244D01* 703 | X0074976Y0016042D01* 704 | X0074832Y0015843D01* 705 | X0074683Y0015648D01* 706 | X0074530Y0015456D01* 707 | X0074372Y0015268D01* 708 | X0074210Y0015084D01* 709 | X0074042Y0014905D01* 710 | X0073871Y0014729D01* 711 | X0073695Y0014558D01* 712 | X0073516Y0014390D01* 713 | X0073332Y0014228D01* 714 | X0073144Y0014070D01* 715 | X0072952Y0013917D01* 716 | X0072757Y0013768D01* 717 | X0072558Y0013624D01* 718 | X0072356Y0013485D01* 719 | X0072150Y0013351D01* 720 | X0071941Y0013223D01* 721 | X0071729Y0013099D01* 722 | X0071514Y0012981D01* 723 | X0071296Y0012868D01* 724 | X0071076Y0012760D01* 725 | X0070852Y0012658D01* 726 | X0070627Y0012561D01* 727 | X0070399Y0012470D01* 728 | X0070169Y0012385D01* 729 | X0069937Y0012305D01* 730 | X0069703Y0012231D01* 731 | X0069467Y0012162D01* 732 | X0069230Y0012100D01* 733 | X0068991Y0012043D01* 734 | X0068751Y0011992D01* 735 | X0068510Y0011947D01* 736 | X0068267Y0011908D01* 737 | X0068024Y0011875D01* 738 | X0067780Y0011848D01* 739 | X0067536Y0011827D01* 740 | X0067291Y0011812D01* 741 | X0067045Y0011803D01* 742 | X0066800Y0011800D01* 743 | X0066555Y0011803D01* 744 | X0066309Y0011812D01* 745 | X0066064Y0011827D01* 746 | X0065820Y0011848D01* 747 | X0065576Y0011875D01* 748 | X0065333Y0011908D01* 749 | X0065090Y0011947D01* 750 | X0064849Y0011992D01* 751 | X0064609Y0012043D01* 752 | X0064370Y0012100D01* 753 | X0064133Y0012162D01* 754 | X0063897Y0012231D01* 755 | X0063663Y0012305D01* 756 | X0063431Y0012385D01* 757 | X0063201Y0012470D01* 758 | X0062973Y0012561D01* 759 | X0062748Y0012658D01* 760 | X0062524Y0012760D01* 761 | X0062304Y0012868D01* 762 | X0062086Y0012981D01* 763 | X0061871Y0013099D01* 764 | X0061659Y0013223D01* 765 | X0061450Y0013351D01* 766 | X0061244Y0013485D01* 767 | X0061042Y0013624D01* 768 | X0060843Y0013768D01* 769 | X0060648Y0013917D01* 770 | X0060456Y0014070D01* 771 | X0060268Y0014228D01* 772 | X0060084Y0014390D01* 773 | X0059905Y0014558D01* 774 | X0059729Y0014729D01* 775 | X0059558Y0014905D01* 776 | X0059390Y0015084D01* 777 | X0059228Y0015268D01* 778 | X0059070Y0015456D01* 779 | X0058917Y0015648D01* 780 | X0058768Y0015843D01* 781 | X0058624Y0016042D01* 782 | X0058485Y0016244D01* 783 | X0058351Y0016450D01* 784 | X0058223Y0016659D01* 785 | X0058099Y0016871D01* 786 | X0057981Y0017086D01* 787 | X0057868Y0017304D01* 788 | X0057760Y0017524D01* 789 | X0057658Y0017748D01* 790 | X0057561Y0017973D01* 791 | X0057470Y0018201D01* 792 | X0057385Y0018431D01* 793 | X0057305Y0018663D01* 794 | X0057231Y0018897D01* 795 | X0057162Y0019133D01* 796 | X0057100Y0019370D01* 797 | X0057043Y0019609D01* 798 | X0056992Y0019849D01* 799 | X0056947Y0020090D01* 800 | X0056908Y0020333D01* 801 | X0056875Y0020576D01* 802 | X0056848Y0020820D01* 803 | X0056827Y0021064D01* 804 | X0056812Y0021309D01* 805 | X0056803Y0021555D01* 806 | X0056800Y0021800D01* 807 | X0041800Y0020800D02* 808 | X0041800Y0020300D01* 809 | X0041800Y0022800D02* 810 | X0041800Y0023300D01* 811 | X0065300Y0036800D02* 812 | X0088300Y0036800D01* 813 | X0088300Y0076800D01* 814 | X0080800Y0076800D01* 815 | X0080798Y0076674D01* 816 | X0080792Y0076549D01* 817 | X0080782Y0076424D01* 818 | X0080768Y0076299D01* 819 | X0080751Y0076174D01* 820 | X0080729Y0076050D01* 821 | X0080704Y0075927D01* 822 | X0080674Y0075805D01* 823 | X0080641Y0075684D01* 824 | X0080604Y0075564D01* 825 | X0080564Y0075445D01* 826 | X0080519Y0075328D01* 827 | X0080471Y0075211D01* 828 | X0080419Y0075097D01* 829 | X0080364Y0074984D01* 830 | X0080305Y0074873D01* 831 | X0080243Y0074764D01* 832 | X0080177Y0074657D01* 833 | X0080108Y0074552D01* 834 | X0080036Y0074449D01* 835 | X0079961Y0074348D01* 836 | X0079882Y0074250D01* 837 | X0079800Y0074155D01* 838 | X0079716Y0074062D01* 839 | X0079628Y0073972D01* 840 | X0079538Y0073884D01* 841 | X0079445Y0073800D01* 842 | X0079350Y0073718D01* 843 | X0079252Y0073639D01* 844 | X0079151Y0073564D01* 845 | X0079048Y0073492D01* 846 | X0078943Y0073423D01* 847 | X0078836Y0073357D01* 848 | X0078727Y0073295D01* 849 | X0078616Y0073236D01* 850 | X0078503Y0073181D01* 851 | X0078389Y0073129D01* 852 | X0078272Y0073081D01* 853 | X0078155Y0073036D01* 854 | X0078036Y0072996D01* 855 | X0077916Y0072959D01* 856 | X0077795Y0072926D01* 857 | X0077673Y0072896D01* 858 | X0077550Y0072871D01* 859 | X0077426Y0072849D01* 860 | X0077301Y0072832D01* 861 | X0077176Y0072818D01* 862 | X0077051Y0072808D01* 863 | X0076926Y0072802D01* 864 | X0076800Y0072800D01* 865 | X0076674Y0072802D01* 866 | X0076549Y0072808D01* 867 | X0076424Y0072818D01* 868 | X0076299Y0072832D01* 869 | X0076174Y0072849D01* 870 | X0076050Y0072871D01* 871 | X0075927Y0072896D01* 872 | X0075805Y0072926D01* 873 | X0075684Y0072959D01* 874 | X0075564Y0072996D01* 875 | X0075445Y0073036D01* 876 | X0075328Y0073081D01* 877 | X0075211Y0073129D01* 878 | X0075097Y0073181D01* 879 | X0074984Y0073236D01* 880 | X0074873Y0073295D01* 881 | X0074764Y0073357D01* 882 | X0074657Y0073423D01* 883 | X0074552Y0073492D01* 884 | X0074449Y0073564D01* 885 | X0074348Y0073639D01* 886 | X0074250Y0073718D01* 887 | X0074155Y0073800D01* 888 | X0074062Y0073884D01* 889 | X0073972Y0073972D01* 890 | X0073884Y0074062D01* 891 | X0073800Y0074155D01* 892 | X0073718Y0074250D01* 893 | X0073639Y0074348D01* 894 | X0073564Y0074449D01* 895 | X0073492Y0074552D01* 896 | X0073423Y0074657D01* 897 | X0073357Y0074764D01* 898 | X0073295Y0074873D01* 899 | X0073236Y0074984D01* 900 | X0073181Y0075097D01* 901 | X0073129Y0075211D01* 902 | X0073081Y0075328D01* 903 | X0073036Y0075445D01* 904 | X0072996Y0075564D01* 905 | X0072959Y0075684D01* 906 | X0072926Y0075805D01* 907 | X0072896Y0075927D01* 908 | X0072871Y0076050D01* 909 | X0072849Y0076174D01* 910 | X0072832Y0076299D01* 911 | X0072818Y0076424D01* 912 | X0072808Y0076549D01* 913 | X0072802Y0076674D01* 914 | X0072800Y0076800D01* 915 | X0065300Y0076800D01* 916 | X0065300Y0036800D01* 917 | X0094300Y0035300D02* 918 | X0094300Y0028300D01* 919 | X0094302Y0028240D01* 920 | X0094307Y0028179D01* 921 | X0094316Y0028120D01* 922 | X0094329Y0028061D01* 923 | X0094345Y0028002D01* 924 | X0094365Y0027945D01* 925 | X0094388Y0027890D01* 926 | X0094415Y0027835D01* 927 | X0094444Y0027783D01* 928 | X0094477Y0027732D01* 929 | X0094513Y0027683D01* 930 | X0094551Y0027637D01* 931 | X0094593Y0027593D01* 932 | X0094637Y0027551D01* 933 | X0094683Y0027513D01* 934 | X0094732Y0027477D01* 935 | X0094783Y0027444D01* 936 | X0094835Y0027415D01* 937 | X0094890Y0027388D01* 938 | X0094945Y0027365D01* 939 | X0095002Y0027345D01* 940 | X0095061Y0027329D01* 941 | X0095120Y0027316D01* 942 | X0095179Y0027307D01* 943 | X0095240Y0027302D01* 944 | X0095300Y0027300D01* 945 | X0096800Y0027300D01* 946 | X0097300Y0027800D01* 947 | X0116300Y0027800D01* 948 | X0116800Y0027300D01* 949 | X0118300Y0027300D01* 950 | X0118360Y0027302D01* 951 | X0118421Y0027307D01* 952 | X0118480Y0027316D01* 953 | X0118539Y0027329D01* 954 | X0118598Y0027345D01* 955 | X0118655Y0027365D01* 956 | X0118710Y0027388D01* 957 | X0118765Y0027415D01* 958 | X0118817Y0027444D01* 959 | X0118868Y0027477D01* 960 | X0118917Y0027513D01* 961 | X0118963Y0027551D01* 962 | X0119007Y0027593D01* 963 | X0119049Y0027637D01* 964 | X0119087Y0027683D01* 965 | X0119123Y0027732D01* 966 | X0119156Y0027783D01* 967 | X0119185Y0027835D01* 968 | X0119212Y0027890D01* 969 | X0119235Y0027945D01* 970 | X0119255Y0028002D01* 971 | X0119271Y0028061D01* 972 | X0119284Y0028120D01* 973 | X0119293Y0028179D01* 974 | X0119298Y0028240D01* 975 | X0119300Y0028300D01* 976 | X0119300Y0035300D01* 977 | X0119298Y0035360D01* 978 | X0119293Y0035421D01* 979 | X0119284Y0035480D01* 980 | X0119271Y0035539D01* 981 | X0119255Y0035598D01* 982 | X0119235Y0035655D01* 983 | X0119212Y0035710D01* 984 | X0119185Y0035765D01* 985 | X0119156Y0035817D01* 986 | X0119123Y0035868D01* 987 | X0119087Y0035917D01* 988 | X0119049Y0035963D01* 989 | X0119007Y0036007D01* 990 | X0118963Y0036049D01* 991 | X0118917Y0036087D01* 992 | X0118868Y0036123D01* 993 | X0118817Y0036156D01* 994 | X0118765Y0036185D01* 995 | X0118710Y0036212D01* 996 | X0118655Y0036235D01* 997 | X0118598Y0036255D01* 998 | X0118539Y0036271D01* 999 | X0118480Y0036284D01* 1000 | X0118421Y0036293D01* 1001 | X0118360Y0036298D01* 1002 | X0118300Y0036300D01* 1003 | X0116800Y0036300D01* 1004 | X0116300Y0035800D01* 1005 | X0097300Y0035800D01* 1006 | X0096800Y0036300D01* 1007 | X0095300Y0036300D01* 1008 | X0095240Y0036298D01* 1009 | X0095179Y0036293D01* 1010 | X0095120Y0036284D01* 1011 | X0095061Y0036271D01* 1012 | X0095002Y0036255D01* 1013 | X0094945Y0036235D01* 1014 | X0094890Y0036212D01* 1015 | X0094835Y0036185D01* 1016 | X0094783Y0036156D01* 1017 | X0094732Y0036123D01* 1018 | X0094683Y0036087D01* 1019 | X0094637Y0036049D01* 1020 | X0094593Y0036007D01* 1021 | X0094551Y0035963D01* 1022 | X0094513Y0035917D01* 1023 | X0094477Y0035868D01* 1024 | X0094444Y0035817D01* 1025 | X0094415Y0035765D01* 1026 | X0094388Y0035710D01* 1027 | X0094365Y0035655D01* 1028 | X0094345Y0035598D01* 1029 | X0094329Y0035539D01* 1030 | X0094316Y0035480D01* 1031 | X0094307Y0035421D01* 1032 | X0094302Y0035360D01* 1033 | X0094300Y0035300D01* 1034 | X0100300Y0026300D02* 1035 | X0113300Y0026300D01* 1036 | X0113387Y0026298D01* 1037 | X0113474Y0026292D01* 1038 | X0113561Y0026283D01* 1039 | X0113647Y0026270D01* 1040 | X0113733Y0026253D01* 1041 | X0113818Y0026232D01* 1042 | X0113901Y0026207D01* 1043 | X0113984Y0026179D01* 1044 | X0114065Y0026148D01* 1045 | X0114145Y0026113D01* 1046 | X0114223Y0026074D01* 1047 | X0114300Y0026032D01* 1048 | X0114375Y0025987D01* 1049 | X0114447Y0025938D01* 1050 | X0114518Y0025887D01* 1051 | X0114586Y0025832D01* 1052 | X0114651Y0025775D01* 1053 | X0114714Y0025714D01* 1054 | X0114775Y0025651D01* 1055 | X0114832Y0025586D01* 1056 | X0114887Y0025518D01* 1057 | X0114938Y0025447D01* 1058 | X0114987Y0025375D01* 1059 | X0115032Y0025300D01* 1060 | X0115074Y0025223D01* 1061 | X0115113Y0025145D01* 1062 | X0115148Y0025065D01* 1063 | X0115179Y0024984D01* 1064 | X0115207Y0024901D01* 1065 | X0115232Y0024818D01* 1066 | X0115253Y0024733D01* 1067 | X0115270Y0024647D01* 1068 | X0115283Y0024561D01* 1069 | X0115292Y0024474D01* 1070 | X0115298Y0024387D01* 1071 | X0115300Y0024300D01* 1072 | X0111800Y0021800D02* 1073 | X0108100Y0021800D01* 1074 | X0105600Y0021800D02* 1075 | X0101800Y0021800D01* 1076 | X0098300Y0024300D02* 1077 | X0098302Y0024387D01* 1078 | X0098308Y0024474D01* 1079 | X0098317Y0024561D01* 1080 | X0098330Y0024647D01* 1081 | X0098347Y0024733D01* 1082 | X0098368Y0024818D01* 1083 | X0098393Y0024901D01* 1084 | X0098421Y0024984D01* 1085 | X0098452Y0025065D01* 1086 | X0098487Y0025145D01* 1087 | X0098526Y0025223D01* 1088 | X0098568Y0025300D01* 1089 | X0098613Y0025375D01* 1090 | X0098662Y0025447D01* 1091 | X0098713Y0025518D01* 1092 | X0098768Y0025586D01* 1093 | X0098825Y0025651D01* 1094 | X0098886Y0025714D01* 1095 | X0098949Y0025775D01* 1096 | X0099014Y0025832D01* 1097 | X0099082Y0025887D01* 1098 | X0099153Y0025938D01* 1099 | X0099225Y0025987D01* 1100 | X0099300Y0026032D01* 1101 | X0099377Y0026074D01* 1102 | X0099455Y0026113D01* 1103 | X0099535Y0026148D01* 1104 | X0099616Y0026179D01* 1105 | X0099699Y0026207D01* 1106 | X0099782Y0026232D01* 1107 | X0099867Y0026253D01* 1108 | X0099953Y0026270D01* 1109 | X0100039Y0026283D01* 1110 | X0100126Y0026292D01* 1111 | X0100213Y0026298D01* 1112 | X0100300Y0026300D01* 1113 | X0098300Y0019300D02* 1114 | X0098302Y0019213D01* 1115 | X0098308Y0019126D01* 1116 | X0098317Y0019039D01* 1117 | X0098330Y0018953D01* 1118 | X0098347Y0018867D01* 1119 | X0098368Y0018782D01* 1120 | X0098393Y0018699D01* 1121 | X0098421Y0018616D01* 1122 | X0098452Y0018535D01* 1123 | X0098487Y0018455D01* 1124 | X0098526Y0018377D01* 1125 | X0098568Y0018300D01* 1126 | X0098613Y0018225D01* 1127 | X0098662Y0018153D01* 1128 | X0098713Y0018082D01* 1129 | X0098768Y0018014D01* 1130 | X0098825Y0017949D01* 1131 | X0098886Y0017886D01* 1132 | X0098949Y0017825D01* 1133 | X0099014Y0017768D01* 1134 | X0099082Y0017713D01* 1135 | X0099153Y0017662D01* 1136 | X0099225Y0017613D01* 1137 | X0099300Y0017568D01* 1138 | X0099377Y0017526D01* 1139 | X0099455Y0017487D01* 1140 | X0099535Y0017452D01* 1141 | X0099616Y0017421D01* 1142 | X0099699Y0017393D01* 1143 | X0099782Y0017368D01* 1144 | X0099867Y0017347D01* 1145 | X0099953Y0017330D01* 1146 | X0100039Y0017317D01* 1147 | X0100126Y0017308D01* 1148 | X0100213Y0017302D01* 1149 | X0100300Y0017300D01* 1150 | X0113300Y0017300D01* 1151 | X0113387Y0017302D01* 1152 | X0113474Y0017308D01* 1153 | X0113561Y0017317D01* 1154 | X0113647Y0017330D01* 1155 | X0113733Y0017347D01* 1156 | X0113818Y0017368D01* 1157 | X0113901Y0017393D01* 1158 | X0113984Y0017421D01* 1159 | X0114065Y0017452D01* 1160 | X0114145Y0017487D01* 1161 | X0114223Y0017526D01* 1162 | X0114300Y0017568D01* 1163 | X0114375Y0017613D01* 1164 | X0114447Y0017662D01* 1165 | X0114518Y0017713D01* 1166 | X0114586Y0017768D01* 1167 | X0114651Y0017825D01* 1168 | X0114714Y0017886D01* 1169 | X0114775Y0017949D01* 1170 | X0114832Y0018014D01* 1171 | X0114887Y0018082D01* 1172 | X0114938Y0018153D01* 1173 | X0114987Y0018225D01* 1174 | X0115032Y0018300D01* 1175 | X0115074Y0018377D01* 1176 | X0115113Y0018455D01* 1177 | X0115148Y0018535D01* 1178 | X0115179Y0018616D01* 1179 | X0115207Y0018699D01* 1180 | X0115232Y0018782D01* 1181 | X0115253Y0018867D01* 1182 | X0115270Y0018953D01* 1183 | X0115283Y0019039D01* 1184 | X0115292Y0019126D01* 1185 | X0115298Y0019213D01* 1186 | X0115300Y0019300D01* 1187 | X0124300Y0041800D02* 1188 | X0121800Y0044300D01* 1189 | X0121800Y0049300D01* 1190 | X0124300Y0051800D01* 1191 | X0121800Y0054300D01* 1192 | X0121800Y0059300D01* 1193 | X0124300Y0061800D01* 1194 | X0129300Y0061800D01* 1195 | X0131800Y0059300D01* 1196 | X0131800Y0054300D01* 1197 | X0129300Y0051800D01* 1198 | X0131800Y0049300D01* 1199 | X0131800Y0044300D01* 1200 | X0129300Y0041800D01* 1201 | X0124300Y0041800D01* 1202 | X0114800Y0046800D02* 1203 | X0113300Y0046800D01* 1204 | X0113300Y0045300D01* 1205 | X0113300Y0046800D02* 1206 | X0111800Y0046800D01* 1207 | X0113300Y0046800D02* 1208 | X0113300Y0048300D01* 1209 | X0095800Y0051800D02* 1210 | X0095803Y0052070D01* 1211 | X0095813Y0052340D01* 1212 | X0095830Y0052609D01* 1213 | X0095853Y0052878D01* 1214 | X0095883Y0053147D01* 1215 | X0095919Y0053414D01* 1216 | X0095962Y0053681D01* 1217 | X0096011Y0053946D01* 1218 | X0096067Y0054210D01* 1219 | X0096130Y0054473D01* 1220 | X0096198Y0054734D01* 1221 | X0096274Y0054993D01* 1222 | X0096355Y0055250D01* 1223 | X0096443Y0055506D01* 1224 | X0096537Y0055759D01* 1225 | X0096637Y0056010D01* 1226 | X0096744Y0056258D01* 1227 | X0096856Y0056503D01* 1228 | X0096975Y0056746D01* 1229 | X0097099Y0056985D01* 1230 | X0097229Y0057222D01* 1231 | X0097365Y0057455D01* 1232 | X0097507Y0057685D01* 1233 | X0097654Y0057911D01* 1234 | X0097807Y0058134D01* 1235 | X0097965Y0058353D01* 1236 | X0098128Y0058568D01* 1237 | X0098297Y0058778D01* 1238 | X0098471Y0058985D01* 1239 | X0098650Y0059187D01* 1240 | X0098833Y0059385D01* 1241 | X0099022Y0059578D01* 1242 | X0099215Y0059767D01* 1243 | X0099413Y0059950D01* 1244 | X0099615Y0060129D01* 1245 | X0099822Y0060303D01* 1246 | X0100032Y0060472D01* 1247 | X0100247Y0060635D01* 1248 | X0100466Y0060793D01* 1249 | X0100689Y0060946D01* 1250 | X0100915Y0061093D01* 1251 | X0101145Y0061235D01* 1252 | X0101378Y0061371D01* 1253 | X0101615Y0061501D01* 1254 | X0101854Y0061625D01* 1255 | X0102097Y0061744D01* 1256 | X0102342Y0061856D01* 1257 | X0102590Y0061963D01* 1258 | X0102841Y0062063D01* 1259 | X0103094Y0062157D01* 1260 | X0103350Y0062245D01* 1261 | X0103607Y0062326D01* 1262 | X0103866Y0062402D01* 1263 | X0104127Y0062470D01* 1264 | X0104390Y0062533D01* 1265 | X0104654Y0062589D01* 1266 | X0104919Y0062638D01* 1267 | X0105186Y0062681D01* 1268 | X0105453Y0062717D01* 1269 | X0105722Y0062747D01* 1270 | X0105991Y0062770D01* 1271 | X0106260Y0062787D01* 1272 | X0106530Y0062797D01* 1273 | X0106800Y0062800D01* 1274 | X0107070Y0062797D01* 1275 | X0107340Y0062787D01* 1276 | X0107609Y0062770D01* 1277 | X0107878Y0062747D01* 1278 | X0108147Y0062717D01* 1279 | X0108414Y0062681D01* 1280 | X0108681Y0062638D01* 1281 | X0108946Y0062589D01* 1282 | X0109210Y0062533D01* 1283 | X0109473Y0062470D01* 1284 | X0109734Y0062402D01* 1285 | X0109993Y0062326D01* 1286 | X0110250Y0062245D01* 1287 | X0110506Y0062157D01* 1288 | X0110759Y0062063D01* 1289 | X0111010Y0061963D01* 1290 | X0111258Y0061856D01* 1291 | X0111503Y0061744D01* 1292 | X0111746Y0061625D01* 1293 | X0111985Y0061501D01* 1294 | X0112222Y0061371D01* 1295 | X0112455Y0061235D01* 1296 | X0112685Y0061093D01* 1297 | X0112911Y0060946D01* 1298 | X0113134Y0060793D01* 1299 | X0113353Y0060635D01* 1300 | X0113568Y0060472D01* 1301 | X0113778Y0060303D01* 1302 | X0113985Y0060129D01* 1303 | X0114187Y0059950D01* 1304 | X0114385Y0059767D01* 1305 | X0114578Y0059578D01* 1306 | X0114767Y0059385D01* 1307 | X0114950Y0059187D01* 1308 | X0115129Y0058985D01* 1309 | X0115303Y0058778D01* 1310 | X0115472Y0058568D01* 1311 | X0115635Y0058353D01* 1312 | X0115793Y0058134D01* 1313 | X0115946Y0057911D01* 1314 | X0116093Y0057685D01* 1315 | X0116235Y0057455D01* 1316 | X0116371Y0057222D01* 1317 | X0116501Y0056985D01* 1318 | X0116625Y0056746D01* 1319 | X0116744Y0056503D01* 1320 | X0116856Y0056258D01* 1321 | X0116963Y0056010D01* 1322 | X0117063Y0055759D01* 1323 | X0117157Y0055506D01* 1324 | X0117245Y0055250D01* 1325 | X0117326Y0054993D01* 1326 | X0117402Y0054734D01* 1327 | X0117470Y0054473D01* 1328 | X0117533Y0054210D01* 1329 | X0117589Y0053946D01* 1330 | X0117638Y0053681D01* 1331 | X0117681Y0053414D01* 1332 | X0117717Y0053147D01* 1333 | X0117747Y0052878D01* 1334 | X0117770Y0052609D01* 1335 | X0117787Y0052340D01* 1336 | X0117797Y0052070D01* 1337 | X0117800Y0051800D01* 1338 | X0117797Y0051530D01* 1339 | X0117787Y0051260D01* 1340 | X0117770Y0050991D01* 1341 | X0117747Y0050722D01* 1342 | X0117717Y0050453D01* 1343 | X0117681Y0050186D01* 1344 | X0117638Y0049919D01* 1345 | X0117589Y0049654D01* 1346 | X0117533Y0049390D01* 1347 | X0117470Y0049127D01* 1348 | X0117402Y0048866D01* 1349 | X0117326Y0048607D01* 1350 | X0117245Y0048350D01* 1351 | X0117157Y0048094D01* 1352 | X0117063Y0047841D01* 1353 | X0116963Y0047590D01* 1354 | X0116856Y0047342D01* 1355 | X0116744Y0047097D01* 1356 | X0116625Y0046854D01* 1357 | X0116501Y0046615D01* 1358 | X0116371Y0046378D01* 1359 | X0116235Y0046145D01* 1360 | X0116093Y0045915D01* 1361 | X0115946Y0045689D01* 1362 | X0115793Y0045466D01* 1363 | X0115635Y0045247D01* 1364 | X0115472Y0045032D01* 1365 | X0115303Y0044822D01* 1366 | X0115129Y0044615D01* 1367 | X0114950Y0044413D01* 1368 | X0114767Y0044215D01* 1369 | X0114578Y0044022D01* 1370 | X0114385Y0043833D01* 1371 | X0114187Y0043650D01* 1372 | X0113985Y0043471D01* 1373 | X0113778Y0043297D01* 1374 | X0113568Y0043128D01* 1375 | X0113353Y0042965D01* 1376 | X0113134Y0042807D01* 1377 | X0112911Y0042654D01* 1378 | X0112685Y0042507D01* 1379 | X0112455Y0042365D01* 1380 | X0112222Y0042229D01* 1381 | X0111985Y0042099D01* 1382 | X0111746Y0041975D01* 1383 | X0111503Y0041856D01* 1384 | X0111258Y0041744D01* 1385 | X0111010Y0041637D01* 1386 | X0110759Y0041537D01* 1387 | X0110506Y0041443D01* 1388 | X0110250Y0041355D01* 1389 | X0109993Y0041274D01* 1390 | X0109734Y0041198D01* 1391 | X0109473Y0041130D01* 1392 | X0109210Y0041067D01* 1393 | X0108946Y0041011D01* 1394 | X0108681Y0040962D01* 1395 | X0108414Y0040919D01* 1396 | X0108147Y0040883D01* 1397 | X0107878Y0040853D01* 1398 | X0107609Y0040830D01* 1399 | X0107340Y0040813D01* 1400 | X0107070Y0040803D01* 1401 | X0106800Y0040800D01* 1402 | X0106530Y0040803D01* 1403 | X0106260Y0040813D01* 1404 | X0105991Y0040830D01* 1405 | X0105722Y0040853D01* 1406 | X0105453Y0040883D01* 1407 | X0105186Y0040919D01* 1408 | X0104919Y0040962D01* 1409 | X0104654Y0041011D01* 1410 | X0104390Y0041067D01* 1411 | X0104127Y0041130D01* 1412 | X0103866Y0041198D01* 1413 | X0103607Y0041274D01* 1414 | X0103350Y0041355D01* 1415 | X0103094Y0041443D01* 1416 | X0102841Y0041537D01* 1417 | X0102590Y0041637D01* 1418 | X0102342Y0041744D01* 1419 | X0102097Y0041856D01* 1420 | X0101854Y0041975D01* 1421 | X0101615Y0042099D01* 1422 | X0101378Y0042229D01* 1423 | X0101145Y0042365D01* 1424 | X0100915Y0042507D01* 1425 | X0100689Y0042654D01* 1426 | X0100466Y0042807D01* 1427 | X0100247Y0042965D01* 1428 | X0100032Y0043128D01* 1429 | X0099822Y0043297D01* 1430 | X0099615Y0043471D01* 1431 | X0099413Y0043650D01* 1432 | X0099215Y0043833D01* 1433 | X0099022Y0044022D01* 1434 | X0098833Y0044215D01* 1435 | X0098650Y0044413D01* 1436 | X0098471Y0044615D01* 1437 | X0098297Y0044822D01* 1438 | X0098128Y0045032D01* 1439 | X0097965Y0045247D01* 1440 | X0097807Y0045466D01* 1441 | X0097654Y0045689D01* 1442 | X0097507Y0045915D01* 1443 | X0097365Y0046145D01* 1444 | X0097229Y0046378D01* 1445 | X0097099Y0046615D01* 1446 | X0096975Y0046854D01* 1447 | X0096856Y0047097D01* 1448 | X0096744Y0047342D01* 1449 | X0096637Y0047590D01* 1450 | X0096537Y0047841D01* 1451 | X0096443Y0048094D01* 1452 | X0096355Y0048350D01* 1453 | X0096274Y0048607D01* 1454 | X0096198Y0048866D01* 1455 | X0096130Y0049127D01* 1456 | X0096067Y0049390D01* 1457 | X0096011Y0049654D01* 1458 | X0095962Y0049919D01* 1459 | X0095919Y0050186D01* 1460 | X0095883Y0050453D01* 1461 | X0095853Y0050722D01* 1462 | X0095830Y0050991D01* 1463 | X0095813Y0051260D01* 1464 | X0095803Y0051530D01* 1465 | X0095800Y0051800D01* 1466 | X0101800Y0070300D02* 1467 | X0101800Y0071300D01* 1468 | X0100800Y0071300D01* 1469 | X0101800Y0071300D02* 1470 | X0101800Y0072300D01* 1471 | X0101800Y0071300D02* 1472 | X0102800Y0071300D01* 1473 | X0096800Y0076800D02* 1474 | X0096803Y0077045D01* 1475 | X0096812Y0077291D01* 1476 | X0096827Y0077536D01* 1477 | X0096848Y0077780D01* 1478 | X0096875Y0078024D01* 1479 | X0096908Y0078267D01* 1480 | X0096947Y0078510D01* 1481 | X0096992Y0078751D01* 1482 | X0097043Y0078991D01* 1483 | X0097100Y0079230D01* 1484 | X0097162Y0079467D01* 1485 | X0097231Y0079703D01* 1486 | X0097305Y0079937D01* 1487 | X0097385Y0080169D01* 1488 | X0097470Y0080399D01* 1489 | X0097561Y0080627D01* 1490 | X0097658Y0080852D01* 1491 | X0097760Y0081076D01* 1492 | X0097868Y0081296D01* 1493 | X0097981Y0081514D01* 1494 | X0098099Y0081729D01* 1495 | X0098223Y0081941D01* 1496 | X0098351Y0082150D01* 1497 | X0098485Y0082356D01* 1498 | X0098624Y0082558D01* 1499 | X0098768Y0082757D01* 1500 | X0098917Y0082952D01* 1501 | X0099070Y0083144D01* 1502 | X0099228Y0083332D01* 1503 | X0099390Y0083516D01* 1504 | X0099558Y0083695D01* 1505 | X0099729Y0083871D01* 1506 | X0099905Y0084042D01* 1507 | X0100084Y0084210D01* 1508 | X0100268Y0084372D01* 1509 | X0100456Y0084530D01* 1510 | X0100648Y0084683D01* 1511 | X0100843Y0084832D01* 1512 | X0101042Y0084976D01* 1513 | X0101244Y0085115D01* 1514 | X0101450Y0085249D01* 1515 | X0101659Y0085377D01* 1516 | X0101871Y0085501D01* 1517 | X0102086Y0085619D01* 1518 | X0102304Y0085732D01* 1519 | X0102524Y0085840D01* 1520 | X0102748Y0085942D01* 1521 | X0102973Y0086039D01* 1522 | X0103201Y0086130D01* 1523 | X0103431Y0086215D01* 1524 | X0103663Y0086295D01* 1525 | X0103897Y0086369D01* 1526 | X0104133Y0086438D01* 1527 | X0104370Y0086500D01* 1528 | X0104609Y0086557D01* 1529 | X0104849Y0086608D01* 1530 | X0105090Y0086653D01* 1531 | X0105333Y0086692D01* 1532 | X0105576Y0086725D01* 1533 | X0105820Y0086752D01* 1534 | X0106064Y0086773D01* 1535 | X0106309Y0086788D01* 1536 | X0106555Y0086797D01* 1537 | X0106800Y0086800D01* 1538 | X0107045Y0086797D01* 1539 | X0107291Y0086788D01* 1540 | X0107536Y0086773D01* 1541 | X0107780Y0086752D01* 1542 | X0108024Y0086725D01* 1543 | X0108267Y0086692D01* 1544 | X0108510Y0086653D01* 1545 | X0108751Y0086608D01* 1546 | X0108991Y0086557D01* 1547 | X0109230Y0086500D01* 1548 | X0109467Y0086438D01* 1549 | X0109703Y0086369D01* 1550 | X0109937Y0086295D01* 1551 | X0110169Y0086215D01* 1552 | X0110399Y0086130D01* 1553 | X0110627Y0086039D01* 1554 | X0110852Y0085942D01* 1555 | X0111076Y0085840D01* 1556 | X0111296Y0085732D01* 1557 | X0111514Y0085619D01* 1558 | X0111729Y0085501D01* 1559 | X0111941Y0085377D01* 1560 | X0112150Y0085249D01* 1561 | X0112356Y0085115D01* 1562 | X0112558Y0084976D01* 1563 | X0112757Y0084832D01* 1564 | X0112952Y0084683D01* 1565 | X0113144Y0084530D01* 1566 | X0113332Y0084372D01* 1567 | X0113516Y0084210D01* 1568 | X0113695Y0084042D01* 1569 | X0113871Y0083871D01* 1570 | X0114042Y0083695D01* 1571 | X0114210Y0083516D01* 1572 | X0114372Y0083332D01* 1573 | X0114530Y0083144D01* 1574 | X0114683Y0082952D01* 1575 | X0114832Y0082757D01* 1576 | X0114976Y0082558D01* 1577 | X0115115Y0082356D01* 1578 | X0115249Y0082150D01* 1579 | X0115377Y0081941D01* 1580 | X0115501Y0081729D01* 1581 | X0115619Y0081514D01* 1582 | X0115732Y0081296D01* 1583 | X0115840Y0081076D01* 1584 | X0115942Y0080852D01* 1585 | X0116039Y0080627D01* 1586 | X0116130Y0080399D01* 1587 | X0116215Y0080169D01* 1588 | X0116295Y0079937D01* 1589 | X0116369Y0079703D01* 1590 | X0116438Y0079467D01* 1591 | X0116500Y0079230D01* 1592 | X0116557Y0078991D01* 1593 | X0116608Y0078751D01* 1594 | X0116653Y0078510D01* 1595 | X0116692Y0078267D01* 1596 | X0116725Y0078024D01* 1597 | X0116752Y0077780D01* 1598 | X0116773Y0077536D01* 1599 | X0116788Y0077291D01* 1600 | X0116797Y0077045D01* 1601 | X0116800Y0076800D01* 1602 | X0116797Y0076555D01* 1603 | X0116788Y0076309D01* 1604 | X0116773Y0076064D01* 1605 | X0116752Y0075820D01* 1606 | X0116725Y0075576D01* 1607 | X0116692Y0075333D01* 1608 | X0116653Y0075090D01* 1609 | X0116608Y0074849D01* 1610 | X0116557Y0074609D01* 1611 | X0116500Y0074370D01* 1612 | X0116438Y0074133D01* 1613 | X0116369Y0073897D01* 1614 | X0116295Y0073663D01* 1615 | X0116215Y0073431D01* 1616 | X0116130Y0073201D01* 1617 | X0116039Y0072973D01* 1618 | X0115942Y0072748D01* 1619 | X0115840Y0072524D01* 1620 | X0115732Y0072304D01* 1621 | X0115619Y0072086D01* 1622 | X0115501Y0071871D01* 1623 | X0115377Y0071659D01* 1624 | X0115249Y0071450D01* 1625 | X0115115Y0071244D01* 1626 | X0114976Y0071042D01* 1627 | X0114832Y0070843D01* 1628 | X0114683Y0070648D01* 1629 | X0114530Y0070456D01* 1630 | X0114372Y0070268D01* 1631 | X0114210Y0070084D01* 1632 | X0114042Y0069905D01* 1633 | X0113871Y0069729D01* 1634 | X0113695Y0069558D01* 1635 | X0113516Y0069390D01* 1636 | X0113332Y0069228D01* 1637 | X0113144Y0069070D01* 1638 | X0112952Y0068917D01* 1639 | X0112757Y0068768D01* 1640 | X0112558Y0068624D01* 1641 | X0112356Y0068485D01* 1642 | X0112150Y0068351D01* 1643 | X0111941Y0068223D01* 1644 | X0111729Y0068099D01* 1645 | X0111514Y0067981D01* 1646 | X0111296Y0067868D01* 1647 | X0111076Y0067760D01* 1648 | X0110852Y0067658D01* 1649 | X0110627Y0067561D01* 1650 | X0110399Y0067470D01* 1651 | X0110169Y0067385D01* 1652 | X0109937Y0067305D01* 1653 | X0109703Y0067231D01* 1654 | X0109467Y0067162D01* 1655 | X0109230Y0067100D01* 1656 | X0108991Y0067043D01* 1657 | X0108751Y0066992D01* 1658 | X0108510Y0066947D01* 1659 | X0108267Y0066908D01* 1660 | X0108024Y0066875D01* 1661 | X0107780Y0066848D01* 1662 | X0107536Y0066827D01* 1663 | X0107291Y0066812D01* 1664 | X0107045Y0066803D01* 1665 | X0106800Y0066800D01* 1666 | X0106555Y0066803D01* 1667 | X0106309Y0066812D01* 1668 | X0106064Y0066827D01* 1669 | X0105820Y0066848D01* 1670 | X0105576Y0066875D01* 1671 | X0105333Y0066908D01* 1672 | X0105090Y0066947D01* 1673 | X0104849Y0066992D01* 1674 | X0104609Y0067043D01* 1675 | X0104370Y0067100D01* 1676 | X0104133Y0067162D01* 1677 | X0103897Y0067231D01* 1678 | X0103663Y0067305D01* 1679 | X0103431Y0067385D01* 1680 | X0103201Y0067470D01* 1681 | X0102973Y0067561D01* 1682 | X0102748Y0067658D01* 1683 | X0102524Y0067760D01* 1684 | X0102304Y0067868D01* 1685 | X0102086Y0067981D01* 1686 | X0101871Y0068099D01* 1687 | X0101659Y0068223D01* 1688 | X0101450Y0068351D01* 1689 | X0101244Y0068485D01* 1690 | X0101042Y0068624D01* 1691 | X0100843Y0068768D01* 1692 | X0100648Y0068917D01* 1693 | X0100456Y0069070D01* 1694 | X0100268Y0069228D01* 1695 | X0100084Y0069390D01* 1696 | X0099905Y0069558D01* 1697 | X0099729Y0069729D01* 1698 | X0099558Y0069905D01* 1699 | X0099390Y0070084D01* 1700 | X0099228Y0070268D01* 1701 | X0099070Y0070456D01* 1702 | X0098917Y0070648D01* 1703 | X0098768Y0070843D01* 1704 | X0098624Y0071042D01* 1705 | X0098485Y0071244D01* 1706 | X0098351Y0071450D01* 1707 | X0098223Y0071659D01* 1708 | X0098099Y0071871D01* 1709 | X0097981Y0072086D01* 1710 | X0097868Y0072304D01* 1711 | X0097760Y0072524D01* 1712 | X0097658Y0072748D01* 1713 | X0097561Y0072973D01* 1714 | X0097470Y0073201D01* 1715 | X0097385Y0073431D01* 1716 | X0097305Y0073663D01* 1717 | X0097231Y0073897D01* 1718 | X0097162Y0074133D01* 1719 | X0097100Y0074370D01* 1720 | X0097043Y0074609D01* 1721 | X0096992Y0074849D01* 1722 | X0096947Y0075090D01* 1723 | X0096908Y0075333D01* 1724 | X0096875Y0075576D01* 1725 | X0096848Y0075820D01* 1726 | X0096827Y0076064D01* 1727 | X0096812Y0076309D01* 1728 | X0096803Y0076555D01* 1729 | X0096800Y0076800D01* 1730 | X0066800Y0091800D02* 1731 | X0066803Y0092045D01* 1732 | X0066812Y0092291D01* 1733 | X0066827Y0092536D01* 1734 | X0066848Y0092780D01* 1735 | X0066875Y0093024D01* 1736 | X0066908Y0093267D01* 1737 | X0066947Y0093510D01* 1738 | X0066992Y0093751D01* 1739 | X0067043Y0093991D01* 1740 | X0067100Y0094230D01* 1741 | X0067162Y0094467D01* 1742 | X0067231Y0094703D01* 1743 | X0067305Y0094937D01* 1744 | X0067385Y0095169D01* 1745 | X0067470Y0095399D01* 1746 | X0067561Y0095627D01* 1747 | X0067658Y0095852D01* 1748 | X0067760Y0096076D01* 1749 | X0067868Y0096296D01* 1750 | X0067981Y0096514D01* 1751 | X0068099Y0096729D01* 1752 | X0068223Y0096941D01* 1753 | X0068351Y0097150D01* 1754 | X0068485Y0097356D01* 1755 | X0068624Y0097558D01* 1756 | X0068768Y0097757D01* 1757 | X0068917Y0097952D01* 1758 | X0069070Y0098144D01* 1759 | X0069228Y0098332D01* 1760 | X0069390Y0098516D01* 1761 | X0069558Y0098695D01* 1762 | X0069729Y0098871D01* 1763 | X0069905Y0099042D01* 1764 | X0070084Y0099210D01* 1765 | X0070268Y0099372D01* 1766 | X0070456Y0099530D01* 1767 | X0070648Y0099683D01* 1768 | X0070843Y0099832D01* 1769 | X0071042Y0099976D01* 1770 | X0071244Y0100115D01* 1771 | X0071450Y0100249D01* 1772 | X0071659Y0100377D01* 1773 | X0071871Y0100501D01* 1774 | X0072086Y0100619D01* 1775 | X0072304Y0100732D01* 1776 | X0072524Y0100840D01* 1777 | X0072748Y0100942D01* 1778 | X0072973Y0101039D01* 1779 | X0073201Y0101130D01* 1780 | X0073431Y0101215D01* 1781 | X0073663Y0101295D01* 1782 | X0073897Y0101369D01* 1783 | X0074133Y0101438D01* 1784 | X0074370Y0101500D01* 1785 | X0074609Y0101557D01* 1786 | X0074849Y0101608D01* 1787 | X0075090Y0101653D01* 1788 | X0075333Y0101692D01* 1789 | X0075576Y0101725D01* 1790 | X0075820Y0101752D01* 1791 | X0076064Y0101773D01* 1792 | X0076309Y0101788D01* 1793 | X0076555Y0101797D01* 1794 | X0076800Y0101800D01* 1795 | X0077045Y0101797D01* 1796 | X0077291Y0101788D01* 1797 | X0077536Y0101773D01* 1798 | X0077780Y0101752D01* 1799 | X0078024Y0101725D01* 1800 | X0078267Y0101692D01* 1801 | X0078510Y0101653D01* 1802 | X0078751Y0101608D01* 1803 | X0078991Y0101557D01* 1804 | X0079230Y0101500D01* 1805 | X0079467Y0101438D01* 1806 | X0079703Y0101369D01* 1807 | X0079937Y0101295D01* 1808 | X0080169Y0101215D01* 1809 | X0080399Y0101130D01* 1810 | X0080627Y0101039D01* 1811 | X0080852Y0100942D01* 1812 | X0081076Y0100840D01* 1813 | X0081296Y0100732D01* 1814 | X0081514Y0100619D01* 1815 | X0081729Y0100501D01* 1816 | X0081941Y0100377D01* 1817 | X0082150Y0100249D01* 1818 | X0082356Y0100115D01* 1819 | X0082558Y0099976D01* 1820 | X0082757Y0099832D01* 1821 | X0082952Y0099683D01* 1822 | X0083144Y0099530D01* 1823 | X0083332Y0099372D01* 1824 | X0083516Y0099210D01* 1825 | X0083695Y0099042D01* 1826 | X0083871Y0098871D01* 1827 | X0084042Y0098695D01* 1828 | X0084210Y0098516D01* 1829 | X0084372Y0098332D01* 1830 | X0084530Y0098144D01* 1831 | X0084683Y0097952D01* 1832 | X0084832Y0097757D01* 1833 | X0084976Y0097558D01* 1834 | X0085115Y0097356D01* 1835 | X0085249Y0097150D01* 1836 | X0085377Y0096941D01* 1837 | X0085501Y0096729D01* 1838 | X0085619Y0096514D01* 1839 | X0085732Y0096296D01* 1840 | X0085840Y0096076D01* 1841 | X0085942Y0095852D01* 1842 | X0086039Y0095627D01* 1843 | X0086130Y0095399D01* 1844 | X0086215Y0095169D01* 1845 | X0086295Y0094937D01* 1846 | X0086369Y0094703D01* 1847 | X0086438Y0094467D01* 1848 | X0086500Y0094230D01* 1849 | X0086557Y0093991D01* 1850 | X0086608Y0093751D01* 1851 | X0086653Y0093510D01* 1852 | X0086692Y0093267D01* 1853 | X0086725Y0093024D01* 1854 | X0086752Y0092780D01* 1855 | X0086773Y0092536D01* 1856 | X0086788Y0092291D01* 1857 | X0086797Y0092045D01* 1858 | X0086800Y0091800D01* 1859 | X0086797Y0091555D01* 1860 | X0086788Y0091309D01* 1861 | X0086773Y0091064D01* 1862 | X0086752Y0090820D01* 1863 | X0086725Y0090576D01* 1864 | X0086692Y0090333D01* 1865 | X0086653Y0090090D01* 1866 | X0086608Y0089849D01* 1867 | X0086557Y0089609D01* 1868 | X0086500Y0089370D01* 1869 | X0086438Y0089133D01* 1870 | X0086369Y0088897D01* 1871 | X0086295Y0088663D01* 1872 | X0086215Y0088431D01* 1873 | X0086130Y0088201D01* 1874 | X0086039Y0087973D01* 1875 | X0085942Y0087748D01* 1876 | X0085840Y0087524D01* 1877 | X0085732Y0087304D01* 1878 | X0085619Y0087086D01* 1879 | X0085501Y0086871D01* 1880 | X0085377Y0086659D01* 1881 | X0085249Y0086450D01* 1882 | X0085115Y0086244D01* 1883 | X0084976Y0086042D01* 1884 | X0084832Y0085843D01* 1885 | X0084683Y0085648D01* 1886 | X0084530Y0085456D01* 1887 | X0084372Y0085268D01* 1888 | X0084210Y0085084D01* 1889 | X0084042Y0084905D01* 1890 | X0083871Y0084729D01* 1891 | X0083695Y0084558D01* 1892 | X0083516Y0084390D01* 1893 | X0083332Y0084228D01* 1894 | X0083144Y0084070D01* 1895 | X0082952Y0083917D01* 1896 | X0082757Y0083768D01* 1897 | X0082558Y0083624D01* 1898 | X0082356Y0083485D01* 1899 | X0082150Y0083351D01* 1900 | X0081941Y0083223D01* 1901 | X0081729Y0083099D01* 1902 | X0081514Y0082981D01* 1903 | X0081296Y0082868D01* 1904 | X0081076Y0082760D01* 1905 | X0080852Y0082658D01* 1906 | X0080627Y0082561D01* 1907 | X0080399Y0082470D01* 1908 | X0080169Y0082385D01* 1909 | X0079937Y0082305D01* 1910 | X0079703Y0082231D01* 1911 | X0079467Y0082162D01* 1912 | X0079230Y0082100D01* 1913 | X0078991Y0082043D01* 1914 | X0078751Y0081992D01* 1915 | X0078510Y0081947D01* 1916 | X0078267Y0081908D01* 1917 | X0078024Y0081875D01* 1918 | X0077780Y0081848D01* 1919 | X0077536Y0081827D01* 1920 | X0077291Y0081812D01* 1921 | X0077045Y0081803D01* 1922 | X0076800Y0081800D01* 1923 | X0076555Y0081803D01* 1924 | X0076309Y0081812D01* 1925 | X0076064Y0081827D01* 1926 | X0075820Y0081848D01* 1927 | X0075576Y0081875D01* 1928 | X0075333Y0081908D01* 1929 | X0075090Y0081947D01* 1930 | X0074849Y0081992D01* 1931 | X0074609Y0082043D01* 1932 | X0074370Y0082100D01* 1933 | X0074133Y0082162D01* 1934 | X0073897Y0082231D01* 1935 | X0073663Y0082305D01* 1936 | X0073431Y0082385D01* 1937 | X0073201Y0082470D01* 1938 | X0072973Y0082561D01* 1939 | X0072748Y0082658D01* 1940 | X0072524Y0082760D01* 1941 | X0072304Y0082868D01* 1942 | X0072086Y0082981D01* 1943 | X0071871Y0083099D01* 1944 | X0071659Y0083223D01* 1945 | X0071450Y0083351D01* 1946 | X0071244Y0083485D01* 1947 | X0071042Y0083624D01* 1948 | X0070843Y0083768D01* 1949 | X0070648Y0083917D01* 1950 | X0070456Y0084070D01* 1951 | X0070268Y0084228D01* 1952 | X0070084Y0084390D01* 1953 | X0069905Y0084558D01* 1954 | X0069729Y0084729D01* 1955 | X0069558Y0084905D01* 1956 | X0069390Y0085084D01* 1957 | X0069228Y0085268D01* 1958 | X0069070Y0085456D01* 1959 | X0068917Y0085648D01* 1960 | X0068768Y0085843D01* 1961 | X0068624Y0086042D01* 1962 | X0068485Y0086244D01* 1963 | X0068351Y0086450D01* 1964 | X0068223Y0086659D01* 1965 | X0068099Y0086871D01* 1966 | X0067981Y0087086D01* 1967 | X0067868Y0087304D01* 1968 | X0067760Y0087524D01* 1969 | X0067658Y0087748D01* 1970 | X0067561Y0087973D01* 1971 | X0067470Y0088201D01* 1972 | X0067385Y0088431D01* 1973 | X0067305Y0088663D01* 1974 | X0067231Y0088897D01* 1975 | X0067162Y0089133D01* 1976 | X0067100Y0089370D01* 1977 | X0067043Y0089609D01* 1978 | X0066992Y0089849D01* 1979 | X0066947Y0090090D01* 1980 | X0066908Y0090333D01* 1981 | X0066875Y0090576D01* 1982 | X0066848Y0090820D01* 1983 | X0066827Y0091064D01* 1984 | X0066812Y0091309D01* 1985 | X0066803Y0091555D01* 1986 | X0066800Y0091800D01* 1987 | X0071300Y0095800D02* 1988 | X0071300Y0096800D01* 1989 | X0071300Y0097800D01* 1990 | X0071300Y0096800D02* 1991 | X0070300Y0096800D01* 1992 | X0071300Y0096800D02* 1993 | X0072300Y0096800D01* 1994 | X0124300Y0051800D02* 1995 | X0129300Y0051800D01* 1996 | D13* 1997 | X0108100Y0024800D02* 1998 | X0108100Y0021800D01* 1999 | X0108100Y0018800D01* 2000 | X0105600Y0018800D02* 2001 | X0105600Y0021800D01* 2002 | X0105600Y0024800D01* 2003 | D14* 2004 | X0106156Y0027550D02* 2005 | X0103154Y0027550D01* 2006 | X0104655Y0027550D02* 2007 | X0104655Y0032054D01* 2008 | X0103154Y0030553D01* 2009 | X0101553Y0031303D02* 2010 | X0100802Y0032054D01* 2011 | X0099301Y0032054D01* 2012 | X0098550Y0031303D01* 2013 | X0098550Y0028301D01* 2014 | X0099301Y0027550D01* 2015 | X0100802Y0027550D01* 2016 | X0101553Y0028301D01* 2017 | X0101906Y0038050D02* 2018 | X0100405Y0038050D01* 2019 | X0099654Y0038801D01* 2020 | X0098053Y0038050D02* 2021 | X0096551Y0039551D01* 2022 | X0097302Y0039551D02* 2023 | X0095050Y0039551D01* 2024 | X0095050Y0038050D02* 2025 | X0095050Y0042554D01* 2026 | X0097302Y0042554D01* 2027 | X0098053Y0041803D01* 2028 | X0098053Y0040302D01* 2029 | X0097302Y0039551D01* 2030 | X0094949Y0041801D02* 2031 | X0094198Y0041050D01* 2032 | X0092697Y0041050D01* 2033 | X0091946Y0041801D01* 2034 | X0091946Y0043302D02* 2035 | X0093447Y0044053D01* 2036 | X0094198Y0044053D01* 2037 | X0094949Y0043302D01* 2038 | X0094949Y0041801D01* 2039 | X0091946Y0043302D02* 2040 | X0091946Y0045554D01* 2041 | X0094949Y0045554D01* 2042 | X0099654Y0041803D02* 2043 | X0100405Y0042554D01* 2044 | X0101906Y0042554D01* 2045 | X0102656Y0041803D01* 2046 | X0102656Y0041053D01* 2047 | X0101906Y0040302D01* 2048 | X0102656Y0039551D01* 2049 | X0102656Y0038801D01* 2050 | X0101906Y0038050D01* 2051 | X0101906Y0040302D02* 2052 | X0101155Y0040302D01* 2053 | X0090345Y0041801D02* 2054 | X0089594Y0041050D01* 2055 | X0088093Y0041050D01* 2056 | X0087342Y0041801D01* 2057 | X0087342Y0044803D01* 2058 | X0088093Y0045554D01* 2059 | X0089594Y0045554D01* 2060 | X0090345Y0044803D01* 2061 | X0084156Y0031554D02* 2062 | X0082655Y0030803D01* 2063 | X0081154Y0029302D01* 2064 | X0083406Y0029302D01* 2065 | X0084156Y0028551D01* 2066 | X0084156Y0027801D01* 2067 | X0083406Y0027050D01* 2068 | X0081905Y0027050D01* 2069 | X0081154Y0027801D01* 2070 | X0081154Y0029302D01* 2071 | X0079553Y0027801D02* 2072 | X0078802Y0027050D01* 2073 | X0077301Y0027050D01* 2074 | X0076550Y0027801D01* 2075 | X0076550Y0030803D01* 2076 | X0077301Y0031554D01* 2077 | X0078802Y0031554D01* 2078 | X0079553Y0030803D01* 2079 | X0052550Y0042593D02* 2080 | X0051799Y0041842D01* 2081 | X0048797Y0041842D01* 2082 | X0048046Y0042593D01* 2083 | X0048046Y0044094D01* 2084 | X0048797Y0044845D01* 2085 | X0048797Y0046446D02* 2086 | X0048046Y0047197D01* 2087 | X0048046Y0048698D01* 2088 | X0048797Y0049449D01* 2089 | X0049547Y0049449D01* 2090 | X0052550Y0046446D01* 2091 | X0052550Y0049449D01* 2092 | X0051799Y0044845D02* 2093 | X0052550Y0044094D01* 2094 | X0052550Y0042593D01* 2095 | X0037550Y0042449D02* 2096 | X0037550Y0039446D01* 2097 | X0037550Y0040947D02* 2098 | X0033046Y0040947D01* 2099 | X0034547Y0039446D01* 2100 | X0033797Y0037845D02* 2101 | X0035298Y0037845D01* 2102 | X0036049Y0037094D01* 2103 | X0036049Y0034842D01* 2104 | X0037550Y0034842D02* 2105 | X0033046Y0034842D01* 2106 | X0033046Y0037094D01* 2107 | X0033797Y0037845D01* 2108 | X0036049Y0036343D02* 2109 | X0037550Y0037845D01* 2110 | X0027550Y0037845D02* 2111 | X0026049Y0036343D01* 2112 | X0026049Y0037094D02* 2113 | X0025298Y0037845D01* 2114 | X0023797Y0037845D01* 2115 | X0023046Y0037094D01* 2116 | X0023046Y0034842D01* 2117 | X0027550Y0034842D01* 2118 | X0026049Y0034842D02* 2119 | X0026049Y0037094D01* 2120 | X0027550Y0039446D02* 2121 | X0024547Y0042449D01* 2122 | X0023797Y0042449D01* 2123 | X0023046Y0041698D01* 2124 | X0023046Y0040197D01* 2125 | X0023797Y0039446D01* 2126 | X0027550Y0039446D02* 2127 | X0027550Y0042449D01* 2128 | X0031800Y0056800D02* 2129 | X0044300Y0056800D01* 2130 | X0046800Y0059300D01* 2131 | X0031800Y0056800D02* 2132 | X0031800Y0096800D01* 2133 | X0044300Y0096800D01* 2134 | X0046800Y0094300D01* 2135 | X0031800Y0096800D02* 2136 | X0029300Y0094300D01* 2137 | X0029300Y0059300D01* 2138 | X0031800Y0056800D01* 2139 | X0026650Y0067050D02* 2140 | X0022146Y0067050D01* 2141 | X0022146Y0069302D01* 2142 | X0022897Y0070053D01* 2143 | X0024398Y0070053D01* 2144 | X0025149Y0069302D01* 2145 | X0025149Y0067050D01* 2146 | X0025149Y0068551D02* 2147 | X0026650Y0070053D01* 2148 | X0024398Y0071654D02* 2149 | X0024398Y0074656D01* 2150 | X0022146Y0073906D02* 2151 | X0024398Y0071654D01* 2152 | X0026650Y0073906D02* 2153 | X0022146Y0073906D01* 2154 | X0029300Y0074300D02* 2155 | X0031800Y0074300D01* 2156 | X0031800Y0079300D02* 2157 | X0029300Y0079300D01* 2158 | X0049300Y0081800D02* 2159 | X0049300Y0071800D01* 2160 | X0065550Y0078050D02* 2161 | X0067051Y0078050D01* 2162 | X0066301Y0078050D02* 2163 | X0066301Y0082554D01* 2164 | X0067051Y0082554D02* 2165 | X0065550Y0082554D01* 2166 | X0068619Y0081803D02* 2167 | X0068619Y0078801D01* 2168 | X0069370Y0078050D01* 2169 | X0070871Y0078050D01* 2170 | X0071622Y0078801D01* 2171 | X0073223Y0078050D02* 2172 | X0076226Y0078050D01* 2173 | X0074724Y0078050D02* 2174 | X0074724Y0082554D01* 2175 | X0073223Y0081053D01* 2176 | X0071622Y0081803D02* 2177 | X0070871Y0082554D01* 2178 | X0069370Y0082554D01* 2179 | X0068619Y0081803D01* 2180 | X0086550Y0097801D02* 2181 | X0087301Y0097050D01* 2182 | X0088802Y0097050D01* 2183 | X0089553Y0097801D01* 2184 | X0091154Y0097801D02* 2185 | X0091154Y0097050D01* 2186 | X0091154Y0097801D02* 2187 | X0094156Y0100803D01* 2188 | X0094156Y0101554D01* 2189 | X0091154Y0101554D01* 2190 | X0089553Y0100803D02* 2191 | X0088802Y0101554D01* 2192 | X0087301Y0101554D01* 2193 | X0086550Y0100803D01* 2194 | X0086550Y0097801D01* 2195 | X0097046Y0093406D02* 2196 | X0099298Y0091154D01* 2197 | X0099298Y0094156D01* 2198 | X0101550Y0093406D02* 2199 | X0097046Y0093406D01* 2200 | X0097797Y0089553D02* 2201 | X0097046Y0088802D01* 2202 | X0097046Y0087301D01* 2203 | X0097797Y0086550D01* 2204 | X0100799Y0086550D01* 2205 | X0101550Y0087301D01* 2206 | X0101550Y0088802D01* 2207 | X0100799Y0089553D01* 2208 | X0134246Y0059998D02* 2209 | X0134246Y0058497D01* 2210 | X0134997Y0057746D01* 2211 | X0134997Y0056145D02* 2212 | X0134246Y0055394D01* 2213 | X0134246Y0053142D01* 2214 | X0138750Y0053142D01* 2215 | X0137249Y0053142D02* 2216 | X0137249Y0055394D01* 2217 | X0136498Y0056145D01* 2218 | X0134997Y0056145D01* 2219 | X0138750Y0057746D02* 2220 | X0135747Y0060749D01* 2221 | X0134997Y0060749D01* 2222 | X0134246Y0059998D01* 2223 | X0138750Y0060749D02* 2224 | X0138750Y0057746D01* 2225 | X0134246Y0051541D02* 2226 | X0134246Y0050039D01* 2227 | X0134246Y0050790D02* 2228 | X0137999Y0050790D01* 2229 | X0138750Y0050039D01* 2230 | X0138750Y0049289D01* 2231 | X0137999Y0048538D01* 2232 | X0035550Y0019906D02* 2233 | X0035550Y0018405D01* 2234 | X0034799Y0017654D01* 2235 | X0033298Y0019155D02* 2236 | X0033298Y0019906D01* 2237 | X0034049Y0020656D01* 2238 | X0034799Y0020656D01* 2239 | X0035550Y0019906D01* 2240 | X0033298Y0019906D02* 2241 | X0032547Y0020656D01* 2242 | X0031797Y0020656D01* 2243 | X0031046Y0019906D01* 2244 | X0031046Y0018405D01* 2245 | X0031797Y0017654D01* 2246 | X0031797Y0016053D02* 2247 | X0031046Y0015302D01* 2248 | X0031046Y0013801D01* 2249 | X0031797Y0013050D01* 2250 | X0034799Y0013050D01* 2251 | X0035550Y0013801D01* 2252 | X0035550Y0015302D01* 2253 | X0034799Y0016053D01* 2254 | X0008599Y0061750D02* 2255 | X0009350Y0062501D01* 2256 | X0009350Y0063251D01* 2257 | X0008599Y0064002D01* 2258 | X0004846Y0064002D01* 2259 | X0004846Y0063251D02* 2260 | X0004846Y0064753D01* 2261 | X0004846Y0066354D02* 2262 | X0004846Y0068606D01* 2263 | X0005597Y0069356D01* 2264 | X0007098Y0069356D01* 2265 | X0007849Y0068606D01* 2266 | X0007849Y0066354D01* 2267 | X0009350Y0066354D02* 2268 | X0004846Y0066354D01* 2269 | X0006347Y0070958D02* 2270 | X0004846Y0072459D01* 2271 | X0009350Y0072459D01* 2272 | X0009350Y0070958D02* 2273 | X0009350Y0073960D01* 2274 | D15* 2275 | X0038800Y0042800D02* 2276 | X0041800Y0042800D01* 2277 | X0044800Y0042800D01* 2278 | X0044800Y0040800D02* 2279 | X0041800Y0040800D01* 2280 | X0038800Y0040800D01* 2281 | X0038800Y0022800D02* 2282 | X0041800Y0022800D01* 2283 | X0044800Y0022800D01* 2284 | X0044800Y0020800D02* 2285 | X0041800Y0020800D01* 2286 | X0038800Y0020800D01* 2287 | D16* 2288 | X0026800Y0017600D03* 2289 | X0016800Y0017600D03* 2290 | X0016800Y0046000D03* 2291 | X0026800Y0046000D03* 2292 | D17* 2293 | X0092600Y0031800D03* 2294 | X0121000Y0031800D03* 2295 | M02* 2296 | --------------------------------------------------------------------------------