Files
modeling-app/rust/kcl-lib/tests/kcl_samples/dodecahedron/artifact_graph_flowchart.snap.md
Adam Chalmers 89bae66257 KCL: User-defined KCL functions in examples etc now use keywords (#6603)
Preparing for the removal of positional functions from the language. The first big step is to change all our KCL code examples, test code, public samples etc to all use keyword functions.

Apologies for how large this PR is. Most of it is:

- Changing example KCL that defined its own functions, so the functions now use keyword arguments rather than positional arguments. E.g. change `cube([20, 20])` to be `cube(center = [20, 20])`.
- Some parts of the code assumed positional code and didn't handle keyword calls, e.g. the linter would only check for positional calls to startSketchOn. Now they should work with either positional or keyword.
- Update all the artifacts

This does _not_ remove support for positional calls. That will be in a follow-up PR.
2025-05-01 12:36:51 -04:00

16 KiB

flowchart LR
  subgraph path13 [Path]
    13["Path<br>[497, 548, 0]"]
    31["Segment<br>[556, 607, 0]"]
    38["Segment<br>[615, 665, 0]"]
    59["Segment<br>[673, 724, 0]"]
    67["Segment<br>[732, 739, 0]"]
    73[Solid2d]
  end
  subgraph path14 [Path]
    14["Path<br>[497, 548, 0]"]
    27["Segment<br>[556, 607, 0]"]
    45["Segment<br>[615, 665, 0]"]
    50["Segment<br>[673, 724, 0]"]
    65["Segment<br>[732, 739, 0]"]
    74[Solid2d]
  end
  subgraph path15 [Path]
    15["Path<br>[497, 548, 0]"]
    32["Segment<br>[556, 607, 0]"]
    48["Segment<br>[615, 665, 0]"]
    51["Segment<br>[673, 724, 0]"]
    71["Segment<br>[732, 739, 0]"]
    75[Solid2d]
  end
  subgraph path16 [Path]
    16["Path<br>[497, 548, 0]"]
    29["Segment<br>[556, 607, 0]"]
    40["Segment<br>[615, 665, 0]"]
    56["Segment<br>[673, 724, 0]"]
    69["Segment<br>[732, 739, 0]"]
    76[Solid2d]
  end
  subgraph path17 [Path]
    17["Path<br>[497, 548, 0]"]
    26["Segment<br>[556, 607, 0]"]
    44["Segment<br>[615, 665, 0]"]
    52["Segment<br>[673, 724, 0]"]
    63["Segment<br>[732, 739, 0]"]
    77[Solid2d]
  end
  subgraph path18 [Path]
    18["Path<br>[497, 548, 0]"]
    28["Segment<br>[556, 607, 0]"]
    47["Segment<br>[615, 665, 0]"]
    58["Segment<br>[673, 724, 0]"]
    64["Segment<br>[732, 739, 0]"]
    78[Solid2d]
  end
  subgraph path19 [Path]
    19["Path<br>[497, 548, 0]"]
    35["Segment<br>[556, 607, 0]"]
    41["Segment<br>[615, 665, 0]"]
    57["Segment<br>[673, 724, 0]"]
    66["Segment<br>[732, 739, 0]"]
    79[Solid2d]
  end
  subgraph path20 [Path]
    20["Path<br>[497, 548, 0]"]
    34["Segment<br>[556, 607, 0]"]
    42["Segment<br>[615, 665, 0]"]
    55["Segment<br>[673, 724, 0]"]
    68["Segment<br>[732, 739, 0]"]
    80[Solid2d]
  end
  subgraph path21 [Path]
    21["Path<br>[497, 548, 0]"]
    30["Segment<br>[556, 607, 0]"]
    39["Segment<br>[615, 665, 0]"]
    60["Segment<br>[673, 724, 0]"]
    70["Segment<br>[732, 739, 0]"]
    81[Solid2d]
  end
  subgraph path22 [Path]
    22["Path<br>[497, 548, 0]"]
    25["Segment<br>[556, 607, 0]"]
    46["Segment<br>[615, 665, 0]"]
    54["Segment<br>[673, 724, 0]"]
    72["Segment<br>[732, 739, 0]"]
    82[Solid2d]
  end
  subgraph path23 [Path]
    23["Path<br>[497, 548, 0]"]
    36["Segment<br>[556, 607, 0]"]
    37["Segment<br>[615, 665, 0]"]
    49["Segment<br>[673, 724, 0]"]
    62["Segment<br>[732, 739, 0]"]
    83[Solid2d]
  end
  subgraph path24 [Path]
    24["Path<br>[497, 548, 0]"]
    33["Segment<br>[556, 607, 0]"]
    43["Segment<br>[615, 665, 0]"]
    53["Segment<br>[673, 724, 0]"]
    61["Segment<br>[732, 739, 0]"]
    84[Solid2d]
  end
  1["Plane<br>[472, 489, 0]"]
  2["Plane<br>[472, 489, 0]"]
  3["Plane<br>[472, 489, 0]"]
  4["Plane<br>[472, 489, 0]"]
  5["Plane<br>[472, 489, 0]"]
  6["Plane<br>[472, 489, 0]"]
  7["Plane<br>[472, 489, 0]"]
  8["Plane<br>[472, 489, 0]"]
  9["Plane<br>[472, 489, 0]"]
  10["Plane<br>[472, 489, 0]"]
  11["Plane<br>[472, 489, 0]"]
  12["Plane<br>[472, 489, 0]"]
  85["Sweep Extrusion<br>[753, 803, 0]"]
  86["Sweep Extrusion<br>[753, 803, 0]"]
  87["Sweep Extrusion<br>[753, 803, 0]"]
  88["Sweep Extrusion<br>[753, 803, 0]"]
  89["Sweep Extrusion<br>[753, 803, 0]"]
  90["Sweep Extrusion<br>[753, 803, 0]"]
  91["Sweep Extrusion<br>[753, 803, 0]"]
  92["Sweep Extrusion<br>[753, 803, 0]"]
  93["Sweep Extrusion<br>[753, 803, 0]"]
  94["Sweep Extrusion<br>[753, 803, 0]"]
  95["Sweep Extrusion<br>[753, 803, 0]"]
  96["Sweep Extrusion<br>[753, 803, 0]"]
  97["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  98["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  99["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  100["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  101["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  102["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  103["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  104["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  105["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  106["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  107["CompositeSolid Intersect<br>[2000, 2030, 0]"]
  108[Wall]
  109[Wall]
  110[Wall]
  111[Wall]
  112[Wall]
  113[Wall]
  114[Wall]
  115[Wall]
  116[Wall]
  117[Wall]
  118[Wall]
  119[Wall]
  120[Wall]
  121[Wall]
  122[Wall]
  123[Wall]
  124[Wall]
  125[Wall]
  126[Wall]
  127[Wall]
  128[Wall]
  129[Wall]
  130[Wall]
  131[Wall]
  132[Wall]
  133[Wall]
  134[Wall]
  135[Wall]
  136[Wall]
  137[Wall]
  138[Wall]
  139[Wall]
  140[Wall]
  141[Wall]
  142[Wall]
  143[Wall]
  144[Wall]
  145[Wall]
  146[Wall]
  147[Wall]
  148[Wall]
  149[Wall]
  150[Wall]
  151[Wall]
  152[Wall]
  153[Wall]
  154[Wall]
  155[Wall]
  156["Cap Start"]
  157["Cap Start"]
  158["Cap Start"]
  159["Cap Start"]
  160["Cap Start"]
  161["Cap Start"]
  162["Cap Start"]
  163["Cap Start"]
  164["Cap Start"]
  165["Cap Start"]
  166["Cap Start"]
  167["Cap Start"]
  168["Cap End"]
  169["Cap End"]
  170["Cap End"]
  171["Cap End"]
  172["Cap End"]
  173["Cap End"]
  174["Cap End"]
  175["Cap End"]
  176["Cap End"]
  177["Cap End"]
  178["Cap End"]
  179["Cap End"]
  180["SweepEdge Opposite"]
  181["SweepEdge Opposite"]
  182["SweepEdge Opposite"]
  183["SweepEdge Opposite"]
  184["SweepEdge Opposite"]
  185["SweepEdge Opposite"]
  186["SweepEdge Opposite"]
  187["SweepEdge Opposite"]
  188["SweepEdge Opposite"]
  189["SweepEdge Opposite"]
  190["SweepEdge Opposite"]
  191["SweepEdge Opposite"]
  192["SweepEdge Opposite"]
  193["SweepEdge Opposite"]
  194["SweepEdge Opposite"]
  195["SweepEdge Opposite"]
  196["SweepEdge Opposite"]
  197["SweepEdge Opposite"]
  198["SweepEdge Opposite"]
  199["SweepEdge Opposite"]
  200["SweepEdge Opposite"]
  201["SweepEdge Opposite"]
  202["SweepEdge Opposite"]
  203["SweepEdge Opposite"]
  204["SweepEdge Opposite"]
  205["SweepEdge Opposite"]
  206["SweepEdge Opposite"]
  207["SweepEdge Opposite"]
  208["SweepEdge Opposite"]
  209["SweepEdge Opposite"]
  210["SweepEdge Opposite"]
  211["SweepEdge Opposite"]
  212["SweepEdge Opposite"]
  213["SweepEdge Opposite"]
  214["SweepEdge Opposite"]
  215["SweepEdge Opposite"]
  216["SweepEdge Opposite"]
  217["SweepEdge Opposite"]
  218["SweepEdge Opposite"]
  219["SweepEdge Opposite"]
  220["SweepEdge Opposite"]
  221["SweepEdge Opposite"]
  222["SweepEdge Opposite"]
  223["SweepEdge Opposite"]
  224["SweepEdge Opposite"]
  225["SweepEdge Opposite"]
  226["SweepEdge Opposite"]
  227["SweepEdge Opposite"]
  228["SweepEdge Adjacent"]
  229["SweepEdge Adjacent"]
  230["SweepEdge Adjacent"]
  231["SweepEdge Adjacent"]
  232["SweepEdge Adjacent"]
  233["SweepEdge Adjacent"]
  234["SweepEdge Adjacent"]
  235["SweepEdge Adjacent"]
  236["SweepEdge Adjacent"]
  237["SweepEdge Adjacent"]
  238["SweepEdge Adjacent"]
  239["SweepEdge Adjacent"]
  240["SweepEdge Adjacent"]
  241["SweepEdge Adjacent"]
  242["SweepEdge Adjacent"]
  243["SweepEdge Adjacent"]
  244["SweepEdge Adjacent"]
  245["SweepEdge Adjacent"]
  246["SweepEdge Adjacent"]
  247["SweepEdge Adjacent"]
  248["SweepEdge Adjacent"]
  249["SweepEdge Adjacent"]
  250["SweepEdge Adjacent"]
  251["SweepEdge Adjacent"]
  252["SweepEdge Adjacent"]
  253["SweepEdge Adjacent"]
  254["SweepEdge Adjacent"]
  255["SweepEdge Adjacent"]
  256["SweepEdge Adjacent"]
  257["SweepEdge Adjacent"]
  258["SweepEdge Adjacent"]
  259["SweepEdge Adjacent"]
  260["SweepEdge Adjacent"]
  261["SweepEdge Adjacent"]
  262["SweepEdge Adjacent"]
  263["SweepEdge Adjacent"]
  264["SweepEdge Adjacent"]
  265["SweepEdge Adjacent"]
  266["SweepEdge Adjacent"]
  267["SweepEdge Adjacent"]
  268["SweepEdge Adjacent"]
  269["SweepEdge Adjacent"]
  270["SweepEdge Adjacent"]
  271["SweepEdge Adjacent"]
  272["SweepEdge Adjacent"]
  273["SweepEdge Adjacent"]
  274["SweepEdge Adjacent"]
  275["SweepEdge Adjacent"]
  1 --- 23
  2 --- 14
  3 --- 16
  4 --- 24
  5 --- 15
  6 --- 21
  7 --- 22
  8 --- 18
  9 --- 19
  10 --- 20
  11 --- 13
  12 --- 17
  13 --- 31
  13 --- 38
  13 --- 59
  13 --- 67
  13 --- 73
  13 ---- 90
  13 <--x 106
  14 --- 27
  14 --- 45
  14 --- 50
  14 --- 65
  14 --- 74
  14 ---- 92
  14 <--x 101
  15 --- 32
  15 --- 48
  15 --- 51
  15 --- 71
  15 --- 75
  15 ---- 93
  15 <--x 99
  16 --- 29
  16 --- 40
  16 --- 56
  16 --- 69
  16 --- 76
  16 ---- 96
  16 <--x 100
  17 --- 26
  17 --- 44
  17 --- 52
  17 --- 63
  17 --- 77
  17 ---- 95
  17 <--x 105
  18 --- 28
  18 --- 47
  18 --- 58
  18 --- 64
  18 --- 78
  18 ---- 94
  18 <--x 102
  19 --- 35
  19 --- 41
  19 --- 57
  19 --- 66
  19 --- 79
  19 ---- 89
  19 <--x 98
  20 --- 34
  20 --- 42
  20 --- 55
  20 --- 68
  20 --- 80
  20 ---- 87
  20 <--x 104
  21 --- 30
  21 --- 39
  21 --- 60
  21 --- 70
  21 --- 81
  21 ---- 91
  21 <--x 103
  22 --- 25
  22 --- 46
  22 --- 54
  22 --- 72
  22 --- 82
  22 ---- 88
  22 <--x 104
  23 --- 36
  23 --- 37
  23 --- 49
  23 --- 62
  23 --- 83
  23 ---- 86
  23 <--x 107
  24 --- 33
  24 --- 43
  24 --- 53
  24 --- 61
  24 --- 84
  24 ---- 85
  24 <--x 97
  25 --- 120
  25 x--> 158
  25 --- 193
  25 --- 242
  26 --- 148
  26 x--> 163
  26 --- 223
  26 --- 269
  27 --- 138
  27 x--> 165
  27 --- 210
  27 --- 258
  28 --- 145
  28 x--> 156
  28 --- 218
  28 --- 267
  29 --- 153
  29 x--> 162
  29 --- 227
  29 --- 275
  30 --- 133
  30 x--> 157
  30 --- 204
  30 --- 254
  31 --- 130
  31 x--> 167
  31 --- 200
  31 --- 250
  32 --- 141
  32 x--> 160
  32 --- 215
  32 --- 261
  33 --- 111
  33 x--> 164
  33 --- 181
  33 --- 229
  34 --- 119
  34 x--> 166
  34 --- 189
  34 --- 236
  35 --- 127
  35 x--> 161
  35 --- 196
  35 --- 247
  36 --- 115
  36 x--> 159
  36 --- 185
  36 --- 234
  37 --- 112
  37 x--> 159
  37 --- 187
  37 --- 233
  38 --- 128
  38 x--> 167
  38 --- 203
  38 --- 248
  39 --- 132
  39 x--> 157
  39 --- 205
  39 --- 255
  40 --- 152
  40 x--> 162
  40 --- 224
  40 --- 273
  41 --- 124
  41 x--> 161
  41 --- 198
  41 --- 246
  42 --- 117
  42 x--> 166
  42 --- 188
  42 --- 239
  43 --- 110
  43 x--> 164
  43 --- 183
  43 --- 228
  44 --- 151
  44 x--> 163
  44 --- 221
  44 --- 268
  45 --- 139
  45 x--> 165
  45 --- 209
  45 --- 256
  46 --- 122
  46 x--> 158
  46 --- 192
  46 --- 240
  47 --- 147
  47 x--> 156
  47 --- 217
  47 --- 265
  48 --- 143
  48 x--> 160
  48 --- 214
  48 --- 260
  49 --- 113
  49 x--> 159
  49 --- 184
  49 --- 232
  50 --- 136
  50 x--> 165
  50 --- 211
  50 --- 257
  51 --- 140
  51 x--> 160
  51 --- 213
  51 --- 262
  52 --- 150
  52 x--> 163
  52 --- 222
  52 --- 270
  53 --- 109
  53 x--> 164
  53 --- 180
  53 --- 231
  54 --- 121
  54 x--> 158
  54 --- 195
  54 --- 241
  55 --- 116
  55 x--> 166
  55 --- 191
  55 --- 238
  56 --- 154
  56 x--> 162
  56 --- 225
  56 --- 272
  57 --- 126
  57 x--> 161
  57 --- 199
  57 --- 245
  58 --- 146
  58 x--> 156
  58 --- 219
  58 --- 266
  59 --- 131
  59 x--> 167
  59 --- 201
  59 --- 251
  60 --- 134
  60 x--> 157
  60 --- 206
  60 --- 252
  61 --- 108
  61 x--> 164
  61 --- 182
  61 --- 230
  62 --- 114
  62 x--> 159
  62 --- 186
  62 --- 235
  63 --- 149
  63 x--> 163
  63 --- 220
  63 --- 271
  64 --- 144
  64 x--> 156
  64 --- 216
  64 --- 264
  65 --- 137
  65 x--> 165
  65 --- 208
  65 --- 259
  66 --- 125
  66 x--> 161
  66 --- 197
  66 --- 244
  67 --- 129
  67 x--> 167
  67 --- 202
  67 --- 249
  68 --- 118
  68 x--> 166
  68 --- 190
  68 --- 237
  69 --- 155
  69 x--> 162
  69 --- 226
  69 --- 274
  70 --- 135
  70 x--> 157
  70 --- 207
  70 --- 253
  71 --- 142
  71 x--> 160
  71 --- 212
  71 --- 263
  72 --- 123
  72 x--> 158
  72 --- 194
  72 --- 243
  85 --- 108
  85 --- 109
  85 --- 110
  85 --- 111
  85 --- 164
  85 --- 176
  85 --- 180
  85 --- 181
  85 --- 182
  85 --- 183
  85 --- 228
  85 --- 229
  85 --- 230
  85 --- 231
  86 --- 112
  86 --- 113
  86 --- 114
  86 --- 115
  86 --- 159
  86 --- 171
  86 --- 184
  86 --- 185
  86 --- 186
  86 --- 187
  86 --- 232
  86 --- 233
  86 --- 234
  86 --- 235
  87 --- 116
  87 --- 117
  87 --- 118
  87 --- 119
  87 --- 166
  87 --- 178
  87 --- 188
  87 --- 189
  87 --- 190
  87 --- 191
  87 --- 236
  87 --- 237
  87 --- 238
  87 --- 239
  88 --- 120
  88 --- 121
  88 --- 122
  88 --- 123
  88 --- 158
  88 --- 170
  88 --- 192
  88 --- 193
  88 --- 194
  88 --- 195
  88 --- 240
  88 --- 241
  88 --- 242
  88 --- 243
  89 --- 124
  89 --- 125
  89 --- 126
  89 --- 127
  89 --- 161
  89 --- 173
  89 --- 196
  89 --- 197
  89 --- 198
  89 --- 199
  89 --- 244
  89 --- 245
  89 --- 246
  89 --- 247
  90 --- 128
  90 --- 129
  90 --- 130
  90 --- 131
  90 --- 167
  90 --- 179
  90 --- 200
  90 --- 201
  90 --- 202
  90 --- 203
  90 --- 248
  90 --- 249
  90 --- 250
  90 --- 251
  91 --- 132
  91 --- 133
  91 --- 134
  91 --- 135
  91 --- 157
  91 --- 169
  91 --- 204
  91 --- 205
  91 --- 206
  91 --- 207
  91 --- 252
  91 --- 253
  91 --- 254
  91 --- 255
  92 --- 136
  92 --- 137
  92 --- 138
  92 --- 139
  92 --- 165
  92 --- 177
  92 --- 208
  92 --- 209
  92 --- 210
  92 --- 211
  92 --- 256
  92 --- 257
  92 --- 258
  92 --- 259
  93 --- 140
  93 --- 141
  93 --- 142
  93 --- 143
  93 --- 160
  93 --- 172
  93 --- 212
  93 --- 213
  93 --- 214
  93 --- 215
  93 --- 260
  93 --- 261
  93 --- 262
  93 --- 263
  94 --- 144
  94 --- 145
  94 --- 146
  94 --- 147
  94 --- 156
  94 --- 168
  94 --- 216
  94 --- 217
  94 --- 218
  94 --- 219
  94 --- 264
  94 --- 265
  94 --- 266
  94 --- 267
  95 --- 148
  95 --- 149
  95 --- 150
  95 --- 151
  95 --- 163
  95 --- 175
  95 --- 220
  95 --- 221
  95 --- 222
  95 --- 223
  95 --- 268
  95 --- 269
  95 --- 270
  95 --- 271
  96 --- 152
  96 --- 153
  96 --- 154
  96 --- 155
  96 --- 162
  96 --- 174
  96 --- 224
  96 --- 225
  96 --- 226
  96 --- 227
  96 --- 272
  96 --- 273
  96 --- 274
  96 --- 275
  97 <--x 98
  99 x--> 97
  98 <--x 103
  105 x--> 99
  104 x--> 100
  100 <--x 107
  101 <--x 102
  103 x--> 101
  106 x--> 105
  107 x--> 106
  182 <--x 108
  230 <--x 108
  231 <--x 108
  180 <--x 109
  228 <--x 109
  231 <--x 109
  183 <--x 110
  228 <--x 110
  229 <--x 110
  181 <--x 111
  229 <--x 111
  230 <--x 111
  187 <--x 112
  233 <--x 112
  234 <--x 112
  184 <--x 113
  232 <--x 113
  233 <--x 113
  186 <--x 114
  232 <--x 114
  235 <--x 114
  185 <--x 115
  234 <--x 115
  235 <--x 115
  191 <--x 116
  238 <--x 116
  239 <--x 116
  188 <--x 117
  236 <--x 117
  239 <--x 117
  190 <--x 118
  237 <--x 118
  238 <--x 118
  189 <--x 119
  236 <--x 119
  237 <--x 119
  193 <--x 120
  242 <--x 120
  243 <--x 120
  195 <--x 121
  240 <--x 121
  241 <--x 121
  192 <--x 122
  240 <--x 122
  242 <--x 122
  194 <--x 123
  241 <--x 123
  243 <--x 123
  198 <--x 124
  246 <--x 124
  247 <--x 124
  197 <--x 125
  244 <--x 125
  245 <--x 125
  199 <--x 126
  245 <--x 126
  246 <--x 126
  196 <--x 127
  244 <--x 127
  247 <--x 127
  203 <--x 128
  248 <--x 128
  250 <--x 128
  202 <--x 129
  249 <--x 129
  251 <--x 129
  200 <--x 130
  249 <--x 130
  250 <--x 130
  201 <--x 131
  248 <--x 131
  251 <--x 131
  205 <--x 132
  254 <--x 132
  255 <--x 132
  204 <--x 133
  253 <--x 133
  254 <--x 133
  206 <--x 134
  252 <--x 134
  255 <--x 134
  207 <--x 135
  252 <--x 135
  253 <--x 135
  211 <--x 136
  256 <--x 136
  257 <--x 136
  208 <--x 137
  257 <--x 137
  259 <--x 137
  210 <--x 138
  258 <--x 138
  259 <--x 138
  209 <--x 139
  256 <--x 139
  258 <--x 139
  213 <--x 140
  260 <--x 140
  262 <--x 140
  215 <--x 141
  261 <--x 141
  263 <--x 141
  212 <--x 142
  262 <--x 142
  263 <--x 142
  214 <--x 143
  260 <--x 143
  261 <--x 143
  216 <--x 144
  264 <--x 144
  266 <--x 144
  218 <--x 145
  264 <--x 145
  267 <--x 145
  219 <--x 146
  265 <--x 146
  266 <--x 146
  217 <--x 147
  265 <--x 147
  267 <--x 147
  223 <--x 148
  269 <--x 148
  271 <--x 148
  220 <--x 149
  270 <--x 149
  271 <--x 149
  222 <--x 150
  268 <--x 150
  270 <--x 150
  221 <--x 151
  268 <--x 151
  269 <--x 151
  224 <--x 152
  273 <--x 152
  275 <--x 152
  227 <--x 153
  274 <--x 153
  275 <--x 153
  225 <--x 154
  272 <--x 154
  273 <--x 154
  226 <--x 155
  272 <--x 155
  274 <--x 155
  216 <--x 168
  217 <--x 168
  218 <--x 168
  219 <--x 168
  204 <--x 169
  205 <--x 169
  206 <--x 169
  207 <--x 169
  192 <--x 170
  193 <--x 170
  194 <--x 170
  195 <--x 170
  184 <--x 171
  185 <--x 171
  186 <--x 171
  187 <--x 171
  212 <--x 172
  213 <--x 172
  214 <--x 172
  215 <--x 172
  196 <--x 173
  197 <--x 173
  198 <--x 173
  199 <--x 173
  224 <--x 174
  225 <--x 174
  226 <--x 174
  227 <--x 174
  220 <--x 175
  221 <--x 175
  222 <--x 175
  223 <--x 175
  180 <--x 176
  181 <--x 176
  182 <--x 176
  183 <--x 176
  208 <--x 177
  209 <--x 177
  210 <--x 177
  211 <--x 177
  188 <--x 178
  189 <--x 178
  190 <--x 178
  191 <--x 178
  200 <--x 179
  201 <--x 179
  202 <--x 179
  203 <--x 179