-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathbop.ui.pd
522 lines (522 loc) · 14.8 KB
/
bop.ui.pd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
#N canvas 141 37 1329 891 12;
#X declare -path ./babs;
#X obj 292 140 outlet;
#X obj 109 31 declare -path ./babs;
#X obj 292 112 r \$0-out;
#X obj 109 54 namecanvas \$0-gui;
#X obj 462 260 loadbang;
#X obj 462 301 delay 10;
#N canvas 203 37 1184 875 make-param 0;
#X obj 47 27 inlet;
#X obj 47 523 t l l, f 35;
#X msg 289 653 obj 12 \$1 sub/gui/param \$2 \$3;
#X obj 289 688 s pd-\$0-controls;
#X obj 47 646 unpack f f s, f 14;
#X obj 86 679 pack f s, f 9;
#X obj 47 741 s, f 6;
#X obj 128 102 value \$0-numelements;
#X obj 47 60 t a b, f 12;
#X text 311 559 create parameter;
#X text 64 557 set parameter;
#X text 292 620 position \, \$0 \, paramname;
#X text 52 620 value \, \$0 \, paramname;
#X msg 86 703 symbol \$1-set-\$2;
#X obj 128 310 list length;
#X obj 47 291 t l l;
#X obj 47 367 list prepend;
#X obj 128 339 - 4;
#X obj 47 491 list;
#X obj 47 236 list prepend \$0;
#X obj 47 417 route 0, f 84;
#X obj 678 790 route 1 2;
#X obj 918 1050 s pd-\$0-controls;
#X text 921 982 position \, \$0 \, paramname;
#X msg 918 1015 obj 12 \$1 sub/gui/number \$2 \$3;
#X obj 47 194 list prepend;
#X obj 678 872 list;
#X text 964 905 create number;
#X obj 678 1157 s, f 12;
#X text 687 939 set parameter;
#X text 64 390 additionalargs \$0 ypos paramname value (min) (max);
#X text 54 262 \$0 ypos paramname value;
#X msg 289 587 \$2 \$1 \$3;
#X msg 47 590 \$4 \$1 \$3;
#X msg 918 949 \$2 \$1 \$3;
#X text 721 810 \$0 ypos paramname value (min) (max);
#X text 59 454 \$0 ypos paramname value;
#X obj 629 324 s, f 14;
#X msg 724 273 symbol \$1-set-\$2;
#X msg 629 271 label \$1;
#X msg 629 180 \$1 \$3;
#X obj 629 229 t a a, f 14;
#X text 634 203 paramname \, \$0;
#X msg 799 1107 symbol \$1-set-\$3;
#X obj 424 138 nbx 5 17 -1e+37 1e+37 0 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000 0 256;
#X obj 678 831 list append 1e+37;
#X obj 678 904 t l l l, f 35;
#X msg 678 1070 label \$3 \, range \$5 \$6 \, \$4, f 12;
#X obj 128 138 expr $f1 * 20 + 12;
#X obj 787 568 &&;
#X obj 786 522 == 0;
#X obj 833 522 == 1;
#X obj 673 451 t l l;
#X obj 785 459 t l l;
#X obj 707 599 list prepend;
#X text 723 619 istoggle \$0 ypos paramname value (min) (max);
#X msg 786 498 \$6;
#X msg 833 498 \$7;
#X text 691 699 numbox;
#X text 1201 708 toggle;
#X obj 1267 790 route 1 2;
#X obj 1507 1050 s pd-\$0-controls;
#X text 1510 982 position \, \$0 \, paramname;
#X obj 1267 872 list;
#X text 1553 905 create number;
#X obj 1267 1157 s, f 12;
#X text 1276 939 set parameter;
#X msg 1507 949 \$2 \$1 \$3;
#X text 1310 810 \$0 ypos paramname value (min) (max);
#X msg 1388 1107 symbol \$1-set-\$3;
#X obj 1267 831 list append 1e+37;
#X obj 1267 904 t l l l, f 35;
#X obj 1267 710 route 1;
#X obj 683 680 route 0, f 84;
#X msg 1507 1015 obj 12 \$1 sub/gui/toggle \$2 \$3;
#X msg 1267 1070 label \$3 \, \$4, f 12;
#X connect 0 0 8 0;
#X connect 1 0 33 0;
#X connect 1 1 32 0;
#X connect 2 0 3 0;
#X connect 4 0 6 0;
#X connect 4 1 5 0;
#X connect 4 2 5 1;
#X connect 5 0 13 0;
#X connect 7 0 48 0;
#X connect 8 0 25 0;
#X connect 8 1 7 0;
#X connect 13 0 6 1;
#X connect 14 0 17 0;
#X connect 15 0 16 0;
#X connect 15 1 14 0;
#X connect 16 0 20 0;
#X connect 17 0 16 1;
#X connect 18 0 1 0;
#X connect 19 0 15 0;
#X connect 20 0 18 0;
#X connect 20 1 52 0;
#X connect 21 0 45 0;
#X connect 21 1 26 0;
#X connect 24 0 22 0;
#X connect 25 0 19 0;
#X connect 26 0 46 0;
#X connect 32 0 2 0;
#X connect 33 0 4 0;
#X connect 34 0 24 0;
#X connect 38 0 37 1;
#X connect 39 0 37 0;
#X connect 40 0 41 0;
#X connect 41 0 39 0;
#X connect 41 1 38 0;
#X connect 43 0 28 1;
#X connect 45 0 26 0;
#X connect 46 0 47 0;
#X connect 46 1 43 0;
#X connect 46 2 34 0;
#X connect 47 0 28 0;
#X connect 48 0 25 1;
#X connect 49 0 54 1;
#X connect 50 0 49 0;
#X connect 51 0 49 1;
#X connect 52 0 54 0;
#X connect 52 1 53 0;
#X connect 53 0 56 0;
#X connect 53 1 57 0;
#X connect 54 0 73 0;
#X connect 56 0 50 0;
#X connect 57 0 51 0;
#X connect 60 0 70 0;
#X connect 60 1 63 0;
#X connect 63 0 71 0;
#X connect 67 0 74 0;
#X connect 69 0 65 1;
#X connect 70 0 63 0;
#X connect 71 0 75 0;
#X connect 71 1 69 0;
#X connect 71 2 67 0;
#X connect 72 0 60 0;
#X connect 73 0 21 0;
#X connect 73 1 72 0;
#X connect 74 0 61 0;
#X connect 75 0 65 0;
#X restore 454 798 pd make-param;
#N canvas 30 208 840 605 resize 0;
#X obj 151 73 inlet;
#X text 539 361 [donecanvasdialog <x-units> <y-units> <gop> <x-from> <y-from> <x-to> <y-to> <x-size> <y-size> <x-margin> <y-margin>(;
#X text 525 427 [donecanvasdialog <args> \, dirty 0( [namecanvas \$0-myabs] | [send \$0-myabs];
#X obj 130 500 s pd-\$0-controls;
#X text 537 519 restore 105 130 pd \$0-controls \;;
#X obj 136 216 t f f, f 41;
#X msg 420 289 donecanvasdialog 0 0 1 0 -1 1 1 160 \$1 100 100 \, dirty 0;
#X obj 423 359 s \$0-gui;
#X text 385 117 from https://forum.pdpatchrepo.info/topic/5746/change-graph-on-parent-dimentions-from-inside;
#X msg 132 462 donecanvasdialog 0 0 1 0 -1 1 1 150 \$1 10 10 \, dirty 0;
#X msg 84 179 0;
#X obj 133 425 expr ($f1 + 1) * 20 + 2 + 2;
#X obj 420 258 expr ($f1 + 1) * 20 + 2 + 2 + 37;
#X msg 302 352 vis_size 158 \$1;
#X obj 302 376 s \$0-label;
#X obj 370 323 - 3;
#X connect 0 0 5 0;
#X connect 5 0 11 0;
#X connect 5 1 12 0;
#X connect 6 0 7 0;
#X connect 9 0 3 0;
#X connect 10 0 5 0;
#X connect 11 0 9 0;
#X connect 12 0 6 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 15 0 13 0;
#X restore 443 970 pd resize;
#N canvas 830 355 574 573 make-enum 0;
#X obj 67 27 inlet;
#X obj 67 293 t l l, f 35;
#X text 74 262 paramname value ypos \$0;
#X msg 309 354 \$3 \$4 \$1;
#X obj 309 458 s pd-\$0-controls;
#X msg 67 357 \$2 \$4 \$1;
#X obj 106 469 pack f s, f 9;
#X obj 67 531 s, f 6;
#X obj 67 236 list append \$0;
#X obj 67 194 list append, f 12;
#X obj 148 102 value \$0-numelements;
#X obj 67 60 t a b, f 12;
#X text 331 329 create parameter;
#X text 84 327 set parameter;
#X obj 67 416 unpack s f s, f 14;
#X msg 309 423 obj 12 \$1 sub/gui/enum \$2 \$3;
#X text 312 390 position \, \$0 \, paramname;
#X text 72 390 value \, \$0 \, paramname;
#X msg 106 493 symbol \$1-set-\$2-enum;
#X msg 22 472 label \$1;
#X obj 148 138 expr $f1 * 20 + 12;
#X connect 0 0 11 0;
#X connect 1 0 5 0;
#X connect 1 1 3 0;
#X connect 3 0 15 0;
#X connect 5 0 14 0;
#X connect 6 0 18 0;
#X connect 8 0 1 0;
#X connect 9 0 8 0;
#X connect 10 0 20 0;
#X connect 11 0 9 0;
#X connect 11 1 10 0;
#X connect 14 0 19 0;
#X connect 14 1 6 0;
#X connect 14 2 6 1;
#X connect 15 0 4 0;
#X connect 18 0 7 1;
#X connect 19 0 7 0;
#X connect 20 0 9 1;
#X restore 498 769 pd make-enum;
#N canvas 209 282 541 549 make-msg 0;
#X obj 47 27 inlet;
#X obj 47 293 t l l, f 35;
#X obj 289 458 s pd-\$0-controls;
#X obj 116 449 pack f s, f 9;
#X obj 47 511 s, f 6;
#X msg 116 473 symbol \$1-set-\$2;
#X obj 47 236 list append \$0;
#X obj 47 194 list append, f 12;
#X obj 128 102 value \$0-numelements;
#X obj 47 60 t a b, f 12;
#X text 311 329 create parameter;
#X text 292 390 position \, \$0 \, paramname;
#X msg 289 423 obj 12 \$1 sub/gui/msg \$2 \$3;
#X text 54 262 paramname ypos \$0;
#X msg 289 364 \$2 \$3 \$1;
#X text 64 327 set parameter label;
#X text 52 390 paramname \, \$0 \, paramname;
#X obj 47 416 unpack s f s, f 14;
#X msg 47 367 \$1 \$3 \$1;
#X msg 47 458 label \$1;
#X obj 128 138 expr $f1 * 20+ 12;
#X connect 0 0 9 0;
#X connect 1 0 18 0;
#X connect 1 1 14 0;
#X connect 3 0 5 0;
#X connect 5 0 4 1;
#X connect 6 0 1 0;
#X connect 7 0 6 0;
#X connect 8 0 20 0;
#X connect 9 0 7 0;
#X connect 9 1 8 0;
#X connect 12 0 2 0;
#X connect 14 0 12 0;
#X connect 17 0 19 0;
#X connect 17 1 3 0;
#X connect 17 2 3 1;
#X connect 18 0 17 0;
#X connect 19 0 4 0;
#X connect 20 0 7 1;
#X restore 586 710 pd make-msg;
#N canvas 893 204 574 666 make-attr 0;
#X obj 67 27 inlet;
#X obj 309 458 s pd-\$0-controls;
#X obj 188 761 s, f 6;
#X obj 67 236 list append \$0;
#X obj 67 194 list append, f 24;
#X obj 232 102 value \$0-numelements;
#X obj 67 60 t a b, f 24;
#X text 331 329 create parameter;
#X text 312 390 position \, \$0 \, paramname;
#X msg 309 423 obj 12 \$1 sub/gui/attr \$2 \$3;
#X obj 67 108 list split 1;
#X obj 108 147 s \$0-attrlist;
#X obj 71 683 list;
#X obj 96 632 r \$0-attrlist, f 11;
#X text 74 262 paramname ypos \$0;
#X msg 309 354 \$2 \$3 \$1;
#X text 84 611 set list;
#X text 244 507 set send;
#X msg 227 537 symbol \$3-set-\$1;
#X obj 67 293 t b l l, f 35;
#X obj 232 138 expr $f1 * 20 + 12;
#X connect 0 0 6 0;
#X connect 3 0 19 0;
#X connect 4 0 3 0;
#X connect 5 0 20 0;
#X connect 6 0 10 0;
#X connect 6 1 5 0;
#X connect 9 0 1 0;
#X connect 10 0 4 0;
#X connect 10 1 11 0;
#X connect 12 0 2 0;
#X connect 13 0 12 1;
#X connect 15 0 9 0;
#X connect 18 0 2 1;
#X connect 19 0 12 0;
#X connect 19 1 18 0;
#X connect 19 2 15 0;
#X connect 20 0 4 1;
#X restore 542 741 pd make-attr;
#X obj 850 427 r \$0-params;
#X obj 850 481 babs.gate 0, f 18;
#X obj 973 425 r \$0-is-building;
#X obj 973 452 != 1;
#X obj 850 519 list trim;
#X obj 840 834 route devicename, f 45;
#X obj 1154 972 t l l, f 9;
#X obj 1154 892 list, f 9;
#X obj 840 769 babs.gate 0, f 18;
#X obj 963 713 r \$0-is-building;
#X obj 963 740 != 1;
#X obj 1154 1072 s, f 9;
#X msg 1214 1040 symbol \$1-update-\$2;
#X text 1482 1307 heya :);
#X obj 840 1060 t l l, f 11;
#X obj 914 1094 list prepend \$0;
#X obj 840 1031 list, f 11;
#X obj 840 1161 s, f 11;
#X obj 840 1002 route enum;
#X msg 914 1123 symbol \$1-set-\$2-enum;
#X msg 840 1128 label \$2;
#N canvas 141 148 672 746 receive-dump 0;
#X obj 57 22 inlet;
#X obj 187 604 outlet;
#X msg 336 148 dump;
#X obj 336 180 s \$0-out;
#X msg 391 347 1;
#X obj 187 488 babs.gate 0, f 18;
#X msg 297 352 0;
#X obj 436 288 t b b, f 12;
#X obj 187 532 t a b, f 19;
#X obj 350 407 s \$0-is-building;
#X obj 310 462 r \$0-is-building;
#X obj 57 64 t b b b b, f 60;
#X obj 91 255 list;
#X obj 91 282 list split 1;
#X obj 131 314 list trim;
#X obj 51 562 s \$0-devicename;
#X obj 51 394 symbol;
#X obj 93 156 r \$0-from-module;
#X obj 93 187 route list bang float symbol dump, f 16;
#X obj 317 568 value \$0-numelements;
#X obj 317 592 + 1;
#X obj 317 618 value \$0-numelements;
#X obj 517 462 value \$0-numelements;
#X msg 517 420 -1;
#X connect 0 0 11 0;
#X connect 2 0 3 0;
#X connect 4 0 9 0;
#X connect 5 0 8 0;
#X connect 6 0 9 0;
#X connect 7 0 4 0;
#X connect 7 1 23 0;
#X connect 8 0 1 0;
#X connect 8 1 19 0;
#X connect 10 0 5 1;
#X connect 11 0 16 0;
#X connect 11 1 6 0;
#X connect 11 2 2 0;
#X connect 11 3 7 0;
#X connect 12 0 13 0;
#X connect 13 0 16 1;
#X connect 13 1 14 0;
#X connect 14 0 5 0;
#X connect 16 0 15 0;
#X connect 17 0 18 0;
#X connect 18 5 12 0;
#X connect 19 0 20 0;
#X connect 20 0 21 0;
#X connect 23 0 22 0;
#X restore 454 615 pd receive-dump;
#X f 18;
#X obj 1152 792 r \$0-devicename;
#X obj 1154 923 list prepend \$0;
#X obj 1114 1013 list split 2;
#X text 856 918 update enums;
#X text 997 865 update other params >;
#X text 857 954 < todo \; info;
#X text 846 672 updating params ----------------------------------;
#X text 845 397 sending params ------------------------------------;
#X text 367 223 dynamic builder ------------------------------------;
#X text 383 67 ordering params: cut and paste back from the bottom up, f 27;
#X text 382 138 if param has min and max then gui will use number ui;
#X obj 368 260 r \$0-connect;
#X msg 540 429 gui-connect \$1;
#X obj 540 402 \$0;
#X obj 540 463 s \$0-out;
#X obj 1082 135 route module-connect;
#X obj 912 277 s, f 25;
#X obj 911 141 r \$0-to-module;
#X obj 1082 103 r \$0-from-module;
#X obj 841 714 r \$0-from-module;
#X text 1093 209 forwards directly to params, f 17;
#X obj 850 575 s \$0-to-module;
#X msg 1082 178 symbol \$1-to-module;
#X obj 454 648 route param enum attr msg spacer;
#N canvas 436 262 284 201 make-spacer 0;
#X obj 47 27 inlet;
#X obj 47 92 value \$0-numelements;
#X obj 47 148 value \$0-numelements;
#X obj 47 60 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 47 116 - 0.5;
#X connect 0 0 3 0;
#X connect 1 0 4 0;
#X connect 3 0 1 0;
#X connect 4 0 2 0;
#X restore 630 677 pd make-spacer;
#X obj 101 101 cnv 19 158 228 empty \$0-label bop.sequence 5 12 0 12 #c7c6ff #404040 0;
#X obj 245 100 bng 15 250 50 0 \$0-connect empty ! -10 9 0 14 #feffc6 #c6feff #faff00;
#N canvas 184 374 701 445 \$0-controls 0;
#X obj 12 12 sub/gui/msg 5107 open;
#X obj 12 32 sub/gui/attr 5107 read;
#X obj 12 62 sub/gui/msg 5107 go;
#X obj 12 82 sub/gui/toggle 5107 loop;
#X obj 12 112 sub/gui/param 5107 scrub;
#X obj 12 142 sub/gui/msg 5107 stop;
#X obj 12 162 sub/gui/msg 5107 reset;
#X obj 12 182 sub/gui/msg 5107 dump;
#X coords 0 -1 1 1 150 194 1 10 10;
#X restore 105 130 pd \$0-controls;
#X text 574 402 connect to module;
#X obj 497 515 bng 19 250 50 0 empty empty empty 0 -10 0 12 #fcfcfc #000000 #000000;
#X obj 463 940 r \$0-set-size;
#X obj 368 354 t b b b b b, f 25;
#N canvas 543 518 413 331 clear-gui 0;
#X obj 56 30 inlet;
#X msg 256 130 clear;
#X obj 256 158 s pd-\$0-controls;
#X obj 56 290 s \$0-label;
#X obj 56 84 t b b b, f 29;
#X obj 156 214 s \$0-set-size;
#X msg 156 188 1;
#X msg 56 264 label bop.ui;
#X connect 0 0 4 0;
#X connect 1 0 2 0;
#X connect 4 0 7 0;
#X connect 4 1 6 0;
#X connect 4 2 1 0;
#X connect 6 0 5 0;
#X connect 7 0 3 0;
#X restore 497 549 pd clear-gui;
#N canvas 49 365 450 300 set-label 0;
#X obj 54 29 inlet;
#X obj 59 157 s \$0-label;
#X obj 59 94 symbol;
#X obj 98 66 r \$0-devicename;
#X msg 59 127 label \$1;
#X connect 0 0 2 0;
#X connect 2 0 4 0;
#X connect 3 0 2 1;
#X connect 4 0 1 0;
#X restore 411 1010 pd set-label;
#N canvas 89 179 450 300 do-resize 0;
#X obj 112 42 inlet;
#X obj 114 263 outlet;
#X obj 114 102 value \$0-numelements;
#X obj 114 136 >= 0;
#X obj 114 160 sel 1;
#X connect 0 0 2 0;
#X connect 2 0 3 0;
#X connect 3 0 4 0;
#X connect 4 0 1 0;
#X restore 411 839 pd do-resize;
#X obj 443 912 value \$0-numelements;
#X obj 411 877 t b b;
#X text 1080 65 remote response from to babs.inout in target module, f 36;
#X text 919 301 received remotely by babs.inout in target module;
#X text 383 167 todo: if that min and max os 0 to 1 param has min and max then gui will use toggle ui;
#X connect 2 0 0 0;
#X connect 4 0 5 0;
#X connect 5 0 64 0;
#X connect 11 0 12 0;
#X connect 12 0 15 0;
#X connect 13 0 14 0;
#X connect 14 0 12 1;
#X connect 15 0 54 0;
#X connect 16 0 29 0;
#X connect 16 1 18 0;
#X connect 17 0 35 0;
#X connect 17 1 23 0;
#X connect 18 0 34 0;
#X connect 19 0 16 0;
#X connect 20 0 21 0;
#X connect 21 0 19 1;
#X connect 23 0 22 1;
#X connect 25 0 31 0;
#X connect 25 1 26 0;
#X connect 26 0 30 0;
#X connect 27 0 25 0;
#X connect 29 0 27 0;
#X connect 30 0 28 1;
#X connect 31 0 28 0;
#X connect 32 0 56 0;
#X connect 33 0 16 1;
#X connect 34 0 17 0;
#X connect 35 1 22 0;
#X connect 44 0 64 0;
#X connect 45 0 47 0;
#X connect 46 0 45 0;
#X connect 48 0 55 0;
#X connect 50 0 49 0;
#X connect 51 0 48 0;
#X connect 52 0 19 0;
#X connect 55 0 49 1;
#X connect 56 0 6 0;
#X connect 56 1 8 0;
#X connect 56 2 10 0;
#X connect 56 3 9 0;
#X connect 56 4 57 0;
#X connect 62 0 65 0;
#X connect 63 0 7 0;
#X connect 64 1 67 0;
#X connect 64 2 32 0;
#X connect 64 3 62 0;
#X connect 64 4 46 0;
#X connect 67 0 69 0;
#X connect 68 0 7 0;
#X connect 69 0 66 0;
#X connect 69 1 68 0;
#X coords 0 -1 1 1 160 231 1 100 100;