Files
modeling-app/rust/kcl-lib/tests/kcl_samples/prosthetic-hip/artifact_graph_flowchart.snap.md
Kurt Hutten c7baa26b2d idiomatic kcl for hip sample (#7095)
* idiomatic kcl for hip sample

* Update kcl-samples simulation test output

* updates

Signed-off-by: Jess Frazelle <github@jessfraz.com>

---------

Signed-off-by: Jess Frazelle <github@jessfraz.com>
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
Co-authored-by: Jess Frazelle <github@jessfraz.com>
2025-05-20 11:36:08 -07:00

20 KiB

flowchart LR
  subgraph path11 [Path]
    11["Path<br>[331, 363, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    20["Segment<br>[369, 401, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    21["Segment<br>[407, 447, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    22["Segment<br>[453, 500, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    23["Segment<br>[506, 546, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    24["Segment<br>[552, 599, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    25["Segment<br>[605, 670, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    26["Segment<br>[676, 683, 0]"]
      %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    79[Solid2d]
  end
  subgraph path12 [Path]
    12["Path<br>[816, 848, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    27["Segment<br>[854, 886, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    28["Segment<br>[892, 932, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    29["Segment<br>[938, 985, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    30["Segment<br>[991, 1031, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    31["Segment<br>[1037, 1084, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    32["Segment<br>[1090, 1155, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    33["Segment<br>[1161, 1168, 0]"]
      %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    85[Solid2d]
  end
  subgraph path13 [Path]
    13["Path<br>[1293, 1328, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    34["Segment<br>[1334, 1366, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    35["Segment<br>[1372, 1412, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    36["Segment<br>[1418, 1465, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    37["Segment<br>[1471, 1511, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    38["Segment<br>[1517, 1564, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    39["Segment<br>[1570, 1635, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    40["Segment<br>[1641, 1648, 0]"]
      %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    78[Solid2d]
  end
  subgraph path14 [Path]
    14["Path<br>[1825, 1858, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    41["Segment<br>[2171, 2178, 0]"]
      %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    80[Solid2d]
  end
  subgraph path15 [Path]
    15["Path<br>[2357, 2392, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    42["Segment<br>[2398, 2430, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    43["Segment<br>[2436, 2476, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    44["Segment<br>[2482, 2529, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    45["Segment<br>[2535, 2575, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    46["Segment<br>[2581, 2628, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    47["Segment<br>[2634, 2699, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    48["Segment<br>[2705, 2712, 0]"]
      %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    84[Solid2d]
  end
  subgraph path16 [Path]
    16["Path<br>[2888, 2923, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    49["Segment<br>[2929, 2961, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    50["Segment<br>[2967, 3007, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    51["Segment<br>[3013, 3060, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    52["Segment<br>[3066, 3106, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    53["Segment<br>[3112, 3159, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    54["Segment<br>[3165, 3230, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    55["Segment<br>[3236, 3243, 0]"]
      %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    77[Solid2d]
  end
  subgraph path17 [Path]
    17["Path<br>[3755, 3780, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    56["Segment<br>[3786, 3805, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    57["Segment<br>[3811, 3848, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    58["Segment<br>[3854, 3891, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    59["Segment<br>[3897, 3915, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    60["Segment<br>[3921, 3959, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    61["Segment<br>[3965, 4030, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    62["Segment<br>[4036, 4043, 0]"]
      %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    81[Solid2d]
  end
  subgraph path18 [Path]
    18["Path<br>[4272, 4300, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    63["Segment<br>[4306, 4325, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    64["Segment<br>[4331, 4349, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    65["Segment<br>[4355, 4396, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    66["Segment<br>[4402, 4423, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    67["Segment<br>[4429, 4449, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    68["Segment<br>[4455, 4520, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    69["Segment<br>[4526, 4533, 0]"]
      %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    82[Solid2d]
  end
  subgraph path19 [Path]
    19["Path<br>[4756, 4786, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
    70["Segment<br>[4792, 4809, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 2 }]
    71["Segment<br>[4815, 4833, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 3 }]
    72["Segment<br>[4839, 4877, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 4 }]
    73["Segment<br>[4883, 4909, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 5 }]
    74["Segment<br>[4915, 4934, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 6 }]
    75["Segment<br>[4940, 5005, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 7 }]
    76["Segment<br>[5011, 5018, 0]"]
      %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 8 }]
    83[Solid2d]
  end
  1["Plane<br>[308, 325, 0]"]
    %% [ProgramBodyItem { index: 2 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  2["Plane<br>[781, 809, 0]"]
    %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }, CallKwUnlabeledArg]
  3["Plane<br>[1270, 1287, 0]"]
    %% [ProgramBodyItem { index: 10 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  4["Plane<br>[1802, 1819, 0]"]
    %% [ProgramBodyItem { index: 15 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  5["Plane<br>[2334, 2351, 0]"]
    %% [ProgramBodyItem { index: 20 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  6["Plane<br>[2865, 2882, 0]"]
    %% [ProgramBodyItem { index: 25 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  7["Plane<br>[3732, 3749, 0]"]
    %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  8["Plane<br>[4249, 4266, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  9["Plane<br>[4733, 4750, 0]"]
    %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  10["StartSketchOnPlane<br>[767, 810, 0]"]
    %% [ProgramBodyItem { index: 5 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 0 }]
  86["Sweep Loft<br>[3351, 3439, 0]"]
    %% [ProgramBodyItem { index: 26 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  87["Sweep Loft<br>[3479, 3561, 0]"]
    %% [ProgramBodyItem { index: 27 }, VariableDeclarationDeclaration, VariableDeclarationInit]
  88["Sweep Extrusion<br>[3641, 3660, 0]"]
    %% [ProgramBodyItem { index: 28 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 1 }]
  89["Sweep Revolve<br>[4049, 4079, 0]"]
    %% [ProgramBodyItem { index: 29 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
  90["Sweep Revolve<br>[4539, 4569, 0]"]
    %% [ProgramBodyItem { index: 30 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
  91["Sweep Revolve<br>[5024, 5054, 0]"]
    %% [ProgramBodyItem { index: 31 }, VariableDeclarationDeclaration, VariableDeclarationInit, PipeBodyItem { index: 9 }]
  92[Wall]
    %% face_code_ref=Missing NodePath
  93[Wall]
    %% face_code_ref=Missing NodePath
  94[Wall]
    %% face_code_ref=Missing NodePath
  95[Wall]
    %% face_code_ref=Missing NodePath
  96[Wall]
    %% face_code_ref=Missing NodePath
  97[Wall]
    %% face_code_ref=Missing NodePath
  98[Wall]
    %% face_code_ref=Missing NodePath
  99[Wall]
    %% face_code_ref=Missing NodePath
  100[Wall]
    %% face_code_ref=Missing NodePath
  101[Wall]
    %% face_code_ref=Missing NodePath
  102[Wall]
    %% face_code_ref=Missing NodePath
  103[Wall]
    %% face_code_ref=Missing NodePath
  104[Wall]
    %% face_code_ref=Missing NodePath
  105[Wall]
    %% face_code_ref=Missing NodePath
  106[Wall]
    %% face_code_ref=Missing NodePath
  107[Wall]
    %% face_code_ref=Missing NodePath
  108[Wall]
    %% face_code_ref=Missing NodePath
  109[Wall]
    %% face_code_ref=Missing NodePath
  110[Wall]
    %% face_code_ref=Missing NodePath
  111[Wall]
    %% face_code_ref=Missing NodePath
  112[Wall]
    %% face_code_ref=Missing NodePath
  113[Wall]
    %% face_code_ref=Missing NodePath
  114[Wall]
    %% face_code_ref=Missing NodePath
  115[Wall]
    %% face_code_ref=Missing NodePath
  116[Wall]
    %% face_code_ref=Missing NodePath
  117[Wall]
    %% face_code_ref=Missing NodePath
  118[Wall]
    %% face_code_ref=Missing NodePath
  119[Wall]
    %% face_code_ref=Missing NodePath
  120[Wall]
    %% face_code_ref=Missing NodePath
  121[Wall]
    %% face_code_ref=Missing NodePath
  122["Cap Start"]
    %% face_code_ref=Missing NodePath
  123["Cap Start"]
    %% face_code_ref=Missing NodePath
  124["Cap End"]
    %% face_code_ref=Missing NodePath
  125["Cap End"]
    %% face_code_ref=Missing NodePath
  126["SweepEdge Opposite"]
  127["SweepEdge Opposite"]
  128["SweepEdge Opposite"]
  129["SweepEdge Opposite"]
  130["SweepEdge Opposite"]
  131["SweepEdge Opposite"]
  132["SweepEdge Opposite"]
  133["SweepEdge Opposite"]
  134["SweepEdge Opposite"]
  135["SweepEdge Opposite"]
  136["SweepEdge Opposite"]
  137["SweepEdge Opposite"]
  138["SweepEdge Adjacent"]
  139["SweepEdge Adjacent"]
  140["SweepEdge Adjacent"]
  141["SweepEdge Adjacent"]
  142["SweepEdge Adjacent"]
  143["SweepEdge Adjacent"]
  144["SweepEdge Adjacent"]
  145["SweepEdge Adjacent"]
  146["SweepEdge Adjacent"]
  147["SweepEdge Adjacent"]
  148["SweepEdge Adjacent"]
  149["SweepEdge Adjacent"]
  150["SweepEdge Adjacent"]
  151["SweepEdge Adjacent"]
  152["SweepEdge Adjacent"]
  153["SweepEdge Adjacent"]
  154["SweepEdge Adjacent"]
  155["SweepEdge Adjacent"]
  156["SweepEdge Adjacent"]
  157["SweepEdge Adjacent"]
  158["SweepEdge Adjacent"]
  159["SweepEdge Adjacent"]
  160["SweepEdge Adjacent"]
  161["SweepEdge Adjacent"]
  162["SweepEdge Adjacent"]
  163["SweepEdge Adjacent"]
  164["SweepEdge Adjacent"]
  165["SweepEdge Adjacent"]
  166["SweepEdge Adjacent"]
  1 --- 11
  2 <--x 10
  2 --- 12
  3 --- 13
  4 --- 14
  5 --- 15
  6 --- 16
  7 --- 17
  8 --- 18
  9 --- 19
  11 --- 20
  11 --- 21
  11 --- 22
  11 --- 23
  11 --- 24
  11 --- 25
  11 --- 26
  11 --- 79
  11 ---- 86
  12 --- 27
  12 --- 28
  12 --- 29
  12 --- 30
  12 --- 31
  12 --- 32
  12 --- 33
  12 --- 85
  12 x---> 86
  13 --- 34
  13 --- 35
  13 --- 36
  13 --- 37
  13 --- 38
  13 --- 39
  13 --- 40
  13 --- 78
  13 x---> 86
  14 --- 41
  14 --- 80
  14 x---> 86
  14 x--> 132
  14 x--> 133
  14 x--> 134
  14 x--> 135
  14 x--> 136
  14 x--> 137
  15 --- 42
  15 --- 43
  15 --- 44
  15 --- 45
  15 --- 46
  15 --- 47
  15 --- 48
  15 --- 84
  15 x---> 87
  16 --- 49
  16 --- 50
  16 --- 51
  16 --- 52
  16 --- 53
  16 --- 54
  16 --- 55
  16 --- 77
  16 ---- 88
  17 --- 56
  17 --- 57
  17 --- 58
  17 --- 59
  17 --- 60
  17 --- 61
  17 --- 62
  17 --- 81
  17 ---- 89
  18 --- 63
  18 --- 64
  18 --- 65
  18 --- 66
  18 --- 67
  18 --- 68
  18 --- 69
  18 --- 82
  18 ---- 90
  19 --- 70
  19 --- 71
  19 --- 72
  19 --- 73
  19 --- 74
  19 --- 75
  19 --- 76
  19 --- 83
  19 ---- 91
  20 --- 109
  20 x--> 122
  20 --- 132
  20 --- 150
  21 --- 107
  21 x--> 122
  21 --- 133
  21 --- 151
  22 --- 106
  22 x--> 122
  22 --- 134
  22 --- 152
  23 --- 108
  23 x--> 122
  23 --- 135
  23 --- 153
  24 --- 105
  24 x--> 122
  24 --- 136
  24 --- 154
  25 --- 104
  25 x--> 122
  25 --- 137
  25 --- 155
  49 --- 94
  49 x--> 123
  49 --- 131
  49 --- 143
  50 --- 95
  50 x--> 123
  50 --- 130
  50 --- 142
  51 --- 96
  51 x--> 123
  51 --- 129
  51 --- 141
  52 --- 97
  52 x--> 123
  52 --- 128
  52 --- 140
  53 --- 92
  53 x--> 123
  53 --- 127
  53 --- 139
  54 --- 93
  54 x--> 123
  54 --- 126
  54 --- 138
  89 <--x 56
  56 --- 115
  56 x--> 156
  89 <--x 57
  57 --- 114
  57 --- 156
  89 <--x 58
  58 --- 110
  58 --- 157
  89 <--x 59
  59 --- 113
  59 --- 158
  89 <--x 60
  60 --- 112
  60 --- 159
  89 <--x 61
  61 --- 111
  61 --- 160
  90 <--x 63
  63 --- 102
  63 --- 144
  90 <--x 64
  64 --- 98
  64 --- 145
  90 <--x 65
  65 --- 99
  65 --- 146
  90 <--x 66
  66 --- 103
  66 --- 147
  90 <--x 67
  67 --- 101
  67 --- 148
  90 <--x 68
  68 --- 100
  68 --- 149
  91 <--x 70
  70 --- 118
  70 --- 161
  91 <--x 71
  71 --- 121
  71 --- 162
  91 <--x 72
  72 --- 120
  72 --- 163
  91 <--x 73
  73 --- 116
  73 --- 164
  91 <--x 74
  74 --- 119
  74 --- 165
  91 <--x 75
  75 --- 117
  75 --- 166
  86 --- 104
  86 --- 105
  86 --- 106
  86 --- 107
  86 --- 108
  86 --- 109
  86 --- 122
  86 --- 124
  86 --- 132
  86 --- 133
  86 --- 134
  86 --- 135
  86 --- 136
  86 --- 137
  86 --- 150
  86 --- 151
  86 --- 152
  86 --- 153
  86 --- 154
  86 --- 155
  88 --- 92
  88 --- 93
  88 --- 94
  88 --- 95
  88 --- 96
  88 --- 97
  88 --- 123
  88 --- 125
  88 --- 126
  88 --- 127
  88 --- 128
  88 --- 129
  88 --- 130
  88 --- 131
  88 --- 138
  88 --- 139
  88 --- 140
  88 --- 141
  88 --- 142
  88 --- 143
  89 --- 110
  89 --- 111
  89 --- 112
  89 --- 113
  89 --- 114
  89 --- 115
  89 --- 156
  89 --- 157
  89 --- 158
  89 --- 159
  89 --- 160
  90 --- 98
  90 --- 99
  90 --- 100
  90 --- 101
  90 --- 102
  90 --- 103
  90 --- 144
  90 --- 145
  90 --- 146
  90 --- 147
  90 --- 148
  90 --- 149
  91 --- 116
  91 --- 117
  91 --- 118
  91 --- 119
  91 --- 120
  91 --- 121
  91 --- 161
  91 --- 162
  91 --- 163
  91 --- 164
  91 --- 165
  91 --- 166
  92 --- 127
  92 --- 139
  140 <--x 92
  93 --- 126
  93 --- 138
  139 <--x 93
  94 --- 131
  138 <--x 94
  94 --- 143
  95 --- 130
  95 --- 142
  143 <--x 95
  96 --- 129
  96 --- 141
  142 <--x 96
  97 --- 128
  97 --- 140
  141 <--x 97
  144 <--x 98
  98 --- 145
  145 <--x 99
  99 --- 146
  148 <--x 100
  100 --- 149
  147 <--x 101
  101 --- 148
  102 --- 144
  149 <--x 102
  146 <--x 103
  103 --- 147
  104 --- 137
  150 <--x 104
  104 --- 155
  105 --- 136
  105 --- 154
  155 <--x 105
  106 --- 134
  106 --- 152
  153 <--x 106
  107 --- 133
  107 --- 151
  152 <--x 107
  108 --- 135
  108 --- 153
  154 <--x 108
  109 --- 132
  109 --- 150
  151 <--x 109
  110 --- 157
  159 <--x 111
  111 --- 160
  158 <--x 112
  112 --- 159
  157 <--x 113
  113 --- 158
  114 --- 156
  115 --- 156
  160 <--x 115
  163 <--x 116
  116 --- 164
  165 <--x 117
  117 --- 166
  118 --- 161
  166 <--x 118
  164 <--x 119
  119 --- 165
  162 <--x 120
  120 --- 163
  161 <--x 121
  121 --- 162
  132 <--x 124
  133 <--x 124
  134 <--x 124
  135 <--x 124
  136 <--x 124
  137 <--x 124
  126 <--x 125
  127 <--x 125
  128 <--x 125
  129 <--x 125
  130 <--x 125
  131 <--x 125