-
Notifications
You must be signed in to change notification settings - Fork 0
/
generated_EVIL.h
491 lines (481 loc) · 32.7 KB
/
generated_EVIL.h
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
// auto-generated from generator.sh, DO NOT EDIT!
// dealing with close to or more then 110 elements may not work
// this limit can be increased in generator.sh
/* MIT License
*
* Copyright (c) 2021 ibra-kdbra
*
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
*
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
* AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
* SOFTWARE.
*/
#if !defined(EVIL) || defined(_EVIL_GEN_H)
#error this file should only be included by define_EVIL.h
#endif
#define _EVIL_GEN_H
#define EVIL_GEN_MAX_NUM 110
// EVIL_INC_ and EVIL_DEC_
// usage: cat EVIL_INC_ or EVIL_DEC_ to any small number to get n+1 or n-1
#define EVIL_INC_0 1
#define EVIL_INC_1 2
#define EVIL_INC_2 3
#define EVIL_INC_3 4
#define EVIL_INC_4 5
#define EVIL_INC_5 6
#define EVIL_INC_6 7
#define EVIL_INC_7 8
#define EVIL_INC_8 9
#define EVIL_INC_9 10
#define EVIL_INC_10 11
#define EVIL_INC_11 12
#define EVIL_INC_12 13
#define EVIL_INC_13 14
#define EVIL_INC_14 15
#define EVIL_INC_15 16
#define EVIL_INC_16 17
#define EVIL_INC_17 18
#define EVIL_INC_18 19
#define EVIL_INC_19 20
#define EVIL_INC_20 21
#define EVIL_INC_21 22
#define EVIL_INC_22 23
#define EVIL_INC_23 24
#define EVIL_INC_24 25
#define EVIL_INC_25 26
#define EVIL_INC_26 27
#define EVIL_INC_27 28
#define EVIL_INC_28 29
#define EVIL_INC_29 30
#define EVIL_INC_30 31
#define EVIL_INC_31 32
#define EVIL_INC_32 33
#define EVIL_INC_33 34
#define EVIL_INC_34 35
#define EVIL_INC_35 36
#define EVIL_INC_36 37
#define EVIL_INC_37 38
#define EVIL_INC_38 39
#define EVIL_INC_39 40
#define EVIL_INC_40 41
#define EVIL_INC_41 42
#define EVIL_INC_42 43
#define EVIL_INC_43 44
#define EVIL_INC_44 45
#define EVIL_INC_45 46
#define EVIL_INC_46 47
#define EVIL_INC_47 48
#define EVIL_INC_48 49
#define EVIL_INC_49 50
#define EVIL_INC_50 51
#define EVIL_INC_51 52
#define EVIL_INC_52 53
#define EVIL_INC_53 54
#define EVIL_INC_54 55
#define EVIL_INC_55 56
#define EVIL_INC_56 57
#define EVIL_INC_57 58
#define EVIL_INC_58 59
#define EVIL_INC_59 60
#define EVIL_INC_60 61
#define EVIL_INC_61 62
#define EVIL_INC_62 63
#define EVIL_INC_63 64
#define EVIL_INC_64 65
#define EVIL_INC_65 66
#define EVIL_INC_66 67
#define EVIL_INC_67 68
#define EVIL_INC_68 69
#define EVIL_INC_69 70
#define EVIL_INC_70 71
#define EVIL_INC_71 72
#define EVIL_INC_72 73
#define EVIL_INC_73 74
#define EVIL_INC_74 75
#define EVIL_INC_75 76
#define EVIL_INC_76 77
#define EVIL_INC_77 78
#define EVIL_INC_78 79
#define EVIL_INC_79 80
#define EVIL_INC_80 81
#define EVIL_INC_81 82
#define EVIL_INC_82 83
#define EVIL_INC_83 84
#define EVIL_INC_84 85
#define EVIL_INC_85 86
#define EVIL_INC_86 87
#define EVIL_INC_87 88
#define EVIL_INC_88 89
#define EVIL_INC_89 90
#define EVIL_INC_90 91
#define EVIL_INC_91 92
#define EVIL_INC_92 93
#define EVIL_INC_93 94
#define EVIL_INC_94 95
#define EVIL_INC_95 96
#define EVIL_INC_96 97
#define EVIL_INC_97 98
#define EVIL_INC_98 99
#define EVIL_INC_99 100
#define EVIL_INC_100 101
#define EVIL_INC_101 102
#define EVIL_INC_102 103
#define EVIL_INC_103 104
#define EVIL_INC_104 105
#define EVIL_INC_105 106
#define EVIL_INC_106 107
#define EVIL_INC_107 108
#define EVIL_INC_108 109
#define EVIL_INC_109 110
#define EVIL_DEC_1 0
#define EVIL_DEC_2 1
#define EVIL_DEC_3 2
#define EVIL_DEC_4 3
#define EVIL_DEC_5 4
#define EVIL_DEC_6 5
#define EVIL_DEC_7 6
#define EVIL_DEC_8 7
#define EVIL_DEC_9 8
#define EVIL_DEC_10 9
#define EVIL_DEC_11 10
#define EVIL_DEC_12 11
#define EVIL_DEC_13 12
#define EVIL_DEC_14 13
#define EVIL_DEC_15 14
#define EVIL_DEC_16 15
#define EVIL_DEC_17 16
#define EVIL_DEC_18 17
#define EVIL_DEC_19 18
#define EVIL_DEC_20 19
#define EVIL_DEC_21 20
#define EVIL_DEC_22 21
#define EVIL_DEC_23 22
#define EVIL_DEC_24 23
#define EVIL_DEC_25 24
#define EVIL_DEC_26 25
#define EVIL_DEC_27 26
#define EVIL_DEC_28 27
#define EVIL_DEC_29 28
#define EVIL_DEC_30 29
#define EVIL_DEC_31 30
#define EVIL_DEC_32 31
#define EVIL_DEC_33 32
#define EVIL_DEC_34 33
#define EVIL_DEC_35 34
#define EVIL_DEC_36 35
#define EVIL_DEC_37 36
#define EVIL_DEC_38 37
#define EVIL_DEC_39 38
#define EVIL_DEC_40 39
#define EVIL_DEC_41 40
#define EVIL_DEC_42 41
#define EVIL_DEC_43 42
#define EVIL_DEC_44 43
#define EVIL_DEC_45 44
#define EVIL_DEC_46 45
#define EVIL_DEC_47 46
#define EVIL_DEC_48 47
#define EVIL_DEC_49 48
#define EVIL_DEC_50 49
#define EVIL_DEC_51 50
#define EVIL_DEC_52 51
#define EVIL_DEC_53 52
#define EVIL_DEC_54 53
#define EVIL_DEC_55 54
#define EVIL_DEC_56 55
#define EVIL_DEC_57 56
#define EVIL_DEC_58 57
#define EVIL_DEC_59 58
#define EVIL_DEC_60 59
#define EVIL_DEC_61 60
#define EVIL_DEC_62 61
#define EVIL_DEC_63 62
#define EVIL_DEC_64 63
#define EVIL_DEC_65 64
#define EVIL_DEC_66 65
#define EVIL_DEC_67 66
#define EVIL_DEC_68 67
#define EVIL_DEC_69 68
#define EVIL_DEC_70 69
#define EVIL_DEC_71 70
#define EVIL_DEC_72 71
#define EVIL_DEC_73 72
#define EVIL_DEC_74 73
#define EVIL_DEC_75 74
#define EVIL_DEC_76 75
#define EVIL_DEC_77 76
#define EVIL_DEC_78 77
#define EVIL_DEC_79 78
#define EVIL_DEC_80 79
#define EVIL_DEC_81 80
#define EVIL_DEC_82 81
#define EVIL_DEC_83 82
#define EVIL_DEC_84 83
#define EVIL_DEC_85 84
#define EVIL_DEC_86 85
#define EVIL_DEC_87 86
#define EVIL_DEC_88 87
#define EVIL_DEC_89 88
#define EVIL_DEC_90 89
#define EVIL_DEC_91 90
#define EVIL_DEC_92 91
#define EVIL_DEC_93 92
#define EVIL_DEC_94 93
#define EVIL_DEC_95 94
#define EVIL_DEC_96 95
#define EVIL_DEC_97 96
#define EVIL_DEC_98 97
#define EVIL_DEC_99 98
#define EVIL_DEC_100 99
#define EVIL_DEC_101 100
#define EVIL_DEC_102 101
#define EVIL_DEC_103 102
#define EVIL_DEC_104 103
#define EVIL_DEC_105 104
#define EVIL_DEC_106 105
#define EVIL_DEC_107 106
#define EVIL_DEC_108 107
#define EVIL_DEC_109 108
#define EVIL_DEC_110 109
// enables the usage of EVIL_EQ on numbers
#define EVIL_ENABLE_EQ_0_0
#define EVIL_ENABLE_EQ_1_1
#define EVIL_ENABLE_EQ_2_2
#define EVIL_ENABLE_EQ_3_3
#define EVIL_ENABLE_EQ_4_4
#define EVIL_ENABLE_EQ_5_5
#define EVIL_ENABLE_EQ_6_6
#define EVIL_ENABLE_EQ_7_7
#define EVIL_ENABLE_EQ_8_8
#define EVIL_ENABLE_EQ_9_9
#define EVIL_ENABLE_EQ_10_10
#define EVIL_ENABLE_EQ_11_11
#define EVIL_ENABLE_EQ_12_12
#define EVIL_ENABLE_EQ_13_13
#define EVIL_ENABLE_EQ_14_14
#define EVIL_ENABLE_EQ_15_15
#define EVIL_ENABLE_EQ_16_16
#define EVIL_ENABLE_EQ_17_17
#define EVIL_ENABLE_EQ_18_18
#define EVIL_ENABLE_EQ_19_19
#define EVIL_ENABLE_EQ_20_20
#define EVIL_ENABLE_EQ_21_21
#define EVIL_ENABLE_EQ_22_22
#define EVIL_ENABLE_EQ_23_23
#define EVIL_ENABLE_EQ_24_24
#define EVIL_ENABLE_EQ_25_25
#define EVIL_ENABLE_EQ_26_26
#define EVIL_ENABLE_EQ_27_27
#define EVIL_ENABLE_EQ_28_28
#define EVIL_ENABLE_EQ_29_29
#define EVIL_ENABLE_EQ_30_30
#define EVIL_ENABLE_EQ_31_31
#define EVIL_ENABLE_EQ_32_32
#define EVIL_ENABLE_EQ_33_33
#define EVIL_ENABLE_EQ_34_34
#define EVIL_ENABLE_EQ_35_35
#define EVIL_ENABLE_EQ_36_36
#define EVIL_ENABLE_EQ_37_37
#define EVIL_ENABLE_EQ_38_38
#define EVIL_ENABLE_EQ_39_39
#define EVIL_ENABLE_EQ_40_40
#define EVIL_ENABLE_EQ_41_41
#define EVIL_ENABLE_EQ_42_42
#define EVIL_ENABLE_EQ_43_43
#define EVIL_ENABLE_EQ_44_44
#define EVIL_ENABLE_EQ_45_45
#define EVIL_ENABLE_EQ_46_46
#define EVIL_ENABLE_EQ_47_47
#define EVIL_ENABLE_EQ_48_48
#define EVIL_ENABLE_EQ_49_49
#define EVIL_ENABLE_EQ_50_50
#define EVIL_ENABLE_EQ_51_51
#define EVIL_ENABLE_EQ_52_52
#define EVIL_ENABLE_EQ_53_53
#define EVIL_ENABLE_EQ_54_54
#define EVIL_ENABLE_EQ_55_55
#define EVIL_ENABLE_EQ_56_56
#define EVIL_ENABLE_EQ_57_57
#define EVIL_ENABLE_EQ_58_58
#define EVIL_ENABLE_EQ_59_59
#define EVIL_ENABLE_EQ_60_60
#define EVIL_ENABLE_EQ_61_61
#define EVIL_ENABLE_EQ_62_62
#define EVIL_ENABLE_EQ_63_63
#define EVIL_ENABLE_EQ_64_64
#define EVIL_ENABLE_EQ_65_65
#define EVIL_ENABLE_EQ_66_66
#define EVIL_ENABLE_EQ_67_67
#define EVIL_ENABLE_EQ_68_68
#define EVIL_ENABLE_EQ_69_69
#define EVIL_ENABLE_EQ_70_70
#define EVIL_ENABLE_EQ_71_71
#define EVIL_ENABLE_EQ_72_72
#define EVIL_ENABLE_EQ_73_73
#define EVIL_ENABLE_EQ_74_74
#define EVIL_ENABLE_EQ_75_75
#define EVIL_ENABLE_EQ_76_76
#define EVIL_ENABLE_EQ_77_77
#define EVIL_ENABLE_EQ_78_78
#define EVIL_ENABLE_EQ_79_79
#define EVIL_ENABLE_EQ_80_80
#define EVIL_ENABLE_EQ_81_81
#define EVIL_ENABLE_EQ_82_82
#define EVIL_ENABLE_EQ_83_83
#define EVIL_ENABLE_EQ_84_84
#define EVIL_ENABLE_EQ_85_85
#define EVIL_ENABLE_EQ_86_86
#define EVIL_ENABLE_EQ_87_87
#define EVIL_ENABLE_EQ_88_88
#define EVIL_ENABLE_EQ_89_89
#define EVIL_ENABLE_EQ_90_90
#define EVIL_ENABLE_EQ_91_91
#define EVIL_ENABLE_EQ_92_92
#define EVIL_ENABLE_EQ_93_93
#define EVIL_ENABLE_EQ_94_94
#define EVIL_ENABLE_EQ_95_95
#define EVIL_ENABLE_EQ_96_96
#define EVIL_ENABLE_EQ_97_97
#define EVIL_ENABLE_EQ_98_98
#define EVIL_ENABLE_EQ_99_99
#define EVIL_ENABLE_EQ_100_100
#define EVIL_ENABLE_EQ_101_101
#define EVIL_ENABLE_EQ_102_102
#define EVIL_ENABLE_EQ_103_103
#define EVIL_ENABLE_EQ_104_104
#define EVIL_ENABLE_EQ_105_105
#define EVIL_ENABLE_EQ_106_106
#define EVIL_ENABLE_EQ_107_107
#define EVIL_ENABLE_EQ_108_108
#define EVIL_ENABLE_EQ_109_109
// EVIL_REMOVE_COMMAS
#define _EVIL_GEN_REMOVE_COMMAS(...) _EVIL_GEN_REMOVE_COMMAS_A(__VA_ARGS__,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
#define _EVIL_GEN_REMOVE_COMMAS_A(_0, _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, ...) _0 _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
// EVIL_COUNT
#define _EVIL_GEN_COUNT_NUMBERS 110, 109, 108, 107, 106, 105, 104, 103, 102, 101, 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, 80, 79, 78, 77, 76, 75, 74, 73, 72, 71, 70, 69, 68, 67, 66, 65, 64, 63, 62, 61, 60, 59, 58, 57, 56, 55, 54, 53, 52, 51, 50, 49, 48, 47, 46, 45, 44, 43, 42, 41, 40, 39, 38, 37, 36, 35, 34, 33, 32, 31, 30, 29, 28, 27, 26, 25, 24, 23, 22, 21, 20, 19, 18, 17, 16, 15, 14, 13, 12, 11, 10, 9, 8, 7, 6, 5, 4, 3, 2, 1
#define _EVIL_GEN_COUNT(_0, _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, n, ...) n
// EVIL_MAP
#define _EVIL_GEN_MAP_0(closure, order, index, dir, empty)
#define _EVIL_GEN_MAP_1(closure, order, index, dir, item) EVIL_CLOSURE_INVOKE(closure, item, index)
#define _EVIL_GEN_MAP_2(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_1(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_3(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_2(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_4(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_3(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_5(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_4(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_6(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_5(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_7(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_6(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_8(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_7(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_9(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_8(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_10(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_9(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_11(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_10(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_12(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_11(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_13(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_12(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_14(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_13(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_15(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_14(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_16(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_15(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_17(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_16(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_18(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_17(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_19(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_18(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_20(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_19(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_21(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_20(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_22(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_21(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_23(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_22(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_24(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_23(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_25(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_24(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_26(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_25(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_27(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_26(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_28(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_27(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_29(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_28(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_30(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_29(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_31(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_30(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_32(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_31(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_33(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_32(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_34(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_33(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_35(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_34(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_36(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_35(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_37(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_36(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_38(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_37(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_39(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_38(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_40(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_39(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_41(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_40(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_42(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_41(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_43(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_42(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_44(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_43(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_45(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_44(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_46(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_45(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_47(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_46(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_48(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_47(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_49(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_48(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_50(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_49(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_51(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_50(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_52(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_51(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_53(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_52(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_54(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_53(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_55(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_54(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_56(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_55(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_57(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_56(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_58(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_57(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_59(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_58(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_60(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_59(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_61(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_60(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_62(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_61(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_63(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_62(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_64(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_63(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_65(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_64(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_66(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_65(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_67(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_66(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_68(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_67(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_69(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_68(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_70(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_69(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_71(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_70(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_72(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_71(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_73(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_72(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_74(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_73(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_75(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_74(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_76(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_75(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_77(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_76(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_78(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_77(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_79(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_78(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_80(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_79(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_81(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_80(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_82(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_81(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_83(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_82(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_84(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_83(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_85(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_84(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_86(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_85(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_87(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_86(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_88(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_87(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_89(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_88(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_90(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_89(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_91(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_90(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_92(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_91(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_93(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_92(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_94(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_93(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_95(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_94(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_96(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_95(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_97(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_96(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_98(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_97(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_99(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_98(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_100(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_99(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_101(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_100(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_102(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_101(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_103(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_102(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_104(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_103(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_105(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_104(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_106(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_105(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_107(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_106(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_108(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_107(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_109(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_108(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))
#define _EVIL_GEN_MAP_110(closure, order, index, dir, item, ...) order(EVIL_CLOSURE_INVOKE(closure, item, index), _EVIL_GEN_MAP_109(closure, order, EVIL_EXPAND_CAT(dir, index), dir, __VA_ARGS__))