protected final AlignmentPattern a(float paramFloat1, int paramInt1, int paramInt2, float paramFloat2)
 {
   int i = (int)(paramFloat2 * paramFloat1);
   int j = Math.max(0, paramInt1 - i);
   int k = Math.min(-1 + this.a.c(), paramInt1 + i);
   if (k - j < paramFloat1 * 3.0F)
     throw NotFoundException.a();
   int m = Math.max(0, paramInt2 - i);
   int n = Math.min(-1 + this.a.d(), i + paramInt2);
   if (n - m < paramFloat1 * 3.0F)
     throw NotFoundException.a();
   return new AlignmentPatternFinder(this.a, j, m, k - j, n - m, paramFloat1, this.b).a();
 }
 protected final DetectorResult a(FinderPatternInfo paramFinderPatternInfo)
 {
   FinderPattern localFinderPattern1 = paramFinderPatternInfo.b();
   FinderPattern localFinderPattern2 = paramFinderPatternInfo.c();
   FinderPattern localFinderPattern3 = paramFinderPatternInfo.a();
   float f1 = a(localFinderPattern1, localFinderPattern2, localFinderPattern3);
   if (f1 < 1.0F)
     throw NotFoundException.a();
   int i = a(localFinderPattern1, localFinderPattern2, localFinderPattern3, f1);
   Version localVersion = Version.a(i);
   int j = -7 + localVersion.d();
   int k = localVersion.b().length;
   Object localObject = null;
   int m;
   int n;
   int i1;
   float f5;
   if (k > 0)
   {
     float f2 = localFinderPattern2.a() - localFinderPattern1.a() + localFinderPattern3.a();
     float f3 = localFinderPattern2.b() - localFinderPattern1.b() + localFinderPattern3.b();
     float f4 = 1.0F - 3.0F / j;
     m = (int)(localFinderPattern1.a() + f4 * (f2 - localFinderPattern1.a()));
     n = (int)(localFinderPattern1.b() + f4 * (f3 - localFinderPattern1.b()));
     i1 = 4;
     localObject = null;
     if (i1 <= 16)
       f5 = i1;
   }
   while (true)
   {
     try
     {
       AlignmentPattern localAlignmentPattern = a(f1, m, n, f5);
       localObject = localAlignmentPattern;
       PerspectiveTransform localPerspectiveTransform = a(localFinderPattern1, localFinderPattern2, localFinderPattern3, localObject, i);
       BitMatrix localBitMatrix = a(this.a, localPerspectiveTransform, i);
       if (localObject != null)
         break label270;
       arrayOfResultPoint = new ResultPoint[] { localFinderPattern3, localFinderPattern1, localFinderPattern2 };
       return new DetectorResult(localBitMatrix, arrayOfResultPoint);
     }
     catch (NotFoundException localNotFoundException)
     {
       i1 <<= 1;
     }
     break;
     label270: ResultPoint[] arrayOfResultPoint = { localFinderPattern3, localFinderPattern1, localFinderPattern2, localObject };
   }
 }
 private static int a(ResultPoint paramResultPoint1, ResultPoint paramResultPoint2, ResultPoint paramResultPoint3, float paramFloat)
 {
   int i = 7 + (MathUtils.a(ResultPoint.a(paramResultPoint1, paramResultPoint2) / paramFloat) + MathUtils.a(ResultPoint.a(paramResultPoint1, paramResultPoint3) / paramFloat) >> 1);
   switch (i & 0x3)
   {
   case 1:
   default:
   case 0:
   case 2:
     while (true)
     {
       return i;
       i++;
       continue;
       i--;
     }
   case 3:
   }
   throw NotFoundException.a();
 }