view scene demo/freqCalcCyl2D1.pd @ 303:8b51c20529a6

Edgetone development models
author Rod Selfridge <r.selfridge@qmul.ac.uk>
date Sat, 11 Nov 2017 17:43:39 +0000
parents 1dcc91d745aa
children
line wrap: on
line source
#N canvas 0 23 1368 808 10;
#X text 704 -38 Mass Density of Air;
#X text 500 44 Frequency (Hz);
#X obj 811 353 throw~ l;
#X obj 838 334 throw~ r;
#X obj 826 207 osc~;
#X obj 826 -37 *~ 1.225;
#X obj 826 38 /~ 1.81e-05;
#X obj 826 -7 *~ 1;
#X obj 826 156 /~ 1;
#X floatatom 201 262 10 0 0 0 - - -;
#X obj 826 132 *~;
#X obj 826 181 clip~ 0 20000;
#X obj 212 -91 inlet;
#X text 859 82 Reynolds Number;
#X text 711 146 Strouhal Number;
#X obj 386 -97 inlet;
#X obj 826 237 *~;
#X text 856 18 Viscosity;
#X obj 611 178 *~ 2;
#X obj 611 205 osc~;
#X obj 611 227 *~;
#X obj 811 266 +~;
#X obj 212 -68 s \$0-diameter;
#X obj 887 -38 r \$0-diameter;
#X obj 894 137 r \$0-diameter;
#X obj 129 -29 s~ \$0-windSpeed;
#X obj 300 10 r~ \$0-windSpeed;
#X obj 893 114 r~ \$0-windSpeed;
#X obj 826 -65 r~ \$0-windSpeed;
#X obj 720 133 s~ \$0_str;
#X obj 291 -11 r~ \$0_str;
#X obj 644 205 r~ \$0_dragDiGain;
#X obj 747 206 s~ \$0-myFreq;
#X obj 611 151 r~ \$0-myFreq;
#X obj 864 207 r~ \$0_liftDiGain;
#X obj 129 -71 sig~;
#X obj 129 -49 vd~ varwind;
#X obj 129 -95 inlet;
#X obj 1059 12 r~ \$0-myFreq;
#X obj 1025 -38 noise~;
#X obj 1102 196 throw~ l;
#X obj 1129 175 throw~ r;
#X obj 1102 103 *~;
#X obj 123 84 snapshot~;
#X obj 123 59 metro 100;
#X obj 123 37 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 123 110 10 0 0 0 - - -;
#X obj 123 11 loadbang;
#X obj 37 59 r~ \$0-myRey;
#X obj 839 62 s~ \$0-myRey;
#X obj 1240 13 snapshot~;
#X floatatom 1240 39 10 0 0 0 - - -;
#X obj 1240 -60 loadbang;
#X obj 1240 -35 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 1151 -89 r~ \$0-myRey;
#X obj 1067 364 r~ \$0-myFreq;
#X obj 1033 293 noise~;
#X obj 1110 553 throw~ l;
#X obj 1137 530 throw~ r;
#X obj 1110 461 *~;
#X obj 1248 373 snapshot~;
#X floatatom 1248 399 10 0 0 0 - - -;
#X obj 1248 300 loadbang;
#X obj 1248 325 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1
1 1;
#X obj 1159 271 r~ \$0-myRey;
#X obj 1067 390 *~ 2;
#X text 108 132 Reynolds Number;
#X obj 1025 55 vcf~ 1000 10;
#X obj 1033 415 vcf~ 1000 10;
#X obj 811 309 fcpan;
#X obj 1102 152 fcpan;
#X obj 1110 505 fcpan;
#X obj 1117 76 *~ 1;
#X obj 1125 436 *~ 1;
#X obj 1159 346 clip~ 2 400;
#X obj 1151 -14 clip~ 2 400;
#X obj 1159 295 *~ -0.003;
#X obj 1151 -65 *~ -0.003;
#X obj 1240 -12 metro 10;
#X obj 1248 348 metro 10;
#X obj 386 -77 s \$0_dist;
#X obj 610 -99 inlet;
#X obj 610 -30 s \$0_thisPan;
#X obj 838 280 r \$0_thisPan;
#X obj 1129 128 r \$0_thisPan;
#X obj 1137 483 r \$0_thisPan;
#X floatatom 555 -30 8 0 0 0 - - -;
#X obj 610 -75 max 0.1;
#X obj 610 -52 min 0.9;
#X text 1161 449 Drag Dipole spectrum calculation;
#X text 1156 93 Lift Dipole spectrum calculation;
#X text 547 77 Calculates the frequency;
#X text 547 90 based on the physics of;
#X text 548 103 the object and environment;
#X obj 303 292 r~ \$0-windSpeed;
#X obj 294 269 r~ \$0_str;
#X obj 1125 413 r~ \$0_dragNoiseGain;
#X obj 1117 34 r~ \$0_liftNoiseGain;
#X obj 124 406 snapshot~;
#X obj 124 381 metro 100;
#X obj 124 359 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 124 432 10 0 0 0 - - -;
#X obj 124 333 loadbang;
#X obj 38 381 r~ \$0_str;
#N canvas 75 127 654 734 noiseGain 0;
#X text -21205 129 Mass Density of Air \, squared;
#X text -20765 142 Speed of Sound to power 2;
#X obj -21070 29 *~;
#X obj -21022 70 *~;
#X obj -21022 104 *~ 1;
#X obj -21022 132 *~ 1.50063;
#X obj -20767 96 *;
#X obj -20767 119 * 118033;
#X obj -21022 259 /~ 1;
#X obj -21022 532 *~ 0.27;
#X text -20767 49 Distance;
#X obj -20847 502 cos;
#X obj -20847 457 / 360;
#X floatatom -20820 553 5 0 0 0 - - -;
#X obj -20847 526 *;
#X obj -20886 606 *~ 0.27;
#X obj -20847 479 * 6.28319;
#N canvas 409 243 688 659 angleCalc 0;
#X obj 341 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 9900 1;
#X text 321 40 Elevation Angle;
#X obj 270 81 / 360;
#X obj 270 103 * 6.28319;
#X floatatom 135 174 5 0 0 0 - - -;
#X obj 179 79 / 360;
#X obj 179 101 * 6.28319;
#X floatatom 64 105 5 0 0 0 - - -;
#X floatatom 338 103 5 0 0 0 - - -;
#X floatatom 232 256 5 0 0 0 - - -;
#X floatatom 360 500 8 0 0 0 - - -;
#X obj 312 502 * 360;
#X floatatom 359 553 5 0 0 0 - - -;
#X obj 312 526 / 6.28319;
#X obj 270 294 *;
#X obj 270 326 swap 1;
#X obj 270 359 -;
#X obj 270 388 sqrt;
#X obj 312 419 /;
#X obj 312 447 atan;
#X obj 312 473 * 2;
#X text 352 355 Arccos of angle;
#X obj 270 265 /;
#X obj 327 295 + 1;
#X obj 179 125 cos;
#X obj 179 151 *;
#X obj 270 134 cos;
#X obj 270 234 *;
#X obj 179 175 t f b;
#X obj 177 200 delay 9;
#X obj 312 553 outlet;
#X obj 270 53 inlet;
#X obj 180 52 inlet;
#X obj 370 227 hsl 100 20 100 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 516 57 inlet;
#X obj 516 81 s \$0_tDist;
#X obj 204 126 r \$0_tDist;
#X obj 295 234 r \$0_tDist;
#X floatatom 482 81 5 0 0 0 - - -;
#X obj 67 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 4950 1;
#X text 71 41 Azimuth Angle;
#X connect 0 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 26 0;
#X connect 5 0 6 0;
#X connect 6 0 24 0;
#X connect 11 0 13 0;
#X connect 13 0 12 0;
#X connect 13 0 30 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 15 1 16 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 11 0;
#X connect 20 0 10 0;
#X connect 22 0 14 0;
#X connect 22 0 14 1;
#X connect 22 0 23 0;
#X connect 23 0 18 1;
#X connect 24 0 25 0;
#X connect 25 0 4 0;
#X connect 25 0 28 0;
#X connect 26 0 27 0;
#X connect 27 0 9 0;
#X connect 27 0 22 0;
#X connect 28 0 27 1;
#X connect 28 1 29 0;
#X connect 29 0 27 0;
#X connect 31 0 2 0;
#X connect 31 0 0 0;
#X connect 32 0 5 0;
#X connect 32 0 39 0;
#X connect 34 0 35 0;
#X connect 34 0 38 0;
#X connect 36 0 25 1;
#X connect 37 0 22 1;
#X connect 39 0 7 0;
#X restore -20983 388 pd angleCalc;
#X obj -20983 451 / 90;
#X floatatom -21015 475 5 0 0 0 - - -;
#X obj -20847 429 + 90;
#X obj -20937 452 loadbang;
#X msg -20937 474 0.05;
#X obj -21022 507 *~ 0.05;
#X obj -20782 531 loadbang;
#X msg -20782 553 0.05;
#X obj -20886 582 *~ 0.05;
#X text -20812 621 Calculates Drag Dipole gain;
#X text -21198 525 Calculates Lift Dipole gain;
#N canvas 759 125 286 289 pow8 0;
#X obj 47 67 *~;
#X obj 76 67 *~;
#X obj 76 35 inlet~;
#X obj 47 170 outlet~;
#X obj 136 173 snapshot~;
#X obj 136 148 metro 100;
#X obj 136 126 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 136 200 10 0 0 0 - - -;
#X obj 136 100 loadbang;
#X obj 106 67 *~;
#X obj 47 93 *~;
#X obj 47 118 *~;
#X obj 136 67 *~;
#X obj 47 144 *~;
#X connect 0 0 10 0;
#X connect 1 0 10 1;
#X connect 2 0 0 0;
#X connect 2 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 9 0;
#X connect 2 0 9 1;
#X connect 2 0 1 0;
#X connect 2 0 12 0;
#X connect 2 0 12 1;
#X connect 4 0 7 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 8 0 6 0;
#X connect 9 0 11 1;
#X connect 10 0 11 0;
#X connect 11 0 13 0;
#X connect 12 0 13 1;
#X connect 13 0 3 0;
#X connect 13 0 4 0;
#X restore -21022 32 pd pow8;
#X obj -21005 288 s~ \$0-c;
#X obj -20911 556 r~ \$0-c;
#X obj -21070 7 inlet~;
#X obj -21022 7 inlet~;
#X obj -20989 55 inlet;
#X obj -20983 324 inlet;
#X obj -20949 345 inlet;
#X obj -20914 367 inlet;
#X obj -20767 70 inlet;
#X obj -21022 575 outlet~;
#X obj -20886 656 outlet~;
#X text -20949 312 Azimuth;
#X text -20914 335 Elevation;
#X text -20880 359 Distance;
#X text -20961 26 Gain proportional to windspeed to power 8 for spectrum
;
#X text -20981 74 Diameter;
#X obj -20991 163 inlet;
#X obj -20991 187 *;
#X obj -21022 209 *~ 1;
#X text -20950 162 Length;
#X obj -21022 554 *~ 0.02;
#X obj -20886 631 *~ 0.002;
#X connect 2 0 3 1;
#X connect 3 0 4 0;
#X connect 4 0 5 0;
#X connect 5 0 48 0;
#X connect 6 0 7 0;
#X connect 7 0 8 1;
#X connect 8 0 23 0;
#X connect 8 0 30 0;
#X connect 9 0 50 0;
#X connect 11 0 14 0;
#X connect 11 0 14 1;
#X connect 12 0 16 0;
#X connect 14 0 13 0;
#X connect 14 0 26 1;
#X connect 15 0 51 0;
#X connect 16 0 11 0;
#X connect 17 0 18 0;
#X connect 17 0 20 0;
#X connect 18 0 19 0;
#X connect 18 0 23 1;
#X connect 20 0 12 0;
#X connect 21 0 22 0;
#X connect 22 0 23 1;
#X connect 23 0 9 0;
#X connect 24 0 25 0;
#X connect 25 0 26 1;
#X connect 26 0 15 0;
#X connect 29 0 3 0;
#X connect 31 0 26 0;
#X connect 32 0 2 0;
#X connect 32 0 2 1;
#X connect 33 0 29 0;
#X connect 34 0 4 1;
#X connect 35 0 17 0;
#X connect 36 0 17 1;
#X connect 37 0 17 2;
#X connect 38 0 6 0;
#X connect 38 0 6 1;
#X connect 46 0 47 0;
#X connect 46 0 47 1;
#X connect 47 0 48 1;
#X connect 48 0 8 0;
#X connect 50 0 39 0;
#X connect 51 0 40 0;
#X restore 294 427 pd noiseGain;
#X obj 323 337 r \$0-diameter;
#X obj 363 403 r \$0_dist;
#X obj 343 382 r \$0_azim;
#X obj 333 360 r \$0_elev;
#X obj 294 472 s~ \$0_liftNoiseGain;
#X obj 363 450 s~ \$0_dragNoiseGain;
#N canvas 577 142 663 715 freqGain 0;
#X text 36 127 Mass Density of Air \, squared;
#X text 411 123 Speed of Sound to power 2;
#N canvas 759 125 286 289 pow6 0;
#X obj 47 67 *~;
#X obj 76 67 *~;
#X obj 76 35 inlet~;
#X obj 47 163 outlet~;
#X obj 136 184 snapshot~;
#X obj 136 159 metro 100;
#X obj 136 137 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X floatatom 136 211 10 0 0 0 - - -;
#X obj 216 210 outlet;
#X obj 136 111 loadbang;
#X obj 106 67 *~;
#X obj 47 93 *~;
#X obj 47 118 *~;
#X connect 0 0 11 0;
#X connect 1 0 11 1;
#X connect 2 0 0 0;
#X connect 2 0 0 1;
#X connect 2 0 1 1;
#X connect 2 0 10 0;
#X connect 2 0 10 1;
#X connect 2 0 1 0;
#X connect 4 0 7 0;
#X connect 4 0 8 0;
#X connect 5 0 4 0;
#X connect 6 0 5 0;
#X connect 9 0 6 0;
#X connect 10 0 12 1;
#X connect 11 0 12 0;
#X connect 12 0 4 0;
#X connect 12 0 3 0;
#X restore 219 30 pd pow6;
#X obj 173 32 *~;
#X obj 219 68 *~;
#X obj 219 102 *~ 1;
#X obj 219 130 *~ 1.50063;
#X obj 404 71 *;
#X obj 404 96 * 118033;
#X obj 219 224 /~ 1;
#X obj 219 497 *~ 0.27;
#X text 271 275 Azimuth;
#X text 424 30 Distance;
#X obj 370 482 cos;
#X obj 370 437 / 360;
#X floatatom 397 533 5 0 0 0 - - -;
#X obj 370 506 *;
#X obj 331 586 *~ 0.27;
#X obj 236 253 s~ \$0-a;
#X obj 306 536 r~ \$0-a;
#X obj 370 459 * 6.28319;
#X floatatom 369 72 5 0 0 0 - - -;
#N canvas 713 150 688 659 angleCalc 0;
#X obj 341 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 4950 1;
#X text 321 40 Elevation Angle;
#X obj 270 81 / 360;
#X obj 270 103 * 6.28319;
#X floatatom 135 174 5 0 0 0 - - -;
#X obj 179 79 / 360;
#X obj 179 101 * 6.28319;
#X floatatom 64 105 5 0 0 0 - - -;
#X floatatom 338 103 5 0 0 0 - - -;
#X floatatom 232 256 5 0 0 0 - - -;
#X floatatom 360 500 8 0 0 0 - - -;
#X obj 312 502 * 360;
#X floatatom 359 553 5 0 0 0 - - -;
#X obj 312 526 / 6.28319;
#X obj 270 294 *;
#X obj 270 326 swap 1;
#X obj 270 359 -;
#X obj 270 388 sqrt;
#X obj 312 419 /;
#X obj 312 447 atan;
#X obj 312 473 * 2;
#X text 352 355 Arccos of angle;
#X obj 270 265 /;
#X obj 327 295 + 1;
#X obj 179 125 cos;
#X obj 179 151 *;
#X obj 270 134 cos;
#X obj 270 234 *;
#X obj 179 175 t f b;
#X obj 177 200 delay 9;
#X obj 312 553 outlet;
#X obj 270 53 inlet;
#X obj 180 52 inlet;
#X obj 370 227 hsl 100 20 100 1 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 0 1;
#X obj 516 57 inlet;
#X obj 516 81 s \$0_tDist;
#X obj 204 126 r \$0_tDist;
#X obj 295 234 r \$0_tDist;
#X floatatom 482 81 5 0 0 0 - - -;
#X obj 67 79 hsl 100 20 -90 90 0 0 empty empty empty -2 -8 0 10 -262144
-1 -1 9900 1;
#X text 71 41 Azimuth Angle;
#X text 102 584 remove distance from this patch as makes no difference
to the end calculation and confuses things!;
#X text 386 407 Create an audio version of this patch;
#X connect 0 0 8 0;
#X connect 2 0 3 0;
#X connect 3 0 26 0;
#X connect 5 0 6 0;
#X connect 6 0 24 0;
#X connect 11 0 13 0;
#X connect 13 0 12 0;
#X connect 13 0 30 0;
#X connect 14 0 15 0;
#X connect 15 0 16 0;
#X connect 15 1 16 1;
#X connect 16 0 17 0;
#X connect 17 0 18 0;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 11 0;
#X connect 20 0 10 0;
#X connect 22 0 14 0;
#X connect 22 0 14 1;
#X connect 22 0 23 0;
#X connect 23 0 18 1;
#X connect 24 0 25 0;
#X connect 25 0 4 0;
#X connect 25 0 28 0;
#X connect 26 0 27 0;
#X connect 27 0 9 0;
#X connect 27 0 22 0;
#X connect 28 0 27 1;
#X connect 28 1 29 0;
#X connect 29 0 27 0;
#X connect 31 0 2 0;
#X connect 31 0 0 0;
#X connect 32 0 5 0;
#X connect 32 0 39 0;
#X connect 34 0 35 0;
#X connect 34 0 38 0;
#X connect 36 0 25 1;
#X connect 37 0 22 1;
#X connect 39 0 7 0;
#X restore 256 348 pd angleCalc;
#X text 307 294 Elevation;
#X obj 370 409 + 90;
#X obj 435 511 loadbang;
#X msg 435 533 0.05;
#X obj 331 562 *~ 0.05;
#X text 409 593 Calculates Drag Dipole gain;
#X text 48 504 Calculates Lift Dipole gain;
#X obj 331 611 *~ 0.1;
#X obj 173 8 inlet~;
#X obj 219 7 inlet~;
#X text 256 54 Diameter;
#X obj 250 69 inlet;
#X obj 404 46 inlet;
#X obj 325 326 inlet;
#X obj 256 290 inlet;
#X obj 290 309 inlet;
#X text 360 328 Distance;
#X obj 219 524 outlet~;
#X obj 331 636 outlet~;
#X obj 240 425 cos;
#X obj 240 380 / 360;
#X obj 240 449 *;
#X obj 240 402 * 6.28319;
#X obj 219 472 *~ 1;
#X obj 250 156 inlet;
#X obj 250 180 *;
#X text 288 151 Length;
#X obj 219 202 *~ 1;
#X text 388 225 Add in MACH deflection;
#X connect 2 0 4 0;
#X connect 3 0 4 1;
#X connect 4 0 5 0;
#X connect 5 0 6 0;
#X connect 6 0 50 0;
#X connect 7 0 8 0;
#X connect 8 0 9 1;
#X connect 9 0 18 0;
#X connect 9 0 46 0;
#X connect 10 0 40 0;
#X connect 13 0 16 0;
#X connect 13 0 16 1;
#X connect 14 0 20 0;
#X connect 16 0 15 0;
#X connect 16 0 27 1;
#X connect 17 0 30 0;
#X connect 19 0 27 0;
#X connect 20 0 13 0;
#X connect 22 0 24 0;
#X connect 22 0 43 0;
#X connect 24 0 14 0;
#X connect 25 0 26 0;
#X connect 26 0 27 1;
#X connect 27 0 17 0;
#X connect 30 0 41 0;
#X connect 31 0 3 0;
#X connect 31 0 3 1;
#X connect 32 0 2 0;
#X connect 34 0 5 1;
#X connect 35 0 7 1;
#X connect 35 0 7 0;
#X connect 35 0 21 0;
#X connect 36 0 22 2;
#X connect 37 0 22 0;
#X connect 38 0 22 1;
#X connect 42 0 44 0;
#X connect 42 0 44 1;
#X connect 43 0 45 0;
#X connect 44 0 46 1;
#X connect 45 0 42 0;
#X connect 46 0 10 0;
#X connect 47 0 48 0;
#X connect 47 0 48 1;
#X connect 48 0 50 1;
#X connect 50 0 9 0;
#X restore 291 132 pd freqGain;
#X obj 455 -97 inlet;
#X obj 455 -77 s \$0_elev;
#X obj 318 49 r \$0-diameter;
#X obj 523 -99 inlet;
#X obj 523 -77 s \$0_azim;
#X obj 354 111 r \$0_dist;
#X obj 327 69 r \$0_azim;
#X obj 336 90 r \$0_elev;
#X obj 354 156 s~ \$0_dragDiGain;
#X obj 291 176 s~ \$0_liftDiGain;
#X floatatom 386 -50 5 0 0 0 - - -;
#X floatatom 456 -51 5 0 0 0 - - -;
#X floatatom 524 -55 5 0 0 0 - - -;
#X obj 72 262 outlet;
#X obj 1025 9 hip~;
#X obj 116 235 snapshot~;
#X obj 116 188 tgl 15 0 empty empty empty 17 7 0 10 -262144 -1 -1 1
1;
#X obj 116 162 loadbang;
#X obj 116 210 metro 10;
#X obj 1033 390 hip~;
#X obj 37 212 r~ \$0-myFreq;
#X obj 116 262 s \$0_contFreq;
#X obj 1046 -14 r \$0_contFreq;
#X obj 1054 314 r \$0_contFreq;
#X obj 1054 337 * 2;
#X text 123 461 Strouhal Number;
#X text 281 193 Calculates the gain of the dipole source;
#X text 285 491 Calculates the gain of the source;
#X text 515 -118 Azimuth;
#X text 615 -117 Pan;
#X text 449 -116 Elevation;
#X text 382 -116 Distance;
#X text 207 -112 Diameter;
#X text 122 -113 Wind Speed;
#X obj 312 -97 inlet;
#X floatatom 313 -53 5 0 0 0 - - -;
#X text 308 -116 Length;
#X obj 312 -75 s \$0_leng;
#X obj 309 29 r \$0_leng;
#X obj 313 313 r \$0_leng;
#X obj 1151 -40 +~ 40;
#X obj 1159 320 +~ 40;
#X obj 826 103 newStrou;
#X connect 4 0 16 0;
#X connect 5 0 7 0;
#X connect 6 0 49 0;
#X connect 6 0 154 0;
#X connect 7 0 6 0;
#X connect 8 0 11 0;
#X connect 10 0 8 0;
#X connect 11 0 4 0;
#X connect 11 0 32 0;
#X connect 12 0 22 0;
#X connect 15 0 80 0;
#X connect 15 0 122 0;
#X connect 16 0 21 1;
#X connect 18 0 19 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 21 0 69 0;
#X connect 23 0 7 1;
#X connect 24 0 8 1;
#X connect 26 0 111 1;
#X connect 27 0 10 1;
#X connect 28 0 5 0;
#X connect 30 0 111 0;
#X connect 31 0 20 1;
#X connect 33 0 18 0;
#X connect 34 0 16 1;
#X connect 35 0 36 0;
#X connect 36 0 25 0;
#X connect 37 0 35 0;
#X connect 38 0 67 1;
#X connect 39 0 126 0;
#X connect 42 0 70 0;
#X connect 43 0 46 0;
#X connect 44 0 43 0;
#X connect 45 0 44 0;
#X connect 47 0 45 0;
#X connect 48 0 43 0;
#X connect 50 0 51 0;
#X connect 50 0 67 2;
#X connect 52 0 53 0;
#X connect 53 0 78 0;
#X connect 54 0 77 0;
#X connect 55 0 65 0;
#X connect 56 0 131 0;
#X connect 59 0 71 0;
#X connect 60 0 61 0;
#X connect 60 0 68 2;
#X connect 62 0 63 0;
#X connect 63 0 79 0;
#X connect 64 0 76 0;
#X connect 65 0 68 1;
#X connect 67 0 42 0;
#X connect 68 0 59 0;
#X connect 69 0 2 0;
#X connect 69 1 3 0;
#X connect 70 0 40 0;
#X connect 70 1 41 0;
#X connect 71 0 57 0;
#X connect 71 1 58 0;
#X connect 72 0 42 1;
#X connect 73 0 59 1;
#X connect 74 0 60 0;
#X connect 75 0 50 0;
#X connect 76 0 153 0;
#X connect 77 0 152 0;
#X connect 78 0 50 0;
#X connect 79 0 60 0;
#X connect 81 0 87 0;
#X connect 83 0 69 1;
#X connect 84 0 70 1;
#X connect 85 0 71 1;
#X connect 87 0 88 0;
#X connect 88 0 82 0;
#X connect 88 0 86 0;
#X connect 94 0 104 1;
#X connect 95 0 104 0;
#X connect 96 0 73 0;
#X connect 97 0 72 0;
#X connect 98 0 101 0;
#X connect 99 0 98 0;
#X connect 100 0 99 0;
#X connect 102 0 100 0;
#X connect 103 0 98 0;
#X connect 104 0 109 0;
#X connect 104 1 110 0;
#X connect 105 0 104 3;
#X connect 106 0 104 6;
#X connect 106 0 104 7;
#X connect 107 0 104 5;
#X connect 108 0 104 4;
#X connect 111 0 121 0;
#X connect 111 1 120 0;
#X connect 112 0 113 0;
#X connect 112 0 123 0;
#X connect 114 0 111 3;
#X connect 115 0 116 0;
#X connect 115 0 124 0;
#X connect 117 0 111 6;
#X connect 117 0 111 7;
#X connect 118 0 111 4;
#X connect 119 0 111 5;
#X connect 126 0 67 0;
#X connect 127 0 133 0;
#X connect 127 0 125 0;
#X connect 127 0 9 0;
#X connect 128 0 130 0;
#X connect 129 0 128 0;
#X connect 130 0 127 0;
#X connect 131 0 68 0;
#X connect 132 0 127 0;
#X connect 134 0 126 1;
#X connect 135 0 136 0;
#X connect 136 0 131 1;
#X connect 146 0 147 0;
#X connect 146 0 149 0;
#X connect 150 0 111 2;
#X connect 151 0 104 2;
#X connect 152 0 75 0;
#X connect 153 0 74 0;
#X connect 154 0 29 0;
#X connect 154 0 10 0;