package com.google.android.m4b.maps.bd;

import com.google.android.m4b.maps.bc.af;
import com.google.android.m4b.maps.bc.aj;
import com.google.android.m4b.maps.bc.aj.a;
import com.google.android.m4b.maps.bc.ba;
import com.google.android.m4b.maps.bc.bg;
import com.google.android.m4b.maps.bc.bl;
import com.google.android.m4b.maps.bc.j;
import com.google.android.m4b.maps.be.i;
import com.google.android.m4b.maps.bk.e;
import com.google.android.m4b.maps.bk.e.a;
import java.io.ByteArrayInputStream;
import java.io.DataInputStream;
import java.io.IOException;
import java.util.zip.DataFormatException;
import java.util.zip.Inflater;

public final class b
  implements j
{
  private final ba a;
  private final int b;
  private final long c;
  private final c[] d;

  private b(ba paramba, com.google.android.m4b.maps.ac.a parama, long paramLong)
  {
    this.a = paramba;
    this.b = parama.d(1);
    this.c = paramLong;
    this.d = new c[parama.k(2)];
    a(parama, a(parama));
    b(parama);
  }

  public static int a(byte[] paramArrayOfByte, int paramInt)
  {
    com.google.android.m4b.maps.ad.a locala = new com.google.android.m4b.maps.ad.a(paramArrayOfByte);
    locala.skipBytes(paramInt);
    int i = locala.readInt();
    if (i != 1162889042)
      throw new IOException("FORMAT_MAGIC expected. Found: " + i);
    int j = locala.readUnsignedShort();
    if (j != 1)
      throw new IOException("Version mismatch: 1 expected, " + j + " found");
    return locala.readInt();
  }

  public static b a(ba paramba, byte[] paramArrayOfByte, int paramInt, long paramLong)
  {
    int i = a(paramArrayOfByte, paramInt);
    int j = paramInt + 10;
    byte[] arrayOfByte1 = new byte[32];
    i.a(paramba.c(), paramba.d(), paramba.b(), i, arrayOfByte1);
    i locali = new i();
    locali.b(arrayOfByte1, 256);
    locali.a(paramArrayOfByte, j, paramArrayOfByte.length - j);
    int k = paramArrayOfByte.length - j;
    Inflater localInflater = new Inflater(true);
    try
    {
      e.a locala = e.a(paramArrayOfByte, j, k);
      byte[] arrayOfByte2 = locala.a();
      int m = locala.b();
      com.google.android.m4b.maps.ac.a locala1 = new com.google.android.m4b.maps.ac.a(com.google.android.m4b.maps.by.b.a);
      locala1.a(new ByteArrayInputStream(arrayOfByte2), m);
      b localb = new b(paramba, locala1, paramLong);
      return localb;
    }
    catch (DataFormatException localDataFormatException)
    {
      throw new IOException(localDataFormatException.getMessage());
    }
    finally
    {
      localInflater.end();
    }
  }

  private void a(com.google.android.m4b.maps.ac.a parama, af[] paramArrayOfaf)
  {
    int i = 0;
    int j;
    int k;
    com.google.android.m4b.maps.ac.a locala1;
    int m;
    com.google.android.m4b.maps.ac.a locala2;
    int n;
    int i1;
    int i2;
    d[] arrayOfd;
    af localaf1;
    af localaf2;
    int i4;
    DataInputStream localDataInputStream2;
    if (i < this.d.length / 2)
    {
      j = i * 2;
      k = 1 + i * 2;
      locala1 = parama.c(2, j);
      m = com.google.android.m4b.maps.ac.c.a(locala1, 2);
      locala2 = parama.c(2, k);
      n = com.google.android.m4b.maps.ac.c.a(locala2, 2);
      com.google.android.m4b.maps.ac.a locala3 = parama.c(3, i);
      boolean bool1 = locala3.j(1);
      byte[] arrayOfByte = null;
      if (bool1)
        arrayOfByte = locala3.c(1);
      i1 = com.google.android.m4b.maps.ac.c.a(locala3, 2, 0);
      i2 = com.google.android.m4b.maps.ac.c.a(locala3, 3, 0);
      int i3 = locala1.k(3);
      if (i2 == 1);
      for (boolean bool2 = true; i3 > 0; bool2 = false)
      {
        arrayOfd = new d[i3];
        for (int i12 = 0; i12 < i3; i12++)
        {
          com.google.android.m4b.maps.ac.a locala4 = parama.c(5, locala1.b(3, i12));
          boolean bool3 = locala4.j(2);
          String str = null;
          if (bool3)
            str = locala4.h(2).intern();
          arrayOfd[i12] = new d(locala4.h(1).intern(), str, bool2);
        }
      }
      arrayOfd = new d[1];
      arrayOfd[0] = c.a;
      localaf1 = paramArrayOfaf[k];
      localaf2 = paramArrayOfaf[j];
      if (arrayOfByte == null)
        break label654;
      DataInputStream localDataInputStream1 = new DataInputStream(new ByteArrayInputStream(arrayOfByte));
      i4 = bl.a(localDataInputStream1);
      localDataInputStream2 = localDataInputStream1;
    }
    while (true)
    {
      aj.a locala = new aj.a(i4 + 2);
      if (localaf1 != null)
        locala.a(localaf1);
      int i5 = 0;
      int i6 = 0;
      for (int i7 = 0; i7 < i4; i7++)
      {
        i5 += bl.b(localDataInputStream2);
        i6 += bl.b(localDataInputStream2);
        locala.a(af.c(i5, i6));
      }
      if (localaf2 != null)
        locala.a(localaf2);
      aj localaj = locala.c();
      if ((localaf1 == null) && (localaf2 == null))
        throw new IOException("Both polyline endpoints are missing for segment: " + this.d[j] + " in tile: " + this.a);
      int i9;
      int i8;
      if (localaf1 == null)
      {
        i9 = 2;
        i8 = 5;
      }
      while (true)
      {
        label450: if ((0x1 & com.google.android.m4b.maps.ac.c.a(locala1, 4, 0)) != 0);
        for (int i10 = i9 | 0x8; ; i10 = i9)
        {
          if ((0x1 & com.google.android.m4b.maps.ac.c.a(locala2, 4, 0)) != 0);
          for (int i11 = i8 | 0x8; ; i11 = i8)
          {
            this.d[j] = new c(c.a(this.a, j), arrayOfd, localaj, i10, m, i2, i1);
            this.d[k] = new c(c.a(this.a, k), arrayOfd, localaj, i11, n, i2, i1);
            if (localaj.b() < 2)
            {
              throw new IOException("Segment polyline had fewer than two points for segment: " + this.d[j] + " in tile: " + this.a);
              if (localaf2 != null)
                break label645;
              i9 = 1;
              i8 = 6;
              break label450;
            }
            i++;
            break;
            return;
          }
        }
        label645: i8 = 4;
        i9 = 0;
      }
      label654: localDataInputStream2 = null;
      i4 = 0;
    }
  }

  private static int[] a(byte[] paramArrayOfByte)
  {
    DataInputStream localDataInputStream = new DataInputStream(new ByteArrayInputStream(paramArrayOfByte));
    int i = bl.a(localDataInputStream);
    int[] arrayOfInt = new int[i];
    for (int j = 0; j < i; j++)
      arrayOfInt[j] = bl.a(localDataInputStream);
    return arrayOfInt;
  }

  private af[] a(com.google.android.m4b.maps.ac.a parama)
  {
    af[] arrayOfaf = new af[this.d.length];
    int i = parama.k(4);
    for (int j = 0; j < i; j++)
    {
      com.google.android.m4b.maps.ac.a locala = parama.c(4, j);
      af localaf = af.a(locala.d(1), locala.d(2));
      int[] arrayOfInt = a(locala.c(3));
      for (int k = 0; k < arrayOfInt.length; k++)
        arrayOfaf[arrayOfInt[k]] = localaf;
    }
    return arrayOfaf;
  }

  private void b(com.google.android.m4b.maps.ac.a parama)
  {
    int i = parama.k(4);
    new af();
    new af();
    for (int j = 0; j < i; j++)
    {
      com.google.android.m4b.maps.ac.a locala = parama.c(4, j);
      int[] arrayOfInt1 = a(locala.c(3));
      int[] arrayOfInt2 = a(locala.c(4));
      int k = 0;
      a[] arrayOfa1 = new a[arrayOfInt1.length];
      int i1;
      for (int m = 0; m < arrayOfInt1.length; m = i1 + 1)
      {
        c localc1 = this.d[arrayOfInt1[m]];
        int n = 0;
        i1 = m;
        int i2 = 0;
        if (i2 < arrayOfInt1.length)
        {
          if (k >= arrayOfInt2.length)
          {
            i2 = arrayOfInt1.length;
            i1 = i2;
          }
          while (true)
          {
            i2++;
            k++;
            break;
            int i3 = arrayOfInt2[k];
            if (i3 != 0)
            {
              c localc2 = this.d[(0x1 ^ arrayOfInt1[i2])];
              int i4 = n + 1;
              arrayOfa1[n] = new a(localc2, i3);
              n = i4;
            }
          }
        }
        a[] arrayOfa2 = new a[n];
        System.arraycopy(arrayOfa1, 0, arrayOfa2, 0, arrayOfa2.length);
        localc1.a(arrayOfa2);
      }
    }
  }

  public final long a()
  {
    return this.c;
  }

  public final boolean a(com.google.android.m4b.maps.z.b paramb)
  {
    return (this.c >= 0L) && (paramb.b() > this.c);
  }

  public final long b()
  {
    return -1L;
  }

  public final boolean b(com.google.android.m4b.maps.z.b paramb)
  {
    return false;
  }

  public final void c(com.google.android.m4b.maps.z.b paramb)
  {
  }

  public final ba d()
  {
    return this.a;
  }

  public final int e()
  {
    return this.b;
  }

  public final bg h()
  {
    return bg.i;
  }

  public final int i()
  {
    return -1;
  }

  public final boolean j()
  {
    return false;
  }
}

/* Location:           C:\Documents and Settings\Cesar Cabello Cea\Mis documentos\Downloads\apk-downloader\com.ikea.kompis-6_dex2jar.jar
 * Qualified Name:     com.google.android.m4b.maps.bd.b
 * JD-Core Version:    0.6.2
 */