1 // VisualBoyAdvance - Nintendo Gameboy/GameboyAdvance (TM) emulator.
2 // Copyright (C) 1999-2003 Forgotten
3 // Copyright (C) 2005 Forgotten and the VBA development team
4 
5 // This program is free software; you can redistribute it and/or modify
6 // it under the terms of the GNU General Public License as published by
7 // the Free Software Foundation; either version 2, or(at your option)
8 // any later version.
9 //
10 // This program is distributed in the hope that it will be useful,
11 // but WITHOUT ANY WARRANTY; without even the implied warranty of
12 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
13 // GNU General Public License for more details.
14 //
15 // You should have received a copy of the GNU General Public License
16 // along with this program; if not, write to the Free Software Foundation,
17 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
18 
19 #define PIXEL00_1M  Interp1( pOut, c[5], c[1]       );
20 #define PIXEL00_1U  Interp1( pOut, c[5], c[2]       );
21 #define PIXEL00_1L  Interp1( pOut, c[5], c[4]       );
22 #define PIXEL00_2   Interp2( pOut, c[5], c[4], c[2] );
23 #define PIXEL00_4   Interp4( pOut, c[5], c[4], c[2] );
24 #define PIXEL00_5   Interp5( pOut, c[4], c[2]       );
25 #define PIXEL00_C   *((PIXELTYPE*)(pOut)) = c[5];
26 
27 #define PIXEL01_1   Interp1( pOut+SIZE_PIXEL, c[5], c[2] );
28 #define PIXEL01_3   Interp3( pOut+SIZE_PIXEL, c[5], c[2] );
29 #define PIXEL01_6   Interp1( pOut+SIZE_PIXEL, c[2], c[5] );
30 #define PIXEL01_C   *((PIXELTYPE*)(pOut+SIZE_PIXEL)) = c[5];
31 
32 #define PIXEL02_1M  Interp1( pOut+SIZE_PIXEL+SIZE_PIXEL, c[5], c[3]       );
33 #define PIXEL02_1U  Interp1( pOut+SIZE_PIXEL+SIZE_PIXEL, c[5], c[2]       );
34 #define PIXEL02_1R  Interp1( pOut+SIZE_PIXEL+SIZE_PIXEL, c[5], c[6]       );
35 #define PIXEL02_2   Interp2( pOut+SIZE_PIXEL+SIZE_PIXEL, c[5], c[2], c[6] );
36 #define PIXEL02_4   Interp4( pOut+SIZE_PIXEL+SIZE_PIXEL, c[5], c[2], c[6] );
37 #define PIXEL02_5   Interp5( pOut+SIZE_PIXEL+SIZE_PIXEL, c[2], c[6]       );
38 #define PIXEL02_C   *((PIXELTYPE*)(pOut+SIZE_PIXEL+SIZE_PIXEL)) = c[5];
39 
40 #define PIXEL10_1   Interp1( pOut+dstPitch, c[5], c[4] );
41 #define PIXEL10_3   Interp3( pOut+dstPitch, c[5], c[4] );
42 #define PIXEL10_6   Interp1( pOut+dstPitch, c[4], c[5] );
43 #define PIXEL10_C   *((PIXELTYPE*)(pOut+dstPitch)) = c[5];
44 
45 #define PIXEL11     *((PIXELTYPE*)(pOut+dstPitch+SIZE_PIXEL)) = c[5];
46 
47 #define PIXEL12_1   Interp1( pOut+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[6] );
48 #define PIXEL12_3   Interp3( pOut+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[6] );
49 #define PIXEL12_6   Interp1( pOut+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[6], c[5] );
50 #define PIXEL12_C   *((PIXELTYPE*)(pOut+dstPitch+SIZE_PIXEL+SIZE_PIXEL)) = c[5];
51 
52 #define PIXEL20_1M  Interp1( pOut+dstPitch+dstPitch, c[5], c[7]       );
53 #define PIXEL20_1D  Interp1( pOut+dstPitch+dstPitch, c[5], c[8]       );
54 #define PIXEL20_1L  Interp1( pOut+dstPitch+dstPitch, c[5], c[4]       );
55 #define PIXEL20_2   Interp2( pOut+dstPitch+dstPitch, c[5], c[8], c[4] );
56 #define PIXEL20_4   Interp4( pOut+dstPitch+dstPitch, c[5], c[8], c[4] );
57 #define PIXEL20_5   Interp5( pOut+dstPitch+dstPitch, c[8], c[4]       );
58 #define PIXEL20_C   *((PIXELTYPE*)(pOut+dstPitch+dstPitch)) = c[5];
59 
60 #define PIXEL21_1   Interp1( pOut+dstPitch+dstPitch+SIZE_PIXEL, c[5], c[8] );
61 #define PIXEL21_3   Interp3( pOut+dstPitch+dstPitch+SIZE_PIXEL, c[5], c[8] );
62 #define PIXEL21_6   Interp1( pOut+dstPitch+dstPitch+SIZE_PIXEL, c[8], c[5] );
63 #define PIXEL21_C   *((PIXELTYPE*)(pOut+dstPitch+dstPitch+SIZE_PIXEL)) = c[5];
64 
65 #define PIXEL22_1M  Interp1( pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[9]       );
66 #define PIXEL22_1D  Interp1( pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[8]       );
67 #define PIXEL22_1R  Interp1( pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[6]       );
68 #define PIXEL22_2   Interp2( pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[6], c[8] );
69 #define PIXEL22_4   Interp4( pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[5], c[6], c[8] );
70 #define PIXEL22_5   Interp5( pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL, c[6], c[8]       );
71 #define PIXEL22_C   *((PIXELTYPE*)(pOut+dstPitch+dstPitch+SIZE_PIXEL+SIZE_PIXEL)) = c[5];
72 
73 #ifndef cget
74 #define cget(x) c[x]
75 #endif
76 
77       switch (pattern)
78       {
79         case 0:
80         case 1:
81         case 4:
82         case 32:
83         case 128:
84         case 5:
85         case 132:
86         case 160:
87         case 33:
88         case 129:
89         case 36:
90         case 133:
91         case 164:
92         case 161:
93         case 37:
94         case 165:
95         {
96           PIXEL00_2
97           PIXEL01_1
98           PIXEL02_2
99           PIXEL10_1
100           PIXEL11
101           PIXEL12_1
102           PIXEL20_2
103           PIXEL21_1
104           PIXEL22_2
105           break;
106         }
107         case 2:
108         case 34:
109         case 130:
110         case 162:
111         {
112           PIXEL00_1M
113           PIXEL01_C
114           PIXEL02_1M
115           PIXEL10_1
116           PIXEL11
117           PIXEL12_1
118           PIXEL20_2
119           PIXEL21_1
120           PIXEL22_2
121           break;
122         }
123         case 16:
124         case 17:
125         case 48:
126         case 49:
127         {
128           PIXEL00_2
129           PIXEL01_1
130           PIXEL02_1M
131           PIXEL10_1
132           PIXEL11
133           PIXEL12_C
134           PIXEL20_2
135           PIXEL21_1
136           PIXEL22_1M
137           break;
138         }
139         case 64:
140         case 65:
141         case 68:
142         case 69:
143         {
144           PIXEL00_2
145           PIXEL01_1
146           PIXEL02_2
147           PIXEL10_1
148           PIXEL11
149           PIXEL12_1
150           PIXEL20_1M
151           PIXEL21_C
152           PIXEL22_1M
153           break;
154         }
155         case 8:
156         case 12:
157         case 136:
158         case 140:
159         {
160           PIXEL00_1M
161           PIXEL01_1
162           PIXEL02_2
163           PIXEL10_C
164           PIXEL11
165           PIXEL12_1
166           PIXEL20_1M
167           PIXEL21_1
168           PIXEL22_2
169           break;
170         }
171         case 3:
172         case 35:
173         case 131:
174         case 163:
175         {
176           PIXEL00_1L
177           PIXEL01_C
178           PIXEL02_1M
179           PIXEL10_1
180           PIXEL11
181           PIXEL12_1
182           PIXEL20_2
183           PIXEL21_1
184           PIXEL22_2
185           break;
186         }
187         case 6:
188         case 38:
189         case 134:
190         case 166:
191         {
192           PIXEL00_1M
193           PIXEL01_C
194           PIXEL02_1R
195           PIXEL10_1
196           PIXEL11
197           PIXEL12_1
198           PIXEL20_2
199           PIXEL21_1
200           PIXEL22_2
201           break;
202         }
203         case 20:
204         case 21:
205         case 52:
206         case 53:
207         {
208           PIXEL00_2
209           PIXEL01_1
210           PIXEL02_1U
211           PIXEL10_1
212           PIXEL11
213           PIXEL12_C
214           PIXEL20_2
215           PIXEL21_1
216           PIXEL22_1M
217           break;
218         }
219         case 144:
220         case 145:
221         case 176:
222         case 177:
223         {
224           PIXEL00_2
225           PIXEL01_1
226           PIXEL02_1M
227           PIXEL10_1
228           PIXEL11
229           PIXEL12_C
230           PIXEL20_2
231           PIXEL21_1
232           PIXEL22_1D
233           break;
234         }
235         case 192:
236         case 193:
237         case 196:
238         case 197:
239         {
240           PIXEL00_2
241           PIXEL01_1
242           PIXEL02_2
243           PIXEL10_1
244           PIXEL11
245           PIXEL12_1
246           PIXEL20_1M
247           PIXEL21_C
248           PIXEL22_1R
249           break;
250         }
251         case 96:
252         case 97:
253         case 100:
254         case 101:
255         {
256           PIXEL00_2
257           PIXEL01_1
258           PIXEL02_2
259           PIXEL10_1
260           PIXEL11
261           PIXEL12_1
262           PIXEL20_1L
263           PIXEL21_C
264           PIXEL22_1M
265           break;
266         }
267         case 40:
268         case 44:
269         case 168:
270         case 172:
271         {
272           PIXEL00_1M
273           PIXEL01_1
274           PIXEL02_2
275           PIXEL10_C
276           PIXEL11
277           PIXEL12_1
278           PIXEL20_1D
279           PIXEL21_1
280           PIXEL22_2
281           break;
282         }
283         case 9:
284         case 13:
285         case 137:
286         case 141:
287         {
288           PIXEL00_1U
289           PIXEL01_1
290           PIXEL02_2
291           PIXEL10_C
292           PIXEL11
293           PIXEL12_1
294           PIXEL20_1M
295           PIXEL21_1
296           PIXEL22_2
297           break;
298         }
299         case 18:
300         case 50:
301         {
302           PIXEL00_1M
303 
304 		if (Diff(cget(2), cget(6)))
305           {
306             PIXEL01_C
307             PIXEL02_1M
308             PIXEL12_C
309           }
310           else
311           {
312             PIXEL01_3
313             PIXEL02_4
314             PIXEL12_3
315           }
316           PIXEL10_1
317           PIXEL11
318           PIXEL20_2
319           PIXEL21_1
320           PIXEL22_1M
321           break;
322         }
323         case 80:
324         case 81:
325         {
326           PIXEL00_2
327           PIXEL01_1
328           PIXEL02_1M
329           PIXEL10_1
330           PIXEL11
331           PIXEL20_1M
332           if (Diff(cget(6), cget(8)))
333           {
334             PIXEL12_C
335             PIXEL21_C
336             PIXEL22_1M
337           }
338           else
339           {
340             PIXEL12_3
341             PIXEL21_3
342             PIXEL22_4
343           }
344           break;
345         }
346         case 72:
347         case 76:
348         {
349           PIXEL00_1M
350           PIXEL01_1
351           PIXEL02_2
352           PIXEL11
353           PIXEL12_1
354           if (Diff(cget(8), cget(4)))
355           {
356             PIXEL10_C
357             PIXEL20_1M
358             PIXEL21_C
359           }
360           else
361           {
362             PIXEL10_3
363             PIXEL20_4
364             PIXEL21_3
365           }
366           PIXEL22_1M
367           break;
368         }
369         case 10:
370         case 138:
371         {
372           if (Diff(cget(4), cget(2)))
373           {
374             PIXEL00_1M
375             PIXEL01_C
376             PIXEL10_C
377           }
378           else
379           {
380             PIXEL00_4
381             PIXEL01_3
382             PIXEL10_3
383           }
384           PIXEL02_1M
385           PIXEL11
386           PIXEL12_1
387           PIXEL20_1M
388           PIXEL21_1
389           PIXEL22_2
390           break;
391         }
392         case 66:
393         {
394           PIXEL00_1M
395           PIXEL01_C
396           PIXEL02_1M
397           PIXEL10_1
398           PIXEL11
399           PIXEL12_1
400           PIXEL20_1M
401           PIXEL21_C
402           PIXEL22_1M
403           break;
404         }
405         case 24:
406         {
407           PIXEL00_1M
408           PIXEL01_1
409           PIXEL02_1M
410           PIXEL10_C
411           PIXEL11
412           PIXEL12_C
413           PIXEL20_1M
414           PIXEL21_1
415           PIXEL22_1M
416           break;
417         }
418         case 7:
419         case 39:
420         case 135:
421         {
422           PIXEL00_1L
423           PIXEL01_C
424           PIXEL02_1R
425           PIXEL10_1
426           PIXEL11
427           PIXEL12_1
428           PIXEL20_2
429           PIXEL21_1
430           PIXEL22_2
431           break;
432         }
433         case 148:
434         case 149:
435         case 180:
436         {
437           PIXEL00_2
438           PIXEL01_1
439           PIXEL02_1U
440           PIXEL10_1
441           PIXEL11
442           PIXEL12_C
443           PIXEL20_2
444           PIXEL21_1
445           PIXEL22_1D
446           break;
447         }
448         case 224:
449         case 228:
450         case 225:
451         {
452           PIXEL00_2
453           PIXEL01_1
454           PIXEL02_2
455           PIXEL10_1
456           PIXEL11
457           PIXEL12_1
458           PIXEL20_1L
459           PIXEL21_C
460           PIXEL22_1R
461           break;
462         }
463         case 41:
464         case 169:
465         case 45:
466         {
467           PIXEL00_1U
468           PIXEL01_1
469           PIXEL02_2
470           PIXEL10_C
471           PIXEL11
472           PIXEL12_1
473           PIXEL20_1D
474           PIXEL21_1
475           PIXEL22_2
476           break;
477         }
478         case 22:
479         case 54:
480         {
481           PIXEL00_1M
482           if (Diff(cget(2), cget(6)))
483           {
484             PIXEL01_C
485             PIXEL02_C
486             PIXEL12_C
487           }
488           else
489           {
490             PIXEL01_3
491             PIXEL02_4
492             PIXEL12_3
493           }
494           PIXEL10_1
495           PIXEL11
496           PIXEL20_2
497           PIXEL21_1
498           PIXEL22_1M
499           break;
500         }
501         case 208:
502         case 209:
503         {
504           PIXEL00_2
505           PIXEL01_1
506           PIXEL02_1M
507           PIXEL10_1
508           PIXEL11
509           PIXEL20_1M
510           if (Diff(cget(6), cget(8)))
511           {
512             PIXEL12_C
513             PIXEL21_C
514             PIXEL22_C
515           }
516           else
517           {
518             PIXEL12_3
519             PIXEL21_3
520             PIXEL22_4
521           }
522           break;
523         }
524         case 104:
525         case 108:
526         {
527           PIXEL00_1M
528           PIXEL01_1
529           PIXEL02_2
530           PIXEL11
531           PIXEL12_1
532           if (Diff(cget(8), cget(4)))
533           {
534             PIXEL10_C
535             PIXEL20_C
536             PIXEL21_C
537           }
538           else
539           {
540             PIXEL10_3
541             PIXEL20_4
542             PIXEL21_3
543           }
544           PIXEL22_1M
545           break;
546         }
547         case 11:
548         case 139:
549         {
550           if (Diff(cget(4), cget(2)))
551           {
552             PIXEL00_C
553             PIXEL01_C
554             PIXEL10_C
555           }
556           else
557           {
558             PIXEL00_4
559             PIXEL01_3
560             PIXEL10_3
561           }
562           PIXEL02_1M
563           PIXEL11
564           PIXEL12_1
565           PIXEL20_1M
566           PIXEL21_1
567           PIXEL22_2
568           break;
569         }
570         case 19:
571         case 51:
572         {
573           if (Diff(cget(2), cget(6)))
574           {
575             PIXEL00_1L
576             PIXEL01_C
577             PIXEL02_1M
578             PIXEL12_C
579           }
580           else
581           {
582             PIXEL00_2
583             PIXEL01_6
584             PIXEL02_5
585             PIXEL12_1
586           }
587           PIXEL10_1
588           PIXEL11
589           PIXEL20_2
590           PIXEL21_1
591           PIXEL22_1M
592           break;
593         }
594         case 146:
595         case 178:
596         {
597           if (Diff(cget(2), cget(6)))
598           {
599             PIXEL01_C
600             PIXEL02_1M
601             PIXEL12_C
602             PIXEL22_1D
603           }
604           else
605           {
606             PIXEL01_1
607             PIXEL02_5
608             PIXEL12_6
609             PIXEL22_2
610           }
611           PIXEL00_1M
612           PIXEL10_1
613           PIXEL11
614           PIXEL20_2
615           PIXEL21_1
616           break;
617         }
618         case 84:
619         case 85:
620         {
621           if (Diff(cget(6), cget(8)))
622           {
623             PIXEL02_1U
624             PIXEL12_C
625             PIXEL21_C
626             PIXEL22_1M
627           }
628           else
629           {
630             PIXEL02_2
631             PIXEL12_6
632             PIXEL21_1
633             PIXEL22_5
634           }
635           PIXEL00_2
636           PIXEL01_1
637           PIXEL10_1
638           PIXEL11
639           PIXEL20_1M
640           break;
641         }
642         case 112:
643         case 113:
644         {
645           if (Diff(cget(6), cget(8)))
646           {
647             PIXEL12_C
648             PIXEL20_1L
649             PIXEL21_C
650             PIXEL22_1M
651           }
652           else
653           {
654             PIXEL12_1
655             PIXEL20_2
656             PIXEL21_6
657             PIXEL22_5
658           }
659           PIXEL00_2
660           PIXEL01_1
661           PIXEL02_1M
662           PIXEL10_1
663           PIXEL11
664           break;
665         }
666         case 200:
667         case 204:
668         {
669           if (Diff(cget(8), cget(4)))
670           {
671             PIXEL10_C
672             PIXEL20_1M
673             PIXEL21_C
674             PIXEL22_1R
675           }
676           else
677           {
678             PIXEL10_1
679             PIXEL20_5
680             PIXEL21_6
681             PIXEL22_2
682           }
683           PIXEL00_1M
684           PIXEL01_1
685           PIXEL02_2
686           PIXEL11
687           PIXEL12_1
688           break;
689         }
690         case 73:
691         case 77:
692         {
693           if (Diff(cget(8), cget(4)))
694           {
695             PIXEL00_1U
696             PIXEL10_C
697             PIXEL20_1M
698             PIXEL21_C
699           }
700           else
701           {
702             PIXEL00_2
703             PIXEL10_6
704             PIXEL20_5
705             PIXEL21_1
706           }
707           PIXEL01_1
708           PIXEL02_2
709           PIXEL11
710           PIXEL12_1
711           PIXEL22_1M
712           break;
713         }
714         case 42:
715         case 170:
716         {
717           if (Diff(cget(4), cget(2)))
718           {
719             PIXEL00_1M
720             PIXEL01_C
721             PIXEL10_C
722             PIXEL20_1D
723           }
724           else
725           {
726             PIXEL00_5
727             PIXEL01_1
728             PIXEL10_6
729             PIXEL20_2
730           }
731           PIXEL02_1M
732           PIXEL11
733           PIXEL12_1
734           PIXEL21_1
735           PIXEL22_2
736           break;
737         }
738         case 14:
739         case 142:
740         {
741           if (Diff(cget(4), cget(2)))
742           {
743             PIXEL00_1M
744             PIXEL01_C
745             PIXEL02_1R
746             PIXEL10_C
747           }
748           else
749           {
750             PIXEL00_5
751             PIXEL01_6
752             PIXEL02_2
753             PIXEL10_1
754           }
755           PIXEL11
756           PIXEL12_1
757           PIXEL20_1M
758           PIXEL21_1
759           PIXEL22_2
760           break;
761         }
762         case 67:
763         {
764           PIXEL00_1L
765           PIXEL01_C
766           PIXEL02_1M
767           PIXEL10_1
768           PIXEL11
769           PIXEL12_1
770           PIXEL20_1M
771           PIXEL21_C
772           PIXEL22_1M
773           break;
774         }
775         case 70:
776         {
777           PIXEL00_1M
778           PIXEL01_C
779           PIXEL02_1R
780           PIXEL10_1
781           PIXEL11
782           PIXEL12_1
783           PIXEL20_1M
784           PIXEL21_C
785           PIXEL22_1M
786           break;
787         }
788         case 28:
789         {
790           PIXEL00_1M
791           PIXEL01_1
792           PIXEL02_1U
793           PIXEL10_C
794           PIXEL11
795           PIXEL12_C
796           PIXEL20_1M
797           PIXEL21_1
798           PIXEL22_1M
799           break;
800         }
801         case 152:
802         {
803           PIXEL00_1M
804           PIXEL01_1
805           PIXEL02_1M
806           PIXEL10_C
807           PIXEL11
808           PIXEL12_C
809           PIXEL20_1M
810           PIXEL21_1
811           PIXEL22_1D
812           break;
813         }
814         case 194:
815         {
816           PIXEL00_1M
817           PIXEL01_C
818           PIXEL02_1M
819           PIXEL10_1
820           PIXEL11
821           PIXEL12_1
822           PIXEL20_1M
823           PIXEL21_C
824           PIXEL22_1R
825           break;
826         }
827         case 98:
828         {
829           PIXEL00_1M
830           PIXEL01_C
831           PIXEL02_1M
832           PIXEL10_1
833           PIXEL11
834           PIXEL12_1
835           PIXEL20_1L
836           PIXEL21_C
837           PIXEL22_1M
838           break;
839         }
840         case 56:
841         {
842           PIXEL00_1M
843           PIXEL01_1
844           PIXEL02_1M
845           PIXEL10_C
846           PIXEL11
847           PIXEL12_C
848           PIXEL20_1D
849           PIXEL21_1
850           PIXEL22_1M
851           break;
852         }
853         case 25:
854         {
855           PIXEL00_1U
856           PIXEL01_1
857           PIXEL02_1M
858           PIXEL10_C
859           PIXEL11
860           PIXEL12_C
861           PIXEL20_1M
862           PIXEL21_1
863           PIXEL22_1M
864           break;
865         }
866         case 26:
867         case 31:
868         {
869           if (Diff(cget(4), cget(2)))
870           {
871             PIXEL00_C
872             PIXEL10_C
873           }
874           else
875           {
876             PIXEL00_4
877             PIXEL10_3
878           }
879           PIXEL01_C
880           if (Diff(cget(2), cget(6)))
881           {
882             PIXEL02_C
883             PIXEL12_C
884           }
885           else
886           {
887             PIXEL02_4
888             PIXEL12_3
889           }
890           PIXEL11
891           PIXEL20_1M
892           PIXEL21_1
893           PIXEL22_1M
894           break;
895         }
896         case 82:
897         case 214:
898         {
899           PIXEL00_1M
900           if (Diff(cget(2), cget(6)))
901           {
902             PIXEL01_C
903             PIXEL02_C
904           }
905           else
906           {
907             PIXEL01_3
908             PIXEL02_4
909           }
910           PIXEL10_1
911           PIXEL11
912           PIXEL12_C
913           PIXEL20_1M
914           if (Diff(cget(6), cget(8)))
915           {
916             PIXEL21_C
917             PIXEL22_C
918           }
919           else
920           {
921             PIXEL21_3
922             PIXEL22_4
923           }
924           break;
925         }
926         case 88:
927         case 248:
928         {
929           PIXEL00_1M
930           PIXEL01_1
931           PIXEL02_1M
932           PIXEL11
933           if (Diff(cget(8), cget(4)))
934           {
935             PIXEL10_C
936             PIXEL20_C
937           }
938           else
939           {
940             PIXEL10_3
941             PIXEL20_4
942           }
943           PIXEL21_C
944           if (Diff(cget(6), cget(8)))
945           {
946             PIXEL12_C
947             PIXEL22_C
948           }
949           else
950           {
951             PIXEL12_3
952             PIXEL22_4
953           }
954           break;
955         }
956         case 74:
957         case 107:
958         {
959           if (Diff(cget(4), cget(2)))
960           {
961             PIXEL00_C
962             PIXEL01_C
963           }
964           else
965           {
966             PIXEL00_4
967             PIXEL01_3
968           }
969           PIXEL02_1M
970           PIXEL10_C
971           PIXEL11
972           PIXEL12_1
973           if (Diff(cget(8), cget(4)))
974           {
975             PIXEL20_C
976             PIXEL21_C
977           }
978           else
979           {
980             PIXEL20_4
981             PIXEL21_3
982           }
983           PIXEL22_1M
984           break;
985         }
986         case 27:
987         {
988           if (Diff(cget(4), cget(2)))
989           {
990             PIXEL00_C
991             PIXEL01_C
992             PIXEL10_C
993           }
994           else
995           {
996             PIXEL00_4
997             PIXEL01_3
998             PIXEL10_3
999           }
1000           PIXEL02_1M
1001           PIXEL11
1002           PIXEL12_C
1003           PIXEL20_1M
1004           PIXEL21_1
1005           PIXEL22_1M
1006           break;
1007         }
1008         case 86:
1009         {
1010           PIXEL00_1M
1011           if (Diff(cget(2), cget(6)))
1012           {
1013             PIXEL01_C
1014             PIXEL02_C
1015             PIXEL12_C
1016           }
1017           else
1018           {
1019             PIXEL01_3
1020             PIXEL02_4
1021             PIXEL12_3
1022           }
1023           PIXEL10_1
1024           PIXEL11
1025           PIXEL20_1M
1026           PIXEL21_C
1027           PIXEL22_1M
1028           break;
1029         }
1030         case 216:
1031         {
1032           PIXEL00_1M
1033           PIXEL01_1
1034           PIXEL02_1M
1035           PIXEL10_C
1036           PIXEL11
1037           PIXEL20_1M
1038           if (Diff(cget(6), cget(8)))
1039           {
1040             PIXEL12_C
1041             PIXEL21_C
1042             PIXEL22_C
1043           }
1044           else
1045           {
1046             PIXEL12_3
1047             PIXEL21_3
1048             PIXEL22_4
1049           }
1050           break;
1051         }
1052         case 106:
1053         {
1054           PIXEL00_1M
1055           PIXEL01_C
1056           PIXEL02_1M
1057           PIXEL11
1058           PIXEL12_1
1059           if (Diff(cget(8), cget(4)))
1060           {
1061             PIXEL10_C
1062             PIXEL20_C
1063             PIXEL21_C
1064           }
1065           else
1066           {
1067             PIXEL10_3
1068             PIXEL20_4
1069             PIXEL21_3
1070           }
1071           PIXEL22_1M
1072           break;
1073         }
1074         case 30:
1075         {
1076           PIXEL00_1M
1077           if (Diff(cget(2), cget(6)))
1078           {
1079             PIXEL01_C
1080             PIXEL02_C
1081             PIXEL12_C
1082           }
1083           else
1084           {
1085             PIXEL01_3
1086             PIXEL02_4
1087             PIXEL12_3
1088           }
1089           PIXEL10_C
1090           PIXEL11
1091           PIXEL20_1M
1092           PIXEL21_1
1093           PIXEL22_1M
1094           break;
1095         }
1096         case 210:
1097         {
1098           PIXEL00_1M
1099           PIXEL01_C
1100           PIXEL02_1M
1101           PIXEL10_1
1102           PIXEL11
1103           PIXEL20_1M
1104           if (Diff(cget(6), cget(8)))
1105           {
1106             PIXEL12_C
1107             PIXEL21_C
1108             PIXEL22_C
1109           }
1110           else
1111           {
1112             PIXEL12_3
1113             PIXEL21_3
1114             PIXEL22_4
1115           }
1116           break;
1117         }
1118         case 120:
1119         {
1120           PIXEL00_1M
1121           PIXEL01_1
1122           PIXEL02_1M
1123           PIXEL11
1124           PIXEL12_C
1125           if (Diff(cget(8), cget(4)))
1126           {
1127             PIXEL10_C
1128             PIXEL20_C
1129             PIXEL21_C
1130           }
1131           else
1132           {
1133             PIXEL10_3
1134             PIXEL20_4
1135             PIXEL21_3
1136           }
1137           PIXEL22_1M
1138           break;
1139         }
1140         case 75:
1141         {
1142           if (Diff(cget(4), cget(2)))
1143           {
1144             PIXEL00_C
1145             PIXEL01_C
1146             PIXEL10_C
1147           }
1148           else
1149           {
1150             PIXEL00_4
1151             PIXEL01_3
1152             PIXEL10_3
1153           }
1154           PIXEL02_1M
1155           PIXEL11
1156           PIXEL12_1
1157           PIXEL20_1M
1158           PIXEL21_C
1159           PIXEL22_1M
1160           break;
1161         }
1162         case 29:
1163         {
1164           PIXEL00_1U
1165           PIXEL01_1
1166           PIXEL02_1U
1167           PIXEL10_C
1168           PIXEL11
1169           PIXEL12_C
1170           PIXEL20_1M
1171           PIXEL21_1
1172           PIXEL22_1M
1173           break;
1174         }
1175         case 198:
1176         {
1177           PIXEL00_1M
1178           PIXEL01_C
1179           PIXEL02_1R
1180           PIXEL10_1
1181           PIXEL11
1182           PIXEL12_1
1183           PIXEL20_1M
1184           PIXEL21_C
1185           PIXEL22_1R
1186           break;
1187         }
1188         case 184:
1189         {
1190           PIXEL00_1M
1191           PIXEL01_1
1192           PIXEL02_1M
1193           PIXEL10_C
1194           PIXEL11
1195           PIXEL12_C
1196           PIXEL20_1D
1197           PIXEL21_1
1198           PIXEL22_1D
1199           break;
1200         }
1201         case 99:
1202         {
1203           PIXEL00_1L
1204           PIXEL01_C
1205           PIXEL02_1M
1206           PIXEL10_1
1207           PIXEL11
1208           PIXEL12_1
1209           PIXEL20_1L
1210           PIXEL21_C
1211           PIXEL22_1M
1212           break;
1213         }
1214         case 57:
1215         {
1216           PIXEL00_1U
1217           PIXEL01_1
1218           PIXEL02_1M
1219           PIXEL10_C
1220           PIXEL11
1221           PIXEL12_C
1222           PIXEL20_1D
1223           PIXEL21_1
1224           PIXEL22_1M
1225           break;
1226         }
1227         case 71:
1228         {
1229           PIXEL00_1L
1230           PIXEL01_C
1231           PIXEL02_1R
1232           PIXEL10_1
1233           PIXEL11
1234           PIXEL12_1
1235           PIXEL20_1M
1236           PIXEL21_C
1237           PIXEL22_1M
1238           break;
1239         }
1240         case 156:
1241         {
1242           PIXEL00_1M
1243           PIXEL01_1
1244           PIXEL02_1U
1245           PIXEL10_C
1246           PIXEL11
1247           PIXEL12_C
1248           PIXEL20_1M
1249           PIXEL21_1
1250           PIXEL22_1D
1251           break;
1252         }
1253         case 226:
1254         {
1255           PIXEL00_1M
1256           PIXEL01_C
1257           PIXEL02_1M
1258           PIXEL10_1
1259           PIXEL11
1260           PIXEL12_1
1261           PIXEL20_1L
1262           PIXEL21_C
1263           PIXEL22_1R
1264           break;
1265         }
1266         case 60:
1267         {
1268           PIXEL00_1M
1269           PIXEL01_1
1270           PIXEL02_1U
1271           PIXEL10_C
1272           PIXEL11
1273           PIXEL12_C
1274           PIXEL20_1D
1275           PIXEL21_1
1276           PIXEL22_1M
1277           break;
1278         }
1279         case 195:
1280         {
1281           PIXEL00_1L
1282           PIXEL01_C
1283           PIXEL02_1M
1284           PIXEL10_1
1285           PIXEL11
1286           PIXEL12_1
1287           PIXEL20_1M
1288           PIXEL21_C
1289           PIXEL22_1R
1290           break;
1291         }
1292         case 102:
1293         {
1294           PIXEL00_1M
1295           PIXEL01_C
1296           PIXEL02_1R
1297           PIXEL10_1
1298           PIXEL11
1299           PIXEL12_1
1300           PIXEL20_1L
1301           PIXEL21_C
1302           PIXEL22_1M
1303           break;
1304         }
1305         case 153:
1306         {
1307           PIXEL00_1U
1308           PIXEL01_1
1309           PIXEL02_1M
1310           PIXEL10_C
1311           PIXEL11
1312           PIXEL12_C
1313           PIXEL20_1M
1314           PIXEL21_1
1315           PIXEL22_1D
1316           break;
1317         }
1318         case 58:
1319         {
1320           if (Diff(cget(4), cget(2)))
1321           {
1322             PIXEL00_1M
1323           }
1324           else
1325           {
1326             PIXEL00_2
1327           }
1328           PIXEL01_C
1329           if (Diff(cget(2), cget(6)))
1330           {
1331             PIXEL02_1M
1332           }
1333           else
1334           {
1335             PIXEL02_2
1336           }
1337           PIXEL10_C
1338           PIXEL11
1339           PIXEL12_C
1340           PIXEL20_1D
1341           PIXEL21_1
1342           PIXEL22_1M
1343           break;
1344         }
1345         case 83:
1346         {
1347           PIXEL00_1L
1348           PIXEL01_C
1349           if (Diff(cget(2), cget(6)))
1350           {
1351             PIXEL02_1M
1352           }
1353           else
1354           {
1355             PIXEL02_2
1356           }
1357           PIXEL10_1
1358           PIXEL11
1359           PIXEL12_C
1360           PIXEL20_1M
1361           PIXEL21_C
1362           if (Diff(cget(6), cget(8)))
1363           {
1364             PIXEL22_1M
1365           }
1366           else
1367           {
1368             PIXEL22_2
1369           }
1370           break;
1371         }
1372         case 92:
1373         {
1374           PIXEL00_1M
1375           PIXEL01_1
1376           PIXEL02_1U
1377           PIXEL10_C
1378           PIXEL11
1379           PIXEL12_C
1380           if (Diff(cget(8), cget(4)))
1381           {
1382             PIXEL20_1M
1383           }
1384           else
1385           {
1386             PIXEL20_2
1387           }
1388           PIXEL21_C
1389           if (Diff(cget(6), cget(8)))
1390           {
1391             PIXEL22_1M
1392           }
1393           else
1394           {
1395             PIXEL22_2
1396           }
1397           break;
1398         }
1399         case 202:
1400         {
1401           if (Diff(cget(4), cget(2)))
1402           {
1403             PIXEL00_1M
1404           }
1405           else
1406           {
1407             PIXEL00_2
1408           }
1409           PIXEL01_C
1410           PIXEL02_1M
1411           PIXEL10_C
1412           PIXEL11
1413           PIXEL12_1
1414           if (Diff(cget(8), cget(4)))
1415           {
1416             PIXEL20_1M
1417           }
1418           else
1419           {
1420             PIXEL20_2
1421           }
1422           PIXEL21_C
1423           PIXEL22_1R
1424           break;
1425         }
1426         case 78:
1427         {
1428           if (Diff(cget(4), cget(2)))
1429           {
1430             PIXEL00_1M
1431           }
1432           else
1433           {
1434             PIXEL00_2
1435           }
1436           PIXEL01_C
1437           PIXEL02_1R
1438           PIXEL10_C
1439           PIXEL11
1440           PIXEL12_1
1441           if (Diff(cget(8), cget(4)))
1442           {
1443             PIXEL20_1M
1444           }
1445           else
1446           {
1447             PIXEL20_2
1448           }
1449           PIXEL21_C
1450           PIXEL22_1M
1451           break;
1452         }
1453         case 154:
1454         {
1455           if (Diff(cget(4), cget(2)))
1456           {
1457             PIXEL00_1M
1458           }
1459           else
1460           {
1461             PIXEL00_2
1462           }
1463           PIXEL01_C
1464           if (Diff(cget(2), cget(6)))
1465           {
1466             PIXEL02_1M
1467           }
1468           else
1469           {
1470             PIXEL02_2
1471           }
1472           PIXEL10_C
1473           PIXEL11
1474           PIXEL12_C
1475           PIXEL20_1M
1476           PIXEL21_1
1477           PIXEL22_1D
1478           break;
1479         }
1480         case 114:
1481         {
1482           PIXEL00_1M
1483           PIXEL01_C
1484           if (Diff(cget(2), cget(6)))
1485           {
1486             PIXEL02_1M
1487           }
1488           else
1489           {
1490             PIXEL02_2
1491           }
1492           PIXEL10_1
1493           PIXEL11
1494           PIXEL12_C
1495           PIXEL20_1L
1496           PIXEL21_C
1497           if (Diff(cget(6), cget(8)))
1498           {
1499             PIXEL22_1M
1500           }
1501           else
1502           {
1503             PIXEL22_2
1504           }
1505           break;
1506         }
1507         case 89:
1508         {
1509           PIXEL00_1U
1510           PIXEL01_1
1511           PIXEL02_1M
1512           PIXEL10_C
1513           PIXEL11
1514           PIXEL12_C
1515           if (Diff(cget(8), cget(4)))
1516           {
1517             PIXEL20_1M
1518           }
1519           else
1520           {
1521             PIXEL20_2
1522           }
1523           PIXEL21_C
1524           if (Diff(cget(6), cget(8)))
1525           {
1526             PIXEL22_1M
1527           }
1528           else
1529           {
1530             PIXEL22_2
1531           }
1532           break;
1533         }
1534         case 90:
1535         {
1536           if (Diff(cget(4), cget(2)))
1537           {
1538             PIXEL00_1M
1539           }
1540           else
1541           {
1542             PIXEL00_2
1543           }
1544           PIXEL01_C
1545           if (Diff(cget(2), cget(6)))
1546           {
1547             PIXEL02_1M
1548           }
1549           else
1550           {
1551             PIXEL02_2
1552           }
1553           PIXEL10_C
1554           PIXEL11
1555           PIXEL12_C
1556           if (Diff(cget(8), cget(4)))
1557           {
1558             PIXEL20_1M
1559           }
1560           else
1561           {
1562             PIXEL20_2
1563           }
1564           PIXEL21_C
1565           if (Diff(cget(6), cget(8)))
1566           {
1567             PIXEL22_1M
1568           }
1569           else
1570           {
1571             PIXEL22_2
1572           }
1573           break;
1574         }
1575         case 55:
1576         case 23:
1577         {
1578           if (Diff(cget(2), cget(6)))
1579           {
1580             PIXEL00_1L
1581             PIXEL01_C
1582             PIXEL02_C
1583             PIXEL12_C
1584           }
1585           else
1586           {
1587             PIXEL00_2
1588             PIXEL01_6
1589             PIXEL02_5
1590             PIXEL12_1
1591           }
1592           PIXEL10_1
1593           PIXEL11
1594           PIXEL20_2
1595           PIXEL21_1
1596           PIXEL22_1M
1597           break;
1598         }
1599         case 182:
1600         case 150:
1601         {
1602           if (Diff(cget(2), cget(6)))
1603           {
1604             PIXEL01_C
1605             PIXEL02_C
1606             PIXEL12_C
1607             PIXEL22_1D
1608           }
1609           else
1610           {
1611             PIXEL01_1
1612             PIXEL02_5
1613             PIXEL12_6
1614             PIXEL22_2
1615           }
1616           PIXEL00_1M
1617           PIXEL10_1
1618           PIXEL11
1619           PIXEL20_2
1620           PIXEL21_1
1621           break;
1622         }
1623         case 213:
1624         case 212:
1625         {
1626           if (Diff(cget(6), cget(8)))
1627           {
1628             PIXEL02_1U
1629             PIXEL12_C
1630             PIXEL21_C
1631             PIXEL22_C
1632           }
1633           else
1634           {
1635             PIXEL02_2
1636             PIXEL12_6
1637             PIXEL21_1
1638             PIXEL22_5
1639           }
1640           PIXEL00_2
1641           PIXEL01_1
1642           PIXEL10_1
1643           PIXEL11
1644           PIXEL20_1M
1645           break;
1646         }
1647         case 241:
1648         case 240:
1649         {
1650           if (Diff(cget(6), cget(8)))
1651           {
1652             PIXEL12_C
1653             PIXEL20_1L
1654             PIXEL21_C
1655             PIXEL22_C
1656           }
1657           else
1658           {
1659             PIXEL12_1
1660             PIXEL20_2
1661             PIXEL21_6
1662             PIXEL22_5
1663           }
1664           PIXEL00_2
1665           PIXEL01_1
1666           PIXEL02_1M
1667           PIXEL10_1
1668           PIXEL11
1669           break;
1670         }
1671         case 236:
1672         case 232:
1673         {
1674           if (Diff(cget(8), cget(4)))
1675           {
1676             PIXEL10_C
1677             PIXEL20_C
1678             PIXEL21_C
1679             PIXEL22_1R
1680           }
1681           else
1682           {
1683             PIXEL10_1
1684             PIXEL20_5
1685             PIXEL21_6
1686             PIXEL22_2
1687           }
1688           PIXEL00_1M
1689           PIXEL01_1
1690           PIXEL02_2
1691           PIXEL11
1692           PIXEL12_1
1693           break;
1694         }
1695         case 109:
1696         case 105:
1697         {
1698           if (Diff(cget(8), cget(4)))
1699           {
1700             PIXEL00_1U
1701             PIXEL10_C
1702             PIXEL20_C
1703             PIXEL21_C
1704           }
1705           else
1706           {
1707             PIXEL00_2
1708             PIXEL10_6
1709             PIXEL20_5
1710             PIXEL21_1
1711           }
1712           PIXEL01_1
1713           PIXEL02_2
1714           PIXEL11
1715           PIXEL12_1
1716           PIXEL22_1M
1717           break;
1718         }
1719         case 171:
1720         case 43:
1721         {
1722           if (Diff(cget(4), cget(2)))
1723           {
1724             PIXEL00_C
1725             PIXEL01_C
1726             PIXEL10_C
1727             PIXEL20_1D
1728           }
1729           else
1730           {
1731             PIXEL00_5
1732             PIXEL01_1
1733             PIXEL10_6
1734             PIXEL20_2
1735           }
1736           PIXEL02_1M
1737           PIXEL11
1738           PIXEL12_1
1739           PIXEL21_1
1740           PIXEL22_2
1741           break;
1742         }
1743         case 143:
1744         case 15:
1745         {
1746           if (Diff(cget(4), cget(2)))
1747           {
1748             PIXEL00_C
1749             PIXEL01_C
1750             PIXEL02_1R
1751             PIXEL10_C
1752           }
1753           else
1754           {
1755             PIXEL00_5
1756             PIXEL01_6
1757             PIXEL02_2
1758             PIXEL10_1
1759           }
1760           PIXEL11
1761           PIXEL12_1
1762           PIXEL20_1M
1763           PIXEL21_1
1764           PIXEL22_2
1765           break;
1766         }
1767         case 124:
1768         {
1769           PIXEL00_1M
1770           PIXEL01_1
1771           PIXEL02_1U
1772           PIXEL11
1773           PIXEL12_C
1774           if (Diff(cget(8), cget(4)))
1775           {
1776             PIXEL10_C
1777             PIXEL20_C
1778             PIXEL21_C
1779           }
1780           else
1781           {
1782             PIXEL10_3
1783             PIXEL20_4
1784             PIXEL21_3
1785           }
1786           PIXEL22_1M
1787           break;
1788         }
1789         case 203:
1790         {
1791           if (Diff(cget(4), cget(2)))
1792           {
1793             PIXEL00_C
1794             PIXEL01_C
1795             PIXEL10_C
1796           }
1797           else
1798           {
1799             PIXEL00_4
1800             PIXEL01_3
1801             PIXEL10_3
1802           }
1803           PIXEL02_1M
1804           PIXEL11
1805           PIXEL12_1
1806           PIXEL20_1M
1807           PIXEL21_C
1808           PIXEL22_1R
1809           break;
1810         }
1811         case 62:
1812         {
1813           PIXEL00_1M
1814           if (Diff(cget(2), cget(6)))
1815           {
1816             PIXEL01_C
1817             PIXEL02_C
1818             PIXEL12_C
1819           }
1820           else
1821           {
1822             PIXEL01_3
1823             PIXEL02_4
1824             PIXEL12_3
1825           }
1826           PIXEL10_C
1827           PIXEL11
1828           PIXEL20_1D
1829           PIXEL21_1
1830           PIXEL22_1M
1831           break;
1832         }
1833         case 211:
1834         {
1835           PIXEL00_1L
1836           PIXEL01_C
1837           PIXEL02_1M
1838           PIXEL10_1
1839           PIXEL11
1840           PIXEL20_1M
1841           if (Diff(cget(6), cget(8)))
1842           {
1843             PIXEL12_C
1844             PIXEL21_C
1845             PIXEL22_C
1846           }
1847           else
1848           {
1849             PIXEL12_3
1850             PIXEL21_3
1851             PIXEL22_4
1852           }
1853           break;
1854         }
1855         case 118:
1856         {
1857           PIXEL00_1M
1858           if (Diff(cget(2), cget(6)))
1859           {
1860             PIXEL01_C
1861             PIXEL02_C
1862             PIXEL12_C
1863           }
1864           else
1865           {
1866             PIXEL01_3
1867             PIXEL02_4
1868             PIXEL12_3
1869           }
1870           PIXEL10_1
1871           PIXEL11
1872           PIXEL20_1L
1873           PIXEL21_C
1874           PIXEL22_1M
1875           break;
1876         }
1877         case 217:
1878         {
1879           PIXEL00_1U
1880           PIXEL01_1
1881           PIXEL02_1M
1882           PIXEL10_C
1883           PIXEL11
1884           PIXEL20_1M
1885           if (Diff(cget(6), cget(8)))
1886           {
1887             PIXEL12_C
1888             PIXEL21_C
1889             PIXEL22_C
1890           }
1891           else
1892           {
1893             PIXEL12_3
1894             PIXEL21_3
1895             PIXEL22_4
1896           }
1897           break;
1898         }
1899         case 110:
1900         {
1901           PIXEL00_1M
1902           PIXEL01_C
1903           PIXEL02_1R
1904           PIXEL11
1905           PIXEL12_1
1906           if (Diff(cget(8), cget(4)))
1907           {
1908             PIXEL10_C
1909             PIXEL20_C
1910             PIXEL21_C
1911           }
1912           else
1913           {
1914             PIXEL10_3
1915             PIXEL20_4
1916             PIXEL21_3
1917           }
1918           PIXEL22_1M
1919           break;
1920         }
1921         case 155:
1922         {
1923           if (Diff(cget(4), cget(2)))
1924           {
1925             PIXEL00_C
1926             PIXEL01_C
1927             PIXEL10_C
1928           }
1929           else
1930           {
1931             PIXEL00_4
1932             PIXEL01_3
1933             PIXEL10_3
1934           }
1935           PIXEL02_1M
1936           PIXEL11
1937           PIXEL12_C
1938           PIXEL20_1M
1939           PIXEL21_1
1940           PIXEL22_1D
1941           break;
1942         }
1943         case 188:
1944         {
1945           PIXEL00_1M
1946           PIXEL01_1
1947           PIXEL02_1U
1948           PIXEL10_C
1949           PIXEL11
1950           PIXEL12_C
1951           PIXEL20_1D
1952           PIXEL21_1
1953           PIXEL22_1D
1954           break;
1955         }
1956         case 185:
1957         {
1958           PIXEL00_1U
1959           PIXEL01_1
1960           PIXEL02_1M
1961           PIXEL10_C
1962           PIXEL11
1963           PIXEL12_C
1964           PIXEL20_1D
1965           PIXEL21_1
1966           PIXEL22_1D
1967           break;
1968         }
1969         case 61:
1970         {
1971           PIXEL00_1U
1972           PIXEL01_1
1973           PIXEL02_1U
1974           PIXEL10_C
1975           PIXEL11
1976           PIXEL12_C
1977           PIXEL20_1D
1978           PIXEL21_1
1979           PIXEL22_1M
1980           break;
1981         }
1982         case 157:
1983         {
1984           PIXEL00_1U
1985           PIXEL01_1
1986           PIXEL02_1U
1987           PIXEL10_C
1988           PIXEL11
1989           PIXEL12_C
1990           PIXEL20_1M
1991           PIXEL21_1
1992           PIXEL22_1D
1993           break;
1994         }
1995         case 103:
1996         {
1997           PIXEL00_1L
1998           PIXEL01_C
1999           PIXEL02_1R
2000           PIXEL10_1
2001           PIXEL11
2002           PIXEL12_1
2003           PIXEL20_1L
2004           PIXEL21_C
2005           PIXEL22_1M
2006           break;
2007         }
2008         case 227:
2009         {
2010           PIXEL00_1L
2011           PIXEL01_C
2012           PIXEL02_1M
2013           PIXEL10_1
2014           PIXEL11
2015           PIXEL12_1
2016           PIXEL20_1L
2017           PIXEL21_C
2018           PIXEL22_1R
2019           break;
2020         }
2021         case 230:
2022         {
2023           PIXEL00_1M
2024           PIXEL01_C
2025           PIXEL02_1R
2026           PIXEL10_1
2027           PIXEL11
2028           PIXEL12_1
2029           PIXEL20_1L
2030           PIXEL21_C
2031           PIXEL22_1R
2032           break;
2033         }
2034         case 199:
2035         {
2036           PIXEL00_1L
2037           PIXEL01_C
2038           PIXEL02_1R
2039           PIXEL10_1
2040           PIXEL11
2041           PIXEL12_1
2042           PIXEL20_1M
2043           PIXEL21_C
2044           PIXEL22_1R
2045           break;
2046         }
2047         case 220:
2048         {
2049           PIXEL00_1M
2050           PIXEL01_1
2051           PIXEL02_1U
2052           PIXEL10_C
2053           PIXEL11
2054           if (Diff(cget(8), cget(4)))
2055           {
2056             PIXEL20_1M
2057           }
2058           else
2059           {
2060             PIXEL20_2
2061           }
2062           if (Diff(cget(6), cget(8)))
2063           {
2064             PIXEL12_C
2065             PIXEL21_C
2066             PIXEL22_C
2067           }
2068           else
2069           {
2070             PIXEL12_3
2071             PIXEL21_3
2072             PIXEL22_4
2073           }
2074           break;
2075         }
2076         case 158:
2077         {
2078           if (Diff(cget(4), cget(2)))
2079           {
2080             PIXEL00_1M
2081           }
2082           else
2083           {
2084             PIXEL00_2
2085           }
2086           if (Diff(cget(2), cget(6)))
2087           {
2088             PIXEL01_C
2089             PIXEL02_C
2090             PIXEL12_C
2091           }
2092           else
2093           {
2094             PIXEL01_3
2095             PIXEL02_4
2096             PIXEL12_3
2097           }
2098           PIXEL10_C
2099           PIXEL11
2100           PIXEL20_1M
2101           PIXEL21_1
2102           PIXEL22_1D
2103           break;
2104         }
2105         case 234:
2106         {
2107           if (Diff(cget(4), cget(2)))
2108           {
2109             PIXEL00_1M
2110           }
2111           else
2112           {
2113             PIXEL00_2
2114           }
2115           PIXEL01_C
2116           PIXEL02_1M
2117           PIXEL11
2118           PIXEL12_1
2119           if (Diff(cget(8), cget(4)))
2120           {
2121             PIXEL10_C
2122             PIXEL20_C
2123             PIXEL21_C
2124           }
2125           else
2126           {
2127             PIXEL10_3
2128             PIXEL20_4
2129             PIXEL21_3
2130           }
2131           PIXEL22_1R
2132           break;
2133         }
2134         case 242:
2135         {
2136           PIXEL00_1M
2137           PIXEL01_C
2138           if (Diff(cget(2), cget(6)))
2139           {
2140             PIXEL02_1M
2141           }
2142           else
2143           {
2144             PIXEL02_2
2145           }
2146           PIXEL10_1
2147           PIXEL11
2148           PIXEL20_1L
2149           if (Diff(cget(6), cget(8)))
2150           {
2151             PIXEL12_C
2152             PIXEL21_C
2153             PIXEL22_C
2154           }
2155           else
2156           {
2157             PIXEL12_3
2158             PIXEL21_3
2159             PIXEL22_4
2160           }
2161           break;
2162         }
2163         case 59:
2164         {
2165           if (Diff(cget(4), cget(2)))
2166           {
2167             PIXEL00_C
2168             PIXEL01_C
2169             PIXEL10_C
2170           }
2171           else
2172           {
2173             PIXEL00_4
2174             PIXEL01_3
2175             PIXEL10_3
2176           }
2177           if (Diff(cget(2), cget(6)))
2178           {
2179             PIXEL02_1M
2180           }
2181           else
2182           {
2183             PIXEL02_2
2184           }
2185           PIXEL11
2186           PIXEL12_C
2187           PIXEL20_1D
2188           PIXEL21_1
2189           PIXEL22_1M
2190           break;
2191         }
2192         case 121:
2193         {
2194           PIXEL00_1U
2195           PIXEL01_1
2196           PIXEL02_1M
2197           PIXEL11
2198           PIXEL12_C
2199           if (Diff(cget(8), cget(4)))
2200           {
2201             PIXEL10_C
2202             PIXEL20_C
2203             PIXEL21_C
2204           }
2205           else
2206           {
2207             PIXEL10_3
2208             PIXEL20_4
2209             PIXEL21_3
2210           }
2211           if (Diff(cget(6), cget(8)))
2212           {
2213             PIXEL22_1M
2214           }
2215           else
2216           {
2217             PIXEL22_2
2218           }
2219           break;
2220         }
2221         case 87:
2222         {
2223           PIXEL00_1L
2224           if (Diff(cget(2), cget(6)))
2225           {
2226             PIXEL01_C
2227             PIXEL02_C
2228             PIXEL12_C
2229           }
2230           else
2231           {
2232             PIXEL01_3
2233             PIXEL02_4
2234             PIXEL12_3
2235           }
2236           PIXEL10_1
2237           PIXEL11
2238           PIXEL20_1M
2239           PIXEL21_C
2240           if (Diff(cget(6), cget(8)))
2241           {
2242             PIXEL22_1M
2243           }
2244           else
2245           {
2246             PIXEL22_2
2247           }
2248           break;
2249         }
2250         case 79:
2251         {
2252           if (Diff(cget(4), cget(2)))
2253           {
2254             PIXEL00_C
2255             PIXEL01_C
2256             PIXEL10_C
2257           }
2258           else
2259           {
2260             PIXEL00_4
2261             PIXEL01_3
2262             PIXEL10_3
2263           }
2264           PIXEL02_1R
2265           PIXEL11
2266           PIXEL12_1
2267           if (Diff(cget(8), cget(4)))
2268           {
2269             PIXEL20_1M
2270           }
2271           else
2272           {
2273             PIXEL20_2
2274           }
2275           PIXEL21_C
2276           PIXEL22_1M
2277           break;
2278         }
2279         case 122:
2280         {
2281           if (Diff(cget(4), cget(2)))
2282           {
2283             PIXEL00_1M
2284           }
2285           else
2286           {
2287             PIXEL00_2
2288           }
2289           PIXEL01_C
2290           if (Diff(cget(2), cget(6)))
2291           {
2292             PIXEL02_1M
2293           }
2294           else
2295           {
2296             PIXEL02_2
2297           }
2298           PIXEL11
2299           PIXEL12_C
2300           if (Diff(cget(8), cget(4)))
2301           {
2302             PIXEL10_C
2303             PIXEL20_C
2304             PIXEL21_C
2305           }
2306           else
2307           {
2308             PIXEL10_3
2309             PIXEL20_4
2310             PIXEL21_3
2311           }
2312           if (Diff(cget(6), cget(8)))
2313           {
2314             PIXEL22_1M
2315           }
2316           else
2317           {
2318             PIXEL22_2
2319           }
2320           break;
2321         }
2322         case 94:
2323         {
2324           if (Diff(cget(4), cget(2)))
2325           {
2326             PIXEL00_1M
2327           }
2328           else
2329           {
2330             PIXEL00_2
2331           }
2332           if (Diff(cget(2), cget(6)))
2333           {
2334             PIXEL01_C
2335             PIXEL02_C
2336             PIXEL12_C
2337           }
2338           else
2339           {
2340             PIXEL01_3
2341             PIXEL02_4
2342             PIXEL12_3
2343           }
2344           PIXEL10_C
2345           PIXEL11
2346           if (Diff(cget(8), cget(4)))
2347           {
2348             PIXEL20_1M
2349           }
2350           else
2351           {
2352             PIXEL20_2
2353           }
2354           PIXEL21_C
2355           if (Diff(cget(6), cget(8)))
2356           {
2357             PIXEL22_1M
2358           }
2359           else
2360           {
2361             PIXEL22_2
2362           }
2363           break;
2364         }
2365         case 218:
2366         {
2367           if (Diff(cget(4), cget(2)))
2368           {
2369             PIXEL00_1M
2370           }
2371           else
2372           {
2373             PIXEL00_2
2374           }
2375           PIXEL01_C
2376           if (Diff(cget(2), cget(6)))
2377           {
2378             PIXEL02_1M
2379           }
2380           else
2381           {
2382             PIXEL02_2
2383           }
2384           PIXEL10_C
2385           PIXEL11
2386           if (Diff(cget(8), cget(4)))
2387           {
2388             PIXEL20_1M
2389           }
2390           else
2391           {
2392             PIXEL20_2
2393           }
2394           if (Diff(cget(6), cget(8)))
2395           {
2396             PIXEL12_C
2397             PIXEL21_C
2398             PIXEL22_C
2399           }
2400           else
2401           {
2402             PIXEL12_3
2403             PIXEL21_3
2404             PIXEL22_4
2405           }
2406           break;
2407         }
2408         case 91:
2409         {
2410           if (Diff(cget(4), cget(2)))
2411           {
2412             PIXEL00_C
2413             PIXEL01_C
2414             PIXEL10_C
2415           }
2416           else
2417           {
2418             PIXEL00_4
2419             PIXEL01_3
2420             PIXEL10_3
2421           }
2422           if (Diff(cget(2), cget(6)))
2423           {
2424             PIXEL02_1M
2425           }
2426           else
2427           {
2428             PIXEL02_2
2429           }
2430           PIXEL11
2431           PIXEL12_C
2432           if (Diff(cget(8), cget(4)))
2433           {
2434             PIXEL20_1M
2435           }
2436           else
2437           {
2438             PIXEL20_2
2439           }
2440           PIXEL21_C
2441           if (Diff(cget(6), cget(8)))
2442           {
2443             PIXEL22_1M
2444           }
2445           else
2446           {
2447             PIXEL22_2
2448           }
2449           break;
2450         }
2451         case 229:
2452         {
2453           PIXEL00_2
2454           PIXEL01_1
2455           PIXEL02_2
2456           PIXEL10_1
2457           PIXEL11
2458           PIXEL12_1
2459           PIXEL20_1L
2460           PIXEL21_C
2461           PIXEL22_1R
2462           break;
2463         }
2464         case 167:
2465         {
2466           PIXEL00_1L
2467           PIXEL01_C
2468           PIXEL02_1R
2469           PIXEL10_1
2470           PIXEL11
2471           PIXEL12_1
2472           PIXEL20_2
2473           PIXEL21_1
2474           PIXEL22_2
2475           break;
2476         }
2477         case 173:
2478         {
2479           PIXEL00_1U
2480           PIXEL01_1
2481           PIXEL02_2
2482           PIXEL10_C
2483           PIXEL11
2484           PIXEL12_1
2485           PIXEL20_1D
2486           PIXEL21_1
2487           PIXEL22_2
2488           break;
2489         }
2490         case 181:
2491         {
2492           PIXEL00_2
2493           PIXEL01_1
2494           PIXEL02_1U
2495           PIXEL10_1
2496           PIXEL11
2497           PIXEL12_C
2498           PIXEL20_2
2499           PIXEL21_1
2500           PIXEL22_1D
2501           break;
2502         }
2503         case 186:
2504         {
2505           if (Diff(cget(4), cget(2)))
2506           {
2507             PIXEL00_1M
2508           }
2509           else
2510           {
2511             PIXEL00_2
2512           }
2513           PIXEL01_C
2514           if (Diff(cget(2), cget(6)))
2515           {
2516             PIXEL02_1M
2517           }
2518           else
2519           {
2520             PIXEL02_2
2521           }
2522           PIXEL10_C
2523           PIXEL11
2524           PIXEL12_C
2525           PIXEL20_1D
2526           PIXEL21_1
2527           PIXEL22_1D
2528           break;
2529         }
2530         case 115:
2531         {
2532           PIXEL00_1L
2533           PIXEL01_C
2534           if (Diff(cget(2), cget(6)))
2535           {
2536             PIXEL02_1M
2537           }
2538           else
2539           {
2540             PIXEL02_2
2541           }
2542           PIXEL10_1
2543           PIXEL11
2544           PIXEL12_C
2545           PIXEL20_1L
2546           PIXEL21_C
2547           if (Diff(cget(6), cget(8)))
2548           {
2549             PIXEL22_1M
2550           }
2551           else
2552           {
2553             PIXEL22_2
2554           }
2555           break;
2556         }
2557         case 93:
2558         {
2559           PIXEL00_1U
2560           PIXEL01_1
2561           PIXEL02_1U
2562           PIXEL10_C
2563           PIXEL11
2564           PIXEL12_C
2565           if (Diff(cget(8), cget(4)))
2566           {
2567             PIXEL20_1M
2568           }
2569           else
2570           {
2571             PIXEL20_2
2572           }
2573           PIXEL21_C
2574           if (Diff(cget(6), cget(8)))
2575           {
2576             PIXEL22_1M
2577           }
2578           else
2579           {
2580             PIXEL22_2
2581           }
2582           break;
2583         }
2584         case 206:
2585         {
2586           if (Diff(cget(4), cget(2)))
2587           {
2588             PIXEL00_1M
2589           }
2590           else
2591           {
2592             PIXEL00_2
2593           }
2594           PIXEL01_C
2595           PIXEL02_1R
2596           PIXEL10_C
2597           PIXEL11
2598           PIXEL12_1
2599           if (Diff(cget(8), cget(4)))
2600           {
2601             PIXEL20_1M
2602           }
2603           else
2604           {
2605             PIXEL20_2
2606           }
2607           PIXEL21_C
2608           PIXEL22_1R
2609           break;
2610         }
2611         case 205:
2612         case 201:
2613         {
2614           PIXEL00_1U
2615           PIXEL01_1
2616           PIXEL02_2
2617           PIXEL10_C
2618           PIXEL11
2619           PIXEL12_1
2620           if (Diff(cget(8), cget(4)))
2621           {
2622             PIXEL20_1M
2623           }
2624           else
2625           {
2626             PIXEL20_2
2627           }
2628           PIXEL21_C
2629           PIXEL22_1R
2630           break;
2631         }
2632         case 174:
2633         case 46:
2634         {
2635           if (Diff(cget(4), cget(2)))
2636           {
2637             PIXEL00_1M
2638           }
2639           else
2640           {
2641             PIXEL00_2
2642           }
2643           PIXEL01_C
2644           PIXEL02_1R
2645           PIXEL10_C
2646           PIXEL11
2647           PIXEL12_1
2648           PIXEL20_1D
2649           PIXEL21_1
2650           PIXEL22_2
2651           break;
2652         }
2653         case 179:
2654         case 147:
2655         {
2656           PIXEL00_1L
2657           PIXEL01_C
2658           if (Diff(cget(2), cget(6)))
2659           {
2660             PIXEL02_1M
2661           }
2662           else
2663           {
2664             PIXEL02_2
2665           }
2666           PIXEL10_1
2667           PIXEL11
2668           PIXEL12_C
2669           PIXEL20_2
2670           PIXEL21_1
2671           PIXEL22_1D
2672           break;
2673         }
2674         case 117:
2675         case 116:
2676         {
2677           PIXEL00_2
2678           PIXEL01_1
2679           PIXEL02_1U
2680           PIXEL10_1
2681           PIXEL11
2682           PIXEL12_C
2683           PIXEL20_1L
2684           PIXEL21_C
2685           if (Diff(cget(6), cget(8)))
2686           {
2687             PIXEL22_1M
2688           }
2689           else
2690           {
2691             PIXEL22_2
2692           }
2693           break;
2694         }
2695         case 189:
2696         {
2697           PIXEL00_1U
2698           PIXEL01_1
2699           PIXEL02_1U
2700           PIXEL10_C
2701           PIXEL11
2702           PIXEL12_C
2703           PIXEL20_1D
2704           PIXEL21_1
2705           PIXEL22_1D
2706           break;
2707         }
2708         case 231:
2709         {
2710           PIXEL00_1L
2711           PIXEL01_C
2712           PIXEL02_1R
2713           PIXEL10_1
2714           PIXEL11
2715           PIXEL12_1
2716           PIXEL20_1L
2717           PIXEL21_C
2718           PIXEL22_1R
2719           break;
2720         }
2721         case 126:
2722         {
2723           PIXEL00_1M
2724           if (Diff(cget(2), cget(6)))
2725           {
2726             PIXEL01_C
2727             PIXEL02_C
2728             PIXEL12_C
2729           }
2730           else
2731           {
2732             PIXEL01_3
2733             PIXEL02_4
2734             PIXEL12_3
2735           }
2736           PIXEL11
2737           if (Diff(cget(8), cget(4)))
2738           {
2739             PIXEL10_C
2740             PIXEL20_C
2741             PIXEL21_C
2742           }
2743           else
2744           {
2745             PIXEL10_3
2746             PIXEL20_4
2747             PIXEL21_3
2748           }
2749           PIXEL22_1M
2750           break;
2751         }
2752         case 219:
2753         {
2754           if (Diff(cget(4), cget(2)))
2755           {
2756             PIXEL00_C
2757             PIXEL01_C
2758             PIXEL10_C
2759           }
2760           else
2761           {
2762             PIXEL00_4
2763             PIXEL01_3
2764             PIXEL10_3
2765           }
2766           PIXEL02_1M
2767           PIXEL11
2768           PIXEL20_1M
2769           if (Diff(cget(6), cget(8)))
2770           {
2771             PIXEL12_C
2772             PIXEL21_C
2773             PIXEL22_C
2774           }
2775           else
2776           {
2777             PIXEL12_3
2778             PIXEL21_3
2779             PIXEL22_4
2780           }
2781           break;
2782         }
2783         case 125:
2784         {
2785           if (Diff(cget(8), cget(4)))
2786           {
2787             PIXEL00_1U
2788             PIXEL10_C
2789             PIXEL20_C
2790             PIXEL21_C
2791           }
2792           else
2793           {
2794             PIXEL00_2
2795             PIXEL10_6
2796             PIXEL20_5
2797             PIXEL21_1
2798           }
2799           PIXEL01_1
2800           PIXEL02_1U
2801           PIXEL11
2802           PIXEL12_C
2803           PIXEL22_1M
2804           break;
2805         }
2806         case 221:
2807         {
2808           if (Diff(cget(6), cget(8)))
2809           {
2810             PIXEL02_1U
2811             PIXEL12_C
2812             PIXEL21_C
2813             PIXEL22_C
2814           }
2815           else
2816           {
2817             PIXEL02_2
2818             PIXEL12_6
2819             PIXEL21_1
2820             PIXEL22_5
2821           }
2822           PIXEL00_1U
2823           PIXEL01_1
2824           PIXEL10_C
2825           PIXEL11
2826           PIXEL20_1M
2827           break;
2828         }
2829         case 207:
2830         {
2831           if (Diff(cget(4), cget(2)))
2832           {
2833             PIXEL00_C
2834             PIXEL01_C
2835             PIXEL02_1R
2836             PIXEL10_C
2837           }
2838           else
2839           {
2840             PIXEL00_5
2841             PIXEL01_6
2842             PIXEL02_2
2843             PIXEL10_1
2844           }
2845           PIXEL11
2846           PIXEL12_1
2847           PIXEL20_1M
2848           PIXEL21_C
2849           PIXEL22_1R
2850           break;
2851         }
2852         case 238:
2853         {
2854           if (Diff(cget(8), cget(4)))
2855           {
2856             PIXEL10_C
2857             PIXEL20_C
2858             PIXEL21_C
2859             PIXEL22_1R
2860           }
2861           else
2862           {
2863             PIXEL10_1
2864             PIXEL20_5
2865             PIXEL21_6
2866             PIXEL22_2
2867           }
2868           PIXEL00_1M
2869           PIXEL01_C
2870           PIXEL02_1R
2871           PIXEL11
2872           PIXEL12_1
2873           break;
2874         }
2875         case 190:
2876         {
2877           if (Diff(cget(2), cget(6)))
2878           {
2879             PIXEL01_C
2880             PIXEL02_C
2881             PIXEL12_C
2882             PIXEL22_1D
2883           }
2884           else
2885           {
2886             PIXEL01_1
2887             PIXEL02_5
2888             PIXEL12_6
2889             PIXEL22_2
2890           }
2891           PIXEL00_1M
2892           PIXEL10_C
2893           PIXEL11
2894           PIXEL20_1D
2895           PIXEL21_1
2896           break;
2897         }
2898         case 187:
2899         {
2900           if (Diff(cget(4), cget(2)))
2901           {
2902             PIXEL00_C
2903             PIXEL01_C
2904             PIXEL10_C
2905             PIXEL20_1D
2906           }
2907           else
2908           {
2909             PIXEL00_5
2910             PIXEL01_1
2911             PIXEL10_6
2912             PIXEL20_2
2913           }
2914           PIXEL02_1M
2915           PIXEL11
2916           PIXEL12_C
2917           PIXEL21_1
2918           PIXEL22_1D
2919           break;
2920         }
2921         case 243:
2922         {
2923           if (Diff(cget(6), cget(8)))
2924           {
2925             PIXEL12_C
2926             PIXEL20_1L
2927             PIXEL21_C
2928             PIXEL22_C
2929           }
2930           else
2931           {
2932             PIXEL12_1
2933             PIXEL20_2
2934             PIXEL21_6
2935             PIXEL22_5
2936           }
2937           PIXEL00_1L
2938           PIXEL01_C
2939           PIXEL02_1M
2940           PIXEL10_1
2941           PIXEL11
2942           break;
2943         }
2944         case 119:
2945         {
2946           if (Diff(cget(2), cget(6)))
2947           {
2948             PIXEL00_1L
2949             PIXEL01_C
2950             PIXEL02_C
2951             PIXEL12_C
2952           }
2953           else
2954           {
2955             PIXEL00_2
2956             PIXEL01_6
2957             PIXEL02_5
2958             PIXEL12_1
2959           }
2960           PIXEL10_1
2961           PIXEL11
2962           PIXEL20_1L
2963           PIXEL21_C
2964           PIXEL22_1M
2965           break;
2966         }
2967         case 237:
2968         case 233:
2969         {
2970           PIXEL00_1U
2971           PIXEL01_1
2972           PIXEL02_2
2973           PIXEL10_C
2974           PIXEL11
2975           PIXEL12_1
2976           if (Diff(cget(8), cget(4)))
2977           {
2978             PIXEL20_C
2979           }
2980           else
2981           {
2982             PIXEL20_2
2983           }
2984           PIXEL21_C
2985           PIXEL22_1R
2986           break;
2987         }
2988         case 175:
2989         case 47:
2990         {
2991           if (Diff(cget(4), cget(2)))
2992           {
2993             PIXEL00_C
2994           }
2995           else
2996           {
2997             PIXEL00_2
2998           }
2999           PIXEL01_C
3000           PIXEL02_1R
3001           PIXEL10_C
3002           PIXEL11
3003           PIXEL12_1
3004           PIXEL20_1D
3005           PIXEL21_1
3006           PIXEL22_2
3007           break;
3008         }
3009         case 183:
3010         case 151:
3011         {
3012           PIXEL00_1L
3013           PIXEL01_C
3014           if (Diff(cget(2), cget(6)))
3015           {
3016             PIXEL02_C
3017           }
3018           else
3019           {
3020             PIXEL02_2
3021           }
3022           PIXEL10_1
3023           PIXEL11
3024           PIXEL12_C
3025           PIXEL20_2
3026           PIXEL21_1
3027           PIXEL22_1D
3028           break;
3029         }
3030         case 245:
3031         case 244:
3032         {
3033           PIXEL00_2
3034           PIXEL01_1
3035           PIXEL02_1U
3036           PIXEL10_1
3037           PIXEL11
3038           PIXEL12_C
3039           PIXEL20_1L
3040           PIXEL21_C
3041           if (Diff(cget(6), cget(8)))
3042           {
3043             PIXEL22_C
3044           }
3045           else
3046           {
3047             PIXEL22_2
3048           }
3049           break;
3050         }
3051         case 250:
3052         {
3053           PIXEL00_1M
3054           PIXEL01_C
3055           PIXEL02_1M
3056           PIXEL11
3057           if (Diff(cget(8), cget(4)))
3058           {
3059             PIXEL10_C
3060             PIXEL20_C
3061           }
3062           else
3063           {
3064             PIXEL10_3
3065             PIXEL20_4
3066           }
3067           PIXEL21_C
3068           if (Diff(cget(6), cget(8)))
3069           {
3070             PIXEL12_C
3071             PIXEL22_C
3072           }
3073           else
3074           {
3075             PIXEL12_3
3076             PIXEL22_4
3077           }
3078           break;
3079         }
3080         case 123:
3081         {
3082           if (Diff(cget(4), cget(2)))
3083           {
3084             PIXEL00_C
3085             PIXEL01_C
3086           }
3087           else
3088           {
3089             PIXEL00_4
3090             PIXEL01_3
3091           }
3092           PIXEL02_1M
3093           PIXEL10_C
3094           PIXEL11
3095           PIXEL12_C
3096           if (Diff(cget(8), cget(4)))
3097           {
3098             PIXEL20_C
3099             PIXEL21_C
3100           }
3101           else
3102           {
3103             PIXEL20_4
3104             PIXEL21_3
3105           }
3106           PIXEL22_1M
3107           break;
3108         }
3109         case 95:
3110         {
3111           if (Diff(cget(4), cget(2)))
3112           {
3113             PIXEL00_C
3114             PIXEL10_C
3115           }
3116           else
3117           {
3118             PIXEL00_4
3119             PIXEL10_3
3120           }
3121           PIXEL01_C
3122           if (Diff(cget(2), cget(6)))
3123           {
3124             PIXEL02_C
3125             PIXEL12_C
3126           }
3127           else
3128           {
3129             PIXEL02_4
3130             PIXEL12_3
3131           }
3132           PIXEL11
3133           PIXEL20_1M
3134           PIXEL21_C
3135           PIXEL22_1M
3136           break;
3137         }
3138         case 222:
3139         {
3140           PIXEL00_1M
3141           if (Diff(cget(2), cget(6)))
3142           {
3143             PIXEL01_C
3144             PIXEL02_C
3145           }
3146           else
3147           {
3148             PIXEL01_3
3149             PIXEL02_4
3150           }
3151           PIXEL10_C
3152           PIXEL11
3153           PIXEL12_C
3154           PIXEL20_1M
3155           if (Diff(cget(6), cget(8)))
3156           {
3157             PIXEL21_C
3158             PIXEL22_C
3159           }
3160           else
3161           {
3162             PIXEL21_3
3163             PIXEL22_4
3164           }
3165           break;
3166         }
3167         case 252:
3168         {
3169           PIXEL00_1M
3170           PIXEL01_1
3171           PIXEL02_1U
3172           PIXEL11
3173           PIXEL12_C
3174           if (Diff(cget(8), cget(4)))
3175           {
3176             PIXEL10_C
3177             PIXEL20_C
3178           }
3179           else
3180           {
3181             PIXEL10_3
3182             PIXEL20_4
3183           }
3184           PIXEL21_C
3185           if (Diff(cget(6), cget(8)))
3186           {
3187             PIXEL22_C
3188           }
3189           else
3190           {
3191             PIXEL22_2
3192           }
3193           break;
3194         }
3195         case 249:
3196         {
3197           PIXEL00_1U
3198           PIXEL01_1
3199           PIXEL02_1M
3200           PIXEL10_C
3201           PIXEL11
3202           if (Diff(cget(8), cget(4)))
3203           {
3204             PIXEL20_C
3205           }
3206           else
3207           {
3208             PIXEL20_2
3209           }
3210           PIXEL21_C
3211           if (Diff(cget(6), cget(8)))
3212           {
3213             PIXEL12_C
3214             PIXEL22_C
3215           }
3216           else
3217           {
3218             PIXEL12_3
3219             PIXEL22_4
3220           }
3221           break;
3222         }
3223         case 235:
3224         {
3225           if (Diff(cget(4), cget(2)))
3226           {
3227             PIXEL00_C
3228             PIXEL01_C
3229           }
3230           else
3231           {
3232             PIXEL00_4
3233             PIXEL01_3
3234           }
3235           PIXEL02_1M
3236           PIXEL10_C
3237           PIXEL11
3238           PIXEL12_1
3239           if (Diff(cget(8), cget(4)))
3240           {
3241             PIXEL20_C
3242           }
3243           else
3244           {
3245             PIXEL20_2
3246           }
3247           PIXEL21_C
3248           PIXEL22_1R
3249           break;
3250         }
3251         case 111:
3252         {
3253           if (Diff(cget(4), cget(2)))
3254           {
3255             PIXEL00_C
3256           }
3257           else
3258           {
3259             PIXEL00_2
3260           }
3261           PIXEL01_C
3262           PIXEL02_1R
3263           PIXEL10_C
3264           PIXEL11
3265           PIXEL12_1
3266           if (Diff(cget(8), cget(4)))
3267           {
3268             PIXEL20_C
3269             PIXEL21_C
3270           }
3271           else
3272           {
3273             PIXEL20_4
3274             PIXEL21_3
3275           }
3276           PIXEL22_1M
3277           break;
3278         }
3279         case 63:
3280         {
3281           if (Diff(cget(4), cget(2)))
3282           {
3283             PIXEL00_C
3284           }
3285           else
3286           {
3287             PIXEL00_2
3288           }
3289           PIXEL01_C
3290           if (Diff(cget(2), cget(6)))
3291           {
3292             PIXEL02_C
3293             PIXEL12_C
3294           }
3295           else
3296           {
3297             PIXEL02_4
3298             PIXEL12_3
3299           }
3300           PIXEL10_C
3301           PIXEL11
3302           PIXEL20_1D
3303           PIXEL21_1
3304           PIXEL22_1M
3305           break;
3306         }
3307         case 159:
3308         {
3309           if (Diff(cget(4), cget(2)))
3310           {
3311             PIXEL00_C
3312             PIXEL10_C
3313           }
3314           else
3315           {
3316             PIXEL00_4
3317             PIXEL10_3
3318           }
3319           PIXEL01_C
3320           if (Diff(cget(2), cget(6)))
3321           {
3322             PIXEL02_C
3323           }
3324           else
3325           {
3326             PIXEL02_2
3327           }
3328           PIXEL11
3329           PIXEL12_C
3330           PIXEL20_1M
3331           PIXEL21_1
3332           PIXEL22_1D
3333           break;
3334         }
3335         case 215:
3336         {
3337           PIXEL00_1L
3338           PIXEL01_C
3339           if (Diff(cget(2), cget(6)))
3340           {
3341             PIXEL02_C
3342           }
3343           else
3344           {
3345             PIXEL02_2
3346           }
3347           PIXEL10_1
3348           PIXEL11
3349           PIXEL12_C
3350           PIXEL20_1M
3351           if (Diff(cget(6), cget(8)))
3352           {
3353             PIXEL21_C
3354             PIXEL22_C
3355           }
3356           else
3357           {
3358             PIXEL21_3
3359             PIXEL22_4
3360           }
3361           break;
3362         }
3363         case 246:
3364         {
3365           PIXEL00_1M
3366           if (Diff(cget(2), cget(6)))
3367           {
3368             PIXEL01_C
3369             PIXEL02_C
3370           }
3371           else
3372           {
3373             PIXEL01_3
3374             PIXEL02_4
3375           }
3376           PIXEL10_1
3377           PIXEL11
3378           PIXEL12_C
3379           PIXEL20_1L
3380           PIXEL21_C
3381           if (Diff(cget(6), cget(8)))
3382           {
3383             PIXEL22_C
3384           }
3385           else
3386           {
3387             PIXEL22_2
3388           }
3389           break;
3390         }
3391         case 254:
3392         {
3393           PIXEL00_1M
3394           if (Diff(cget(2), cget(6)))
3395           {
3396             PIXEL01_C
3397             PIXEL02_C
3398           }
3399           else
3400           {
3401             PIXEL01_3
3402             PIXEL02_4
3403           }
3404           PIXEL11
3405           if (Diff(cget(8), cget(4)))
3406           {
3407             PIXEL10_C
3408             PIXEL20_C
3409           }
3410           else
3411           {
3412             PIXEL10_3
3413             PIXEL20_4
3414           }
3415           if (Diff(cget(6), cget(8)))
3416           {
3417             PIXEL12_C
3418             PIXEL21_C
3419             PIXEL22_C
3420           }
3421           else
3422           {
3423             PIXEL12_3
3424             PIXEL21_3
3425             PIXEL22_2
3426           }
3427           break;
3428         }
3429         case 253:
3430         {
3431           PIXEL00_1U
3432           PIXEL01_1
3433           PIXEL02_1U
3434           PIXEL10_C
3435           PIXEL11
3436           PIXEL12_C
3437           if (Diff(cget(8), cget(4)))
3438           {
3439             PIXEL20_C
3440           }
3441           else
3442           {
3443             PIXEL20_2
3444           }
3445           PIXEL21_C
3446           if (Diff(cget(6), cget(8)))
3447           {
3448             PIXEL22_C
3449           }
3450           else
3451           {
3452             PIXEL22_2
3453           }
3454           break;
3455         }
3456         case 251:
3457         {
3458           if (Diff(cget(4), cget(2)))
3459           {
3460             PIXEL00_C
3461             PIXEL01_C
3462           }
3463           else
3464           {
3465             PIXEL00_4
3466             PIXEL01_3
3467           }
3468           PIXEL02_1M
3469           PIXEL11
3470           if (Diff(cget(8), cget(4)))
3471           {
3472             PIXEL10_C
3473             PIXEL20_C
3474             PIXEL21_C
3475           }
3476           else
3477           {
3478             PIXEL10_3
3479             PIXEL20_2
3480             PIXEL21_3
3481           }
3482           if (Diff(cget(6), cget(8)))
3483           {
3484             PIXEL12_C
3485             PIXEL22_C
3486           }
3487           else
3488           {
3489             PIXEL12_3
3490             PIXEL22_4
3491           }
3492           break;
3493         }
3494         case 239:
3495         {
3496           if (Diff(cget(4), cget(2)))
3497           {
3498             PIXEL00_C
3499           }
3500           else
3501           {
3502             PIXEL00_2
3503           }
3504           PIXEL01_C
3505           PIXEL02_1R
3506           PIXEL10_C
3507           PIXEL11
3508           PIXEL12_1
3509           if (Diff(cget(8), cget(4)))
3510           {
3511             PIXEL20_C
3512           }
3513           else
3514           {
3515             PIXEL20_2
3516           }
3517           PIXEL21_C
3518           PIXEL22_1R
3519           break;
3520         }
3521         case 127:
3522         {
3523           if (Diff(cget(4), cget(2)))
3524           {
3525             PIXEL00_C
3526             PIXEL01_C
3527             PIXEL10_C
3528           }
3529           else
3530           {
3531             PIXEL00_2
3532             PIXEL01_3
3533             PIXEL10_3
3534           }
3535           if (Diff(cget(2), cget(6)))
3536           {
3537             PIXEL02_C
3538             PIXEL12_C
3539           }
3540           else
3541           {
3542             PIXEL02_4
3543             PIXEL12_3
3544           }
3545           PIXEL11
3546           if (Diff(cget(8), cget(4)))
3547           {
3548             PIXEL20_C
3549             PIXEL21_C
3550           }
3551           else
3552           {
3553             PIXEL20_4
3554             PIXEL21_3
3555           }
3556           PIXEL22_1M
3557           break;
3558         }
3559         case 191:
3560         {
3561           if (Diff(cget(4), cget(2)))
3562           {
3563             PIXEL00_C
3564           }
3565           else
3566           {
3567             PIXEL00_2
3568           }
3569           PIXEL01_C
3570           if (Diff(cget(2), cget(6)))
3571           {
3572             PIXEL02_C
3573           }
3574           else
3575           {
3576             PIXEL02_2
3577           }
3578           PIXEL10_C
3579           PIXEL11
3580           PIXEL12_C
3581           PIXEL20_1D
3582           PIXEL21_1
3583           PIXEL22_1D
3584           break;
3585         }
3586         case 223:
3587         {
3588           if (Diff(cget(4), cget(2)))
3589           {
3590             PIXEL00_C
3591             PIXEL10_C
3592           }
3593           else
3594           {
3595             PIXEL00_4
3596             PIXEL10_3
3597           }
3598           if (Diff(cget(2), cget(6)))
3599           {
3600             PIXEL01_C
3601             PIXEL02_C
3602             PIXEL12_C
3603           }
3604           else
3605           {
3606             PIXEL01_3
3607             PIXEL02_2
3608             PIXEL12_3
3609           }
3610           PIXEL11
3611           PIXEL20_1M
3612           if (Diff(cget(6), cget(8)))
3613           {
3614             PIXEL21_C
3615             PIXEL22_C
3616           }
3617           else
3618           {
3619             PIXEL21_3
3620             PIXEL22_4
3621           }
3622           break;
3623         }
3624         case 247:
3625         {
3626           PIXEL00_1L
3627           PIXEL01_C
3628           if (Diff(cget(2), cget(6)))
3629           {
3630             PIXEL02_C
3631           }
3632           else
3633           {
3634             PIXEL02_2
3635           }
3636           PIXEL10_1
3637           PIXEL11
3638           PIXEL12_C
3639           PIXEL20_1L
3640           PIXEL21_C
3641           if (Diff(cget(6), cget(8)))
3642           {
3643             PIXEL22_C
3644           }
3645           else
3646           {
3647             PIXEL22_2
3648           }
3649           break;
3650         }
3651         case 255:
3652         {
3653           if (Diff(cget(4), cget(2)))
3654           {
3655             PIXEL00_C
3656           }
3657           else
3658           {
3659             PIXEL00_2
3660           }
3661           PIXEL01_C
3662           if (Diff(cget(2), cget(6)))
3663           {
3664             PIXEL02_C
3665           }
3666           else
3667           {
3668             PIXEL02_2
3669           }
3670           PIXEL10_C
3671           PIXEL11
3672           PIXEL12_C
3673           if (Diff(cget(8), cget(4)))
3674           {
3675             PIXEL20_C
3676           }
3677           else
3678           {
3679             PIXEL20_2
3680           }
3681           PIXEL21_C
3682           if (Diff(cget(6), cget(8)))
3683           {
3684             PIXEL22_C
3685           }
3686           else
3687           {
3688             PIXEL22_2
3689           }
3690           break;
3691         }
3692       }
3693