Paparazzi UAS  v7.0_unstable
Paparazzi is a free software Unmanned Aircraft System.
fast_rosten.c
Go to the documentation of this file.
1 /*
2 Copyright (c) 2006, 2008 Edward Rosten
3 All rights reserved.
4 
5 Redistribution and use in source and binary forms, with or without
6 modification, are permitted provided that the following conditions
7 are met:
8 
9 
10  *Redistributions of source code must retain the above copyright
11  notice, this list of conditions and the following disclaimer.
12 
13  *Redistributions in binary form must reproduce the above copyright
14  notice, this list of conditions and the following disclaimer in the
15  documentation and/or other materials provided with the distribution.
16 
17  *Neither the name of the University of Cambridge nor the names of
18  its contributors may be used to endorse or promote products derived
19  from this software without specific prior written permission.
20 
21 THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
22 "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
23 LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
24 A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
25 CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
26 EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
27 PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
28 PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF
29 LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
30 NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
31 SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
32 */
33 
34 #include <stdlib.h>
35 #include "fast_rosten.h"
36 
37 static void fast_make_offsets(int32_t *pixel, uint16_t row_stride, uint8_t pixel_size);
38 
52 void fast9_detect(struct image_t *img, uint8_t threshold, uint16_t min_dist, uint16_t x_padding, uint16_t y_padding, uint16_t *num_corners, uint16_t *ret_corners_length, struct point_t **ret_corners, uint16_t *roi)
53 {
54 
55  uint16_t corner_cnt = *num_corners;
56  int pixel[16];
57  int16_t i;
58  uint16_t x, y, x_min, x_max, y_min, x_start, x_end, y_start, y_end;
59  uint8_t need_skip;
60  // Set the pixel size
61  uint8_t pixel_size = 1;
62  if (img->type == IMAGE_YUV422) {
63  pixel_size = 2;
64  }
65 
66  if(x_padding < min_dist) x_padding = min_dist;
67  if(y_padding < min_dist) y_padding = min_dist;
68 
69  if (!roi) {
70  x_start = 3 + x_padding;
71  y_start = 3 + y_padding;
72  x_end = img->w - 3 - x_padding;
73  y_end = img->h - 3 - y_padding;
74  } else {
75  x_start = roi[0] > 0 ? roi[0] : 3 + x_padding;
76  y_start = roi[1] > 0 ? roi[1] : 3 + y_padding;
77  x_end = roi[2] < (img->w - 3 - x_padding) ? roi[2] : img->w - 3 - x_padding;
78  y_end = roi[3] < (img->h - 3 - y_padding) ? roi[3] : img->h - 3 - y_padding;
79 
80  }
81 
82  // Calculate the pixel offsets
83  fast_make_offsets(pixel, img->w, pixel_size);
84 
85  // Go trough all the pixels (minus the borders and inside the requested roi)
86  for (y = y_start; y < y_end; y++) {
87 
88  if (min_dist > 0) { y_min = y - min_dist; }
89 
90  for (x = x_start; x < x_end; x++) {
91  // First check if we aren't in range vertical (TODO: fix less intensive way)
92  if (min_dist > 0) {
93 
94  need_skip = 0;
95 
96  x_min = x - min_dist;
97  x_max = x + min_dist;
98 
99 
100  // Go through the previous corners until y goes out of range
101  i = corner_cnt - 1;
102  while (i >= 0) {
103 
104  // corners are stored with increasing y,
105  // so if we go from the last to the first, then their y-coordinate will go out of range
106  if ((*ret_corners)[i].y < y_min) {
107  break;
108  }
109 
110  if (x_min < (*ret_corners)[i].x && (*ret_corners)[i].x < x_max) {
111  need_skip = 1;
112  break;
113  }
114 
115  i--;
116  }
117 
118  // Skip the box if we found a pixel nearby
119  if (need_skip) {
120  x += min_dist;
121  continue;
122  }
123  }
124 
125  // Calculate the threshold values
126  const uint8_t *p = ((uint8_t *)img->buf) + y * img->w * pixel_size + x * pixel_size + pixel_size / 2;
127  int16_t cb = *p + threshold;
128  int16_t c_b = *p - threshold;
129 
130  // Do the checks if it is a corner
131  if (p[pixel[0]] > cb)
132  if (p[pixel[1]] > cb)
133  if (p[pixel[2]] > cb)
134  if (p[pixel[3]] > cb)
135  if (p[pixel[4]] > cb)
136  if (p[pixel[5]] > cb)
137  if (p[pixel[6]] > cb)
138  if (p[pixel[7]] > cb)
139  if (p[pixel[8]] > cb)
140  {}
141  else if (p[pixel[15]] > cb)
142  {}
143  else {
144  continue;
145  }
146  else if (p[pixel[7]] < c_b)
147  if (p[pixel[14]] > cb)
148  if (p[pixel[15]] > cb)
149  {}
150  else {
151  continue;
152  }
153  else if (p[pixel[14]] < c_b)
154  if (p[pixel[8]] < c_b)
155  if (p[pixel[9]] < c_b)
156  if (p[pixel[10]] < c_b)
157  if (p[pixel[11]] < c_b)
158  if (p[pixel[12]] < c_b)
159  if (p[pixel[13]] < c_b)
160  if (p[pixel[15]] < c_b)
161  {}
162  else {
163  continue;
164  }
165  else {
166  continue;
167  }
168  else {
169  continue;
170  }
171  else {
172  continue;
173  }
174  else {
175  continue;
176  }
177  else {
178  continue;
179  }
180  else {
181  continue;
182  }
183  else {
184  continue;
185  }
186  else if (p[pixel[14]] > cb)
187  if (p[pixel[15]] > cb)
188  {}
189  else {
190  continue;
191  }
192  else {
193  continue;
194  }
195  else if (p[pixel[6]] < c_b)
196  if (p[pixel[15]] > cb)
197  if (p[pixel[13]] > cb)
198  if (p[pixel[14]] > cb)
199  {}
200  else {
201  continue;
202  }
203  else if (p[pixel[13]] < c_b)
204  if (p[pixel[7]] < c_b)
205  if (p[pixel[8]] < c_b)
206  if (p[pixel[9]] < c_b)
207  if (p[pixel[10]] < c_b)
208  if (p[pixel[11]] < c_b)
209  if (p[pixel[12]] < c_b)
210  if (p[pixel[14]] < c_b)
211  {}
212  else {
213  continue;
214  }
215  else {
216  continue;
217  }
218  else {
219  continue;
220  }
221  else {
222  continue;
223  }
224  else {
225  continue;
226  }
227  else {
228  continue;
229  }
230  else {
231  continue;
232  }
233  else {
234  continue;
235  }
236  else if (p[pixel[7]] < c_b)
237  if (p[pixel[8]] < c_b)
238  if (p[pixel[9]] < c_b)
239  if (p[pixel[10]] < c_b)
240  if (p[pixel[11]] < c_b)
241  if (p[pixel[12]] < c_b)
242  if (p[pixel[13]] < c_b)
243  if (p[pixel[14]] < c_b)
244  {}
245  else {
246  continue;
247  }
248  else {
249  continue;
250  }
251  else {
252  continue;
253  }
254  else {
255  continue;
256  }
257  else {
258  continue;
259  }
260  else {
261  continue;
262  }
263  else {
264  continue;
265  }
266  else {
267  continue;
268  }
269  else if (p[pixel[13]] > cb)
270  if (p[pixel[14]] > cb)
271  if (p[pixel[15]] > cb)
272  {}
273  else {
274  continue;
275  }
276  else {
277  continue;
278  }
279  else if (p[pixel[13]] < c_b)
280  if (p[pixel[7]] < c_b)
281  if (p[pixel[8]] < c_b)
282  if (p[pixel[9]] < c_b)
283  if (p[pixel[10]] < c_b)
284  if (p[pixel[11]] < c_b)
285  if (p[pixel[12]] < c_b)
286  if (p[pixel[14]] < c_b)
287  if (p[pixel[15]] < c_b)
288  {}
289  else {
290  continue;
291  }
292  else {
293  continue;
294  }
295  else {
296  continue;
297  }
298  else {
299  continue;
300  }
301  else {
302  continue;
303  }
304  else {
305  continue;
306  }
307  else {
308  continue;
309  }
310  else {
311  continue;
312  }
313  else {
314  continue;
315  }
316  else if (p[pixel[5]] < c_b)
317  if (p[pixel[14]] > cb)
318  if (p[pixel[12]] > cb)
319  if (p[pixel[13]] > cb)
320  if (p[pixel[15]] > cb)
321  {}
322  else if (p[pixel[6]] > cb)
323  if (p[pixel[7]] > cb)
324  if (p[pixel[8]] > cb)
325  if (p[pixel[9]] > cb)
326  if (p[pixel[10]] > cb)
327  if (p[pixel[11]] > cb)
328  {}
329  else {
330  continue;
331  }
332  else {
333  continue;
334  }
335  else {
336  continue;
337  }
338  else {
339  continue;
340  }
341  else {
342  continue;
343  }
344  else {
345  continue;
346  }
347  else {
348  continue;
349  }
350  else if (p[pixel[12]] < c_b)
351  if (p[pixel[6]] < c_b)
352  if (p[pixel[7]] < c_b)
353  if (p[pixel[8]] < c_b)
354  if (p[pixel[9]] < c_b)
355  if (p[pixel[10]] < c_b)
356  if (p[pixel[11]] < c_b)
357  if (p[pixel[13]] < c_b)
358  {}
359  else {
360  continue;
361  }
362  else {
363  continue;
364  }
365  else {
366  continue;
367  }
368  else {
369  continue;
370  }
371  else {
372  continue;
373  }
374  else {
375  continue;
376  }
377  else {
378  continue;
379  }
380  else {
381  continue;
382  }
383  else if (p[pixel[14]] < c_b)
384  if (p[pixel[7]] < c_b)
385  if (p[pixel[8]] < c_b)
386  if (p[pixel[9]] < c_b)
387  if (p[pixel[10]] < c_b)
388  if (p[pixel[11]] < c_b)
389  if (p[pixel[12]] < c_b)
390  if (p[pixel[13]] < c_b)
391  if (p[pixel[6]] < c_b)
392  {}
393  else if (p[pixel[15]] < c_b)
394  {}
395  else {
396  continue;
397  }
398  else {
399  continue;
400  }
401  else {
402  continue;
403  }
404  else {
405  continue;
406  }
407  else {
408  continue;
409  }
410  else {
411  continue;
412  }
413  else {
414  continue;
415  }
416  else {
417  continue;
418  }
419  else if (p[pixel[6]] < c_b)
420  if (p[pixel[7]] < c_b)
421  if (p[pixel[8]] < c_b)
422  if (p[pixel[9]] < c_b)
423  if (p[pixel[10]] < c_b)
424  if (p[pixel[11]] < c_b)
425  if (p[pixel[12]] < c_b)
426  if (p[pixel[13]] < c_b)
427  {}
428  else {
429  continue;
430  }
431  else {
432  continue;
433  }
434  else {
435  continue;
436  }
437  else {
438  continue;
439  }
440  else {
441  continue;
442  }
443  else {
444  continue;
445  }
446  else {
447  continue;
448  }
449  else {
450  continue;
451  }
452  else if (p[pixel[12]] > cb)
453  if (p[pixel[13]] > cb)
454  if (p[pixel[14]] > cb)
455  if (p[pixel[15]] > cb)
456  {}
457  else if (p[pixel[6]] > cb)
458  if (p[pixel[7]] > cb)
459  if (p[pixel[8]] > cb)
460  if (p[pixel[9]] > cb)
461  if (p[pixel[10]] > cb)
462  if (p[pixel[11]] > cb)
463  {}
464  else {
465  continue;
466  }
467  else {
468  continue;
469  }
470  else {
471  continue;
472  }
473  else {
474  continue;
475  }
476  else {
477  continue;
478  }
479  else {
480  continue;
481  }
482  else {
483  continue;
484  }
485  else {
486  continue;
487  }
488  else if (p[pixel[12]] < c_b)
489  if (p[pixel[7]] < c_b)
490  if (p[pixel[8]] < c_b)
491  if (p[pixel[9]] < c_b)
492  if (p[pixel[10]] < c_b)
493  if (p[pixel[11]] < c_b)
494  if (p[pixel[13]] < c_b)
495  if (p[pixel[14]] < c_b)
496  if (p[pixel[6]] < c_b)
497  {}
498  else if (p[pixel[15]] < c_b)
499  {}
500  else {
501  continue;
502  }
503  else {
504  continue;
505  }
506  else {
507  continue;
508  }
509  else {
510  continue;
511  }
512  else {
513  continue;
514  }
515  else {
516  continue;
517  }
518  else {
519  continue;
520  }
521  else {
522  continue;
523  }
524  else {
525  continue;
526  }
527  else if (p[pixel[4]] < c_b)
528  if (p[pixel[13]] > cb)
529  if (p[pixel[11]] > cb)
530  if (p[pixel[12]] > cb)
531  if (p[pixel[14]] > cb)
532  if (p[pixel[15]] > cb)
533  {}
534  else if (p[pixel[6]] > cb)
535  if (p[pixel[7]] > cb)
536  if (p[pixel[8]] > cb)
537  if (p[pixel[9]] > cb)
538  if (p[pixel[10]] > cb)
539  {}
540  else {
541  continue;
542  }
543  else {
544  continue;
545  }
546  else {
547  continue;
548  }
549  else {
550  continue;
551  }
552  else {
553  continue;
554  }
555  else if (p[pixel[5]] > cb)
556  if (p[pixel[6]] > cb)
557  if (p[pixel[7]] > cb)
558  if (p[pixel[8]] > cb)
559  if (p[pixel[9]] > cb)
560  if (p[pixel[10]] > cb)
561  {}
562  else {
563  continue;
564  }
565  else {
566  continue;
567  }
568  else {
569  continue;
570  }
571  else {
572  continue;
573  }
574  else {
575  continue;
576  }
577  else {
578  continue;
579  }
580  else {
581  continue;
582  }
583  else if (p[pixel[11]] < c_b)
584  if (p[pixel[5]] < c_b)
585  if (p[pixel[6]] < c_b)
586  if (p[pixel[7]] < c_b)
587  if (p[pixel[8]] < c_b)
588  if (p[pixel[9]] < c_b)
589  if (p[pixel[10]] < c_b)
590  if (p[pixel[12]] < c_b)
591  {}
592  else {
593  continue;
594  }
595  else {
596  continue;
597  }
598  else {
599  continue;
600  }
601  else {
602  continue;
603  }
604  else {
605  continue;
606  }
607  else {
608  continue;
609  }
610  else {
611  continue;
612  }
613  else {
614  continue;
615  }
616  else if (p[pixel[13]] < c_b)
617  if (p[pixel[7]] < c_b)
618  if (p[pixel[8]] < c_b)
619  if (p[pixel[9]] < c_b)
620  if (p[pixel[10]] < c_b)
621  if (p[pixel[11]] < c_b)
622  if (p[pixel[12]] < c_b)
623  if (p[pixel[6]] < c_b)
624  if (p[pixel[5]] < c_b)
625  {}
626  else if (p[pixel[14]] < c_b)
627  {}
628  else {
629  continue;
630  }
631  else if (p[pixel[14]] < c_b)
632  if (p[pixel[15]] < c_b)
633  {}
634  else {
635  continue;
636  }
637  else {
638  continue;
639  }
640  else {
641  continue;
642  }
643  else {
644  continue;
645  }
646  else {
647  continue;
648  }
649  else {
650  continue;
651  }
652  else {
653  continue;
654  }
655  else {
656  continue;
657  }
658  else if (p[pixel[5]] < c_b)
659  if (p[pixel[6]] < c_b)
660  if (p[pixel[7]] < c_b)
661  if (p[pixel[8]] < c_b)
662  if (p[pixel[9]] < c_b)
663  if (p[pixel[10]] < c_b)
664  if (p[pixel[11]] < c_b)
665  if (p[pixel[12]] < c_b)
666  {}
667  else {
668  continue;
669  }
670  else {
671  continue;
672  }
673  else {
674  continue;
675  }
676  else {
677  continue;
678  }
679  else {
680  continue;
681  }
682  else {
683  continue;
684  }
685  else {
686  continue;
687  }
688  else {
689  continue;
690  }
691  else if (p[pixel[11]] > cb)
692  if (p[pixel[12]] > cb)
693  if (p[pixel[13]] > cb)
694  if (p[pixel[14]] > cb)
695  if (p[pixel[15]] > cb)
696  {}
697  else if (p[pixel[6]] > cb)
698  if (p[pixel[7]] > cb)
699  if (p[pixel[8]] > cb)
700  if (p[pixel[9]] > cb)
701  if (p[pixel[10]] > cb)
702  {}
703  else {
704  continue;
705  }
706  else {
707  continue;
708  }
709  else {
710  continue;
711  }
712  else {
713  continue;
714  }
715  else {
716  continue;
717  }
718  else if (p[pixel[5]] > cb)
719  if (p[pixel[6]] > cb)
720  if (p[pixel[7]] > cb)
721  if (p[pixel[8]] > cb)
722  if (p[pixel[9]] > cb)
723  if (p[pixel[10]] > cb)
724  {}
725  else {
726  continue;
727  }
728  else {
729  continue;
730  }
731  else {
732  continue;
733  }
734  else {
735  continue;
736  }
737  else {
738  continue;
739  }
740  else {
741  continue;
742  }
743  else {
744  continue;
745  }
746  else {
747  continue;
748  }
749  else if (p[pixel[11]] < c_b)
750  if (p[pixel[7]] < c_b)
751  if (p[pixel[8]] < c_b)
752  if (p[pixel[9]] < c_b)
753  if (p[pixel[10]] < c_b)
754  if (p[pixel[12]] < c_b)
755  if (p[pixel[13]] < c_b)
756  if (p[pixel[6]] < c_b)
757  if (p[pixel[5]] < c_b)
758  {}
759  else if (p[pixel[14]] < c_b)
760  {}
761  else {
762  continue;
763  }
764  else if (p[pixel[14]] < c_b)
765  if (p[pixel[15]] < c_b)
766  {}
767  else {
768  continue;
769  }
770  else {
771  continue;
772  }
773  else {
774  continue;
775  }
776  else {
777  continue;
778  }
779  else {
780  continue;
781  }
782  else {
783  continue;
784  }
785  else {
786  continue;
787  }
788  else {
789  continue;
790  }
791  else {
792  continue;
793  }
794  else if (p[pixel[3]] < c_b)
795  if (p[pixel[10]] > cb)
796  if (p[pixel[11]] > cb)
797  if (p[pixel[12]] > cb)
798  if (p[pixel[13]] > cb)
799  if (p[pixel[14]] > cb)
800  if (p[pixel[15]] > cb)
801  {}
802  else if (p[pixel[6]] > cb)
803  if (p[pixel[7]] > cb)
804  if (p[pixel[8]] > cb)
805  if (p[pixel[9]] > cb)
806  {}
807  else {
808  continue;
809  }
810  else {
811  continue;
812  }
813  else {
814  continue;
815  }
816  else {
817  continue;
818  }
819  else if (p[pixel[5]] > cb)
820  if (p[pixel[6]] > cb)
821  if (p[pixel[7]] > cb)
822  if (p[pixel[8]] > cb)
823  if (p[pixel[9]] > cb)
824  {}
825  else {
826  continue;
827  }
828  else {
829  continue;
830  }
831  else {
832  continue;
833  }
834  else {
835  continue;
836  }
837  else {
838  continue;
839  }
840  else if (p[pixel[4]] > cb)
841  if (p[pixel[5]] > cb)
842  if (p[pixel[6]] > cb)
843  if (p[pixel[7]] > cb)
844  if (p[pixel[8]] > cb)
845  if (p[pixel[9]] > cb)
846  {}
847  else {
848  continue;
849  }
850  else {
851  continue;
852  }
853  else {
854  continue;
855  }
856  else {
857  continue;
858  }
859  else {
860  continue;
861  }
862  else {
863  continue;
864  }
865  else {
866  continue;
867  }
868  else {
869  continue;
870  }
871  else if (p[pixel[10]] < c_b)
872  if (p[pixel[7]] < c_b)
873  if (p[pixel[8]] < c_b)
874  if (p[pixel[9]] < c_b)
875  if (p[pixel[11]] < c_b)
876  if (p[pixel[6]] < c_b)
877  if (p[pixel[5]] < c_b)
878  if (p[pixel[4]] < c_b)
879  {}
880  else if (p[pixel[12]] < c_b)
881  if (p[pixel[13]] < c_b)
882  {}
883  else {
884  continue;
885  }
886  else {
887  continue;
888  }
889  else if (p[pixel[12]] < c_b)
890  if (p[pixel[13]] < c_b)
891  if (p[pixel[14]] < c_b)
892  {}
893  else {
894  continue;
895  }
896  else {
897  continue;
898  }
899  else {
900  continue;
901  }
902  else if (p[pixel[12]] < c_b)
903  if (p[pixel[13]] < c_b)
904  if (p[pixel[14]] < c_b)
905  if (p[pixel[15]] < c_b)
906  {}
907  else {
908  continue;
909  }
910  else {
911  continue;
912  }
913  else {
914  continue;
915  }
916  else {
917  continue;
918  }
919  else {
920  continue;
921  }
922  else {
923  continue;
924  }
925  else {
926  continue;
927  }
928  else {
929  continue;
930  }
931  else {
932  continue;
933  }
934  else if (p[pixel[10]] > cb)
935  if (p[pixel[11]] > cb)
936  if (p[pixel[12]] > cb)
937  if (p[pixel[13]] > cb)
938  if (p[pixel[14]] > cb)
939  if (p[pixel[15]] > cb)
940  {}
941  else if (p[pixel[6]] > cb)
942  if (p[pixel[7]] > cb)
943  if (p[pixel[8]] > cb)
944  if (p[pixel[9]] > cb)
945  {}
946  else {
947  continue;
948  }
949  else {
950  continue;
951  }
952  else {
953  continue;
954  }
955  else {
956  continue;
957  }
958  else if (p[pixel[5]] > cb)
959  if (p[pixel[6]] > cb)
960  if (p[pixel[7]] > cb)
961  if (p[pixel[8]] > cb)
962  if (p[pixel[9]] > cb)
963  {}
964  else {
965  continue;
966  }
967  else {
968  continue;
969  }
970  else {
971  continue;
972  }
973  else {
974  continue;
975  }
976  else {
977  continue;
978  }
979  else if (p[pixel[4]] > cb)
980  if (p[pixel[5]] > cb)
981  if (p[pixel[6]] > cb)
982  if (p[pixel[7]] > cb)
983  if (p[pixel[8]] > cb)
984  if (p[pixel[9]] > cb)
985  {}
986  else {
987  continue;
988  }
989  else {
990  continue;
991  }
992  else {
993  continue;
994  }
995  else {
996  continue;
997  }
998  else {
999  continue;
1000  }
1001  else {
1002  continue;
1003  }
1004  else {
1005  continue;
1006  }
1007  else {
1008  continue;
1009  }
1010  else if (p[pixel[10]] < c_b)
1011  if (p[pixel[7]] < c_b)
1012  if (p[pixel[8]] < c_b)
1013  if (p[pixel[9]] < c_b)
1014  if (p[pixel[11]] < c_b)
1015  if (p[pixel[12]] < c_b)
1016  if (p[pixel[6]] < c_b)
1017  if (p[pixel[5]] < c_b)
1018  if (p[pixel[4]] < c_b)
1019  {}
1020  else if (p[pixel[13]] < c_b)
1021  {}
1022  else {
1023  continue;
1024  }
1025  else if (p[pixel[13]] < c_b)
1026  if (p[pixel[14]] < c_b)
1027  {}
1028  else {
1029  continue;
1030  }
1031  else {
1032  continue;
1033  }
1034  else if (p[pixel[13]] < c_b)
1035  if (p[pixel[14]] < c_b)
1036  if (p[pixel[15]] < c_b)
1037  {}
1038  else {
1039  continue;
1040  }
1041  else {
1042  continue;
1043  }
1044  else {
1045  continue;
1046  }
1047  else {
1048  continue;
1049  }
1050  else {
1051  continue;
1052  }
1053  else {
1054  continue;
1055  }
1056  else {
1057  continue;
1058  }
1059  else {
1060  continue;
1061  }
1062  else {
1063  continue;
1064  }
1065  else if (p[pixel[2]] < c_b)
1066  if (p[pixel[9]] > cb)
1067  if (p[pixel[10]] > cb)
1068  if (p[pixel[11]] > cb)
1069  if (p[pixel[12]] > cb)
1070  if (p[pixel[13]] > cb)
1071  if (p[pixel[14]] > cb)
1072  if (p[pixel[15]] > cb)
1073  {}
1074  else if (p[pixel[6]] > cb)
1075  if (p[pixel[7]] > cb)
1076  if (p[pixel[8]] > cb)
1077  {}
1078  else {
1079  continue;
1080  }
1081  else {
1082  continue;
1083  }
1084  else {
1085  continue;
1086  }
1087  else if (p[pixel[5]] > cb)
1088  if (p[pixel[6]] > cb)
1089  if (p[pixel[7]] > cb)
1090  if (p[pixel[8]] > cb)
1091  {}
1092  else {
1093  continue;
1094  }
1095  else {
1096  continue;
1097  }
1098  else {
1099  continue;
1100  }
1101  else {
1102  continue;
1103  }
1104  else if (p[pixel[4]] > cb)
1105  if (p[pixel[5]] > cb)
1106  if (p[pixel[6]] > cb)
1107  if (p[pixel[7]] > cb)
1108  if (p[pixel[8]] > cb)
1109  {}
1110  else {
1111  continue;
1112  }
1113  else {
1114  continue;
1115  }
1116  else {
1117  continue;
1118  }
1119  else {
1120  continue;
1121  }
1122  else {
1123  continue;
1124  }
1125  else if (p[pixel[3]] > cb)
1126  if (p[pixel[4]] > cb)
1127  if (p[pixel[5]] > cb)
1128  if (p[pixel[6]] > cb)
1129  if (p[pixel[7]] > cb)
1130  if (p[pixel[8]] > cb)
1131  {}
1132  else {
1133  continue;
1134  }
1135  else {
1136  continue;
1137  }
1138  else {
1139  continue;
1140  }
1141  else {
1142  continue;
1143  }
1144  else {
1145  continue;
1146  }
1147  else {
1148  continue;
1149  }
1150  else {
1151  continue;
1152  }
1153  else {
1154  continue;
1155  }
1156  else if (p[pixel[9]] < c_b)
1157  if (p[pixel[7]] < c_b)
1158  if (p[pixel[8]] < c_b)
1159  if (p[pixel[10]] < c_b)
1160  if (p[pixel[6]] < c_b)
1161  if (p[pixel[5]] < c_b)
1162  if (p[pixel[4]] < c_b)
1163  if (p[pixel[3]] < c_b)
1164  {}
1165  else if (p[pixel[11]] < c_b)
1166  if (p[pixel[12]] < c_b)
1167  {}
1168  else {
1169  continue;
1170  }
1171  else {
1172  continue;
1173  }
1174  else if (p[pixel[11]] < c_b)
1175  if (p[pixel[12]] < c_b)
1176  if (p[pixel[13]] < c_b)
1177  {}
1178  else {
1179  continue;
1180  }
1181  else {
1182  continue;
1183  }
1184  else {
1185  continue;
1186  }
1187  else if (p[pixel[11]] < c_b)
1188  if (p[pixel[12]] < c_b)
1189  if (p[pixel[13]] < c_b)
1190  if (p[pixel[14]] < c_b)
1191  {}
1192  else {
1193  continue;
1194  }
1195  else {
1196  continue;
1197  }
1198  else {
1199  continue;
1200  }
1201  else {
1202  continue;
1203  }
1204  else if (p[pixel[11]] < c_b)
1205  if (p[pixel[12]] < c_b)
1206  if (p[pixel[13]] < c_b)
1207  if (p[pixel[14]] < c_b)
1208  if (p[pixel[15]] < c_b)
1209  {}
1210  else {
1211  continue;
1212  }
1213  else {
1214  continue;
1215  }
1216  else {
1217  continue;
1218  }
1219  else {
1220  continue;
1221  }
1222  else {
1223  continue;
1224  }
1225  else {
1226  continue;
1227  }
1228  else {
1229  continue;
1230  }
1231  else {
1232  continue;
1233  }
1234  else {
1235  continue;
1236  }
1237  else if (p[pixel[9]] > cb)
1238  if (p[pixel[10]] > cb)
1239  if (p[pixel[11]] > cb)
1240  if (p[pixel[12]] > cb)
1241  if (p[pixel[13]] > cb)
1242  if (p[pixel[14]] > cb)
1243  if (p[pixel[15]] > cb)
1244  {}
1245  else if (p[pixel[6]] > cb)
1246  if (p[pixel[7]] > cb)
1247  if (p[pixel[8]] > cb)
1248  {}
1249  else {
1250  continue;
1251  }
1252  else {
1253  continue;
1254  }
1255  else {
1256  continue;
1257  }
1258  else if (p[pixel[5]] > cb)
1259  if (p[pixel[6]] > cb)
1260  if (p[pixel[7]] > cb)
1261  if (p[pixel[8]] > cb)
1262  {}
1263  else {
1264  continue;
1265  }
1266  else {
1267  continue;
1268  }
1269  else {
1270  continue;
1271  }
1272  else {
1273  continue;
1274  }
1275  else if (p[pixel[4]] > cb)
1276  if (p[pixel[5]] > cb)
1277  if (p[pixel[6]] > cb)
1278  if (p[pixel[7]] > cb)
1279  if (p[pixel[8]] > cb)
1280  {}
1281  else {
1282  continue;
1283  }
1284  else {
1285  continue;
1286  }
1287  else {
1288  continue;
1289  }
1290  else {
1291  continue;
1292  }
1293  else {
1294  continue;
1295  }
1296  else if (p[pixel[3]] > cb)
1297  if (p[pixel[4]] > cb)
1298  if (p[pixel[5]] > cb)
1299  if (p[pixel[6]] > cb)
1300  if (p[pixel[7]] > cb)
1301  if (p[pixel[8]] > cb)
1302  {}
1303  else {
1304  continue;
1305  }
1306  else {
1307  continue;
1308  }
1309  else {
1310  continue;
1311  }
1312  else {
1313  continue;
1314  }
1315  else {
1316  continue;
1317  }
1318  else {
1319  continue;
1320  }
1321  else {
1322  continue;
1323  }
1324  else {
1325  continue;
1326  }
1327  else if (p[pixel[9]] < c_b)
1328  if (p[pixel[7]] < c_b)
1329  if (p[pixel[8]] < c_b)
1330  if (p[pixel[10]] < c_b)
1331  if (p[pixel[11]] < c_b)
1332  if (p[pixel[6]] < c_b)
1333  if (p[pixel[5]] < c_b)
1334  if (p[pixel[4]] < c_b)
1335  if (p[pixel[3]] < c_b)
1336  {}
1337  else if (p[pixel[12]] < c_b)
1338  {}
1339  else {
1340  continue;
1341  }
1342  else if (p[pixel[12]] < c_b)
1343  if (p[pixel[13]] < c_b)
1344  {}
1345  else {
1346  continue;
1347  }
1348  else {
1349  continue;
1350  }
1351  else if (p[pixel[12]] < c_b)
1352  if (p[pixel[13]] < c_b)
1353  if (p[pixel[14]] < c_b)
1354  {}
1355  else {
1356  continue;
1357  }
1358  else {
1359  continue;
1360  }
1361  else {
1362  continue;
1363  }
1364  else if (p[pixel[12]] < c_b)
1365  if (p[pixel[13]] < c_b)
1366  if (p[pixel[14]] < c_b)
1367  if (p[pixel[15]] < c_b)
1368  {}
1369  else {
1370  continue;
1371  }
1372  else {
1373  continue;
1374  }
1375  else {
1376  continue;
1377  }
1378  else {
1379  continue;
1380  }
1381  else {
1382  continue;
1383  }
1384  else {
1385  continue;
1386  }
1387  else {
1388  continue;
1389  }
1390  else {
1391  continue;
1392  }
1393  else {
1394  continue;
1395  }
1396  else if (p[pixel[1]] < c_b)
1397  if (p[pixel[8]] > cb)
1398  if (p[pixel[9]] > cb)
1399  if (p[pixel[10]] > cb)
1400  if (p[pixel[11]] > cb)
1401  if (p[pixel[12]] > cb)
1402  if (p[pixel[13]] > cb)
1403  if (p[pixel[14]] > cb)
1404  if (p[pixel[15]] > cb)
1405  {}
1406  else if (p[pixel[6]] > cb)
1407  if (p[pixel[7]] > cb)
1408  {}
1409  else {
1410  continue;
1411  }
1412  else {
1413  continue;
1414  }
1415  else if (p[pixel[5]] > cb)
1416  if (p[pixel[6]] > cb)
1417  if (p[pixel[7]] > cb)
1418  {}
1419  else {
1420  continue;
1421  }
1422  else {
1423  continue;
1424  }
1425  else {
1426  continue;
1427  }
1428  else if (p[pixel[4]] > cb)
1429  if (p[pixel[5]] > cb)
1430  if (p[pixel[6]] > cb)
1431  if (p[pixel[7]] > cb)
1432  {}
1433  else {
1434  continue;
1435  }
1436  else {
1437  continue;
1438  }
1439  else {
1440  continue;
1441  }
1442  else {
1443  continue;
1444  }
1445  else if (p[pixel[3]] > cb)
1446  if (p[pixel[4]] > cb)
1447  if (p[pixel[5]] > cb)
1448  if (p[pixel[6]] > cb)
1449  if (p[pixel[7]] > cb)
1450  {}
1451  else {
1452  continue;
1453  }
1454  else {
1455  continue;
1456  }
1457  else {
1458  continue;
1459  }
1460  else {
1461  continue;
1462  }
1463  else {
1464  continue;
1465  }
1466  else if (p[pixel[2]] > cb)
1467  if (p[pixel[3]] > cb)
1468  if (p[pixel[4]] > cb)
1469  if (p[pixel[5]] > cb)
1470  if (p[pixel[6]] > cb)
1471  if (p[pixel[7]] > cb)
1472  {}
1473  else {
1474  continue;
1475  }
1476  else {
1477  continue;
1478  }
1479  else {
1480  continue;
1481  }
1482  else {
1483  continue;
1484  }
1485  else {
1486  continue;
1487  }
1488  else {
1489  continue;
1490  }
1491  else {
1492  continue;
1493  }
1494  else {
1495  continue;
1496  }
1497  else if (p[pixel[8]] < c_b)
1498  if (p[pixel[7]] < c_b)
1499  if (p[pixel[9]] < c_b)
1500  if (p[pixel[6]] < c_b)
1501  if (p[pixel[5]] < c_b)
1502  if (p[pixel[4]] < c_b)
1503  if (p[pixel[3]] < c_b)
1504  if (p[pixel[2]] < c_b)
1505  {}
1506  else if (p[pixel[10]] < c_b)
1507  if (p[pixel[11]] < c_b)
1508  {}
1509  else {
1510  continue;
1511  }
1512  else {
1513  continue;
1514  }
1515  else if (p[pixel[10]] < c_b)
1516  if (p[pixel[11]] < c_b)
1517  if (p[pixel[12]] < c_b)
1518  {}
1519  else {
1520  continue;
1521  }
1522  else {
1523  continue;
1524  }
1525  else {
1526  continue;
1527  }
1528  else if (p[pixel[10]] < c_b)
1529  if (p[pixel[11]] < c_b)
1530  if (p[pixel[12]] < c_b)
1531  if (p[pixel[13]] < c_b)
1532  {}
1533  else {
1534  continue;
1535  }
1536  else {
1537  continue;
1538  }
1539  else {
1540  continue;
1541  }
1542  else {
1543  continue;
1544  }
1545  else if (p[pixel[10]] < c_b)
1546  if (p[pixel[11]] < c_b)
1547  if (p[pixel[12]] < c_b)
1548  if (p[pixel[13]] < c_b)
1549  if (p[pixel[14]] < c_b)
1550  {}
1551  else {
1552  continue;
1553  }
1554  else {
1555  continue;
1556  }
1557  else {
1558  continue;
1559  }
1560  else {
1561  continue;
1562  }
1563  else {
1564  continue;
1565  }
1566  else if (p[pixel[10]] < c_b)
1567  if (p[pixel[11]] < c_b)
1568  if (p[pixel[12]] < c_b)
1569  if (p[pixel[13]] < c_b)
1570  if (p[pixel[14]] < c_b)
1571  if (p[pixel[15]] < c_b)
1572  {}
1573  else {
1574  continue;
1575  }
1576  else {
1577  continue;
1578  }
1579  else {
1580  continue;
1581  }
1582  else {
1583  continue;
1584  }
1585  else {
1586  continue;
1587  }
1588  else {
1589  continue;
1590  }
1591  else {
1592  continue;
1593  }
1594  else {
1595  continue;
1596  }
1597  else {
1598  continue;
1599  }
1600  else if (p[pixel[8]] > cb)
1601  if (p[pixel[9]] > cb)
1602  if (p[pixel[10]] > cb)
1603  if (p[pixel[11]] > cb)
1604  if (p[pixel[12]] > cb)
1605  if (p[pixel[13]] > cb)
1606  if (p[pixel[14]] > cb)
1607  if (p[pixel[15]] > cb)
1608  {}
1609  else if (p[pixel[6]] > cb)
1610  if (p[pixel[7]] > cb)
1611  {}
1612  else {
1613  continue;
1614  }
1615  else {
1616  continue;
1617  }
1618  else if (p[pixel[5]] > cb)
1619  if (p[pixel[6]] > cb)
1620  if (p[pixel[7]] > cb)
1621  {}
1622  else {
1623  continue;
1624  }
1625  else {
1626  continue;
1627  }
1628  else {
1629  continue;
1630  }
1631  else if (p[pixel[4]] > cb)
1632  if (p[pixel[5]] > cb)
1633  if (p[pixel[6]] > cb)
1634  if (p[pixel[7]] > cb)
1635  {}
1636  else {
1637  continue;
1638  }
1639  else {
1640  continue;
1641  }
1642  else {
1643  continue;
1644  }
1645  else {
1646  continue;
1647  }
1648  else if (p[pixel[3]] > cb)
1649  if (p[pixel[4]] > cb)
1650  if (p[pixel[5]] > cb)
1651  if (p[pixel[6]] > cb)
1652  if (p[pixel[7]] > cb)
1653  {}
1654  else {
1655  continue;
1656  }
1657  else {
1658  continue;
1659  }
1660  else {
1661  continue;
1662  }
1663  else {
1664  continue;
1665  }
1666  else {
1667  continue;
1668  }
1669  else if (p[pixel[2]] > cb)
1670  if (p[pixel[3]] > cb)
1671  if (p[pixel[4]] > cb)
1672  if (p[pixel[5]] > cb)
1673  if (p[pixel[6]] > cb)
1674  if (p[pixel[7]] > cb)
1675  {}
1676  else {
1677  continue;
1678  }
1679  else {
1680  continue;
1681  }
1682  else {
1683  continue;
1684  }
1685  else {
1686  continue;
1687  }
1688  else {
1689  continue;
1690  }
1691  else {
1692  continue;
1693  }
1694  else {
1695  continue;
1696  }
1697  else {
1698  continue;
1699  }
1700  else if (p[pixel[8]] < c_b)
1701  if (p[pixel[7]] < c_b)
1702  if (p[pixel[9]] < c_b)
1703  if (p[pixel[10]] < c_b)
1704  if (p[pixel[6]] < c_b)
1705  if (p[pixel[5]] < c_b)
1706  if (p[pixel[4]] < c_b)
1707  if (p[pixel[3]] < c_b)
1708  if (p[pixel[2]] < c_b)
1709  {}
1710  else if (p[pixel[11]] < c_b)
1711  {}
1712  else {
1713  continue;
1714  }
1715  else if (p[pixel[11]] < c_b)
1716  if (p[pixel[12]] < c_b)
1717  {}
1718  else {
1719  continue;
1720  }
1721  else {
1722  continue;
1723  }
1724  else if (p[pixel[11]] < c_b)
1725  if (p[pixel[12]] < c_b)
1726  if (p[pixel[13]] < c_b)
1727  {}
1728  else {
1729  continue;
1730  }
1731  else {
1732  continue;
1733  }
1734  else {
1735  continue;
1736  }
1737  else if (p[pixel[11]] < c_b)
1738  if (p[pixel[12]] < c_b)
1739  if (p[pixel[13]] < c_b)
1740  if (p[pixel[14]] < c_b)
1741  {}
1742  else {
1743  continue;
1744  }
1745  else {
1746  continue;
1747  }
1748  else {
1749  continue;
1750  }
1751  else {
1752  continue;
1753  }
1754  else if (p[pixel[11]] < c_b)
1755  if (p[pixel[12]] < c_b)
1756  if (p[pixel[13]] < c_b)
1757  if (p[pixel[14]] < c_b)
1758  if (p[pixel[15]] < c_b)
1759  {}
1760  else {
1761  continue;
1762  }
1763  else {
1764  continue;
1765  }
1766  else {
1767  continue;
1768  }
1769  else {
1770  continue;
1771  }
1772  else {
1773  continue;
1774  }
1775  else {
1776  continue;
1777  }
1778  else {
1779  continue;
1780  }
1781  else {
1782  continue;
1783  }
1784  else {
1785  continue;
1786  }
1787  else if (p[pixel[0]] < c_b)
1788  if (p[pixel[1]] > cb)
1789  if (p[pixel[8]] > cb)
1790  if (p[pixel[7]] > cb)
1791  if (p[pixel[9]] > cb)
1792  if (p[pixel[6]] > cb)
1793  if (p[pixel[5]] > cb)
1794  if (p[pixel[4]] > cb)
1795  if (p[pixel[3]] > cb)
1796  if (p[pixel[2]] > cb)
1797  {}
1798  else if (p[pixel[10]] > cb)
1799  if (p[pixel[11]] > cb)
1800  {}
1801  else {
1802  continue;
1803  }
1804  else {
1805  continue;
1806  }
1807  else if (p[pixel[10]] > cb)
1808  if (p[pixel[11]] > cb)
1809  if (p[pixel[12]] > cb)
1810  {}
1811  else {
1812  continue;
1813  }
1814  else {
1815  continue;
1816  }
1817  else {
1818  continue;
1819  }
1820  else if (p[pixel[10]] > cb)
1821  if (p[pixel[11]] > cb)
1822  if (p[pixel[12]] > cb)
1823  if (p[pixel[13]] > cb)
1824  {}
1825  else {
1826  continue;
1827  }
1828  else {
1829  continue;
1830  }
1831  else {
1832  continue;
1833  }
1834  else {
1835  continue;
1836  }
1837  else if (p[pixel[10]] > cb)
1838  if (p[pixel[11]] > cb)
1839  if (p[pixel[12]] > cb)
1840  if (p[pixel[13]] > cb)
1841  if (p[pixel[14]] > cb)
1842  {}
1843  else {
1844  continue;
1845  }
1846  else {
1847  continue;
1848  }
1849  else {
1850  continue;
1851  }
1852  else {
1853  continue;
1854  }
1855  else {
1856  continue;
1857  }
1858  else if (p[pixel[10]] > cb)
1859  if (p[pixel[11]] > cb)
1860  if (p[pixel[12]] > cb)
1861  if (p[pixel[13]] > cb)
1862  if (p[pixel[14]] > cb)
1863  if (p[pixel[15]] > cb)
1864  {}
1865  else {
1866  continue;
1867  }
1868  else {
1869  continue;
1870  }
1871  else {
1872  continue;
1873  }
1874  else {
1875  continue;
1876  }
1877  else {
1878  continue;
1879  }
1880  else {
1881  continue;
1882  }
1883  else {
1884  continue;
1885  }
1886  else {
1887  continue;
1888  }
1889  else if (p[pixel[8]] < c_b)
1890  if (p[pixel[9]] < c_b)
1891  if (p[pixel[10]] < c_b)
1892  if (p[pixel[11]] < c_b)
1893  if (p[pixel[12]] < c_b)
1894  if (p[pixel[13]] < c_b)
1895  if (p[pixel[14]] < c_b)
1896  if (p[pixel[15]] < c_b)
1897  {}
1898  else if (p[pixel[6]] < c_b)
1899  if (p[pixel[7]] < c_b)
1900  {}
1901  else {
1902  continue;
1903  }
1904  else {
1905  continue;
1906  }
1907  else if (p[pixel[5]] < c_b)
1908  if (p[pixel[6]] < c_b)
1909  if (p[pixel[7]] < c_b)
1910  {}
1911  else {
1912  continue;
1913  }
1914  else {
1915  continue;
1916  }
1917  else {
1918  continue;
1919  }
1920  else if (p[pixel[4]] < c_b)
1921  if (p[pixel[5]] < c_b)
1922  if (p[pixel[6]] < c_b)
1923  if (p[pixel[7]] < c_b)
1924  {}
1925  else {
1926  continue;
1927  }
1928  else {
1929  continue;
1930  }
1931  else {
1932  continue;
1933  }
1934  else {
1935  continue;
1936  }
1937  else if (p[pixel[3]] < c_b)
1938  if (p[pixel[4]] < c_b)
1939  if (p[pixel[5]] < c_b)
1940  if (p[pixel[6]] < c_b)
1941  if (p[pixel[7]] < c_b)
1942  {}
1943  else {
1944  continue;
1945  }
1946  else {
1947  continue;
1948  }
1949  else {
1950  continue;
1951  }
1952  else {
1953  continue;
1954  }
1955  else {
1956  continue;
1957  }
1958  else if (p[pixel[2]] < c_b)
1959  if (p[pixel[3]] < c_b)
1960  if (p[pixel[4]] < c_b)
1961  if (p[pixel[5]] < c_b)
1962  if (p[pixel[6]] < c_b)
1963  if (p[pixel[7]] < c_b)
1964  {}
1965  else {
1966  continue;
1967  }
1968  else {
1969  continue;
1970  }
1971  else {
1972  continue;
1973  }
1974  else {
1975  continue;
1976  }
1977  else {
1978  continue;
1979  }
1980  else {
1981  continue;
1982  }
1983  else {
1984  continue;
1985  }
1986  else {
1987  continue;
1988  }
1989  else {
1990  continue;
1991  }
1992  else if (p[pixel[1]] < c_b)
1993  if (p[pixel[2]] > cb)
1994  if (p[pixel[9]] > cb)
1995  if (p[pixel[7]] > cb)
1996  if (p[pixel[8]] > cb)
1997  if (p[pixel[10]] > cb)
1998  if (p[pixel[6]] > cb)
1999  if (p[pixel[5]] > cb)
2000  if (p[pixel[4]] > cb)
2001  if (p[pixel[3]] > cb)
2002  {}
2003  else if (p[pixel[11]] > cb)
2004  if (p[pixel[12]] > cb)
2005  {}
2006  else {
2007  continue;
2008  }
2009  else {
2010  continue;
2011  }
2012  else if (p[pixel[11]] > cb)
2013  if (p[pixel[12]] > cb)
2014  if (p[pixel[13]] > cb)
2015  {}
2016  else {
2017  continue;
2018  }
2019  else {
2020  continue;
2021  }
2022  else {
2023  continue;
2024  }
2025  else if (p[pixel[11]] > cb)
2026  if (p[pixel[12]] > cb)
2027  if (p[pixel[13]] > cb)
2028  if (p[pixel[14]] > cb)
2029  {}
2030  else {
2031  continue;
2032  }
2033  else {
2034  continue;
2035  }
2036  else {
2037  continue;
2038  }
2039  else {
2040  continue;
2041  }
2042  else if (p[pixel[11]] > cb)
2043  if (p[pixel[12]] > cb)
2044  if (p[pixel[13]] > cb)
2045  if (p[pixel[14]] > cb)
2046  if (p[pixel[15]] > cb)
2047  {}
2048  else {
2049  continue;
2050  }
2051  else {
2052  continue;
2053  }
2054  else {
2055  continue;
2056  }
2057  else {
2058  continue;
2059  }
2060  else {
2061  continue;
2062  }
2063  else {
2064  continue;
2065  }
2066  else {
2067  continue;
2068  }
2069  else {
2070  continue;
2071  }
2072  else if (p[pixel[9]] < c_b)
2073  if (p[pixel[10]] < c_b)
2074  if (p[pixel[11]] < c_b)
2075  if (p[pixel[12]] < c_b)
2076  if (p[pixel[13]] < c_b)
2077  if (p[pixel[14]] < c_b)
2078  if (p[pixel[15]] < c_b)
2079  {}
2080  else if (p[pixel[6]] < c_b)
2081  if (p[pixel[7]] < c_b)
2082  if (p[pixel[8]] < c_b)
2083  {}
2084  else {
2085  continue;
2086  }
2087  else {
2088  continue;
2089  }
2090  else {
2091  continue;
2092  }
2093  else if (p[pixel[5]] < c_b)
2094  if (p[pixel[6]] < c_b)
2095  if (p[pixel[7]] < c_b)
2096  if (p[pixel[8]] < c_b)
2097  {}
2098  else {
2099  continue;
2100  }
2101  else {
2102  continue;
2103  }
2104  else {
2105  continue;
2106  }
2107  else {
2108  continue;
2109  }
2110  else if (p[pixel[4]] < c_b)
2111  if (p[pixel[5]] < c_b)
2112  if (p[pixel[6]] < c_b)
2113  if (p[pixel[7]] < c_b)
2114  if (p[pixel[8]] < c_b)
2115  {}
2116  else {
2117  continue;
2118  }
2119  else {
2120  continue;
2121  }
2122  else {
2123  continue;
2124  }
2125  else {
2126  continue;
2127  }
2128  else {
2129  continue;
2130  }
2131  else if (p[pixel[3]] < c_b)
2132  if (p[pixel[4]] < c_b)
2133  if (p[pixel[5]] < c_b)
2134  if (p[pixel[6]] < c_b)
2135  if (p[pixel[7]] < c_b)
2136  if (p[pixel[8]] < c_b)
2137  {}
2138  else {
2139  continue;
2140  }
2141  else {
2142  continue;
2143  }
2144  else {
2145  continue;
2146  }
2147  else {
2148  continue;
2149  }
2150  else {
2151  continue;
2152  }
2153  else {
2154  continue;
2155  }
2156  else {
2157  continue;
2158  }
2159  else {
2160  continue;
2161  }
2162  else {
2163  continue;
2164  }
2165  else if (p[pixel[2]] < c_b)
2166  if (p[pixel[3]] > cb)
2167  if (p[pixel[10]] > cb)
2168  if (p[pixel[7]] > cb)
2169  if (p[pixel[8]] > cb)
2170  if (p[pixel[9]] > cb)
2171  if (p[pixel[11]] > cb)
2172  if (p[pixel[6]] > cb)
2173  if (p[pixel[5]] > cb)
2174  if (p[pixel[4]] > cb)
2175  {}
2176  else if (p[pixel[12]] > cb)
2177  if (p[pixel[13]] > cb)
2178  {}
2179  else {
2180  continue;
2181  }
2182  else {
2183  continue;
2184  }
2185  else if (p[pixel[12]] > cb)
2186  if (p[pixel[13]] > cb)
2187  if (p[pixel[14]] > cb)
2188  {}
2189  else {
2190  continue;
2191  }
2192  else {
2193  continue;
2194  }
2195  else {
2196  continue;
2197  }
2198  else if (p[pixel[12]] > cb)
2199  if (p[pixel[13]] > cb)
2200  if (p[pixel[14]] > cb)
2201  if (p[pixel[15]] > cb)
2202  {}
2203  else {
2204  continue;
2205  }
2206  else {
2207  continue;
2208  }
2209  else {
2210  continue;
2211  }
2212  else {
2213  continue;
2214  }
2215  else {
2216  continue;
2217  }
2218  else {
2219  continue;
2220  }
2221  else {
2222  continue;
2223  }
2224  else {
2225  continue;
2226  }
2227  else if (p[pixel[10]] < c_b)
2228  if (p[pixel[11]] < c_b)
2229  if (p[pixel[12]] < c_b)
2230  if (p[pixel[13]] < c_b)
2231  if (p[pixel[14]] < c_b)
2232  if (p[pixel[15]] < c_b)
2233  {}
2234  else if (p[pixel[6]] < c_b)
2235  if (p[pixel[7]] < c_b)
2236  if (p[pixel[8]] < c_b)
2237  if (p[pixel[9]] < c_b)
2238  {}
2239  else {
2240  continue;
2241  }
2242  else {
2243  continue;
2244  }
2245  else {
2246  continue;
2247  }
2248  else {
2249  continue;
2250  }
2251  else if (p[pixel[5]] < c_b)
2252  if (p[pixel[6]] < c_b)
2253  if (p[pixel[7]] < c_b)
2254  if (p[pixel[8]] < c_b)
2255  if (p[pixel[9]] < c_b)
2256  {}
2257  else {
2258  continue;
2259  }
2260  else {
2261  continue;
2262  }
2263  else {
2264  continue;
2265  }
2266  else {
2267  continue;
2268  }
2269  else {
2270  continue;
2271  }
2272  else if (p[pixel[4]] < c_b)
2273  if (p[pixel[5]] < c_b)
2274  if (p[pixel[6]] < c_b)
2275  if (p[pixel[7]] < c_b)
2276  if (p[pixel[8]] < c_b)
2277  if (p[pixel[9]] < c_b)
2278  {}
2279  else {
2280  continue;
2281  }
2282  else {
2283  continue;
2284  }
2285  else {
2286  continue;
2287  }
2288  else {
2289  continue;
2290  }
2291  else {
2292  continue;
2293  }
2294  else {
2295  continue;
2296  }
2297  else {
2298  continue;
2299  }
2300  else {
2301  continue;
2302  }
2303  else {
2304  continue;
2305  }
2306  else if (p[pixel[3]] < c_b)
2307  if (p[pixel[4]] > cb)
2308  if (p[pixel[13]] > cb)
2309  if (p[pixel[7]] > cb)
2310  if (p[pixel[8]] > cb)
2311  if (p[pixel[9]] > cb)
2312  if (p[pixel[10]] > cb)
2313  if (p[pixel[11]] > cb)
2314  if (p[pixel[12]] > cb)
2315  if (p[pixel[6]] > cb)
2316  if (p[pixel[5]] > cb)
2317  {}
2318  else if (p[pixel[14]] > cb)
2319  {}
2320  else {
2321  continue;
2322  }
2323  else if (p[pixel[14]] > cb)
2324  if (p[pixel[15]] > cb)
2325  {}
2326  else {
2327  continue;
2328  }
2329  else {
2330  continue;
2331  }
2332  else {
2333  continue;
2334  }
2335  else {
2336  continue;
2337  }
2338  else {
2339  continue;
2340  }
2341  else {
2342  continue;
2343  }
2344  else {
2345  continue;
2346  }
2347  else {
2348  continue;
2349  }
2350  else if (p[pixel[13]] < c_b)
2351  if (p[pixel[11]] > cb)
2352  if (p[pixel[5]] > cb)
2353  if (p[pixel[6]] > cb)
2354  if (p[pixel[7]] > cb)
2355  if (p[pixel[8]] > cb)
2356  if (p[pixel[9]] > cb)
2357  if (p[pixel[10]] > cb)
2358  if (p[pixel[12]] > cb)
2359  {}
2360  else {
2361  continue;
2362  }
2363  else {
2364  continue;
2365  }
2366  else {
2367  continue;
2368  }
2369  else {
2370  continue;
2371  }
2372  else {
2373  continue;
2374  }
2375  else {
2376  continue;
2377  }
2378  else {
2379  continue;
2380  }
2381  else if (p[pixel[11]] < c_b)
2382  if (p[pixel[12]] < c_b)
2383  if (p[pixel[14]] < c_b)
2384  if (p[pixel[15]] < c_b)
2385  {}
2386  else if (p[pixel[6]] < c_b)
2387  if (p[pixel[7]] < c_b)
2388  if (p[pixel[8]] < c_b)
2389  if (p[pixel[9]] < c_b)
2390  if (p[pixel[10]] < c_b)
2391  {}
2392  else {
2393  continue;
2394  }
2395  else {
2396  continue;
2397  }
2398  else {
2399  continue;
2400  }
2401  else {
2402  continue;
2403  }
2404  else {
2405  continue;
2406  }
2407  else if (p[pixel[5]] < c_b)
2408  if (p[pixel[6]] < c_b)
2409  if (p[pixel[7]] < c_b)
2410  if (p[pixel[8]] < c_b)
2411  if (p[pixel[9]] < c_b)
2412  if (p[pixel[10]] < c_b)
2413  {}
2414  else {
2415  continue;
2416  }
2417  else {
2418  continue;
2419  }
2420  else {
2421  continue;
2422  }
2423  else {
2424  continue;
2425  }
2426  else {
2427  continue;
2428  }
2429  else {
2430  continue;
2431  }
2432  else {
2433  continue;
2434  }
2435  else {
2436  continue;
2437  }
2438  else if (p[pixel[5]] > cb)
2439  if (p[pixel[6]] > cb)
2440  if (p[pixel[7]] > cb)
2441  if (p[pixel[8]] > cb)
2442  if (p[pixel[9]] > cb)
2443  if (p[pixel[10]] > cb)
2444  if (p[pixel[11]] > cb)
2445  if (p[pixel[12]] > cb)
2446  {}
2447  else {
2448  continue;
2449  }
2450  else {
2451  continue;
2452  }
2453  else {
2454  continue;
2455  }
2456  else {
2457  continue;
2458  }
2459  else {
2460  continue;
2461  }
2462  else {
2463  continue;
2464  }
2465  else {
2466  continue;
2467  }
2468  else {
2469  continue;
2470  }
2471  else if (p[pixel[4]] < c_b)
2472  if (p[pixel[5]] > cb)
2473  if (p[pixel[14]] > cb)
2474  if (p[pixel[7]] > cb)
2475  if (p[pixel[8]] > cb)
2476  if (p[pixel[9]] > cb)
2477  if (p[pixel[10]] > cb)
2478  if (p[pixel[11]] > cb)
2479  if (p[pixel[12]] > cb)
2480  if (p[pixel[13]] > cb)
2481  if (p[pixel[6]] > cb)
2482  {}
2483  else if (p[pixel[15]] > cb)
2484  {}
2485  else {
2486  continue;
2487  }
2488  else {
2489  continue;
2490  }
2491  else {
2492  continue;
2493  }
2494  else {
2495  continue;
2496  }
2497  else {
2498  continue;
2499  }
2500  else {
2501  continue;
2502  }
2503  else {
2504  continue;
2505  }
2506  else {
2507  continue;
2508  }
2509  else if (p[pixel[14]] < c_b)
2510  if (p[pixel[12]] > cb)
2511  if (p[pixel[6]] > cb)
2512  if (p[pixel[7]] > cb)
2513  if (p[pixel[8]] > cb)
2514  if (p[pixel[9]] > cb)
2515  if (p[pixel[10]] > cb)
2516  if (p[pixel[11]] > cb)
2517  if (p[pixel[13]] > cb)
2518  {}
2519  else {
2520  continue;
2521  }
2522  else {
2523  continue;
2524  }
2525  else {
2526  continue;
2527  }
2528  else {
2529  continue;
2530  }
2531  else {
2532  continue;
2533  }
2534  else {
2535  continue;
2536  }
2537  else {
2538  continue;
2539  }
2540  else if (p[pixel[12]] < c_b)
2541  if (p[pixel[13]] < c_b)
2542  if (p[pixel[15]] < c_b)
2543  {}
2544  else if (p[pixel[6]] < c_b)
2545  if (p[pixel[7]] < c_b)
2546  if (p[pixel[8]] < c_b)
2547  if (p[pixel[9]] < c_b)
2548  if (p[pixel[10]] < c_b)
2549  if (p[pixel[11]] < c_b)
2550  {}
2551  else {
2552  continue;
2553  }
2554  else {
2555  continue;
2556  }
2557  else {
2558  continue;
2559  }
2560  else {
2561  continue;
2562  }
2563  else {
2564  continue;
2565  }
2566  else {
2567  continue;
2568  }
2569  else {
2570  continue;
2571  }
2572  else {
2573  continue;
2574  }
2575  else if (p[pixel[6]] > cb)
2576  if (p[pixel[7]] > cb)
2577  if (p[pixel[8]] > cb)
2578  if (p[pixel[9]] > cb)
2579  if (p[pixel[10]] > cb)
2580  if (p[pixel[11]] > cb)
2581  if (p[pixel[12]] > cb)
2582  if (p[pixel[13]] > cb)
2583  {}
2584  else {
2585  continue;
2586  }
2587  else {
2588  continue;
2589  }
2590  else {
2591  continue;
2592  }
2593  else {
2594  continue;
2595  }
2596  else {
2597  continue;
2598  }
2599  else {
2600  continue;
2601  }
2602  else {
2603  continue;
2604  }
2605  else {
2606  continue;
2607  }
2608  else if (p[pixel[5]] < c_b)
2609  if (p[pixel[6]] > cb)
2610  if (p[pixel[15]] < c_b)
2611  if (p[pixel[13]] > cb)
2612  if (p[pixel[7]] > cb)
2613  if (p[pixel[8]] > cb)
2614  if (p[pixel[9]] > cb)
2615  if (p[pixel[10]] > cb)
2616  if (p[pixel[11]] > cb)
2617  if (p[pixel[12]] > cb)
2618  if (p[pixel[14]] > cb)
2619  {}
2620  else {
2621  continue;
2622  }
2623  else {
2624  continue;
2625  }
2626  else {
2627  continue;
2628  }
2629  else {
2630  continue;
2631  }
2632  else {
2633  continue;
2634  }
2635  else {
2636  continue;
2637  }
2638  else {
2639  continue;
2640  }
2641  else if (p[pixel[13]] < c_b)
2642  if (p[pixel[14]] < c_b)
2643  {}
2644  else {
2645  continue;
2646  }
2647  else {
2648  continue;
2649  }
2650  else if (p[pixel[7]] > cb)
2651  if (p[pixel[8]] > cb)
2652  if (p[pixel[9]] > cb)
2653  if (p[pixel[10]] > cb)
2654  if (p[pixel[11]] > cb)
2655  if (p[pixel[12]] > cb)
2656  if (p[pixel[13]] > cb)
2657  if (p[pixel[14]] > cb)
2658  {}
2659  else {
2660  continue;
2661  }
2662  else {
2663  continue;
2664  }
2665  else {
2666  continue;
2667  }
2668  else {
2669  continue;
2670  }
2671  else {
2672  continue;
2673  }
2674  else {
2675  continue;
2676  }
2677  else {
2678  continue;
2679  }
2680  else {
2681  continue;
2682  }
2683  else if (p[pixel[6]] < c_b)
2684  if (p[pixel[7]] > cb)
2685  if (p[pixel[14]] > cb)
2686  if (p[pixel[8]] > cb)
2687  if (p[pixel[9]] > cb)
2688  if (p[pixel[10]] > cb)
2689  if (p[pixel[11]] > cb)
2690  if (p[pixel[12]] > cb)
2691  if (p[pixel[13]] > cb)
2692  if (p[pixel[15]] > cb)
2693  {}
2694  else {
2695  continue;
2696  }
2697  else {
2698  continue;
2699  }
2700  else {
2701  continue;
2702  }
2703  else {
2704  continue;
2705  }
2706  else {
2707  continue;
2708  }
2709  else {
2710  continue;
2711  }
2712  else {
2713  continue;
2714  }
2715  else if (p[pixel[14]] < c_b)
2716  if (p[pixel[15]] < c_b)
2717  {}
2718  else {
2719  continue;
2720  }
2721  else {
2722  continue;
2723  }
2724  else if (p[pixel[7]] < c_b)
2725  if (p[pixel[8]] < c_b)
2726  {}
2727  else if (p[pixel[15]] < c_b)
2728  {}
2729  else {
2730  continue;
2731  }
2732  else if (p[pixel[14]] < c_b)
2733  if (p[pixel[15]] < c_b)
2734  {}
2735  else {
2736  continue;
2737  }
2738  else {
2739  continue;
2740  }
2741  else if (p[pixel[13]] > cb)
2742  if (p[pixel[7]] > cb)
2743  if (p[pixel[8]] > cb)
2744  if (p[pixel[9]] > cb)
2745  if (p[pixel[10]] > cb)
2746  if (p[pixel[11]] > cb)
2747  if (p[pixel[12]] > cb)
2748  if (p[pixel[14]] > cb)
2749  if (p[pixel[15]] > cb)
2750  {}
2751  else {
2752  continue;
2753  }
2754  else {
2755  continue;
2756  }
2757  else {
2758  continue;
2759  }
2760  else {
2761  continue;
2762  }
2763  else {
2764  continue;
2765  }
2766  else {
2767  continue;
2768  }
2769  else {
2770  continue;
2771  }
2772  else {
2773  continue;
2774  }
2775  else if (p[pixel[13]] < c_b)
2776  if (p[pixel[14]] < c_b)
2777  if (p[pixel[15]] < c_b)
2778  {}
2779  else {
2780  continue;
2781  }
2782  else {
2783  continue;
2784  }
2785  else {
2786  continue;
2787  }
2788  else if (p[pixel[12]] > cb)
2789  if (p[pixel[7]] > cb)
2790  if (p[pixel[8]] > cb)
2791  if (p[pixel[9]] > cb)
2792  if (p[pixel[10]] > cb)
2793  if (p[pixel[11]] > cb)
2794  if (p[pixel[13]] > cb)
2795  if (p[pixel[14]] > cb)
2796  if (p[pixel[6]] > cb)
2797  {}
2798  else if (p[pixel[15]] > cb)
2799  {}
2800  else {
2801  continue;
2802  }
2803  else {
2804  continue;
2805  }
2806  else {
2807  continue;
2808  }
2809  else {
2810  continue;
2811  }
2812  else {
2813  continue;
2814  }
2815  else {
2816  continue;
2817  }
2818  else {
2819  continue;
2820  }
2821  else {
2822  continue;
2823  }
2824  else if (p[pixel[12]] < c_b)
2825  if (p[pixel[13]] < c_b)
2826  if (p[pixel[14]] < c_b)
2827  if (p[pixel[15]] < c_b)
2828  {}
2829  else if (p[pixel[6]] < c_b)
2830  if (p[pixel[7]] < c_b)
2831  if (p[pixel[8]] < c_b)
2832  if (p[pixel[9]] < c_b)
2833  if (p[pixel[10]] < c_b)
2834  if (p[pixel[11]] < c_b)
2835  {}
2836  else {
2837  continue;
2838  }
2839  else {
2840  continue;
2841  }
2842  else {
2843  continue;
2844  }
2845  else {
2846  continue;
2847  }
2848  else {
2849  continue;
2850  }
2851  else {
2852  continue;
2853  }
2854  else {
2855  continue;
2856  }
2857  else {
2858  continue;
2859  }
2860  else {
2861  continue;
2862  }
2863  else if (p[pixel[11]] > cb)
2864  if (p[pixel[7]] > cb)
2865  if (p[pixel[8]] > cb)
2866  if (p[pixel[9]] > cb)
2867  if (p[pixel[10]] > cb)
2868  if (p[pixel[12]] > cb)
2869  if (p[pixel[13]] > cb)
2870  if (p[pixel[6]] > cb)
2871  if (p[pixel[5]] > cb)
2872  {}
2873  else if (p[pixel[14]] > cb)
2874  {}
2875  else {
2876  continue;
2877  }
2878  else if (p[pixel[14]] > cb)
2879  if (p[pixel[15]] > cb)
2880  {}
2881  else {
2882  continue;
2883  }
2884  else {
2885  continue;
2886  }
2887  else {
2888  continue;
2889  }
2890  else {
2891  continue;
2892  }
2893  else {
2894  continue;
2895  }
2896  else {
2897  continue;
2898  }
2899  else {
2900  continue;
2901  }
2902  else {
2903  continue;
2904  }
2905  else if (p[pixel[11]] < c_b)
2906  if (p[pixel[12]] < c_b)
2907  if (p[pixel[13]] < c_b)
2908  if (p[pixel[14]] < c_b)
2909  if (p[pixel[15]] < c_b)
2910  {}
2911  else if (p[pixel[6]] < c_b)
2912  if (p[pixel[7]] < c_b)
2913  if (p[pixel[8]] < c_b)
2914  if (p[pixel[9]] < c_b)
2915  if (p[pixel[10]] < c_b)
2916  {}
2917  else {
2918  continue;
2919  }
2920  else {
2921  continue;
2922  }
2923  else {
2924  continue;
2925  }
2926  else {
2927  continue;
2928  }
2929  else {
2930  continue;
2931  }
2932  else if (p[pixel[5]] < c_b)
2933  if (p[pixel[6]] < c_b)
2934  if (p[pixel[7]] < c_b)
2935  if (p[pixel[8]] < c_b)
2936  if (p[pixel[9]] < c_b)
2937  if (p[pixel[10]] < c_b)
2938  {}
2939  else {
2940  continue;
2941  }
2942  else {
2943  continue;
2944  }
2945  else {
2946  continue;
2947  }
2948  else {
2949  continue;
2950  }
2951  else {
2952  continue;
2953  }
2954  else {
2955  continue;
2956  }
2957  else {
2958  continue;
2959  }
2960  else {
2961  continue;
2962  }
2963  else {
2964  continue;
2965  }
2966  else if (p[pixel[10]] > cb)
2967  if (p[pixel[7]] > cb)
2968  if (p[pixel[8]] > cb)
2969  if (p[pixel[9]] > cb)
2970  if (p[pixel[11]] > cb)
2971  if (p[pixel[12]] > cb)
2972  if (p[pixel[6]] > cb)
2973  if (p[pixel[5]] > cb)
2974  if (p[pixel[4]] > cb)
2975  {}
2976  else if (p[pixel[13]] > cb)
2977  {}
2978  else {
2979  continue;
2980  }
2981  else if (p[pixel[13]] > cb)
2982  if (p[pixel[14]] > cb)
2983  {}
2984  else {
2985  continue;
2986  }
2987  else {
2988  continue;
2989  }
2990  else if (p[pixel[13]] > cb)
2991  if (p[pixel[14]] > cb)
2992  if (p[pixel[15]] > cb)
2993  {}
2994  else {
2995  continue;
2996  }
2997  else {
2998  continue;
2999  }
3000  else {
3001  continue;
3002  }
3003  else {
3004  continue;
3005  }
3006  else {
3007  continue;
3008  }
3009  else {
3010  continue;
3011  }
3012  else {
3013  continue;
3014  }
3015  else {
3016  continue;
3017  }
3018  else if (p[pixel[10]] < c_b)
3019  if (p[pixel[11]] < c_b)
3020  if (p[pixel[12]] < c_b)
3021  if (p[pixel[13]] < c_b)
3022  if (p[pixel[14]] < c_b)
3023  if (p[pixel[15]] < c_b)
3024  {}
3025  else if (p[pixel[6]] < c_b)
3026  if (p[pixel[7]] < c_b)
3027  if (p[pixel[8]] < c_b)
3028  if (p[pixel[9]] < c_b)
3029  {}
3030  else {
3031  continue;
3032  }
3033  else {
3034  continue;
3035  }
3036  else {
3037  continue;
3038  }
3039  else {
3040  continue;
3041  }
3042  else if (p[pixel[5]] < c_b)
3043  if (p[pixel[6]] < c_b)
3044  if (p[pixel[7]] < c_b)
3045  if (p[pixel[8]] < c_b)
3046  if (p[pixel[9]] < c_b)
3047  {}
3048  else {
3049  continue;
3050  }
3051  else {
3052  continue;
3053  }
3054  else {
3055  continue;
3056  }
3057  else {
3058  continue;
3059  }
3060  else {
3061  continue;
3062  }
3063  else if (p[pixel[4]] < c_b)
3064  if (p[pixel[5]] < c_b)
3065  if (p[pixel[6]] < c_b)
3066  if (p[pixel[7]] < c_b)
3067  if (p[pixel[8]] < c_b)
3068  if (p[pixel[9]] < c_b)
3069  {}
3070  else {
3071  continue;
3072  }
3073  else {
3074  continue;
3075  }
3076  else {
3077  continue;
3078  }
3079  else {
3080  continue;
3081  }
3082  else {
3083  continue;
3084  }
3085  else {
3086  continue;
3087  }
3088  else {
3089  continue;
3090  }
3091  else {
3092  continue;
3093  }
3094  else {
3095  continue;
3096  }
3097  else if (p[pixel[9]] > cb)
3098  if (p[pixel[7]] > cb)
3099  if (p[pixel[8]] > cb)
3100  if (p[pixel[10]] > cb)
3101  if (p[pixel[11]] > cb)
3102  if (p[pixel[6]] > cb)
3103  if (p[pixel[5]] > cb)
3104  if (p[pixel[4]] > cb)
3105  if (p[pixel[3]] > cb)
3106  {}
3107  else if (p[pixel[12]] > cb)
3108  {}
3109  else {
3110  continue;
3111  }
3112  else if (p[pixel[12]] > cb)
3113  if (p[pixel[13]] > cb)
3114  {}
3115  else {
3116  continue;
3117  }
3118  else {
3119  continue;
3120  }
3121  else if (p[pixel[12]] > cb)
3122  if (p[pixel[13]] > cb)
3123  if (p[pixel[14]] > cb)
3124  {}
3125  else {
3126  continue;
3127  }
3128  else {
3129  continue;
3130  }
3131  else {
3132  continue;
3133  }
3134  else if (p[pixel[12]] > cb)
3135  if (p[pixel[13]] > cb)
3136  if (p[pixel[14]] > cb)
3137  if (p[pixel[15]] > cb)
3138  {}
3139  else {
3140  continue;
3141  }
3142  else {
3143  continue;
3144  }
3145  else {
3146  continue;
3147  }
3148  else {
3149  continue;
3150  }
3151  else {
3152  continue;
3153  }
3154  else {
3155  continue;
3156  }
3157  else {
3158  continue;
3159  }
3160  else {
3161  continue;
3162  }
3163  else if (p[pixel[9]] < c_b)
3164  if (p[pixel[10]] < c_b)
3165  if (p[pixel[11]] < c_b)
3166  if (p[pixel[12]] < c_b)
3167  if (p[pixel[13]] < c_b)
3168  if (p[pixel[14]] < c_b)
3169  if (p[pixel[15]] < c_b)
3170  {}
3171  else if (p[pixel[6]] < c_b)
3172  if (p[pixel[7]] < c_b)
3173  if (p[pixel[8]] < c_b)
3174  {}
3175  else {
3176  continue;
3177  }
3178  else {
3179  continue;
3180  }
3181  else {
3182  continue;
3183  }
3184  else if (p[pixel[5]] < c_b)
3185  if (p[pixel[6]] < c_b)
3186  if (p[pixel[7]] < c_b)
3187  if (p[pixel[8]] < c_b)
3188  {}
3189  else {
3190  continue;
3191  }
3192  else {
3193  continue;
3194  }
3195  else {
3196  continue;
3197  }
3198  else {
3199  continue;
3200  }
3201  else if (p[pixel[4]] < c_b)
3202  if (p[pixel[5]] < c_b)
3203  if (p[pixel[6]] < c_b)
3204  if (p[pixel[7]] < c_b)
3205  if (p[pixel[8]] < c_b)
3206  {}
3207  else {
3208  continue;
3209  }
3210  else {
3211  continue;
3212  }
3213  else {
3214  continue;
3215  }
3216  else {
3217  continue;
3218  }
3219  else {
3220  continue;
3221  }
3222  else if (p[pixel[3]] < c_b)
3223  if (p[pixel[4]] < c_b)
3224  if (p[pixel[5]] < c_b)
3225  if (p[pixel[6]] < c_b)
3226  if (p[pixel[7]] < c_b)
3227  if (p[pixel[8]] < c_b)
3228  {}
3229  else {
3230  continue;
3231  }
3232  else {
3233  continue;
3234  }
3235  else {
3236  continue;
3237  }
3238  else {
3239  continue;
3240  }
3241  else {
3242  continue;
3243  }
3244  else {
3245  continue;
3246  }
3247  else {
3248  continue;
3249  }
3250  else {
3251  continue;
3252  }
3253  else {
3254  continue;
3255  }
3256  else if (p[pixel[8]] > cb)
3257  if (p[pixel[7]] > cb)
3258  if (p[pixel[9]] > cb)
3259  if (p[pixel[10]] > cb)
3260  if (p[pixel[6]] > cb)
3261  if (p[pixel[5]] > cb)
3262  if (p[pixel[4]] > cb)
3263  if (p[pixel[3]] > cb)
3264  if (p[pixel[2]] > cb)
3265  {}
3266  else if (p[pixel[11]] > cb)
3267  {}
3268  else {
3269  continue;
3270  }
3271  else if (p[pixel[11]] > cb)
3272  if (p[pixel[12]] > cb)
3273  {}
3274  else {
3275  continue;
3276  }
3277  else {
3278  continue;
3279  }
3280  else if (p[pixel[11]] > cb)
3281  if (p[pixel[12]] > cb)
3282  if (p[pixel[13]] > cb)
3283  {}
3284  else {
3285  continue;
3286  }
3287  else {
3288  continue;
3289  }
3290  else {
3291  continue;
3292  }
3293  else if (p[pixel[11]] > cb)
3294  if (p[pixel[12]] > cb)
3295  if (p[pixel[13]] > cb)
3296  if (p[pixel[14]] > cb)
3297  {}
3298  else {
3299  continue;
3300  }
3301  else {
3302  continue;
3303  }
3304  else {
3305  continue;
3306  }
3307  else {
3308  continue;
3309  }
3310  else if (p[pixel[11]] > cb)
3311  if (p[pixel[12]] > cb)
3312  if (p[pixel[13]] > cb)
3313  if (p[pixel[14]] > cb)
3314  if (p[pixel[15]] > cb)
3315  {}
3316  else {
3317  continue;
3318  }
3319  else {
3320  continue;
3321  }
3322  else {
3323  continue;
3324  }
3325  else {
3326  continue;
3327  }
3328  else {
3329  continue;
3330  }
3331  else {
3332  continue;
3333  }
3334  else {
3335  continue;
3336  }
3337  else {
3338  continue;
3339  }
3340  else if (p[pixel[8]] < c_b)
3341  if (p[pixel[9]] < c_b)
3342  if (p[pixel[10]] < c_b)
3343  if (p[pixel[11]] < c_b)
3344  if (p[pixel[12]] < c_b)
3345  if (p[pixel[13]] < c_b)
3346  if (p[pixel[14]] < c_b)
3347  if (p[pixel[15]] < c_b)
3348  {}
3349  else if (p[pixel[6]] < c_b)
3350  if (p[pixel[7]] < c_b)
3351  {}
3352  else {
3353  continue;
3354  }
3355  else {
3356  continue;
3357  }
3358  else if (p[pixel[5]] < c_b)
3359  if (p[pixel[6]] < c_b)
3360  if (p[pixel[7]] < c_b)
3361  {}
3362  else {
3363  continue;
3364  }
3365  else {
3366  continue;
3367  }
3368  else {
3369  continue;
3370  }
3371  else if (p[pixel[4]] < c_b)
3372  if (p[pixel[5]] < c_b)
3373  if (p[pixel[6]] < c_b)
3374  if (p[pixel[7]] < c_b)
3375  {}
3376  else {
3377  continue;
3378  }
3379  else {
3380  continue;
3381  }
3382  else {
3383  continue;
3384  }
3385  else {
3386  continue;
3387  }
3388  else if (p[pixel[3]] < c_b)
3389  if (p[pixel[4]] < c_b)
3390  if (p[pixel[5]] < c_b)
3391  if (p[pixel[6]] < c_b)
3392  if (p[pixel[7]] < c_b)
3393  {}
3394  else {
3395  continue;
3396  }
3397  else {
3398  continue;
3399  }
3400  else {
3401  continue;
3402  }
3403  else {
3404  continue;
3405  }
3406  else {
3407  continue;
3408  }
3409  else if (p[pixel[2]] < c_b)
3410  if (p[pixel[3]] < c_b)
3411  if (p[pixel[4]] < c_b)
3412  if (p[pixel[5]] < c_b)
3413  if (p[pixel[6]] < c_b)
3414  if (p[pixel[7]] < c_b)
3415  {}
3416  else {
3417  continue;
3418  }
3419  else {
3420  continue;
3421  }
3422  else {
3423  continue;
3424  }
3425  else {
3426  continue;
3427  }
3428  else {
3429  continue;
3430  }
3431  else {
3432  continue;
3433  }
3434  else {
3435  continue;
3436  }
3437  else {
3438  continue;
3439  }
3440  else {
3441  continue;
3442  }
3443  else if (p[pixel[7]] > cb)
3444  if (p[pixel[8]] > cb)
3445  if (p[pixel[9]] > cb)
3446  if (p[pixel[6]] > cb)
3447  if (p[pixel[5]] > cb)
3448  if (p[pixel[4]] > cb)
3449  if (p[pixel[3]] > cb)
3450  if (p[pixel[2]] > cb)
3451  if (p[pixel[1]] > cb)
3452  {}
3453  else if (p[pixel[10]] > cb)
3454  {}
3455  else {
3456  continue;
3457  }
3458  else if (p[pixel[10]] > cb)
3459  if (p[pixel[11]] > cb)
3460  {}
3461  else {
3462  continue;
3463  }
3464  else {
3465  continue;
3466  }
3467  else if (p[pixel[10]] > cb)
3468  if (p[pixel[11]] > cb)
3469  if (p[pixel[12]] > cb)
3470  {}
3471  else {
3472  continue;
3473  }
3474  else {
3475  continue;
3476  }
3477  else {
3478  continue;
3479  }
3480  else if (p[pixel[10]] > cb)
3481  if (p[pixel[11]] > cb)
3482  if (p[pixel[12]] > cb)
3483  if (p[pixel[13]] > cb)
3484  {}
3485  else {
3486  continue;
3487  }
3488  else {
3489  continue;
3490  }
3491  else {
3492  continue;
3493  }
3494  else {
3495  continue;
3496  }
3497  else if (p[pixel[10]] > cb)
3498  if (p[pixel[11]] > cb)
3499  if (p[pixel[12]] > cb)
3500  if (p[pixel[13]] > cb)
3501  if (p[pixel[14]] > cb)
3502  {}
3503  else {
3504  continue;
3505  }
3506  else {
3507  continue;
3508  }
3509  else {
3510  continue;
3511  }
3512  else {
3513  continue;
3514  }
3515  else {
3516  continue;
3517  }
3518  else if (p[pixel[10]] > cb)
3519  if (p[pixel[11]] > cb)
3520  if (p[pixel[12]] > cb)
3521  if (p[pixel[13]] > cb)
3522  if (p[pixel[14]] > cb)
3523  if (p[pixel[15]] > cb)
3524  {}
3525  else {
3526  continue;
3527  }
3528  else {
3529  continue;
3530  }
3531  else {
3532  continue;
3533  }
3534  else {
3535  continue;
3536  }
3537  else {
3538  continue;
3539  }
3540  else {
3541  continue;
3542  }
3543  else {
3544  continue;
3545  }
3546  else {
3547  continue;
3548  }
3549  else if (p[pixel[7]] < c_b)
3550  if (p[pixel[8]] < c_b)
3551  if (p[pixel[9]] < c_b)
3552  if (p[pixel[6]] < c_b)
3553  if (p[pixel[5]] < c_b)
3554  if (p[pixel[4]] < c_b)
3555  if (p[pixel[3]] < c_b)
3556  if (p[pixel[2]] < c_b)
3557  if (p[pixel[1]] < c_b)
3558  {}
3559  else if (p[pixel[10]] < c_b)
3560  {}
3561  else {
3562  continue;
3563  }
3564  else if (p[pixel[10]] < c_b)
3565  if (p[pixel[11]] < c_b)
3566  {}
3567  else {
3568  continue;
3569  }
3570  else {
3571  continue;
3572  }
3573  else if (p[pixel[10]] < c_b)
3574  if (p[pixel[11]] < c_b)
3575  if (p[pixel[12]] < c_b)
3576  {}
3577  else {
3578  continue;
3579  }
3580  else {
3581  continue;
3582  }
3583  else {
3584  continue;
3585  }
3586  else if (p[pixel[10]] < c_b)
3587  if (p[pixel[11]] < c_b)
3588  if (p[pixel[12]] < c_b)
3589  if (p[pixel[13]] < c_b)
3590  {}
3591  else {
3592  continue;
3593  }
3594  else {
3595  continue;
3596  }
3597  else {
3598  continue;
3599  }
3600  else {
3601  continue;
3602  }
3603  else if (p[pixel[10]] < c_b)
3604  if (p[pixel[11]] < c_b)
3605  if (p[pixel[12]] < c_b)
3606  if (p[pixel[13]] < c_b)
3607  if (p[pixel[14]] < c_b)
3608  {}
3609  else {
3610  continue;
3611  }
3612  else {
3613  continue;
3614  }
3615  else {
3616  continue;
3617  }
3618  else {
3619  continue;
3620  }
3621  else {
3622  continue;
3623  }
3624  else if (p[pixel[10]] < c_b)
3625  if (p[pixel[11]] < c_b)
3626  if (p[pixel[12]] < c_b)
3627  if (p[pixel[13]] < c_b)
3628  if (p[pixel[14]] < c_b)
3629  if (p[pixel[15]] < c_b)
3630  {}
3631  else {
3632  continue;
3633  }
3634  else {
3635  continue;
3636  }
3637  else {
3638  continue;
3639  }
3640  else {
3641  continue;
3642  }
3643  else {
3644  continue;
3645  }
3646  else {
3647  continue;
3648  }
3649  else {
3650  continue;
3651  }
3652  else {
3653  continue;
3654  }
3655  else {
3656  continue;
3657  }
3658 
3659  // When we have more corner than allocted space reallocate
3660  if (corner_cnt >= *ret_corners_length) {
3661  *ret_corners_length *= 2;
3662  *ret_corners = realloc(*ret_corners, sizeof(struct point_t) * (*ret_corners_length));
3663  }
3664 
3665  (*ret_corners)[corner_cnt].x = x;
3666  (*ret_corners)[corner_cnt].y = y;
3667  corner_cnt++;
3668 
3669  // Skip some in the width direction
3670  x += min_dist;
3671  }
3672  }
3673  *num_corners = corner_cnt;
3674 }
3675 
3681 static void fast_make_offsets(int32_t *pixel, uint16_t row_stride, uint8_t pixel_size)
3682 {
3683  pixel[0] = 0 * pixel_size + row_stride * 3 * pixel_size;
3684  pixel[1] = 1 * pixel_size + row_stride * 3 * pixel_size;
3685  pixel[2] = 2 * pixel_size + row_stride * 2 * pixel_size;
3686  pixel[3] = 3 * pixel_size + row_stride * 1 * pixel_size;
3687  pixel[4] = 3 * pixel_size + row_stride * 0 * pixel_size;
3688  pixel[5] = 3 * pixel_size + row_stride * -1 * pixel_size;
3689  pixel[6] = 2 * pixel_size + row_stride * -2 * pixel_size;
3690  pixel[7] = 1 * pixel_size + row_stride * -3 * pixel_size;
3691  pixel[8] = 0 * pixel_size + row_stride * -3 * pixel_size;
3692  pixel[9] = -1 * pixel_size + row_stride * -3 * pixel_size;
3693  pixel[10] = -2 * pixel_size + row_stride * -2 * pixel_size;
3694  pixel[11] = -3 * pixel_size + row_stride * -1 * pixel_size;
3695  pixel[12] = -3 * pixel_size + row_stride * 0 * pixel_size;
3696  pixel[13] = -3 * pixel_size + row_stride * 1 * pixel_size;
3697  pixel[14] = -2 * pixel_size + row_stride * 2 * pixel_size;
3698  pixel[15] = -1 * pixel_size + row_stride * 3 * pixel_size;
3699 }
3700 
3701 
3709 int fast9_detect_pixel(struct image_t *img, uint8_t threshold, uint16_t x, uint16_t y) {
3710 
3711  // Set the pixel size
3712  uint8_t pixel_size = 1;
3713  if (img->type == IMAGE_YUV422) {
3714  pixel_size = 2;
3715  }
3716 
3717  int pixel[16];
3718  // Calculate the pixel offsets: not efficient to do this every time:
3719  fast_make_offsets(pixel, img->w, pixel_size);
3720 
3721  uint16_t border = 4;
3722  if(x < border || x > img->w - border || y < border || y > img->h - border) {
3723  return 0;
3724  }
3725  else {
3726  // Calculate the threshold values
3727  const uint8_t *p = ((uint8_t *)img->buf) + y * img->w * pixel_size + x * pixel_size + pixel_size / 2;
3728  int16_t cb = *p + threshold;
3729  int16_t c_b = *p - threshold;
3730 
3731  // Do the checks if it is a corner
3732  if (p[pixel[0]] > cb)
3733  if (p[pixel[1]] > cb)
3734  if (p[pixel[2]] > cb)
3735  if (p[pixel[3]] > cb)
3736  if (p[pixel[4]] > cb)
3737  if (p[pixel[5]] > cb)
3738  if (p[pixel[6]] > cb)
3739  if (p[pixel[7]] > cb)
3740  if (p[pixel[8]] > cb)
3741  {}
3742  else if (p[pixel[15]] > cb)
3743  {}
3744  else {
3745  return 0;
3746  }
3747  else if (p[pixel[7]] < c_b)
3748  if (p[pixel[14]] > cb)
3749  if (p[pixel[15]] > cb)
3750  {}
3751  else {
3752  return 0;
3753  }
3754  else if (p[pixel[14]] < c_b)
3755  if (p[pixel[8]] < c_b)
3756  if (p[pixel[9]] < c_b)
3757  if (p[pixel[10]] < c_b)
3758  if (p[pixel[11]] < c_b)
3759  if (p[pixel[12]] < c_b)
3760  if (p[pixel[13]] < c_b)
3761  if (p[pixel[15]] < c_b)
3762  {}
3763  else {
3764  return 0;
3765  }
3766  else {
3767  return 0;
3768  }
3769  else {
3770  return 0;
3771  }
3772  else {
3773  return 0;
3774  }
3775  else {
3776  return 0;
3777  }
3778  else {
3779  return 0;
3780  }
3781  else {
3782  return 0;
3783  }
3784  else {
3785  return 0;
3786  }
3787  else if (p[pixel[14]] > cb)
3788  if (p[pixel[15]] > cb)
3789  {}
3790  else {
3791  return 0;
3792  }
3793  else {
3794  return 0;
3795  }
3796  else if (p[pixel[6]] < c_b)
3797  if (p[pixel[15]] > cb)
3798  if (p[pixel[13]] > cb)
3799  if (p[pixel[14]] > cb)
3800  {}
3801  else {
3802  return 0;
3803  }
3804  else if (p[pixel[13]] < c_b)
3805  if (p[pixel[7]] < c_b)
3806  if (p[pixel[8]] < c_b)
3807  if (p[pixel[9]] < c_b)
3808  if (p[pixel[10]] < c_b)
3809  if (p[pixel[11]] < c_b)
3810  if (p[pixel[12]] < c_b)
3811  if (p[pixel[14]] < c_b)
3812  {}
3813  else {
3814  return 0;
3815  }
3816  else {
3817  return 0;
3818  }
3819  else {
3820  return 0;
3821  }
3822  else {
3823  return 0;
3824  }
3825  else {
3826  return 0;
3827  }
3828  else {
3829  return 0;
3830  }
3831  else {
3832  return 0;
3833  }
3834  else {
3835  return 0;
3836  }
3837  else if (p[pixel[7]] < c_b)
3838  if (p[pixel[8]] < c_b)
3839  if (p[pixel[9]] < c_b)
3840  if (p[pixel[10]] < c_b)
3841  if (p[pixel[11]] < c_b)
3842  if (p[pixel[12]] < c_b)
3843  if (p[pixel[13]] < c_b)
3844  if (p[pixel[14]] < c_b)
3845  {}
3846  else {
3847  return 0;
3848  }
3849  else {
3850  return 0;
3851  }
3852  else {
3853  return 0;
3854  }
3855  else {
3856  return 0;
3857  }
3858  else {
3859  return 0;
3860  }
3861  else {
3862  return 0;
3863  }
3864  else {
3865  return 0;
3866  }
3867  else {
3868  return 0;
3869  }
3870  else if (p[pixel[13]] > cb)
3871  if (p[pixel[14]] > cb)
3872  if (p[pixel[15]] > cb)
3873  {}
3874  else {
3875  return 0;
3876  }
3877  else {
3878  return 0;
3879  }
3880  else if (p[pixel[13]] < c_b)
3881  if (p[pixel[7]] < c_b)
3882  if (p[pixel[8]] < c_b)
3883  if (p[pixel[9]] < c_b)
3884  if (p[pixel[10]] < c_b)
3885  if (p[pixel[11]] < c_b)
3886  if (p[pixel[12]] < c_b)
3887  if (p[pixel[14]] < c_b)
3888  if (p[pixel[15]] < c_b)
3889  {}
3890  else {
3891  return 0;
3892  }
3893  else {
3894  return 0;
3895  }
3896  else {
3897  return 0;
3898  }
3899  else {
3900  return 0;
3901  }
3902  else {
3903  return 0;
3904  }
3905  else {
3906  return 0;
3907  }
3908  else {
3909  return 0;
3910  }
3911  else {
3912  return 0;
3913  }
3914  else {
3915  return 0;
3916  }
3917  else if (p[pixel[5]] < c_b)
3918  if (p[pixel[14]] > cb)
3919  if (p[pixel[12]] > cb)
3920  if (p[pixel[13]] > cb)
3921  if (p[pixel[15]] > cb)
3922  {}
3923  else if (p[pixel[6]] > cb)
3924  if (p[pixel[7]] > cb)
3925  if (p[pixel[8]] > cb)
3926  if (p[pixel[9]] > cb)
3927  if (p[pixel[10]] > cb)
3928  if (p[pixel[11]] > cb)
3929  {}
3930  else {
3931  return 0;
3932  }
3933  else {
3934  return 0;
3935  }
3936  else {
3937  return 0;
3938  }
3939  else {
3940  return 0;
3941  }
3942  else {
3943  return 0;
3944  }
3945  else {
3946  return 0;
3947  }
3948  else {
3949  return 0;
3950  }
3951  else if (p[pixel[12]] < c_b)
3952  if (p[pixel[6]] < c_b)
3953  if (p[pixel[7]] < c_b)
3954  if (p[pixel[8]] < c_b)
3955  if (p[pixel[9]] < c_b)
3956  if (p[pixel[10]] < c_b)
3957  if (p[pixel[11]] < c_b)
3958  if (p[pixel[13]] < c_b)
3959  {}
3960  else {
3961  return 0;
3962  }
3963  else {
3964  return 0;
3965  }
3966  else {
3967  return 0;
3968  }
3969  else {
3970  return 0;
3971  }
3972  else {
3973  return 0;
3974  }
3975  else {
3976  return 0;
3977  }
3978  else {
3979  return 0;
3980  }
3981  else {
3982  return 0;
3983  }
3984  else if (p[pixel[14]] < c_b)
3985  if (p[pixel[7]] < c_b)
3986  if (p[pixel[8]] < c_b)
3987  if (p[pixel[9]] < c_b)
3988  if (p[pixel[10]] < c_b)
3989  if (p[pixel[11]] < c_b)
3990  if (p[pixel[12]] < c_b)
3991  if (p[pixel[13]] < c_b)
3992  if (p[pixel[6]] < c_b)
3993  {}
3994  else if (p[pixel[15]] < c_b)
3995  {}
3996  else {
3997  return 0;
3998  }
3999  else {
4000  return 0;
4001  }
4002  else {
4003  return 0;
4004  }
4005  else {
4006  return 0;
4007  }
4008  else {
4009  return 0;
4010  }
4011  else {
4012  return 0;
4013  }
4014  else {
4015  return 0;
4016  }
4017  else {
4018  return 0;
4019  }
4020  else if (p[pixel[6]] < c_b)
4021  if (p[pixel[7]] < c_b)
4022  if (p[pixel[8]] < c_b)
4023  if (p[pixel[9]] < c_b)
4024  if (p[pixel[10]] < c_b)
4025  if (p[pixel[11]] < c_b)
4026  if (p[pixel[12]] < c_b)
4027  if (p[pixel[13]] < c_b)
4028  {}
4029  else {
4030  return 0;
4031  }
4032  else {
4033  return 0;
4034  }
4035  else {
4036  return 0;
4037  }
4038  else {
4039  return 0;
4040  }
4041  else {
4042  return 0;
4043  }
4044  else {
4045  return 0;
4046  }
4047  else {
4048  return 0;
4049  }
4050  else {
4051  return 0;
4052  }
4053  else if (p[pixel[12]] > cb)
4054  if (p[pixel[13]] > cb)
4055  if (p[pixel[14]] > cb)
4056  if (p[pixel[15]] > cb)
4057  {}
4058  else if (p[pixel[6]] > cb)
4059  if (p[pixel[7]] > cb)
4060  if (p[pixel[8]] > cb)
4061  if (p[pixel[9]] > cb)
4062  if (p[pixel[10]] > cb)
4063  if (p[pixel[11]] > cb)
4064  {}
4065  else {
4066  return 0;
4067  }
4068  else {
4069  return 0;
4070  }
4071  else {
4072  return 0;
4073  }
4074  else {
4075  return 0;
4076  }
4077  else {
4078  return 0;
4079  }
4080  else {
4081  return 0;
4082  }
4083  else {
4084  return 0;
4085  }
4086  else {
4087  return 0;
4088  }
4089  else if (p[pixel[12]] < c_b)
4090  if (p[pixel[7]] < c_b)
4091  if (p[pixel[8]] < c_b)
4092  if (p[pixel[9]] < c_b)
4093  if (p[pixel[10]] < c_b)
4094  if (p[pixel[11]] < c_b)
4095  if (p[pixel[13]] < c_b)
4096  if (p[pixel[14]] < c_b)
4097  if (p[pixel[6]] < c_b)
4098  {}
4099  else if (p[pixel[15]] < c_b)
4100  {}
4101  else {
4102  return 0;
4103  }
4104  else {
4105  return 0;
4106  }
4107  else {
4108  return 0;
4109  }
4110  else {
4111  return 0;
4112  }
4113  else {
4114  return 0;
4115  }
4116  else {
4117  return 0;
4118  }
4119  else {
4120  return 0;
4121  }
4122  else {
4123  return 0;
4124  }
4125  else {
4126  return 0;
4127  }
4128  else if (p[pixel[4]] < c_b)
4129  if (p[pixel[13]] > cb)
4130  if (p[pixel[11]] > cb)
4131  if (p[pixel[12]] > cb)
4132  if (p[pixel[14]] > cb)
4133  if (p[pixel[15]] > cb)
4134  {}
4135  else if (p[pixel[6]] > cb)
4136  if (p[pixel[7]] > cb)
4137  if (p[pixel[8]] > cb)
4138  if (p[pixel[9]] > cb)
4139  if (p[pixel[10]] > cb)
4140  {}
4141  else {
4142  return 0;
4143  }
4144  else {
4145  return 0;
4146  }
4147  else {
4148  return 0;
4149  }
4150  else {
4151  return 0;
4152  }
4153  else {
4154  return 0;
4155  }
4156  else if (p[pixel[5]] > cb)
4157  if (p[pixel[6]] > cb)
4158  if (p[pixel[7]] > cb)
4159  if (p[pixel[8]] > cb)
4160  if (p[pixel[9]] > cb)
4161  if (p[pixel[10]] > cb)
4162  {}
4163  else {
4164  return 0;
4165  }
4166  else {
4167  return 0;
4168  }
4169  else {
4170  return 0;
4171  }
4172  else {
4173  return 0;
4174  }
4175  else {
4176  return 0;
4177  }
4178  else {
4179  return 0;
4180  }
4181  else {
4182  return 0;
4183  }
4184  else if (p[pixel[11]] < c_b)
4185  if (p[pixel[5]] < c_b)
4186  if (p[pixel[6]] < c_b)
4187  if (p[pixel[7]] < c_b)
4188  if (p[pixel[8]] < c_b)
4189  if (p[pixel[9]] < c_b)
4190  if (p[pixel[10]] < c_b)
4191  if (p[pixel[12]] < c_b)
4192  {}
4193  else {
4194  return 0;
4195  }
4196  else {
4197  return 0;
4198  }
4199  else {
4200  return 0;
4201  }
4202  else {
4203  return 0;
4204  }
4205  else {
4206  return 0;
4207  }
4208  else {
4209  return 0;
4210  }
4211  else {
4212  return 0;
4213  }
4214  else {
4215  return 0;
4216  }
4217  else if (p[pixel[13]] < c_b)
4218  if (p[pixel[7]] < c_b)
4219  if (p[pixel[8]] < c_b)
4220  if (p[pixel[9]] < c_b)
4221  if (p[pixel[10]] < c_b)
4222  if (p[pixel[11]] < c_b)
4223  if (p[pixel[12]] < c_b)
4224  if (p[pixel[6]] < c_b)
4225  if (p[pixel[5]] < c_b)
4226  {}
4227  else if (p[pixel[14]] < c_b)
4228  {}
4229  else {
4230  return 0;
4231  }
4232  else if (p[pixel[14]] < c_b)
4233  if (p[pixel[15]] < c_b)
4234  {}
4235  else {
4236  return 0;
4237  }
4238  else {
4239  return 0;
4240  }
4241  else {
4242  return 0;
4243  }
4244  else {
4245  return 0;
4246  }
4247  else {
4248  return 0;
4249  }
4250  else {
4251  return 0;
4252  }
4253  else {
4254  return 0;
4255  }
4256  else {
4257  return 0;
4258  }
4259  else if (p[pixel[5]] < c_b)
4260  if (p[pixel[6]] < c_b)
4261  if (p[pixel[7]] < c_b)
4262  if (p[pixel[8]] < c_b)
4263  if (p[pixel[9]] < c_b)
4264  if (p[pixel[10]] < c_b)
4265  if (p[pixel[11]] < c_b)
4266  if (p[pixel[12]] < c_b)
4267  {}
4268  else {
4269  return 0;
4270  }
4271  else {
4272  return 0;
4273  }
4274  else {
4275  return 0;
4276  }
4277  else {
4278  return 0;
4279  }
4280  else {
4281  return 0;
4282  }
4283  else {
4284  return 0;
4285  }
4286  else {
4287  return 0;
4288  }
4289  else {
4290  return 0;
4291  }
4292  else if (p[pixel[11]] > cb)
4293  if (p[pixel[12]] > cb)
4294  if (p[pixel[13]] > cb)
4295  if (p[pixel[14]] > cb)
4296  if (p[pixel[15]] > cb)
4297  {}
4298  else if (p[pixel[6]] > cb)
4299  if (p[pixel[7]] > cb)
4300  if (p[pixel[8]] > cb)
4301  if (p[pixel[9]] > cb)
4302  if (p[pixel[10]] > cb)
4303  {}
4304  else {
4305  return 0;
4306  }
4307  else {
4308  return 0;
4309  }
4310  else {
4311  return 0;
4312  }
4313  else {
4314  return 0;
4315  }
4316  else {
4317  return 0;
4318  }
4319  else if (p[pixel[5]] > cb)
4320  if (p[pixel[6]] > cb)
4321  if (p[pixel[7]] > cb)
4322  if (p[pixel[8]] > cb)
4323  if (p[pixel[9]] > cb)
4324  if (p[pixel[10]] > cb)
4325  {}
4326  else {
4327  return 0;
4328  }
4329  else {
4330  return 0;
4331  }
4332  else {
4333  return 0;
4334  }
4335  else {
4336  return 0;
4337  }
4338  else {
4339  return 0;
4340  }
4341  else {
4342  return 0;
4343  }
4344  else {
4345  return 0;
4346  }
4347  else {
4348  return 0;
4349  }
4350  else if (p[pixel[11]] < c_b)
4351  if (p[pixel[7]] < c_b)
4352  if (p[pixel[8]] < c_b)
4353  if (p[pixel[9]] < c_b)
4354  if (p[pixel[10]] < c_b)
4355  if (p[pixel[12]] < c_b)
4356  if (p[pixel[13]] < c_b)
4357  if (p[pixel[6]] < c_b)
4358  if (p[pixel[5]] < c_b)
4359  {}
4360  else if (p[pixel[14]] < c_b)
4361  {}
4362  else {
4363  return 0;
4364  }
4365  else if (p[pixel[14]] < c_b)
4366  if (p[pixel[15]] < c_b)
4367  {}
4368  else {
4369  return 0;
4370  }
4371  else {
4372  return 0;
4373  }
4374  else {
4375  return 0;
4376  }
4377  else {
4378  return 0;
4379  }
4380  else {
4381  return 0;
4382  }
4383  else {
4384  return 0;
4385  }
4386  else {
4387  return 0;
4388  }
4389  else {
4390  return 0;
4391  }
4392  else {
4393  return 0;
4394  }
4395  else if (p[pixel[3]] < c_b)
4396  if (p[pixel[10]] > cb)
4397  if (p[pixel[11]] > cb)
4398  if (p[pixel[12]] > cb)
4399  if (p[pixel[13]] > cb)
4400  if (p[pixel[14]] > cb)
4401  if (p[pixel[15]] > cb)
4402  {}
4403  else if (p[pixel[6]] > cb)
4404  if (p[pixel[7]] > cb)
4405  if (p[pixel[8]] > cb)
4406  if (p[pixel[9]] > cb)
4407  {}
4408  else {
4409  return 0;
4410  }
4411  else {
4412  return 0;
4413  }
4414  else {
4415  return 0;
4416  }
4417  else {
4418  return 0;
4419  }
4420  else if (p[pixel[5]] > cb)
4421  if (p[pixel[6]] > cb)
4422  if (p[pixel[7]] > cb)
4423  if (p[pixel[8]] > cb)
4424  if (p[pixel[9]] > cb)
4425  {}
4426  else {
4427  return 0;
4428  }
4429  else {
4430  return 0;
4431  }
4432  else {
4433  return 0;
4434  }
4435  else {
4436  return 0;
4437  }
4438  else {
4439  return 0;
4440  }
4441  else if (p[pixel[4]] > cb)
4442  if (p[pixel[5]] > cb)
4443  if (p[pixel[6]] > cb)
4444  if (p[pixel[7]] > cb)
4445  if (p[pixel[8]] > cb)
4446  if (p[pixel[9]] > cb)
4447  {}
4448  else {
4449  return 0;
4450  }
4451  else {
4452  return 0;
4453  }
4454  else {
4455  return 0;
4456  }
4457  else {
4458  return 0;
4459  }
4460  else {
4461  return 0;
4462  }
4463  else {
4464  return 0;
4465  }
4466  else {
4467  return 0;
4468  }
4469  else {
4470  return 0;
4471  }
4472  else if (p[pixel[10]] < c_b)
4473  if (p[pixel[7]] < c_b)
4474  if (p[pixel[8]] < c_b)
4475  if (p[pixel[9]] < c_b)
4476  if (p[pixel[11]] < c_b)
4477  if (p[pixel[6]] < c_b)
4478  if (p[pixel[5]] < c_b)
4479  if (p[pixel[4]] < c_b)
4480  {}
4481  else if (p[pixel[12]] < c_b)
4482  if (p[pixel[13]] < c_b)
4483  {}
4484  else {
4485  return 0;
4486  }
4487  else {
4488  return 0;
4489  }
4490  else if (p[pixel[12]] < c_b)
4491  if (p[pixel[13]] < c_b)
4492  if (p[pixel[14]] < c_b)
4493  {}
4494  else {
4495  return 0;
4496  }
4497  else {
4498  return 0;
4499  }
4500  else {
4501  return 0;
4502  }
4503  else if (p[pixel[12]] < c_b)
4504  if (p[pixel[13]] < c_b)
4505  if (p[pixel[14]] < c_b)
4506  if (p[pixel[15]] < c_b)
4507  {}
4508  else {
4509  return 0;
4510  }
4511  else {
4512  return 0;
4513  }
4514  else {
4515  return 0;
4516  }
4517  else {
4518  return 0;
4519  }
4520  else {
4521  return 0;
4522  }
4523  else {
4524  return 0;
4525  }
4526  else {
4527  return 0;
4528  }
4529  else {
4530  return 0;
4531  }
4532  else {
4533  return 0;
4534  }
4535  else if (p[pixel[10]] > cb)
4536  if (p[pixel[11]] > cb)
4537  if (p[pixel[12]] > cb)
4538  if (p[pixel[13]] > cb)
4539  if (p[pixel[14]] > cb)
4540  if (p[pixel[15]] > cb)
4541  {}
4542  else if (p[pixel[6]] > cb)
4543  if (p[pixel[7]] > cb)
4544  if (p[pixel[8]] > cb)
4545  if (p[pixel[9]] > cb)
4546  {}
4547  else {
4548  return 0;
4549  }
4550  else {
4551  return 0;
4552  }
4553  else {
4554  return 0;
4555  }
4556  else {
4557  return 0;
4558  }
4559  else if (p[pixel[5]] > cb)
4560  if (p[pixel[6]] > cb)
4561  if (p[pixel[7]] > cb)
4562  if (p[pixel[8]] > cb)
4563  if (p[pixel[9]] > cb)
4564  {}
4565  else {
4566  return 0;
4567  }
4568  else {
4569  return 0;
4570  }
4571  else {
4572  return 0;
4573  }
4574  else {
4575  return 0;
4576  }
4577  else {
4578  return 0;
4579  }
4580  else if (p[pixel[4]] > cb)
4581  if (p[pixel[5]] > cb)
4582  if (p[pixel[6]] > cb)
4583  if (p[pixel[7]] > cb)
4584  if (p[pixel[8]] > cb)
4585  if (p[pixel[9]] > cb)
4586  {}
4587  else {
4588  return 0;
4589  }
4590  else {
4591  return 0;
4592  }
4593  else {
4594  return 0;
4595  }
4596  else {
4597  return 0;
4598  }
4599  else {
4600  return 0;
4601  }
4602  else {
4603  return 0;
4604  }
4605  else {
4606  return 0;
4607  }
4608  else {
4609  return 0;
4610  }
4611  else if (p[pixel[10]] < c_b)
4612  if (p[pixel[7]] < c_b)
4613  if (p[pixel[8]] < c_b)
4614  if (p[pixel[9]] < c_b)
4615  if (p[pixel[11]] < c_b)
4616  if (p[pixel[12]] < c_b)
4617  if (p[pixel[6]] < c_b)
4618  if (p[pixel[5]] < c_b)
4619  if (p[pixel[4]] < c_b)
4620  {}
4621  else if (p[pixel[13]] < c_b)
4622  {}
4623  else {
4624  return 0;
4625  }
4626  else if (p[pixel[13]] < c_b)
4627  if (p[pixel[14]] < c_b)
4628  {}
4629  else {
4630  return 0;
4631  }
4632  else {
4633  return 0;
4634  }
4635  else if (p[pixel[13]] < c_b)
4636  if (p[pixel[14]] < c_b)
4637  if (p[pixel[15]] < c_b)
4638  {}
4639  else {
4640  return 0;
4641  }
4642  else {
4643  return 0;
4644  }
4645  else {
4646  return 0;
4647  }
4648  else {
4649  return 0;
4650  }
4651  else {
4652  return 0;
4653  }
4654  else {
4655  return 0;
4656  }
4657  else {
4658  return 0;
4659  }
4660  else {
4661  return 0;
4662  }
4663  else {
4664  return 0;
4665  }
4666  else if (p[pixel[2]] < c_b)
4667  if (p[pixel[9]] > cb)
4668  if (p[pixel[10]] > cb)
4669  if (p[pixel[11]] > cb)
4670  if (p[pixel[12]] > cb)
4671  if (p[pixel[13]] > cb)
4672  if (p[pixel[14]] > cb)
4673  if (p[pixel[15]] > cb)
4674  {}
4675  else if (p[pixel[6]] > cb)
4676  if (p[pixel[7]] > cb)
4677  if (p[pixel[8]] > cb)
4678  {}
4679  else {
4680  return 0;
4681  }
4682  else {
4683  return 0;
4684  }
4685  else {
4686  return 0;
4687  }
4688  else if (p[pixel[5]] > cb)
4689  if (p[pixel[6]] > cb)
4690  if (p[pixel[7]] > cb)
4691  if (p[pixel[8]] > cb)
4692  {}
4693  else {
4694  return 0;
4695  }
4696  else {
4697  return 0;
4698  }
4699  else {
4700  return 0;
4701  }
4702  else {
4703  return 0;
4704  }
4705  else if (p[pixel[4]] > cb)
4706  if (p[pixel[5]] > cb)
4707  if (p[pixel[6]] > cb)
4708  if (p[pixel[7]] > cb)
4709  if (p[pixel[8]] > cb)
4710  {}
4711  else {
4712  return 0;
4713  }
4714  else {
4715  return 0;
4716  }
4717  else {
4718  return 0;
4719  }
4720  else {
4721  return 0;
4722  }
4723  else {
4724  return 0;
4725  }
4726  else if (p[pixel[3]] > cb)
4727  if (p[pixel[4]] > cb)
4728  if (p[pixel[5]] > cb)
4729  if (p[pixel[6]] > cb)
4730  if (p[pixel[7]] > cb)
4731  if (p[pixel[8]] > cb)
4732  {}
4733  else {
4734  return 0;
4735  }
4736  else {
4737  return 0;
4738  }
4739  else {
4740  return 0;
4741  }
4742  else {
4743  return 0;
4744  }
4745  else {
4746  return 0;
4747  }
4748  else {
4749  return 0;
4750  }
4751  else {
4752  return 0;
4753  }
4754  else {
4755  return 0;
4756  }
4757  else if (p[pixel[9]] < c_b)
4758  if (p[pixel[7]] < c_b)
4759  if (p[pixel[8]] < c_b)
4760  if (p[pixel[10]] < c_b)
4761  if (p[pixel[6]] < c_b)
4762  if (p[pixel[5]] < c_b)
4763  if (p[pixel[4]] < c_b)
4764  if (p[pixel[3]] < c_b)
4765  {}
4766  else if (p[pixel[11]] < c_b)
4767  if (p[pixel[12]] < c_b)
4768  {}
4769  else {
4770  return 0;
4771  }
4772  else {
4773  return 0;
4774  }
4775  else if (p[pixel[11]] < c_b)
4776  if (p[pixel[12]] < c_b)
4777  if (p[pixel[13]] < c_b)
4778  {}
4779  else {
4780  return 0;
4781  }
4782  else {
4783  return 0;
4784  }
4785  else {
4786  return 0;
4787  }
4788  else if (p[pixel[11]] < c_b)
4789  if (p[pixel[12]] < c_b)
4790  if (p[pixel[13]] < c_b)
4791  if (p[pixel[14]] < c_b)
4792  {}
4793  else {
4794  return 0;
4795  }
4796  else {
4797  return 0;
4798  }
4799  else {
4800  return 0;
4801  }
4802  else {
4803  return 0;
4804  }
4805  else if (p[pixel[11]] < c_b)
4806  if (p[pixel[12]] < c_b)
4807  if (p[pixel[13]] < c_b)
4808  if (p[pixel[14]] < c_b)
4809  if (p[pixel[15]] < c_b)
4810  {}
4811  else {
4812  return 0;
4813  }
4814  else {
4815  return 0;
4816  }
4817  else {
4818  return 0;
4819  }
4820  else {
4821  return 0;
4822  }
4823  else {
4824  return 0;
4825  }
4826  else {
4827  return 0;
4828  }
4829  else {
4830  return 0;
4831  }
4832  else {
4833  return 0;
4834  }
4835  else {
4836  return 0;
4837  }
4838  else if (p[pixel[9]] > cb)
4839  if (p[pixel[10]] > cb)
4840  if (p[pixel[11]] > cb)
4841  if (p[pixel[12]] > cb)
4842  if (p[pixel[13]] > cb)
4843  if (p[pixel[14]] > cb)
4844  if (p[pixel[15]] > cb)
4845  {}
4846  else if (p[pixel[6]] > cb)
4847  if (p[pixel[7]] > cb)
4848  if (p[pixel[8]] > cb)
4849  {}
4850  else {
4851  return 0;
4852  }
4853  else {
4854  return 0;
4855  }
4856  else {
4857  return 0;
4858  }
4859  else if (p[pixel[5]] > cb)
4860  if (p[pixel[6]] > cb)
4861  if (p[pixel[7]] > cb)
4862  if (p[pixel[8]] > cb)
4863  {}
4864  else {
4865  return 0;
4866  }
4867  else {
4868  return 0;
4869  }
4870  else {
4871  return 0;
4872  }
4873  else {
4874  return 0;
4875  }
4876  else if (p[pixel[4]] > cb)
4877  if (p[pixel[5]] > cb)
4878  if (p[pixel[6]] > cb)
4879  if (p[pixel[7]] > cb)
4880  if (p[pixel[8]] > cb)
4881  {}
4882  else {
4883  return 0;
4884  }
4885  else {
4886  return 0;
4887  }
4888  else {
4889  return 0;
4890  }
4891  else {
4892  return 0;
4893  }
4894  else {
4895  return 0;
4896  }
4897  else if (p[pixel[3]] > cb)
4898  if (p[pixel[4]] > cb)
4899  if (p[pixel[5]] > cb)
4900  if (p[pixel[6]] > cb)
4901  if (p[pixel[7]] > cb)
4902  if (p[pixel[8]] > cb)
4903  {}
4904  else {
4905  return 0;
4906  }
4907  else {
4908  return 0;
4909  }
4910  else {
4911  return 0;
4912  }
4913  else {
4914  return 0;
4915  }
4916  else {
4917  return 0;
4918  }
4919  else {
4920  return 0;
4921  }
4922  else {
4923  return 0;
4924  }
4925  else {
4926  return 0;
4927  }
4928  else if (p[pixel[9]] < c_b)
4929  if (p[pixel[7]] < c_b)
4930  if (p[pixel[8]] < c_b)
4931  if (p[pixel[10]] < c_b)
4932  if (p[pixel[11]] < c_b)
4933  if (p[pixel[6]] < c_b)
4934  if (p[pixel[5]] < c_b)
4935  if (p[pixel[4]] < c_b)
4936  if (p[pixel[3]] < c_b)
4937  {}
4938  else if (p[pixel[12]] < c_b)
4939  {}
4940  else {
4941  return 0;
4942  }
4943  else if (p[pixel[12]] < c_b)
4944  if (p[pixel[13]] < c_b)
4945  {}
4946  else {
4947  return 0;
4948  }
4949  else {
4950  return 0;
4951  }
4952  else if (p[pixel[12]] < c_b)
4953  if (p[pixel[13]] < c_b)
4954  if (p[pixel[14]] < c_b)
4955  {}
4956  else {
4957  return 0;
4958  }
4959  else {
4960  return 0;
4961  }
4962  else {
4963  return 0;
4964  }
4965  else if (p[pixel[12]] < c_b)
4966  if (p[pixel[13]] < c_b)
4967  if (p[pixel[14]] < c_b)
4968  if (p[pixel[15]] < c_b)
4969  {}
4970  else {
4971  return 0;
4972  }
4973  else {
4974  return 0;
4975  }
4976  else {
4977  return 0;
4978  }
4979  else {
4980  return 0;
4981  }
4982  else {
4983  return 0;
4984  }
4985  else {
4986  return 0;
4987  }
4988  else {
4989  return 0;
4990  }
4991  else {
4992  return 0;
4993  }
4994  else {
4995  return 0;
4996  }
4997  else if (p[pixel[1]] < c_b)
4998  if (p[pixel[8]] > cb)
4999  if (p[pixel[9]] > cb)
5000  if (p[pixel[10]] > cb)
5001  if (p[pixel[11]] > cb)
5002  if (p[pixel[12]] > cb)
5003  if (p[pixel[13]] > cb)
5004  if (p[pixel[14]] > cb)
5005  if (p[pixel[15]] > cb)
5006  {}
5007  else if (p[pixel[6]] > cb)
5008  if (p[pixel[7]] > cb)
5009  {}
5010  else {
5011  return 0;
5012  }
5013  else {
5014  return 0;
5015  }
5016  else if (p[pixel[5]] > cb)
5017  if (p[pixel[6]] > cb)
5018  if (p[pixel[7]] > cb)
5019  {}
5020  else {
5021  return 0;
5022  }
5023  else {
5024  return 0;
5025  }
5026  else {
5027  return 0;
5028  }
5029  else if (p[pixel[4]] > cb)
5030  if (p[pixel[5]] > cb)
5031  if (p[pixel[6]] > cb)
5032  if (p[pixel[7]] > cb)
5033  {}
5034  else {
5035  return 0;
5036  }
5037  else {
5038  return 0;
5039  }
5040  else {
5041  return 0;
5042  }
5043  else {
5044  return 0;
5045  }
5046  else if (p[pixel[3]] > cb)
5047  if (p[pixel[4]] > cb)
5048  if (p[pixel[5]] > cb)
5049  if (p[pixel[6]] > cb)
5050  if (p[pixel[7]] > cb)
5051  {}
5052  else {
5053  return 0;
5054  }
5055  else {
5056  return 0;
5057  }
5058  else {
5059  return 0;
5060  }
5061  else {
5062  return 0;
5063  }
5064  else {
5065  return 0;
5066  }
5067  else if (p[pixel[2]] > cb)
5068  if (p[pixel[3]] > cb)
5069  if (p[pixel[4]] > cb)
5070  if (p[pixel[5]] > cb)
5071  if (p[pixel[6]] > cb)
5072  if (p[pixel[7]] > cb)
5073  {}
5074  else {
5075  return 0;
5076  }
5077  else {
5078  return 0;
5079  }
5080  else {
5081  return 0;
5082  }
5083  else {
5084  return 0;
5085  }
5086  else {
5087  return 0;
5088  }
5089  else {
5090  return 0;
5091  }
5092  else {
5093  return 0;
5094  }
5095  else {
5096  return 0;
5097  }
5098  else if (p[pixel[8]] < c_b)
5099  if (p[pixel[7]] < c_b)
5100  if (p[pixel[9]] < c_b)
5101  if (p[pixel[6]] < c_b)
5102  if (p[pixel[5]] < c_b)
5103  if (p[pixel[4]] < c_b)
5104  if (p[pixel[3]] < c_b)
5105  if (p[pixel[2]] < c_b)
5106  {}
5107  else if (p[pixel[10]] < c_b)
5108  if (p[pixel[11]] < c_b)
5109  {}
5110  else {
5111  return 0;
5112  }
5113  else {
5114  return 0;
5115  }
5116  else if (p[pixel[10]] < c_b)
5117  if (p[pixel[11]] < c_b)
5118  if (p[pixel[12]] < c_b)
5119  {}
5120  else {
5121  return 0;
5122  }
5123  else {
5124  return 0;
5125  }
5126  else {
5127  return 0;
5128  }
5129  else if (p[pixel[10]] < c_b)
5130  if (p[pixel[11]] < c_b)
5131  if (p[pixel[12]] < c_b)
5132  if (p[pixel[13]] < c_b)
5133  {}
5134  else {
5135  return 0;
5136  }
5137  else {
5138  return 0;
5139  }
5140  else {
5141  return 0;
5142  }
5143  else {
5144  return 0;
5145  }
5146  else if (p[pixel[10]] < c_b)
5147  if (p[pixel[11]] < c_b)
5148  if (p[pixel[12]] < c_b)
5149  if (p[pixel[13]] < c_b)
5150  if (p[pixel[14]] < c_b)
5151  {}
5152  else {
5153  return 0;
5154  }
5155  else {
5156  return 0;
5157  }
5158  else {
5159  return 0;
5160  }
5161  else {
5162  return 0;
5163  }
5164  else {
5165  return 0;
5166  }
5167  else if (p[pixel[10]] < c_b)
5168  if (p[pixel[11]] < c_b)
5169  if (p[pixel[12]] < c_b)
5170  if (p[pixel[13]] < c_b)
5171  if (p[pixel[14]] < c_b)
5172  if (p[pixel[15]] < c_b)
5173  {}
5174  else {
5175  return 0;
5176  }
5177  else {
5178  return 0;
5179  }
5180  else {
5181  return 0;
5182  }
5183  else {
5184  return 0;
5185  }
5186  else {
5187  return 0;
5188  }
5189  else {
5190  return 0;
5191  }
5192  else {
5193  return 0;
5194  }
5195  else {
5196  return 0;
5197  }
5198  else {
5199  return 0;
5200  }
5201  else if (p[pixel[8]] > cb)
5202  if (p[pixel[9]] > cb)
5203  if (p[pixel[10]] > cb)
5204  if (p[pixel[11]] > cb)
5205  if (p[pixel[12]] > cb)
5206  if (p[pixel[13]] > cb)
5207  if (p[pixel[14]] > cb)
5208  if (p[pixel[15]] > cb)
5209  {}
5210  else if (p[pixel[6]] > cb)
5211  if (p[pixel[7]] > cb)
5212  {}
5213  else {
5214  return 0;
5215  }
5216  else {
5217  return 0;
5218  }
5219  else if (p[pixel[5]] > cb)
5220  if (p[pixel[6]] > cb)
5221  if (p[pixel[7]] > cb)
5222  {}
5223  else {
5224  return 0;
5225  }
5226  else {
5227  return 0;
5228  }
5229  else {
5230  return 0;
5231  }
5232  else if (p[pixel[4]] > cb)
5233  if (p[pixel[5]] > cb)
5234  if (p[pixel[6]] > cb)
5235  if (p[pixel[7]] > cb)
5236  {}
5237  else {
5238  return 0;
5239  }
5240  else {
5241  return 0;
5242  }
5243  else {
5244  return 0;
5245  }
5246  else {
5247  return 0;
5248  }
5249  else if (p[pixel[3]] > cb)
5250  if (p[pixel[4]] > cb)
5251  if (p[pixel[5]] > cb)
5252  if (p[pixel[6]] > cb)
5253  if (p[pixel[7]] > cb)
5254  {}
5255  else {
5256  return 0;
5257  }
5258  else {
5259  return 0;
5260  }
5261  else {
5262  return 0;
5263  }
5264  else {
5265  return 0;
5266  }
5267  else {
5268  return 0;
5269  }
5270  else if (p[pixel[2]] > cb)
5271  if (p[pixel[3]] > cb)
5272  if (p[pixel[4]] > cb)
5273  if (p[pixel[5]] > cb)
5274  if (p[pixel[6]] > cb)
5275  if (p[pixel[7]] > cb)
5276  {}
5277  else {
5278  return 0;
5279  }
5280  else {
5281  return 0;
5282  }
5283  else {
5284  return 0;
5285  }
5286  else {
5287  return 0;
5288  }
5289  else {
5290  return 0;
5291  }
5292  else {
5293  return 0;
5294  }
5295  else {
5296  return 0;
5297  }
5298  else {
5299  return 0;
5300  }
5301  else if (p[pixel[8]] < c_b)
5302  if (p[pixel[7]] < c_b)
5303  if (p[pixel[9]] < c_b)
5304  if (p[pixel[10]] < c_b)
5305  if (p[pixel[6]] < c_b)
5306  if (p[pixel[5]] < c_b)
5307  if (p[pixel[4]] < c_b)
5308  if (p[pixel[3]] < c_b)
5309  if (p[pixel[2]] < c_b)
5310  {}
5311  else if (p[pixel[11]] < c_b)
5312  {}
5313  else {
5314  return 0;
5315  }
5316  else if (p[pixel[11]] < c_b)
5317  if (p[pixel[12]] < c_b)
5318  {}
5319  else {
5320  return 0;
5321  }
5322  else {
5323  return 0;
5324  }
5325  else if (p[pixel[11]] < c_b)
5326  if (p[pixel[12]] < c_b)
5327  if (p[pixel[13]] < c_b)
5328  {}
5329  else {
5330  return 0;
5331  }
5332  else {
5333  return 0;
5334  }
5335  else {
5336  return 0;
5337  }
5338  else if (p[pixel[11]] < c_b)
5339  if (p[pixel[12]] < c_b)
5340  if (p[pixel[13]] < c_b)
5341  if (p[pixel[14]] < c_b)
5342  {}
5343  else {
5344  return 0;
5345  }
5346  else {
5347  return 0;
5348  }
5349  else {
5350  return 0;
5351  }
5352  else {
5353  return 0;
5354  }
5355  else if (p[pixel[11]] < c_b)
5356  if (p[pixel[12]] < c_b)
5357  if (p[pixel[13]] < c_b)
5358  if (p[pixel[14]] < c_b)
5359  if (p[pixel[15]] < c_b)
5360  {}
5361  else {
5362  return 0;
5363  }
5364  else {
5365  return 0;
5366  }
5367  else {
5368  return 0;
5369  }
5370  else {
5371  return 0;
5372  }
5373  else {
5374  return 0;
5375  }
5376  else {
5377  return 0;
5378  }
5379  else {
5380  return 0;
5381  }
5382  else {
5383  return 0;
5384  }
5385  else {
5386  return 0;
5387  }
5388  else if (p[pixel[0]] < c_b)
5389  if (p[pixel[1]] > cb)
5390  if (p[pixel[8]] > cb)
5391  if (p[pixel[7]] > cb)
5392  if (p[pixel[9]] > cb)
5393  if (p[pixel[6]] > cb)
5394  if (p[pixel[5]] > cb)
5395  if (p[pixel[4]] > cb)
5396  if (p[pixel[3]] > cb)
5397  if (p[pixel[2]] > cb)
5398  {}
5399  else if (p[pixel[10]] > cb)
5400  if (p[pixel[11]] > cb)
5401  {}
5402  else {
5403  return 0;
5404  }
5405  else {
5406  return 0;
5407  }
5408  else if (p[pixel[10]] > cb)
5409  if (p[pixel[11]] > cb)
5410  if (p[pixel[12]] > cb)
5411  {}
5412  else {
5413  return 0;
5414  }
5415  else {
5416  return 0;
5417  }
5418  else {
5419  return 0;
5420  }
5421  else if (p[pixel[10]] > cb)
5422  if (p[pixel[11]] > cb)
5423  if (p[pixel[12]] > cb)
5424  if (p[pixel[13]] > cb)
5425  {}
5426  else {
5427  return 0;
5428  }
5429  else {
5430  return 0;
5431  }
5432  else {
5433  return 0;
5434  }
5435  else {
5436  return 0;
5437  }
5438  else if (p[pixel[10]] > cb)
5439  if (p[pixel[11]] > cb)
5440  if (p[pixel[12]] > cb)
5441  if (p[pixel[13]] > cb)
5442  if (p[pixel[14]] > cb)
5443  {}
5444  else {
5445  return 0;
5446  }
5447  else {
5448  return 0;
5449  }
5450  else {
5451  return 0;
5452  }
5453  else {
5454  return 0;
5455  }
5456  else {
5457  return 0;
5458  }
5459  else if (p[pixel[10]] > cb)
5460  if (p[pixel[11]] > cb)
5461  if (p[pixel[12]] > cb)
5462  if (p[pixel[13]] > cb)
5463  if (p[pixel[14]] > cb)
5464  if (p[pixel[15]] > cb)
5465  {}
5466  else {
5467  return 0;
5468  }
5469  else {
5470  return 0;
5471  }
5472  else {
5473  return 0;
5474  }
5475  else {
5476  return 0;
5477  }
5478  else {
5479  return 0;
5480  }
5481  else {
5482  return 0;
5483  }
5484  else {
5485  return 0;
5486  }
5487  else {
5488  return 0;
5489  }
5490  else if (p[pixel[8]] < c_b)
5491  if (p[pixel[9]] < c_b)
5492  if (p[pixel[10]] < c_b)
5493  if (p[pixel[11]] < c_b)
5494  if (p[pixel[12]] < c_b)
5495  if (p[pixel[13]] < c_b)
5496  if (p[pixel[14]] < c_b)
5497  if (p[pixel[15]] < c_b)
5498  {}
5499  else if (p[pixel[6]] < c_b)
5500  if (p[pixel[7]] < c_b)
5501  {}
5502  else {
5503  return 0;
5504  }
5505  else {
5506  return 0;
5507  }
5508  else if (p[pixel[5]] < c_b)
5509  if (p[pixel[6]] < c_b)
5510  if (p[pixel[7]] < c_b)
5511  {}
5512  else {
5513  return 0;
5514  }
5515  else {
5516  return 0;
5517  }
5518  else {
5519  return 0;
5520  }
5521  else if (p[pixel[4]] < c_b)
5522  if (p[pixel[5]] < c_b)
5523  if (p[pixel[6]] < c_b)
5524  if (p[pixel[7]] < c_b)
5525  {}
5526  else {
5527  return 0;
5528  }
5529  else {
5530  return 0;
5531  }
5532  else {
5533  return 0;
5534  }
5535  else {
5536  return 0;
5537  }
5538  else if (p[pixel[3]] < c_b)
5539  if (p[pixel[4]] < c_b)
5540  if (p[pixel[5]] < c_b)
5541  if (p[pixel[6]] < c_b)
5542  if (p[pixel[7]] < c_b)
5543  {}
5544  else {
5545  return 0;
5546  }
5547  else {
5548  return 0;
5549  }
5550  else {
5551  return 0;
5552  }
5553  else {
5554  return 0;
5555  }
5556  else {
5557  return 0;
5558  }
5559  else if (p[pixel[2]] < c_b)
5560  if (p[pixel[3]] < c_b)
5561  if (p[pixel[4]] < c_b)
5562  if (p[pixel[5]] < c_b)
5563  if (p[pixel[6]] < c_b)
5564  if (p[pixel[7]] < c_b)
5565  {}
5566  else {
5567  return 0;
5568  }
5569  else {
5570  return 0;
5571  }
5572  else {
5573  return 0;
5574  }
5575  else {
5576  return 0;
5577  }
5578  else {
5579  return 0;
5580  }
5581  else {
5582  return 0;
5583  }
5584  else {
5585  return 0;
5586  }
5587  else {
5588  return 0;
5589  }
5590  else {
5591  return 0;
5592  }
5593  else if (p[pixel[1]] < c_b)
5594  if (p[pixel[2]] > cb)
5595  if (p[pixel[9]] > cb)
5596  if (p[pixel[7]] > cb)
5597  if (p[pixel[8]] > cb)
5598  if (p[pixel[10]] > cb)
5599  if (p[pixel[6]] > cb)
5600  if (p[pixel[5]] > cb)
5601  if (p[pixel[4]] > cb)
5602  if (p[pixel[3]] > cb)
5603  {}
5604  else if (p[pixel[11]] > cb)
5605  if (p[pixel[12]] > cb)
5606  {}
5607  else {
5608  return 0;
5609  }
5610  else {
5611  return 0;
5612  }
5613  else if (p[pixel[11]] > cb)
5614  if (p[pixel[12]] > cb)
5615  if (p[pixel[13]] > cb)
5616  {}
5617  else {
5618  return 0;
5619  }
5620  else {
5621  return 0;
5622  }
5623  else {
5624  return 0;
5625  }
5626  else if (p[pixel[11]] > cb)
5627  if (p[pixel[12]] > cb)
5628  if (p[pixel[13]] > cb)
5629  if (p[pixel[14]] > cb)
5630  {}
5631  else {
5632  return 0;
5633  }
5634  else {
5635  return 0;
5636  }
5637  else {
5638  return 0;
5639  }
5640  else {
5641  return 0;
5642  }
5643  else if (p[pixel[11]] > cb)
5644  if (p[pixel[12]] > cb)
5645  if (p[pixel[13]] > cb)
5646  if (p[pixel[14]] > cb)
5647  if (p[pixel[15]] > cb)
5648  {}
5649  else {
5650  return 0;
5651  }
5652  else {
5653  return 0;
5654  }
5655  else {
5656  return 0;
5657  }
5658  else {
5659  return 0;
5660  }
5661  else {
5662  return 0;
5663  }
5664  else {
5665  return 0;
5666  }
5667  else {
5668  return 0;
5669  }
5670  else {
5671  return 0;
5672  }
5673  else if (p[pixel[9]] < c_b)
5674  if (p[pixel[10]] < c_b)
5675  if (p[pixel[11]] < c_b)
5676  if (p[pixel[12]] < c_b)
5677  if (p[pixel[13]] < c_b)
5678  if (p[pixel[14]] < c_b)
5679  if (p[pixel[15]] < c_b)
5680  {}
5681  else if (p[pixel[6]] < c_b)
5682  if (p[pixel[7]] < c_b)
5683  if (p[pixel[8]] < c_b)
5684  {}
5685  else {
5686  return 0;
5687  }
5688  else {
5689  return 0;
5690  }
5691  else {
5692  return 0;
5693  }
5694  else if (p[pixel[5]] < c_b)
5695  if (p[pixel[6]] < c_b)
5696  if (p[pixel[7]] < c_b)
5697  if (p[pixel[8]] < c_b)
5698  {}
5699  else {
5700  return 0;
5701  }
5702  else {
5703  return 0;
5704  }
5705  else {
5706  return 0;
5707  }
5708  else {
5709  return 0;
5710  }
5711  else if (p[pixel[4]] < c_b)
5712  if (p[pixel[5]] < c_b)
5713  if (p[pixel[6]] < c_b)
5714  if (p[pixel[7]] < c_b)
5715  if (p[pixel[8]] < c_b)
5716  {}
5717  else {
5718  return 0;
5719  }
5720  else {
5721  return 0;
5722  }
5723  else {
5724  return 0;
5725  }
5726  else {
5727  return 0;
5728  }
5729  else {
5730  return 0;
5731  }
5732  else if (p[pixel[3]] < c_b)
5733  if (p[pixel[4]] < c_b)
5734  if (p[pixel[5]] < c_b)
5735  if (p[pixel[6]] < c_b)
5736  if (p[pixel[7]] < c_b)
5737  if (p[pixel[8]] < c_b)
5738  {}
5739  else {
5740  return 0;
5741  }
5742  else {
5743  return 0;
5744  }
5745  else {
5746  return 0;
5747  }
5748  else {
5749  return 0;
5750  }
5751  else {
5752  return 0;
5753  }
5754  else {
5755  return 0;
5756  }
5757  else {
5758  return 0;
5759  }
5760  else {
5761  return 0;
5762  }
5763  else {
5764  return 0;
5765  }
5766  else if (p[pixel[2]] < c_b)
5767  if (p[pixel[3]] > cb)
5768  if (p[pixel[10]] > cb)
5769  if (p[pixel[7]] > cb)
5770  if (p[pixel[8]] > cb)
5771  if (p[pixel[9]] > cb)
5772  if (p[pixel[11]] > cb)
5773  if (p[pixel[6]] > cb)
5774  if (p[pixel[5]] > cb)
5775  if (p[pixel[4]] > cb)
5776  {}
5777  else if (p[pixel[12]] > cb)
5778  if (p[pixel[13]] > cb)
5779  {}
5780  else {
5781  return 0;
5782  }
5783  else {
5784  return 0;
5785  }
5786  else if (p[pixel[12]] > cb)
5787  if (p[pixel[13]] > cb)
5788  if (p[pixel[14]] > cb)
5789  {}
5790  else {
5791  return 0;
5792  }
5793  else {
5794  return 0;
5795  }
5796  else {
5797  return 0;
5798  }
5799  else if (p[pixel[12]] > cb)
5800  if (p[pixel[13]] > cb)
5801  if (p[pixel[14]] > cb)
5802  if (p[pixel[15]] > cb)
5803  {}
5804  else {
5805  return 0;
5806  }
5807  else {
5808  return 0;
5809  }
5810  else {
5811  return 0;
5812  }
5813  else {
5814  return 0;
5815  }
5816  else {
5817  return 0;
5818  }
5819  else {
5820  return 0;
5821  }
5822  else {
5823  return 0;
5824  }
5825  else {
5826  return 0;
5827  }
5828  else if (p[pixel[10]] < c_b)
5829  if (p[pixel[11]] < c_b)
5830  if (p[pixel[12]] < c_b)
5831  if (p[pixel[13]] < c_b)
5832  if (p[pixel[14]] < c_b)
5833  if (p[pixel[15]] < c_b)
5834  {}
5835  else if (p[pixel[6]] < c_b)
5836  if (p[pixel[7]] < c_b)
5837  if (p[pixel[8]] < c_b)
5838  if (p[pixel[9]] < c_b)
5839  {}
5840  else {
5841  return 0;
5842  }
5843  else {
5844  return 0;
5845  }
5846  else {
5847  return 0;
5848  }
5849  else {
5850  return 0;
5851  }
5852  else if (p[pixel[5]] < c_b)
5853  if (p[pixel[6]] < c_b)
5854  if (p[pixel[7]] < c_b)
5855  if (p[pixel[8]] < c_b)
5856  if (p[pixel[9]] < c_b)
5857  {}
5858  else {
5859  return 0;
5860  }
5861  else {
5862  return 0;
5863  }
5864  else {
5865  return 0;
5866  }
5867  else {
5868  return 0;
5869  }
5870  else {
5871  return 0;
5872  }
5873  else if (p[pixel[4]] < c_b)
5874  if (p[pixel[5]] < c_b)
5875  if (p[pixel[6]] < c_b)
5876  if (p[pixel[7]] < c_b)
5877  if (p[pixel[8]] < c_b)
5878  if (p[pixel[9]] < c_b)
5879  {}
5880  else {
5881  return 0;
5882  }
5883  else {
5884  return 0;
5885  }
5886  else {
5887  return 0;
5888  }
5889  else {
5890  return 0;
5891  }
5892  else {
5893  return 0;
5894  }
5895  else {
5896  return 0;
5897  }
5898  else {
5899  return 0;
5900  }
5901  else {
5902  return 0;
5903  }
5904  else {
5905  return 0;
5906  }
5907  else if (p[pixel[3]] < c_b)
5908  if (p[pixel[4]] > cb)
5909  if (p[pixel[13]] > cb)
5910  if (p[pixel[7]] > cb)
5911  if (p[pixel[8]] > cb)
5912  if (p[pixel[9]] > cb)
5913  if (p[pixel[10]] > cb)
5914  if (p[pixel[11]] > cb)
5915  if (p[pixel[12]] > cb)
5916  if (p[pixel[6]] > cb)
5917  if (p[pixel[5]] > cb)
5918  {}
5919  else if (p[pixel[14]] > cb)
5920  {}
5921  else {
5922  return 0;
5923  }
5924  else if (p[pixel[14]] > cb)
5925  if (p[pixel[15]] > cb)
5926  {}
5927  else {
5928  return 0;
5929  }
5930  else {
5931  return 0;
5932  }
5933  else {
5934  return 0;
5935  }
5936  else {
5937  return 0;
5938  }
5939  else {
5940  return 0;
5941  }
5942  else {
5943  return 0;
5944  }
5945  else {
5946  return 0;
5947  }
5948  else {
5949  return 0;
5950  }
5951  else if (p[pixel[13]] < c_b)
5952  if (p[pixel[11]] > cb)
5953  if (p[pixel[5]] > cb)
5954  if (p[pixel[6]] > cb)
5955  if (p[pixel[7]] > cb)
5956  if (p[pixel[8]] > cb)
5957  if (p[pixel[9]] > cb)
5958  if (p[pixel[10]] > cb)
5959  if (p[pixel[12]] > cb)
5960  {}
5961  else {
5962  return 0;
5963  }
5964  else {
5965  return 0;
5966  }
5967  else {
5968  return 0;
5969  }
5970  else {
5971  return 0;
5972  }
5973  else {
5974  return 0;
5975  }
5976  else {
5977  return 0;
5978  }
5979  else {
5980  return 0;
5981  }
5982  else if (p[pixel[11]] < c_b)
5983  if (p[pixel[12]] < c_b)
5984  if (p[pixel[14]] < c_b)
5985  if (p[pixel[15]] < c_b)
5986  {}
5987  else if (p[pixel[6]] < c_b)
5988  if (p[pixel[7]] < c_b)
5989  if (p[pixel[8]] < c_b)
5990  if (p[pixel[9]] < c_b)
5991  if (p[pixel[10]] < c_b)
5992  {}
5993  else {
5994  return 0;
5995  }
5996  else {
5997  return 0;
5998  }
5999  else {
6000  return 0;
6001  }
6002  else {
6003  return 0;
6004  }
6005  else {
6006  return 0;
6007  }
6008  else if (p[pixel[5]] < c_b)
6009  if (p[pixel[6]] < c_b)
6010  if (p[pixel[7]] < c_b)
6011  if (p[pixel[8]] < c_b)
6012  if (p[pixel[9]] < c_b)
6013  if (p[pixel[10]] < c_b)
6014  {}
6015  else {
6016  return 0;
6017  }
6018  else {
6019  return 0;
6020  }
6021  else {
6022  return 0;
6023  }
6024  else {
6025  return 0;
6026  }
6027  else {
6028  return 0;
6029  }
6030  else {
6031  return 0;
6032  }
6033  else {
6034  return 0;
6035  }
6036  else {
6037  return 0;
6038  }
6039  else if (p[pixel[5]] > cb)
6040  if (p[pixel[6]] > cb)
6041  if (p[pixel[7]] > cb)
6042  if (p[pixel[8]] > cb)
6043  if (p[pixel[9]] > cb)
6044  if (p[pixel[10]] > cb)
6045  if (p[pixel[11]] > cb)
6046  if (p[pixel[12]] > cb)
6047  {}
6048  else {
6049  return 0;
6050  }
6051  else {
6052  return 0;
6053  }
6054  else {
6055  return 0;
6056  }
6057  else {
6058  return 0;
6059  }
6060  else {
6061  return 0;
6062  }
6063  else {
6064  return 0;
6065  }
6066  else {
6067  return 0;
6068  }
6069  else {
6070  return 0;
6071  }
6072  else if (p[pixel[4]] < c_b)
6073  if (p[pixel[5]] > cb)
6074  if (p[pixel[14]] > cb)
6075  if (p[pixel[7]] > cb)
6076  if (p[pixel[8]] > cb)
6077  if (p[pixel[9]] > cb)
6078  if (p[pixel[10]] > cb)
6079  if (p[pixel[11]] > cb)
6080  if (p[pixel[12]] > cb)
6081  if (p[pixel[13]] > cb)
6082  if (p[pixel[6]] > cb)
6083  {}
6084  else if (p[pixel[15]] > cb)
6085  {}
6086  else {
6087  return 0;
6088  }
6089  else {
6090  return 0;
6091  }
6092  else {
6093  return 0;
6094  }
6095  else {
6096  return 0;
6097  }
6098  else {
6099  return 0;
6100  }
6101  else {
6102  return 0;
6103  }
6104  else {
6105  return 0;
6106  }
6107  else {
6108  return 0;
6109  }
6110  else if (p[pixel[14]] < c_b)
6111  if (p[pixel[12]] > cb)
6112  if (p[pixel[6]] > cb)
6113  if (p[pixel[7]] > cb)
6114  if (p[pixel[8]] > cb)
6115  if (p[pixel[9]] > cb)
6116  if (p[pixel[10]] > cb)
6117  if (p[pixel[11]] > cb)
6118  if (p[pixel[13]] > cb)
6119  {}
6120  else {
6121  return 0;
6122  }
6123  else {
6124  return 0;
6125  }
6126  else {
6127  return 0;
6128  }
6129  else {
6130  return 0;
6131  }
6132  else {
6133  return 0;
6134  }
6135  else {
6136  return 0;
6137  }
6138  else {
6139  return 0;
6140  }
6141  else if (p[pixel[12]] < c_b)
6142  if (p[pixel[13]] < c_b)
6143  if (p[pixel[15]] < c_b)
6144  {}
6145  else if (p[pixel[6]] < c_b)
6146  if (p[pixel[7]] < c_b)
6147  if (p[pixel[8]] < c_b)
6148  if (p[pixel[9]] < c_b)
6149  if (p[pixel[10]] < c_b)
6150  if (p[pixel[11]] < c_b)
6151  {}
6152  else {
6153  return 0;
6154  }
6155  else {
6156  return 0;
6157  }
6158  else {
6159  return 0;
6160  }
6161  else {
6162  return 0;
6163  }
6164  else {
6165  return 0;
6166  }
6167  else {
6168  return 0;
6169  }
6170  else {
6171  return 0;
6172  }
6173  else {
6174  return 0;
6175  }
6176  else if (p[pixel[6]] > cb)
6177  if (p[pixel[7]] > cb)
6178  if (p[pixel[8]] > cb)
6179  if (p[pixel[9]] > cb)
6180  if (p[pixel[10]] > cb)
6181  if (p[pixel[11]] > cb)
6182  if (p[pixel[12]] > cb)
6183  if (p[pixel[13]] > cb)
6184  {}
6185  else {
6186  return 0;
6187  }
6188  else {
6189  return 0;
6190  }
6191  else {
6192  return 0;
6193  }
6194  else {
6195  return 0;
6196  }
6197  else {
6198  return 0;
6199  }
6200  else {
6201  return 0;
6202  }
6203  else {
6204  return 0;
6205  }
6206  else {
6207  return 0;
6208  }
6209  else if (p[pixel[5]] < c_b)
6210  if (p[pixel[6]] > cb)
6211  if (p[pixel[15]] < c_b)
6212  if (p[pixel[13]] > cb)
6213  if (p[pixel[7]] > cb)
6214  if (p[pixel[8]] > cb)
6215  if (p[pixel[9]] > cb)
6216  if (p[pixel[10]] > cb)
6217  if (p[pixel[11]] > cb)
6218  if (p[pixel[12]] > cb)
6219  if (p[pixel[14]] > cb)
6220  {}
6221  else {
6222  return 0;
6223  }
6224  else {
6225  return 0;
6226  }
6227  else {
6228  return 0;
6229  }
6230  else {
6231  return 0;
6232  }
6233  else {
6234  return 0;
6235  }
6236  else {
6237  return 0;
6238  }
6239  else {
6240  return 0;
6241  }
6242  else if (p[pixel[13]] < c_b)
6243  if (p[pixel[14]] < c_b)
6244  {}
6245  else {
6246  return 0;
6247  }
6248  else {
6249  return 0;
6250  }
6251  else if (p[pixel[7]] > cb)
6252  if (p[pixel[8]] > cb)
6253  if (p[pixel[9]] > cb)
6254  if (p[pixel[10]] > cb)
6255  if (p[pixel[11]] > cb)
6256  if (p[pixel[12]] > cb)
6257  if (p[pixel[13]] > cb)
6258  if (p[pixel[14]] > cb)
6259  {}
6260  else {
6261  return 0;
6262  }
6263  else {
6264  return 0;
6265  }
6266  else {
6267  return 0;
6268  }
6269  else {
6270  return 0;
6271  }
6272  else {
6273  return 0;
6274  }
6275  else {
6276  return 0;
6277  }
6278  else {
6279  return 0;
6280  }
6281  else {
6282  return 0;
6283  }
6284  else if (p[pixel[6]] < c_b)
6285  if (p[pixel[7]] > cb)
6286  if (p[pixel[14]] > cb)
6287  if (p[pixel[8]] > cb)
6288  if (p[pixel[9]] > cb)
6289  if (p[pixel[10]] > cb)
6290  if (p[pixel[11]] > cb)
6291  if (p[pixel[12]] > cb)
6292  if (p[pixel[13]] > cb)
6293  if (p[pixel[15]] > cb)
6294  {}
6295  else {
6296  return 0;
6297  }
6298  else {
6299  return 0;
6300  }
6301  else {
6302  return 0;
6303  }
6304  else {
6305  return 0;
6306  }
6307  else {
6308  return 0;
6309  }
6310  else {
6311  return 0;
6312  }
6313  else {
6314  return 0;
6315  }
6316  else if (p[pixel[14]] < c_b)
6317  if (p[pixel[15]] < c_b)
6318  {}
6319  else {
6320  return 0;
6321  }
6322  else {
6323  return 0;
6324  }
6325  else if (p[pixel[7]] < c_b)
6326  if (p[pixel[8]] < c_b)
6327  {}
6328  else if (p[pixel[15]] < c_b)
6329  {}
6330  else {
6331  return 0;
6332  }
6333  else if (p[pixel[14]] < c_b)
6334  if (p[pixel[15]] < c_b)
6335  {}
6336  else {
6337  return 0;
6338  }
6339  else {
6340  return 0;
6341  }
6342  else if (p[pixel[13]] > cb)
6343  if (p[pixel[7]] > cb)
6344  if (p[pixel[8]] > cb)
6345  if (p[pixel[9]] > cb)
6346  if (p[pixel[10]] > cb)
6347  if (p[pixel[11]] > cb)
6348  if (p[pixel[12]] > cb)
6349  if (p[pixel[14]] > cb)
6350  if (p[pixel[15]] > cb)
6351  {}
6352  else {
6353  return 0;
6354  }
6355  else {
6356  return 0;
6357  }
6358  else {
6359  return 0;
6360  }
6361  else {
6362  return 0;
6363  }
6364  else {
6365  return 0;
6366  }
6367  else {
6368  return 0;
6369  }
6370  else {
6371  return 0;
6372  }
6373  else {
6374  return 0;
6375  }
6376  else if (p[pixel[13]] < c_b)
6377  if (p[pixel[14]] < c_b)
6378  if (p[pixel[15]] < c_b)
6379  {}
6380  else {
6381  return 0;
6382  }
6383  else {
6384  return 0;
6385  }
6386  else {
6387  return 0;
6388  }
6389  else if (p[pixel[12]] > cb)
6390  if (p[pixel[7]] > cb)
6391  if (p[pixel[8]] > cb)
6392  if (p[pixel[9]] > cb)
6393  if (p[pixel[10]] > cb)
6394  if (p[pixel[11]] > cb)
6395  if (p[pixel[13]] > cb)
6396  if (p[pixel[14]] > cb)
6397  if (p[pixel[6]] > cb)
6398  {}
6399  else if (p[pixel[15]] > cb)
6400  {}
6401  else {
6402  return 0;
6403  }
6404  else {
6405  return 0;
6406  }
6407  else {
6408  return 0;
6409  }
6410  else {
6411  return 0;
6412  }
6413  else {
6414  return 0;
6415  }
6416  else {
6417  return 0;
6418  }
6419  else {
6420  return 0;
6421  }
6422  else {
6423  return 0;
6424  }
6425  else if (p[pixel[12]] < c_b)
6426  if (p[pixel[13]] < c_b)
6427  if (p[pixel[14]] < c_b)
6428  if (p[pixel[15]] < c_b)
6429  {}
6430  else if (p[pixel[6]] < c_b)
6431  if (p[pixel[7]] < c_b)
6432  if (p[pixel[8]] < c_b)
6433  if (p[pixel[9]] < c_b)
6434  if (p[pixel[10]] < c_b)
6435  if (p[pixel[11]] < c_b)
6436  {}
6437  else {
6438  return 0;
6439  }
6440  else {
6441  return 0;
6442  }
6443  else {
6444  return 0;
6445  }
6446  else {
6447  return 0;
6448  }
6449  else {
6450  return 0;
6451  }
6452  else {
6453  return 0;
6454  }
6455  else {
6456  return 0;
6457  }
6458  else {
6459  return 0;
6460  }
6461  else {
6462  return 0;
6463  }
6464  else if (p[pixel[11]] > cb)
6465  if (p[pixel[7]] > cb)
6466  if (p[pixel[8]] > cb)
6467  if (p[pixel[9]] > cb)
6468  if (p[pixel[10]] > cb)
6469  if (p[pixel[12]] > cb)
6470  if (p[pixel[13]] > cb)
6471  if (p[pixel[6]] > cb)
6472  if (p[pixel[5]] > cb)
6473  {}
6474  else if (p[pixel[14]] > cb)
6475  {}
6476  else {
6477  return 0;
6478  }
6479  else if (p[pixel[14]] > cb)
6480  if (p[pixel[15]] > cb)
6481  {}
6482  else {
6483  return 0;
6484  }
6485  else {
6486  return 0;
6487  }
6488  else {
6489  return 0;
6490  }
6491  else {
6492  return 0;
6493  }
6494  else {
6495  return 0;
6496  }
6497  else {
6498  return 0;
6499  }
6500  else {
6501  return 0;
6502  }
6503  else {
6504  return 0;
6505  }
6506  else if (p[pixel[11]] < c_b)
6507  if (p[pixel[12]] < c_b)
6508  if (p[pixel[13]] < c_b)
6509  if (p[pixel[14]] < c_b)
6510  if (p[pixel[15]] < c_b)
6511  {}
6512  else if (p[pixel[6]] < c_b)
6513  if (p[pixel[7]] < c_b)
6514  if (p[pixel[8]] < c_b)
6515  if (p[pixel[9]] < c_b)
6516  if (p[pixel[10]] < c_b)
6517  {}
6518  else {
6519  return 0;
6520  }
6521  else {
6522  return 0;
6523  }
6524  else {
6525  return 0;
6526  }
6527  else {
6528  return 0;
6529  }
6530  else {
6531  return 0;
6532  }
6533  else if (p[pixel[5]] < c_b)
6534  if (p[pixel[6]] < c_b)
6535  if (p[pixel[7]] < c_b)
6536  if (p[pixel[8]] < c_b)
6537  if (p[pixel[9]] < c_b)
6538  if (p[pixel[10]] < c_b)
6539  {}
6540  else {
6541  return 0;
6542  }
6543  else {
6544  return 0;
6545  }
6546  else {
6547  return 0;
6548  }
6549  else {
6550  return 0;
6551  }
6552  else {
6553  return 0;
6554  }
6555  else {
6556  return 0;
6557  }
6558  else {
6559  return 0;
6560  }
6561  else {
6562  return 0;
6563  }
6564  else {
6565  return 0;
6566  }
6567  else if (p[pixel[10]] > cb)
6568  if (p[pixel[7]] > cb)
6569  if (p[pixel[8]] > cb)
6570  if (p[pixel[9]] > cb)
6571  if (p[pixel[11]] > cb)
6572  if (p[pixel[12]] > cb)
6573  if (p[pixel[6]] > cb)
6574  if (p[pixel[5]] > cb)
6575  if (p[pixel[4]] > cb)
6576  {}
6577  else if (p[pixel[13]] > cb)
6578  {}
6579  else {
6580  return 0;
6581  }
6582  else if (p[pixel[13]] > cb)
6583  if (p[pixel[14]] > cb)
6584  {}
6585  else {
6586  return 0;
6587  }
6588  else {
6589  return 0;
6590  }
6591  else if (p[pixel[13]] > cb)
6592  if (p[pixel[14]] > cb)
6593  if (p[pixel[15]] > cb)
6594  {}
6595  else {
6596  return 0;
6597  }
6598  else {
6599  return 0;
6600  }
6601  else {
6602  return 0;
6603  }
6604  else {
6605  return 0;
6606  }
6607  else {
6608  return 0;
6609  }
6610  else {
6611  return 0;
6612  }
6613  else {
6614  return 0;
6615  }
6616  else {
6617  return 0;
6618  }
6619  else if (p[pixel[10]] < c_b)
6620  if (p[pixel[11]] < c_b)
6621  if (p[pixel[12]] < c_b)
6622  if (p[pixel[13]] < c_b)
6623  if (p[pixel[14]] < c_b)
6624  if (p[pixel[15]] < c_b)
6625  {}
6626  else if (p[pixel[6]] < c_b)
6627  if (p[pixel[7]] < c_b)
6628  if (p[pixel[8]] < c_b)
6629  if (p[pixel[9]] < c_b)
6630  {}
6631  else {
6632  return 0;
6633  }
6634  else {
6635  return 0;
6636  }
6637  else {
6638  return 0;
6639  }
6640  else {
6641  return 0;
6642  }
6643  else if (p[pixel[5]] < c_b)
6644  if (p[pixel[6]] < c_b)
6645  if (p[pixel[7]] < c_b)
6646  if (p[pixel[8]] < c_b)
6647  if (p[pixel[9]] < c_b)
6648  {}
6649  else {
6650  return 0;
6651  }
6652  else {
6653  return 0;
6654  }
6655  else {
6656  return 0;
6657  }
6658  else {
6659  return 0;
6660  }
6661  else {
6662  return 0;
6663  }
6664  else if (p[pixel[4]] < c_b)
6665  if (p[pixel[5]] < c_b)
6666  if (p[pixel[6]] < c_b)
6667  if (p[pixel[7]] < c_b)
6668  if (p[pixel[8]] < c_b)
6669  if (p[pixel[9]] < c_b)
6670  {}
6671  else {
6672  return 0;
6673  }
6674  else {
6675  return 0;
6676  }
6677  else {
6678  return 0;
6679  }
6680  else {
6681  return 0;
6682  }
6683  else {
6684  return 0;
6685  }
6686  else {
6687  return 0;
6688  }
6689  else {
6690  return 0;
6691  }
6692  else {
6693  return 0;
6694  }
6695  else {
6696  return 0;
6697  }
6698  else if (p[pixel[9]] > cb)
6699  if (p[pixel[7]] > cb)
6700  if (p[pixel[8]] > cb)
6701  if (p[pixel[10]] > cb)
6702  if (p[pixel[11]] > cb)
6703  if (p[pixel[6]] > cb)
6704  if (p[pixel[5]] > cb)
6705  if (p[pixel[4]] > cb)
6706  if (p[pixel[3]] > cb)
6707  {}
6708  else if (p[pixel[12]] > cb)
6709  {}
6710  else {
6711  return 0;
6712  }
6713  else if (p[pixel[12]] > cb)
6714  if (p[pixel[13]] > cb)
6715  {}
6716  else {
6717  return 0;
6718  }
6719  else {
6720  return 0;
6721  }
6722  else if (p[pixel[12]] > cb)
6723  if (p[pixel[13]] > cb)
6724  if (p[pixel[14]] > cb)
6725  {}
6726  else {
6727  return 0;
6728  }
6729  else {
6730  return 0;
6731  }
6732  else {
6733  return 0;
6734  }
6735  else if (p[pixel[12]] > cb)
6736  if (p[pixel[13]] > cb)
6737  if (p[pixel[14]] > cb)
6738  if (p[pixel[15]] > cb)
6739  {}
6740  else {
6741  return 0;
6742  }
6743  else {
6744  return 0;
6745  }
6746  else {
6747  return 0;
6748  }
6749  else {
6750  return 0;
6751  }
6752  else {
6753  return 0;
6754  }
6755  else {
6756  return 0;
6757  }
6758  else {
6759  return 0;
6760  }
6761  else {
6762  return 0;
6763  }
6764  else if (p[pixel[9]] < c_b)
6765  if (p[pixel[10]] < c_b)
6766  if (p[pixel[11]] < c_b)
6767  if (p[pixel[12]] < c_b)
6768  if (p[pixel[13]] < c_b)
6769  if (p[pixel[14]] < c_b)
6770  if (p[pixel[15]] < c_b)
6771  {}
6772  else if (p[pixel[6]] < c_b)
6773  if (p[pixel[7]] < c_b)
6774  if (p[pixel[8]] < c_b)
6775  {}
6776  else {
6777  return 0;
6778  }
6779  else {
6780  return 0;
6781  }
6782  else {
6783  return 0;
6784  }
6785  else if (p[pixel[5]] < c_b)
6786  if (p[pixel[6]] < c_b)
6787  if (p[pixel[7]] < c_b)
6788  if (p[pixel[8]] < c_b)
6789  {}
6790  else {
6791  return 0;
6792  }
6793  else {
6794  return 0;
6795  }
6796  else {
6797  return 0;
6798  }
6799  else {
6800  return 0;
6801  }
6802  else if (p[pixel[4]] < c_b)
6803  if (p[pixel[5]] < c_b)
6804  if (p[pixel[6]] < c_b)
6805  if (p[pixel[7]] < c_b)
6806  if (p[pixel[8]] < c_b)
6807  {}
6808  else {
6809  return 0;
6810  }
6811  else {
6812  return 0;
6813  }
6814  else {
6815  return 0;
6816  }
6817  else {
6818  return 0;
6819  }
6820  else {
6821  return 0;
6822  }
6823  else if (p[pixel[3]] < c_b)
6824  if (p[pixel[4]] < c_b)
6825  if (p[pixel[5]] < c_b)
6826  if (p[pixel[6]] < c_b)
6827  if (p[pixel[7]] < c_b)
6828  if (p[pixel[8]] < c_b)
6829  {}
6830  else {
6831  return 0;
6832  }
6833  else {
6834  return 0;
6835  }
6836  else {
6837  return 0;
6838  }
6839  else {
6840  return 0;
6841  }
6842  else {
6843  return 0;
6844  }
6845  else {
6846  return 0;
6847  }
6848  else {
6849  return 0;
6850  }
6851  else {
6852  return 0;
6853  }
6854  else {
6855  return 0;
6856  }
6857  else if (p[pixel[8]] > cb)
6858  if (p[pixel[7]] > cb)
6859  if (p[pixel[9]] > cb)
6860  if (p[pixel[10]] > cb)
6861  if (p[pixel[6]] > cb)
6862  if (p[pixel[5]] > cb)
6863  if (p[pixel[4]] > cb)
6864  if (p[pixel[3]] > cb)
6865  if (p[pixel[2]] > cb)
6866  {}
6867  else if (p[pixel[11]] > cb)
6868  {}
6869  else {
6870  return 0;
6871  }
6872  else if (p[pixel[11]] > cb)
6873  if (p[pixel[12]] > cb)
6874  {}
6875  else {
6876  return 0;
6877  }
6878  else {
6879  return 0;
6880  }
6881  else if (p[pixel[11]] > cb)
6882  if (p[pixel[12]] > cb)
6883  if (p[pixel[13]] > cb)
6884  {}
6885  else {
6886  return 0;
6887  }
6888  else {
6889  return 0;
6890  }
6891  else {
6892  return 0;
6893  }
6894  else if (p[pixel[11]] > cb)
6895  if (p[pixel[12]] > cb)
6896  if (p[pixel[13]] > cb)
6897  if (p[pixel[14]] > cb)
6898  {}
6899  else {
6900  return 0;
6901  }
6902  else {
6903  return 0;
6904  }
6905  else {
6906  return 0;
6907  }
6908  else {
6909  return 0;
6910  }
6911  else if (p[pixel[11]] > cb)
6912  if (p[pixel[12]] > cb)
6913  if (p[pixel[13]] > cb)
6914  if (p[pixel[14]] > cb)
6915  if (p[pixel[15]] > cb)
6916  {}
6917  else {
6918  return 0;
6919  }
6920  else {
6921  return 0;
6922  }
6923  else {
6924  return 0;
6925  }
6926  else {
6927  return 0;
6928  }
6929  else {
6930  return 0;
6931  }
6932  else {
6933  return 0;
6934  }
6935  else {
6936  return 0;
6937  }
6938  else {
6939  return 0;
6940  }
6941  else if (p[pixel[8]] < c_b)
6942  if (p[pixel[9]] < c_b)
6943  if (p[pixel[10]] < c_b)
6944  if (p[pixel[11]] < c_b)
6945  if (p[pixel[12]] < c_b)
6946  if (p[pixel[13]] < c_b)
6947  if (p[pixel[14]] < c_b)
6948  if (p[pixel[15]] < c_b)
6949  {}
6950  else if (p[pixel[6]] < c_b)
6951  if (p[pixel[7]] < c_b)
6952  {}
6953  else {
6954  return 0;
6955  }
6956  else {
6957  return 0;
6958  }
6959  else if (p[pixel[5]] < c_b)
6960  if (p[pixel[6]] < c_b)
6961  if (p[pixel[7]] < c_b)
6962  {}
6963  else {
6964  return 0;
6965  }
6966  else {
6967  return 0;
6968  }
6969  else {
6970  return 0;
6971  }
6972  else if (p[pixel[4]] < c_b)
6973  if (p[pixel[5]] < c_b)
6974  if (p[pixel[6]] < c_b)
6975  if (p[pixel[7]] < c_b)
6976  {}
6977  else {
6978  return 0;
6979  }
6980  else {
6981  return 0;
6982  }
6983  else {
6984  return 0;
6985  }
6986  else {
6987  return 0;
6988  }
6989  else if (p[pixel[3]] < c_b)
6990  if (p[pixel[4]] < c_b)
6991  if (p[pixel[5]] < c_b)
6992  if (p[pixel[6]] < c_b)
6993  if (p[pixel[7]] < c_b)
6994  {}
6995  else {
6996  return 0;
6997  }
6998  else {
6999  return 0;
7000  }
7001  else {
7002  return 0;
7003  }
7004  else {
7005  return 0;
7006  }
7007  else {
7008  return 0;
7009  }
7010  else if (p[pixel[2]] < c_b)
7011  if (p[pixel[3]] < c_b)
7012  if (p[pixel[4]] < c_b)
7013  if (p[pixel[5]] < c_b)
7014  if (p[pixel[6]] < c_b)
7015  if (p[pixel[7]] < c_b)
7016  {}
7017  else {
7018  return 0;
7019  }
7020  else {
7021  return 0;
7022  }
7023  else {
7024  return 0;
7025  }
7026  else {
7027  return 0;
7028  }
7029  else {
7030  return 0;
7031  }
7032  else {
7033  return 0;
7034  }
7035  else {
7036  return 0;
7037  }
7038  else {
7039  return 0;
7040  }
7041  else {
7042  return 0;
7043  }
7044  else if (p[pixel[7]] > cb)
7045  if (p[pixel[8]] > cb)
7046  if (p[pixel[9]] > cb)
7047  if (p[pixel[6]] > cb)
7048  if (p[pixel[5]] > cb)
7049  if (p[pixel[4]] > cb)
7050  if (p[pixel[3]] > cb)
7051  if (p[pixel[2]] > cb)
7052  if (p[pixel[1]] > cb)
7053  {}
7054  else if (p[pixel[10]] > cb)
7055  {}
7056  else {
7057  return 0;
7058  }
7059  else if (p[pixel[10]] > cb)
7060  if (p[pixel[11]] > cb)
7061  {}
7062  else {
7063  return 0;
7064  }
7065  else {
7066  return 0;
7067  }
7068  else if (p[pixel[10]] > cb)
7069  if (p[pixel[11]] > cb)
7070  if (p[pixel[12]] > cb)
7071  {}
7072  else {
7073  return 0;
7074  }
7075  else {
7076  return 0;
7077  }
7078  else {
7079  return 0;
7080  }
7081  else if (p[pixel[10]] > cb)
7082  if (p[pixel[11]] > cb)
7083  if (p[pixel[12]] > cb)
7084  if (p[pixel[13]] > cb)
7085  {}
7086  else {
7087  return 0;
7088  }
7089  else {
7090  return 0;
7091  }
7092  else {
7093  return 0;
7094  }
7095  else {
7096  return 0;
7097  }
7098  else if (p[pixel[10]] > cb)
7099  if (p[pixel[11]] > cb)
7100  if (p[pixel[12]] > cb)
7101  if (p[pixel[13]] > cb)
7102  if (p[pixel[14]] > cb)
7103  {}
7104  else {
7105  return 0;
7106  }
7107  else {
7108  return 0;
7109  }
7110  else {
7111  return 0;
7112  }
7113  else {
7114  return 0;
7115  }
7116  else {
7117  return 0;
7118  }
7119  else if (p[pixel[10]] > cb)
7120  if (p[pixel[11]] > cb)
7121  if (p[pixel[12]] > cb)
7122  if (p[pixel[13]] > cb)
7123  if (p[pixel[14]] > cb)
7124  if (p[pixel[15]] > cb)
7125  {}
7126  else {
7127  return 0;
7128  }
7129  else {
7130  return 0;
7131  }
7132  else {
7133  return 0;
7134  }
7135  else {
7136  return 0;
7137  }
7138  else {
7139  return 0;
7140  }
7141  else {
7142  return 0;
7143  }
7144  else {
7145  return 0;
7146  }
7147  else {
7148  return 0;
7149  }
7150  else if (p[pixel[7]] < c_b)
7151  if (p[pixel[8]] < c_b)
7152  if (p[pixel[9]] < c_b)
7153  if (p[pixel[6]] < c_b)
7154  if (p[pixel[5]] < c_b)
7155  if (p[pixel[4]] < c_b)
7156  if (p[pixel[3]] < c_b)
7157  if (p[pixel[2]] < c_b)
7158  if (p[pixel[1]] < c_b)
7159  {}
7160  else if (p[pixel[10]] < c_b)
7161  {}
7162  else {
7163  return 0;
7164  }
7165  else if (p[pixel[10]] < c_b)
7166  if (p[pixel[11]] < c_b)
7167  {}
7168  else {
7169  return 0;
7170  }
7171  else {
7172  return 0;
7173  }
7174  else if (p[pixel[10]] < c_b)
7175  if (p[pixel[11]] < c_b)
7176  if (p[pixel[12]] < c_b)
7177  {}
7178  else {
7179  return 0;
7180  }
7181  else {
7182  return 0;
7183  }
7184  else {
7185  return 0;
7186  }
7187  else if (p[pixel[10]] < c_b)
7188  if (p[pixel[11]] < c_b)
7189  if (p[pixel[12]] < c_b)
7190  if (p[pixel[13]] < c_b)
7191  {}
7192  else {
7193  return 0;
7194  }
7195  else {
7196  return 0;
7197  }
7198  else {
7199  return 0;
7200  }
7201  else {
7202  return 0;
7203  }
7204  else if (p[pixel[10]] < c_b)
7205  if (p[pixel[11]] < c_b)
7206  if (p[pixel[12]] < c_b)
7207  if (p[pixel[13]] < c_b)
7208  if (p[pixel[14]] < c_b)
7209  {}
7210  else {
7211  return 0;
7212  }
7213  else {
7214  return 0;
7215  }
7216  else {
7217  return 0;
7218  }
7219  else {
7220  return 0;
7221  }
7222  else {
7223  return 0;
7224  }
7225  else if (p[pixel[10]] < c_b)
7226  if (p[pixel[11]] < c_b)
7227  if (p[pixel[12]] < c_b)
7228  if (p[pixel[13]] < c_b)
7229  if (p[pixel[14]] < c_b)
7230  if (p[pixel[15]] < c_b)
7231  {}
7232  else {
7233  return 0;
7234  }
7235  else {
7236  return 0;
7237  }
7238  else {
7239  return 0;
7240  }
7241  else {
7242  return 0;
7243  }
7244  else {
7245  return 0;
7246  }
7247  else {
7248  return 0;
7249  }
7250  else {
7251  return 0;
7252  }
7253  else {
7254  return 0;
7255  }
7256  else {
7257  return 0;
7258  }
7259  // if not returned yet, it is a corner:
7260  return 1;
7261  }
7262 }
void fast9_detect(struct image_t *img, uint8_t threshold, uint16_t min_dist, uint16_t x_padding, uint16_t y_padding, uint16_t *num_corners, uint16_t *ret_corners_length, struct point_t **ret_corners, uint16_t *roi)
Do a FAST9 corner detection.
Definition: fast_rosten.c:52
int fast9_detect_pixel(struct image_t *img, uint8_t threshold, uint16_t x, uint16_t y)
Do a FAST9 corner detection for a single pixel.
Definition: fast_rosten.c:3709
static void fast_make_offsets(int32_t *pixel, uint16_t row_stride, uint8_t pixel_size)
Make offsets for FAST9 calculation.
Definition: fast_rosten.c:3681
void * buf
Image buffer (depending on the image_type)
Definition: image.h:54
uint16_t h
Image height.
Definition: image.h:47
uint16_t w
Image width.
Definition: image.h:46
enum image_type type
The image type.
Definition: image.h:45
@ IMAGE_YUV422
UYVY format (uint16 per pixel)
Definition: image.h:36
Definition: image.h:44
Definition: image.h:58
static float p[2][2]
unsigned short uint16_t
Typedef defining 16 bit unsigned short type.
Definition: vl53l1_types.h:88
int int32_t
Typedef defining 32 bit int type.
Definition: vl53l1_types.h:83
short int16_t
Typedef defining 16 bit short type.
Definition: vl53l1_types.h:93
unsigned char uint8_t
Typedef defining 8 bit unsigned char type.
Definition: vl53l1_types.h:98